Merge "Remove the owner userid of cross-profile intent filters."
diff --git a/Android.mk b/Android.mk
index 669efc7..452d72c 100644
--- a/Android.mk
+++ b/Android.mk
@@ -238,6 +238,8 @@
 	core/java/android/service/wallpaper/IWallpaperConnection.aidl \
 	core/java/android/service/wallpaper/IWallpaperEngine.aidl \
 	core/java/android/service/wallpaper/IWallpaperService.aidl \
+	core/java/android/service/chooser/IChooserTargetService.aidl \
+	core/java/android/service/chooser/IChooserTargetResult.aidl \
 	core/java/android/view/accessibility/IAccessibilityInteractionConnection.aidl\
 	core/java/android/view/accessibility/IAccessibilityInteractionConnectionCallback.aidl\
 	core/java/android/view/accessibility/IAccessibilityManager.aidl \
@@ -333,8 +335,8 @@
 	media/java/android/media/IRingtonePlayer.aidl \
 	media/java/android/media/IVolumeController.aidl \
 	media/java/android/media/audiopolicy/IAudioPolicyCallback.aidl \
+	media/java/android/media/midi/IMidiDeviceListener.aidl \
 	media/java/android/media/midi/IMidiDeviceServer.aidl \
-	media/java/android/media/midi/IMidiListener.aidl \
 	media/java/android/media/midi/IMidiManager.aidl \
 	media/java/android/media/projection/IMediaProjection.aidl \
 	media/java/android/media/projection/IMediaProjectionCallback.aidl \
@@ -545,8 +547,11 @@
 	frameworks/base/core/java/android/view/textservice/SuggestionsInfo.aidl \
 	frameworks/base/core/java/android/service/carrier/MessagePdu.aidl \
 	frameworks/base/core/java/android/service/notification/StatusBarNotification.aidl \
+	frameworks/base/core/java/android/service/chooser/ChooserTarget.aidl \
 	frameworks/base/core/java/android/speech/tts/Voice.aidl \
 	frameworks/base/core/java/android/app/usage/UsageEvents.aidl \
+	frameworks/base/core/java/android/app/AssistStructure.aidl \
+	frameworks/base/core/java/android/app/AssistContent.aidl \
 	frameworks/base/core/java/android/app/Notification.aidl \
 	frameworks/base/core/java/android/app/WallpaperInfo.aidl \
 	frameworks/base/core/java/android/app/AppOpsManager.aidl \
@@ -733,6 +738,7 @@
     -since $(SRC_API_DIR)/19.txt 19 \
     -since $(SRC_API_DIR)/20.txt 20 \
     -since $(SRC_API_DIR)/21.txt 21 \
+    -since $(SRC_API_DIR)/22.txt 22 \
 		-werror -hide 111 -hide 113 \
 		-overview $(LOCAL_PATH)/core/java/overview.html
 
@@ -769,7 +775,7 @@
 
 ## SDK version identifiers used in the published docs
   # major[.minor] version for current SDK. (full releases only)
-framework_docs_SDK_VERSION:=4.4
+framework_docs_SDK_VERSION:=5.1
   # release version (ie "Release x")  (full releases only)
 framework_docs_SDK_REL_ID:=1
 
diff --git a/api/current.txt b/api/current.txt
index a356307..62bedf1 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -21,6 +21,7 @@
     field public static final java.lang.String BIND_ACCESSIBILITY_SERVICE = "android.permission.BIND_ACCESSIBILITY_SERVICE";
     field public static final java.lang.String BIND_APPWIDGET = "android.permission.BIND_APPWIDGET";
     field public static final java.lang.String BIND_CARRIER_MESSAGING_SERVICE = "android.permission.BIND_CARRIER_MESSAGING_SERVICE";
+    field public static final java.lang.String BIND_CHOOSER_TARGET_SERVICE = "android.permission.BIND_CHOOSER_TARGET_SERVICE";
     field public static final java.lang.String BIND_DEVICE_ADMIN = "android.permission.BIND_DEVICE_ADMIN";
     field public static final java.lang.String BIND_DREAM_SERVICE = "android.permission.BIND_DREAM_SERVICE";
     field public static final java.lang.String BIND_INPUT_METHOD = "android.permission.BIND_INPUT_METHOD";
@@ -141,6 +142,7 @@
     field public static final java.lang.String UNINSTALL_SHORTCUT = "com.android.launcher.permission.UNINSTALL_SHORTCUT";
     field public static final java.lang.String UPDATE_DEVICE_STATS = "android.permission.UPDATE_DEVICE_STATS";
     field public static final java.lang.String USE_CREDENTIALS = "android.permission.USE_CREDENTIALS";
+    field public static final java.lang.String USE_FINGERPRINT = "android.permission.USE_FINGERPRINT";
     field public static final java.lang.String USE_SIP = "android.permission.USE_SIP";
     field public static final java.lang.String VIBRATE = "android.permission.VIBRATE";
     field public static final java.lang.String WAKE_LOCK = "android.permission.WAKE_LOCK";
@@ -296,6 +298,7 @@
     field public static final int allowParallelSyncs = 16843570; // 0x1010332
     field public static final int allowSingleTap = 16843353; // 0x1010259
     field public static final int allowTaskReparenting = 16843268; // 0x1010204
+    field public static final int allowUndo = 16844006; // 0x10104e6
     field public static final int alpha = 16843551; // 0x101031f
     field public static final int alphabeticShortcut = 16843235; // 0x10101e3
     field public static final int alwaysDrawnWithCache = 16842991; // 0x10100ef
@@ -410,6 +413,7 @@
     field public static final int colorActivatedHighlight = 16843664; // 0x1010390
     field public static final int colorBackground = 16842801; // 0x1010031
     field public static final int colorBackgroundCacheHint = 16843435; // 0x10102ab
+    field public static final int colorBackgroundFloating = 16844007; // 0x10104e7
     field public static final int colorButtonNormal = 16843819; // 0x101042b
     field public static final int colorControlActivated = 16843818; // 0x101042a
     field public static final int colorControlHighlight = 16843820; // 0x101042c
@@ -664,6 +668,8 @@
     field public static final int host = 16842792; // 0x1010028
     field public static final int icon = 16842754; // 0x1010002
     field public static final int iconPreview = 16843337; // 0x1010249
+    field public static final int iconTint = 16844000; // 0x10104e0
+    field public static final int iconTintMode = 16844001; // 0x10104e1
     field public static final int iconifiedByDefault = 16843514; // 0x10102fa
     field public static final int id = 16842960; // 0x10100d0
     field public static final int ignoreGravity = 16843263; // 0x10101ff
@@ -873,6 +879,8 @@
     field public static final int navigationContentDescription = 16843969; // 0x10104c1
     field public static final int navigationIcon = 16843968; // 0x10104c0
     field public static final int navigationMode = 16843471; // 0x10102cf
+    field public static final int navigationTint = 16844004; // 0x10104e4
+    field public static final int navigationTintMode = 16844005; // 0x10104e5
     field public static final int negativeButtonText = 16843254; // 0x10101f6
     field public static final int nestedScrollingEnabled = 16843830; // 0x1010436
     field public static final int nextFocusDown = 16842980; // 0x10100e4
@@ -904,6 +912,8 @@
     field public static final int overScrollFooter = 16843459; // 0x10102c3
     field public static final int overScrollHeader = 16843458; // 0x10102c2
     field public static final int overScrollMode = 16843457; // 0x10102c1
+    field public static final int overflowTint = 16844002; // 0x10104e2
+    field public static final int overflowTintMode = 16844003; // 0x10104e3
     field public static final int overlapAnchor = 16843874; // 0x1010462
     field public static final int overridesImplicitlyEnabledSubtype = 16843682; // 0x10103a2
     field public static final int packageNames = 16843649; // 0x1010381
@@ -1710,10 +1720,11 @@
     field public static final int message = 16908299; // 0x102000b
     field public static final int navigationBarBackground = 16908336; // 0x1020030
     field public static final int paste = 16908322; // 0x1020022
-    field public static final int pasteAsPlainText = 16908339; // 0x1020033
+    field public static final int pasteAsPlainText = 16908337; // 0x1020031
     field public static final int primary = 16908300; // 0x102000c
     field public static final int progress = 16908301; // 0x102000d
-    field public static final int redo = 16908338; // 0x1020032
+    field public static final int redo = 16908339; // 0x1020033
+    field public static final int replaceText = 16908340; // 0x1020034
     field public static final int secondaryProgress = 16908303; // 0x102000f
     field public static final int selectAll = 16908319; // 0x102001f
     field public static final int selectTextMode = 16908333; // 0x102002d
@@ -1730,7 +1741,7 @@
     field public static final int text2 = 16908309; // 0x1020015
     field public static final int title = 16908310; // 0x1020016
     field public static final int toggle = 16908311; // 0x1020017
-    field public static final int undo = 16908337; // 0x1020031
+    field public static final int undo = 16908338; // 0x1020032
     field public static final int widget_frame = 16908312; // 0x1020018
   }
 
@@ -3418,6 +3429,7 @@
     method public void onPrepareNavigateUpTaskStack(android.app.TaskStackBuilder);
     method public boolean onPrepareOptionsMenu(android.view.Menu);
     method public boolean onPreparePanel(int, android.view.View, android.view.Menu);
+    method public void onProvideAssistContent(android.app.AssistContent);
     method public void onProvideAssistData(android.os.Bundle);
     method protected void onRestart();
     method protected void onRestoreInstanceState(android.os.Bundle);
@@ -3439,6 +3451,7 @@
     method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
     method public void onWindowFocusChanged(boolean);
     method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
     method public void openContextMenu(android.view.View);
     method public void openOptionsMenu();
     method public void overridePendingTransition(int, int);
@@ -3485,6 +3498,7 @@
     method public final deprecated void showDialog(int);
     method public final deprecated boolean showDialog(int, android.os.Bundle);
     method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback);
+    method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback, int);
     method public void startActivityForResult(android.content.Intent, int);
     method public void startActivityForResult(android.content.Intent, int, android.os.Bundle);
     method public void startActivityFromChild(android.app.Activity, android.content.Intent, int);
@@ -3536,6 +3550,7 @@
     method public int getLargeMemoryClass();
     method public int getLauncherLargeIconDensity();
     method public int getLauncherLargeIconSize();
+    method public int getLockTaskModeState();
     method public int getMemoryClass();
     method public void getMemoryInfo(android.app.ActivityManager.MemoryInfo);
     method public static void getMyMemoryState(android.app.ActivityManager.RunningAppProcessInfo);
@@ -3546,7 +3561,7 @@
     method public android.app.PendingIntent getRunningServiceControlPanel(android.content.ComponentName) throws java.lang.SecurityException;
     method public java.util.List<android.app.ActivityManager.RunningServiceInfo> getRunningServices(int) throws java.lang.SecurityException;
     method public deprecated java.util.List<android.app.ActivityManager.RunningTaskInfo> getRunningTasks(int) throws java.lang.SecurityException;
-    method public boolean isInLockTaskMode();
+    method public deprecated boolean isInLockTaskMode();
     method public boolean isLowRamDevice();
     method public static boolean isRunningInTestHarness();
     method public static boolean isUserAMonkey();
@@ -3554,6 +3569,9 @@
     method public void moveTaskToFront(int, int);
     method public void moveTaskToFront(int, int, android.os.Bundle);
     method public deprecated void restartPackage(java.lang.String);
+    field public static final int LOCK_TASK_MODE_LOCKED = 1; // 0x1
+    field public static final int LOCK_TASK_MODE_NONE = 0; // 0x0
+    field public static final int LOCK_TASK_MODE_PINNED = 2; // 0x2
     field public static final java.lang.String META_HOME_ALTERNATE = "android.app.home.alternate";
     field public static final int MOVE_TASK_NO_USER_ACTION = 2; // 0x2
     field public static final int MOVE_TASK_WITH_HOME = 1; // 0x1
@@ -3942,20 +3960,33 @@
     field public java.lang.String serviceDetails;
   }
 
-  public final class AssistData implements android.os.Parcelable {
+  public class AssistContent implements android.os.Parcelable {
+    ctor public AssistContent();
     method public int describeContents();
-    method public android.content.ComponentName getActivityComponent();
-    method public static android.app.AssistData getAssistData(android.os.Bundle);
-    method public void getWindowAt(int, android.app.AssistData.ViewNode);
-    method public int getWindowCount();
+    method public static android.app.AssistContent getAssistContent(android.os.Bundle);
+    method public android.content.ClipData getClipData();
+    method public android.content.Intent getIntent();
+    method public void setClipData(android.content.ClipData);
+    method public void setIntent(android.content.Intent);
     method public void writeToParcel(android.os.Parcel, int);
-    field public static final java.lang.String ASSIST_KEY = "android:assist";
-    field public static final android.os.Parcelable.Creator<android.app.AssistData> CREATOR;
+    field public static final java.lang.String ASSIST_KEY = "android:assist_content";
+    field public static final android.os.Parcelable.Creator<android.app.AssistContent> CREATOR;
   }
 
-  public static class AssistData.ViewNode {
-    ctor public AssistData.ViewNode();
-    method public void getChildAt(int, android.app.AssistData.ViewNode);
+  public final class AssistStructure implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.content.ComponentName getActivityComponent();
+    method public static android.app.AssistStructure getAssistStructure(android.os.Bundle);
+    method public void getWindowAt(int, android.app.AssistStructure.ViewNode);
+    method public int getWindowCount();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final java.lang.String ASSIST_KEY = "android:assist_structure";
+    field public static final android.os.Parcelable.Creator<android.app.AssistStructure> CREATOR;
+  }
+
+  public static class AssistStructure.ViewNode {
+    ctor public AssistStructure.ViewNode();
+    method public void getChildAt(int, android.app.AssistStructure.ViewNode);
     method public int getChildCount();
     method public java.lang.String getClassName();
     method public java.lang.String getContentDescription();
@@ -3965,9 +3996,13 @@
     method public int getLeft();
     method public int getScrollX();
     method public int getScrollY();
-    method public java.lang.String getText();
+    method public java.lang.CharSequence getText();
+    method public int getTextBackgroundColor();
+    method public int getTextColor();
     method public int getTextSelectionEnd();
     method public int getTextSelectionStart();
+    method public float getTextSize();
+    method public int getTextStyle();
     method public int getTop();
     method public int getVisibility();
     method public int getWidth();
@@ -3981,6 +4016,11 @@
     method public boolean isFocused();
     method public boolean isLongClickable();
     method public boolean isSelected();
+    field public static final int TEXT_COLOR_UNDEFINED = 1; // 0x1
+    field public static final int TEXT_STYLE_BOLD = 1; // 0x1
+    field public static final int TEXT_STYLE_ITALIC = 2; // 0x2
+    field public static final int TEXT_STYLE_STRIKE_THRU = 8; // 0x8
+    field public static final int TEXT_STYLE_UNDERLINE = 4; // 0x4
   }
 
   public class DatePickerDialog extends android.app.AlertDialog implements android.widget.DatePicker.OnDateChangedListener android.content.DialogInterface.OnClickListener {
@@ -4058,6 +4098,7 @@
     method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
     method public void onWindowFocusChanged(boolean);
     method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
     method public void openContextMenu(android.view.View);
     method public void openOptionsMenu();
     method public void registerForContextMenu(android.view.View);
@@ -4451,10 +4492,10 @@
     method public void setInTouchMode(boolean);
     method public void start();
     method public android.app.Activity startActivitySync(android.content.Intent);
-    method public void startAllocCounting();
+    method public deprecated void startAllocCounting();
     method public void startPerformanceSnapshot();
     method public void startProfiling();
-    method public void stopAllocCounting();
+    method public deprecated void stopAllocCounting();
     method public void stopProfiling();
     method public void waitForIdle(java.lang.Runnable);
     method public void waitForIdleSync();
@@ -5356,6 +5397,7 @@
     method public static android.app.WallpaperManager getInstance(android.content.Context);
     method public android.app.WallpaperInfo getWallpaperInfo();
     method public boolean hasResourceWallpaper(int);
+    method public boolean isWallpaperSupported();
     method public android.graphics.drawable.Drawable peekDrawable();
     method public android.graphics.drawable.Drawable peekFastDrawable();
     method public void sendWallpaperCommand(android.os.IBinder, java.lang.String, int, int, int, android.os.Bundle);
@@ -5421,6 +5463,7 @@
     method public void onPasswordFailed(android.content.Context, android.content.Intent);
     method public void onPasswordSucceeded(android.content.Context, android.content.Intent);
     method public void onProfileProvisioningComplete(android.content.Context, android.content.Intent);
+    method public void onReadyForUserInitialization(android.content.Context, android.content.Intent);
     method public void onReceive(android.content.Context, android.content.Intent);
     field public static final java.lang.String ACTION_DEVICE_ADMIN_DISABLED = "android.app.action.DEVICE_ADMIN_DISABLED";
     field public static final java.lang.String ACTION_DEVICE_ADMIN_DISABLE_REQUESTED = "android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED";
@@ -5432,6 +5475,7 @@
     field public static final java.lang.String ACTION_PASSWORD_FAILED = "android.app.action.ACTION_PASSWORD_FAILED";
     field public static final java.lang.String ACTION_PASSWORD_SUCCEEDED = "android.app.action.ACTION_PASSWORD_SUCCEEDED";
     field public static final java.lang.String ACTION_PROFILE_PROVISIONING_COMPLETE = "android.app.action.PROFILE_PROVISIONING_COMPLETE";
+    field public static final java.lang.String ACTION_READY_FOR_USER_INITIALIZATION = "android.app.action.READY_FOR_USER_INITIALIZATION";
     field public static final java.lang.String DEVICE_ADMIN_META_DATA = "android.app.device_admin";
     field public static final java.lang.String EXTRA_DISABLE_WARNING = "android.app.extra.DISABLE_WARNING";
     field public static final java.lang.String EXTRA_LOCK_TASK_PACKAGE = "android.app.extra.LOCK_TASK_PACKAGE";
@@ -5443,6 +5487,7 @@
     method public void addPersistentPreferredActivity(android.content.ComponentName, android.content.IntentFilter, android.content.ComponentName);
     method public void addUserRestriction(android.content.ComponentName, java.lang.String);
     method public void clearCrossProfileIntentFilters(android.content.ComponentName);
+    method public void clearDeviceInitializerApp(android.content.ComponentName);
     method public void clearDeviceOwnerApp(java.lang.String);
     method public void clearPackagePersistentPreferredActivities(android.content.ComponentName, java.lang.String);
     method public void clearUserRestriction(android.content.ComponentName, java.lang.String);
@@ -5479,6 +5524,7 @@
     method public boolean getScreenCaptureDisabled(android.content.ComponentName);
     method public boolean getStorageEncryption(android.content.ComponentName);
     method public int getStorageEncryptionStatus();
+    method public java.util.List<android.os.PersistableBundle> getTrustAgentConfiguration(android.content.ComponentName, android.content.ComponentName);
     method public boolean hasCaCertInstalled(android.content.ComponentName, byte[]);
     method public boolean hasGrantedPolicy(android.content.ComponentName, int);
     method public boolean installCaCert(android.content.ComponentName, byte[]);
@@ -5486,6 +5532,7 @@
     method public boolean isActivePasswordSufficient();
     method public boolean isAdminActive(android.content.ComponentName);
     method public boolean isApplicationHidden(android.content.ComponentName, java.lang.String);
+    method public boolean isDeviceInitializerApp(java.lang.String);
     method public boolean isDeviceOwnerApp(java.lang.String);
     method public boolean isLockTaskPermitted(java.lang.String);
     method public boolean isMasterVolumeMuted(android.content.ComponentName);
@@ -5502,6 +5549,7 @@
     method public void setAutoTimeRequired(android.content.ComponentName, boolean);
     method public void setCameraDisabled(android.content.ComponentName, boolean);
     method public void setCrossProfileCallerIdDisabled(android.content.ComponentName, boolean);
+    method public boolean setDeviceInitializer(android.content.ComponentName, android.content.ComponentName, java.lang.String) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
     method public void setGlobalSetting(android.content.ComponentName, java.lang.String, java.lang.String);
     method public void setKeyguardDisabledFeatures(android.content.ComponentName, int);
     method public void setLockTaskPackages(android.content.ComponentName, java.lang.String[]) throws java.lang.SecurityException;
@@ -5527,7 +5575,10 @@
     method public void setScreenCaptureDisabled(android.content.ComponentName, boolean);
     method public void setSecureSetting(android.content.ComponentName, java.lang.String, java.lang.String);
     method public int setStorageEncryption(android.content.ComponentName, boolean);
+    method public void setTrustAgentConfiguration(android.content.ComponentName, android.content.ComponentName, android.os.PersistableBundle);
     method public void setUninstallBlocked(android.content.ComponentName, java.lang.String, boolean);
+    method public boolean setUserEnabled(android.content.ComponentName);
+    method public void setUserIcon(android.content.ComponentName, android.graphics.Bitmap);
     method public boolean switchUser(android.content.ComponentName, android.os.UserHandle);
     method public void uninstallAllUserCaCerts(android.content.ComponentName);
     method public void uninstallCaCert(android.content.ComponentName, byte[]);
@@ -5545,10 +5596,15 @@
     field public static final java.lang.String EXTRA_DEVICE_ADMIN = "android.app.extra.DEVICE_ADMIN";
     field public static final java.lang.String EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE = "android.app.extra.PROVISIONING_ACCOUNT_TO_MIGRATE";
     field public static final java.lang.String EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE = "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE";
+    field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME = "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME";
     field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM";
     field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER";
     field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION";
-    field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME";
+    field public static final deprecated java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME";
+    field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME";
+    field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_CHECKSUM = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_PACKAGE_CHECKSUM";
+    field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_COOKIE_HEADER = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_COOKIE_HEADER";
+    field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION";
     field public static final java.lang.String EXTRA_PROVISIONING_EMAIL_ADDRESS = "android.app.extra.PROVISIONING_EMAIL_ADDRESS";
     field public static final java.lang.String EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED = "android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED";
     field public static final java.lang.String EXTRA_PROVISIONING_LOCALE = "android.app.extra.PROVISIONING_LOCALE";
@@ -5775,6 +5831,7 @@
     method public java.lang.String getPackageName();
     method public long getTimeStamp();
     field public static final int CONFIGURATION_CHANGE = 5; // 0x5
+    field public static final int INTERACTION = 6; // 0x6
     field public static final int MOVE_TO_BACKGROUND = 2; // 0x2
     field public static final int MOVE_TO_FOREGROUND = 1; // 0x1
     field public static final int NONE = 0; // 0x0
@@ -7889,6 +7946,7 @@
     field public static final java.lang.String EXTRA_ASSIST_CONTEXT = "android.intent.extra.ASSIST_CONTEXT";
     field public static final java.lang.String EXTRA_ASSIST_INPUT_HINT_KEYBOARD = "android.intent.extra.ASSIST_INPUT_HINT_KEYBOARD";
     field public static final java.lang.String EXTRA_ASSIST_PACKAGE = "android.intent.extra.ASSIST_PACKAGE";
+    field public static final java.lang.String EXTRA_ASSIST_UID = "android.intent.extra.ASSIST_UID";
     field public static final java.lang.String EXTRA_BCC = "android.intent.extra.BCC";
     field public static final java.lang.String EXTRA_BUG_REPORT = "android.intent.extra.BUG_REPORT";
     field public static final java.lang.String EXTRA_CC = "android.intent.extra.CC";
@@ -10944,6 +11002,8 @@
   public class ImageFormat {
     ctor public ImageFormat();
     method public static int getBitsPerPixel(int);
+    field public static final int DEPTH16 = 1144402265; // 0x44363159
+    field public static final int DEPTH_POINT_CLOUD = 257; // 0x101
     field public static final int JPEG = 256; // 0x100
     field public static final int NV16 = 16; // 0x10
     field public static final int NV21 = 17; // 0x11
@@ -12893,7 +12953,6 @@
 
   public static abstract class CameraManager.TorchCallback {
     ctor public CameraManager.TorchCallback();
-    method public void onTorchModeAvailable(java.lang.String);
     method public void onTorchModeChanged(java.lang.String, boolean);
     method public void onTorchModeUnavailable(java.lang.String);
   }
@@ -15069,6 +15128,7 @@
     field public static final int EVENT_KEY_EXPIRED = 3; // 0x3
     field public static final int EVENT_KEY_REQUIRED = 2; // 0x2
     field public static final int EVENT_PROVISION_REQUIRED = 1; // 0x1
+    field public static final int EVENT_SESSION_RECLAIMED = 5; // 0x5
     field public static final int EVENT_VENDOR_DEFINED = 4; // 0x4
     field public static final int KEY_TYPE_OFFLINE = 2; // 0x2
     field public static final int KEY_TYPE_RELEASE = 3; // 0x3
@@ -15396,6 +15456,7 @@
     method public void setOnSeekCompleteListener(android.media.MediaPlayer.OnSeekCompleteListener);
     method public void setOnTimedTextListener(android.media.MediaPlayer.OnTimedTextListener);
     method public void setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener);
+    method public void setPlaybackRate(float, int);
     method public void setScreenOnWhilePlaying(boolean);
     method public void setSurface(android.view.Surface);
     method public void setVideoScalingMode(int);
@@ -15421,6 +15482,7 @@
     field public static final int MEDIA_INFO_VIDEO_RENDERING_START = 3; // 0x3
     field public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING = 700; // 0x2bc
     field public static final java.lang.String MEDIA_MIMETYPE_TEXT_SUBRIP = "application/x-subrip";
+    field public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 0; // 0x0
     field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; // 0x1
     field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; // 0x2
   }
@@ -16455,6 +16517,85 @@
 
 }
 
+package android.media.midi {
+
+  public final class MidiDeviceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getId();
+    method public int getInputPortCount();
+    method public android.media.midi.MidiDeviceInfo.PortInfo getInputPortInfo(int);
+    method public int getOutputPortCount();
+    method public android.media.midi.MidiDeviceInfo.PortInfo getOutputPortInfo(int);
+    method public android.os.Bundle getProperties();
+    method public int getType();
+    method public boolean isPrivate();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.media.midi.MidiDeviceInfo> CREATOR;
+    field public static final java.lang.String PROPERTY_MANUFACTURER = "manufacturer";
+    field public static final java.lang.String PROPERTY_NAME = "name";
+    field public static final java.lang.String PROPERTY_PRODUCT = "product";
+    field public static final java.lang.String PROPERTY_SERIAL_NUMBER = "serial_number";
+    field public static final java.lang.String PROPERTY_USB_DEVICE = "usb_device";
+    field public static final int TYPE_USB = 1; // 0x1
+    field public static final int TYPE_VIRTUAL = 2; // 0x2
+  }
+
+  public static final class MidiDeviceInfo.PortInfo {
+    method public java.lang.String getName();
+    method public int getPortNumber();
+    method public int getType();
+    field public static final int TYPE_INPUT = 1; // 0x1
+    field public static final int TYPE_OUTPUT = 2; // 0x2
+  }
+
+  public abstract class MidiDeviceService extends android.app.Service {
+    ctor public MidiDeviceService();
+    method public final android.media.midi.MidiDeviceInfo getDeviceInfo();
+    method public final android.media.midi.MidiReceiver[] getOutputPortReceivers();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public void onDeviceStatusChanged(android.media.midi.MidiDeviceStatus);
+    method public abstract android.media.midi.MidiReceiver[] onGetInputPortReceivers();
+    field public static final java.lang.String SERVICE_INTERFACE = "android.media.midi.MidiDeviceService";
+  }
+
+  public final class MidiDeviceStatus implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.media.midi.MidiDeviceInfo getDeviceInfo();
+    method public int getOutputPortOpenCount(int);
+    method public boolean isInputPortOpen(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.media.midi.MidiDeviceStatus> CREATOR;
+  }
+
+  public final class MidiInputPort extends android.media.midi.MidiReceiver implements java.io.Closeable {
+    method public void close() throws java.io.IOException;
+    method public final int getPortNumber();
+    method public void onReceive(byte[], int, int, long) throws java.io.IOException;
+  }
+
+  public final class MidiOutputPort extends android.media.midi.MidiSender implements java.io.Closeable {
+    method public void close() throws java.io.IOException;
+    method public void connect(android.media.midi.MidiReceiver);
+    method public void disconnect(android.media.midi.MidiReceiver);
+    method public final int getPortNumber();
+  }
+
+  public abstract class MidiReceiver {
+    ctor public MidiReceiver();
+    method public int getMaxMessageSize();
+    method public abstract void onReceive(byte[], int, int, long) throws java.io.IOException;
+    method public void send(byte[], int, int) throws java.io.IOException;
+    method public void sendWithTimestamp(byte[], int, int, long) throws java.io.IOException;
+  }
+
+  public abstract class MidiSender {
+    ctor public MidiSender();
+    method public abstract void connect(android.media.midi.MidiReceiver);
+    method public abstract void disconnect(android.media.midi.MidiReceiver);
+  }
+
+}
+
 package android.media.projection {
 
   public final class MediaProjection {
@@ -18299,9 +18440,18 @@
     method public int describeContents();
     method public void writeToParcel(android.os.Parcel, int);
     field public java.lang.String BSSID;
+    field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
+    field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
+    field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
+    field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
+    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
     field public java.lang.String SSID;
     field public java.lang.String capabilities;
+    field public int centerFreq0;
+    field public int centerFreq1;
+    field public int channelWidth;
     field public int frequency;
+    field public boolean is80211McRTTResponder;
     field public int level;
     field public long timestamp;
   }
@@ -18339,11 +18489,15 @@
     field public java.util.BitSet allowedKeyManagement;
     field public java.util.BitSet allowedPairwiseCiphers;
     field public java.util.BitSet allowedProtocols;
+    field public int apBand;
+    field public int apChannel;
     field public android.net.wifi.WifiEnterpriseConfig enterpriseConfig;
     field public boolean hiddenSSID;
     field public int networkId;
     field public java.lang.String preSharedKey;
     field public int priority;
+    field public java.lang.String providerFriendlyName;
+    field public java.util.HashSet<java.lang.Long> roamingConsortiumIds;
     field public int status;
     field public java.lang.String[] wepKeys;
     field public int wepTxKeyIndex;
@@ -18401,6 +18555,7 @@
     ctor public WifiEnterpriseConfig();
     ctor public WifiEnterpriseConfig(android.net.wifi.WifiEnterpriseConfig);
     method public int describeContents();
+    method public java.lang.String getAltSubjectMatch();
     method public java.lang.String getAnonymousIdentity();
     method public java.security.cert.X509Certificate getCaCertificate();
     method public java.security.cert.X509Certificate getClientCertificate();
@@ -18408,7 +18563,10 @@
     method public java.lang.String getIdentity();
     method public java.lang.String getPassword();
     method public int getPhase2Method();
-    method public java.lang.String getSubjectMatch();
+    method public java.lang.String getPlmn();
+    method public java.lang.String getRealm();
+    method public deprecated java.lang.String getSubjectMatch();
+    method public void setAltSubjectMatch(java.lang.String);
     method public void setAnonymousIdentity(java.lang.String);
     method public void setCaCertificate(java.security.cert.X509Certificate);
     method public void setClientKeyEntry(java.security.PrivateKey, java.security.cert.X509Certificate);
@@ -18416,7 +18574,9 @@
     method public void setIdentity(java.lang.String);
     method public void setPassword(java.lang.String);
     method public void setPhase2Method(int);
-    method public void setSubjectMatch(java.lang.String);
+    method public void setPlmn(java.lang.String);
+    method public void setRealm(java.lang.String);
+    method public deprecated void setSubjectMatch(java.lang.String);
     method public void writeToParcel(android.os.Parcel, int);
     field public static final android.os.Parcelable.Creator<android.net.wifi.WifiEnterpriseConfig> CREATOR;
   }
@@ -22015,47 +22175,47 @@
     method public static final int getBinderProxyObjectCount();
     method public static int getBinderReceivedTransactions();
     method public static int getBinderSentTransactions();
-    method public static int getGlobalAllocCount();
-    method public static int getGlobalAllocSize();
-    method public static int getGlobalClassInitCount();
-    method public static int getGlobalClassInitTime();
+    method public static deprecated int getGlobalAllocCount();
+    method public static deprecated int getGlobalAllocSize();
+    method public static deprecated int getGlobalClassInitCount();
+    method public static deprecated int getGlobalClassInitTime();
     method public static deprecated int getGlobalExternalAllocCount();
     method public static deprecated int getGlobalExternalAllocSize();
     method public static deprecated int getGlobalExternalFreedCount();
     method public static deprecated int getGlobalExternalFreedSize();
-    method public static int getGlobalFreedCount();
-    method public static int getGlobalFreedSize();
-    method public static int getGlobalGcInvocationCount();
+    method public static deprecated int getGlobalFreedCount();
+    method public static deprecated int getGlobalFreedSize();
+    method public static deprecated int getGlobalGcInvocationCount();
     method public static int getLoadedClassCount();
     method public static void getMemoryInfo(android.os.Debug.MemoryInfo);
     method public static long getNativeHeapAllocatedSize();
     method public static long getNativeHeapFreeSize();
     method public static long getNativeHeapSize();
     method public static long getPss();
-    method public static int getThreadAllocCount();
-    method public static int getThreadAllocSize();
+    method public static deprecated int getThreadAllocCount();
+    method public static deprecated int getThreadAllocSize();
     method public static deprecated int getThreadExternalAllocCount();
     method public static deprecated int getThreadExternalAllocSize();
-    method public static int getThreadGcInvocationCount();
+    method public static deprecated int getThreadGcInvocationCount();
     method public static boolean isDebuggerConnected();
     method public static void printLoadedClasses(int);
-    method public static void resetAllCounts();
-    method public static void resetGlobalAllocCount();
-    method public static void resetGlobalAllocSize();
-    method public static void resetGlobalClassInitCount();
-    method public static void resetGlobalClassInitTime();
+    method public static deprecated void resetAllCounts();
+    method public static deprecated void resetGlobalAllocCount();
+    method public static deprecated void resetGlobalAllocSize();
+    method public static deprecated void resetGlobalClassInitCount();
+    method public static deprecated void resetGlobalClassInitTime();
     method public static deprecated void resetGlobalExternalAllocCount();
     method public static deprecated void resetGlobalExternalAllocSize();
     method public static deprecated void resetGlobalExternalFreedCount();
     method public static deprecated void resetGlobalExternalFreedSize();
-    method public static void resetGlobalFreedCount();
-    method public static void resetGlobalFreedSize();
-    method public static void resetGlobalGcInvocationCount();
-    method public static void resetThreadAllocCount();
-    method public static void resetThreadAllocSize();
+    method public static deprecated void resetGlobalFreedCount();
+    method public static deprecated void resetGlobalFreedSize();
+    method public static deprecated void resetGlobalGcInvocationCount();
+    method public static deprecated void resetThreadAllocCount();
+    method public static deprecated void resetThreadAllocSize();
     method public static deprecated void resetThreadExternalAllocCount();
     method public static deprecated void resetThreadExternalAllocSize();
-    method public static void resetThreadGcInvocationCount();
+    method public static deprecated void resetThreadGcInvocationCount();
     method public static deprecated int setAllocationLimit(int);
     method public static deprecated int setGlobalAllocationLimit(int);
     method public static deprecated void startAllocCounting();
@@ -22074,7 +22234,7 @@
     field public static final int SHOW_CLASSLOADER = 2; // 0x2
     field public static final int SHOW_FULL_DETAIL = 1; // 0x1
     field public static final int SHOW_INITIALIZED = 4; // 0x4
-    field public static final int TRACE_COUNT_ALLOCS = 1; // 0x1
+    field public static final deprecated int TRACE_COUNT_ALLOCS = 1; // 0x1
   }
 
   public static deprecated class Debug.InstructionCount {
@@ -22278,7 +22438,9 @@
   public final class Looper {
     method public void dump(android.util.Printer, java.lang.String);
     method public static android.os.Looper getMainLooper();
+    method public android.os.MessageQueue getQueue();
     method public java.lang.Thread getThread();
+    method public boolean isCurrentThread();
     method public static void loop();
     method public static android.os.Looper myLooper();
     method public static android.os.MessageQueue myQueue();
@@ -22336,7 +22498,18 @@
 
   public final class MessageQueue {
     method public void addIdleHandler(android.os.MessageQueue.IdleHandler);
+    method public boolean isIdle();
+    method public void registerFileDescriptorCallback(java.io.FileDescriptor, int, android.os.MessageQueue.FileDescriptorCallback);
     method public void removeIdleHandler(android.os.MessageQueue.IdleHandler);
+    method public void unregisterFileDescriptorCallback(java.io.FileDescriptor);
+  }
+
+  public static abstract class MessageQueue.FileDescriptorCallback {
+    ctor public MessageQueue.FileDescriptorCallback();
+    method public int onFileDescriptorEvents(java.io.FileDescriptor, int);
+    field public static final int EVENT_ERROR = 4; // 0x4
+    field public static final int EVENT_INPUT = 1; // 0x1
+    field public static final int EVENT_OUTPUT = 2; // 0x2
   }
 
   public static abstract interface MessageQueue.IdleHandler {
@@ -24030,6 +24203,7 @@
     field public static final java.lang.String CACHED_NUMBER_LABEL = "numberlabel";
     field public static final java.lang.String CACHED_NUMBER_TYPE = "numbertype";
     field public static final java.lang.String CACHED_PHOTO_ID = "photo_id";
+    field public static final java.lang.String CACHED_PHOTO_URI = "photo_uri";
     field public static final android.net.Uri CONTENT_FILTER_URI;
     field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/calls";
     field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/calls";
@@ -24889,6 +25063,7 @@
     field public static final int ORGANIZATION = 30; // 0x1e
     field public static final int PHONE = 20; // 0x14
     field public static final int STRUCTURED_NAME = 40; // 0x28
+    field public static final int STRUCTURED_PHONETIC_NAME = 37; // 0x25
     field public static final int UNDEFINED = 0; // 0x0
   }
 
@@ -25050,9 +25225,12 @@
     ctor public ContactsContract.QuickContact();
     method public static void showQuickContact(android.content.Context, android.view.View, android.net.Uri, int, java.lang.String[]);
     method public static void showQuickContact(android.content.Context, android.graphics.Rect, android.net.Uri, int, java.lang.String[]);
+    method public static void showQuickContact(android.content.Context, android.view.View, android.net.Uri, java.lang.String[], java.lang.String);
+    method public static void showQuickContact(android.content.Context, android.graphics.Rect, android.net.Uri, java.lang.String[], java.lang.String);
     field public static final java.lang.String ACTION_QUICK_CONTACT = "android.provider.action.QUICK_CONTACT";
     field public static final java.lang.String EXTRA_EXCLUDE_MIMES = "android.provider.extra.EXCLUDE_MIMES";
     field public static final java.lang.String EXTRA_MODE = "android.provider.extra.MODE";
+    field public static final java.lang.String EXTRA_PRIORITIZED_MIMETYPE = "android.provider.extra.PRIORITIZED_MIMETYPE";
     field public static final int MODE_LARGE = 3; // 0x3
     field public static final int MODE_MEDIUM = 2; // 0x2
     field public static final int MODE_SMALL = 1; // 0x1
@@ -25894,7 +26072,6 @@
     field public static final deprecated java.lang.String ALWAYS_FINISH_ACTIVITIES = "always_finish_activities";
     field public static final deprecated java.lang.String ANDROID_ID = "android_id";
     field public static final deprecated java.lang.String ANIMATOR_DURATION_SCALE = "animator_duration_scale";
-    field public static final java.lang.String APPEND_FOR_LAST_AUDIBLE = "_last_audible";
     field public static final deprecated java.lang.String AUTO_TIME = "auto_time";
     field public static final deprecated java.lang.String AUTO_TIME_ZONE = "auto_time_zone";
     field public static final java.lang.String BLUETOOTH_DISCOVERABILITY = "bluetooth_discoverability";
@@ -25957,14 +26134,6 @@
     field public static final java.lang.String USER_ROTATION = "user_rotation";
     field public static final deprecated java.lang.String USE_GOOGLE_MAIL = "use_google_mail";
     field public static final java.lang.String VIBRATE_ON = "vibrate_on";
-    field public static final java.lang.String VOLUME_ALARM = "volume_alarm";
-    field public static final java.lang.String VOLUME_BLUETOOTH_SCO = "volume_bluetooth_sco";
-    field public static final java.lang.String VOLUME_MUSIC = "volume_music";
-    field public static final java.lang.String VOLUME_NOTIFICATION = "volume_notification";
-    field public static final java.lang.String VOLUME_RING = "volume_ring";
-    field public static final java.lang.String[] VOLUME_SETTINGS;
-    field public static final java.lang.String VOLUME_SYSTEM = "volume_system";
-    field public static final java.lang.String VOLUME_VOICE = "volume_voice";
     field public static final deprecated java.lang.String WAIT_FOR_DEBUGGER = "wait_for_debugger";
     field public static final deprecated java.lang.String WALLPAPER_ACTIVITY = "wallpaper_activity";
     field public static final deprecated java.lang.String WIFI_MAX_DHCP_RETRY_COUNT = "wifi_max_dhcp_retry_count";
@@ -26338,6 +26507,7 @@
 
   public static final class VoicemailContract.Status implements android.provider.BaseColumns {
     method public static android.net.Uri buildSourceUri(java.lang.String);
+    method public static void setStatus(android.content.Context, android.telecom.PhoneAccountHandle, int, int, int);
     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_NOT_CONFIGURED = 1; // 0x1
@@ -26352,6 +26522,8 @@
     field public static final int NOTIFICATION_CHANNEL_STATE_MESSAGE_WAITING = 2; // 0x2
     field public static final int NOTIFICATION_CHANNEL_STATE_NO_CONNECTION = 1; // 0x1
     field public static final int NOTIFICATION_CHANNEL_STATE_OK = 0; // 0x0
+    field public static final java.lang.String PHONE_ACCOUNT_COMPONENT_NAME = "phone_account_component_name";
+    field public static final java.lang.String PHONE_ACCOUNT_ID = "phone_account_id";
     field public static final java.lang.String SETTINGS_URI = "settings_uri";
     field public static final java.lang.String SOURCE_PACKAGE = "source_package";
     field public static final java.lang.String VOICEMAIL_ACCESS_URI = "voicemail_access_uri";
@@ -26359,8 +26531,13 @@
 
   public static final class VoicemailContract.Voicemails implements android.provider.BaseColumns android.provider.OpenableColumns {
     method public static android.net.Uri buildSourceUri(java.lang.String);
+    method public static int deleteAll(android.content.Context);
+    method public static android.net.Uri insert(android.content.Context, android.telecom.Voicemail);
+    method public static int insert(android.content.Context, java.util.List<android.telecom.Voicemail>);
     field public static final android.net.Uri CONTENT_URI;
     field public static final java.lang.String DATE = "date";
+    field public static final java.lang.String DELETED = "deleted";
+    field public static final java.lang.String DIRTY = "dirty";
     field public static final java.lang.String DIR_TYPE = "vnd.android.cursor.dir/voicemails";
     field public static final java.lang.String DURATION = "duration";
     field public static final java.lang.String HAS_CONTENT = "has_content";
@@ -26368,6 +26545,8 @@
     field public static final java.lang.String ITEM_TYPE = "vnd.android.cursor.item/voicemail";
     field public static final java.lang.String MIME_TYPE = "mime_type";
     field public static final java.lang.String NUMBER = "number";
+    field public static final java.lang.String PHONE_ACCOUNT_COMPONENT_NAME = "subscription_component_name";
+    field public static final java.lang.String PHONE_ACCOUNT_ID = "subscription_id";
     field public static final java.lang.String SOURCE_DATA = "source_data";
     field public static final java.lang.String SOURCE_PACKAGE = "source_package";
     field public static final java.lang.String TRANSCRIPTION = "transcription";
@@ -27436,6 +27615,30 @@
 
 }
 
+package android.service.chooser {
+
+  public final class ChooserTarget implements android.os.Parcelable {
+    ctor public ChooserTarget(java.lang.CharSequence, android.graphics.Bitmap, float, android.app.PendingIntent);
+    ctor public ChooserTarget(java.lang.CharSequence, android.graphics.Bitmap, float, android.content.IntentSender);
+    method public int describeContents();
+    method public android.graphics.Bitmap getIcon();
+    method public android.content.IntentSender getIntentSender();
+    method public float getScore();
+    method public java.lang.CharSequence getTitle();
+    method public boolean sendIntent(android.content.Context, android.content.Intent);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.service.chooser.ChooserTarget> CREATOR;
+  }
+
+  public abstract class ChooserTargetService extends android.app.Service {
+    ctor public ChooserTargetService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public abstract java.util.List<android.service.chooser.ChooserTarget> onGetChooserTargets(android.content.ComponentName, android.content.IntentFilter);
+    field public static final java.lang.String SERVICE_INTERFACE = "android.service.chooser.ChooserTargetService";
+  }
+
+}
+
 package android.service.dreams {
 
   public class DreamService extends android.app.Service implements android.view.Window.Callback {
@@ -27473,6 +27676,7 @@
     method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
     method public void onWindowFocusChanged(boolean);
     method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
     method public void setContentView(int);
     method public void setContentView(android.view.View);
     method public void setContentView(android.view.View, android.view.ViewGroup.LayoutParams);
@@ -27657,7 +27861,7 @@
     method public android.os.IBinder onBind(android.content.Intent);
     method public void onReady();
     method public void onShutdown();
-    method public void startSession(android.os.Bundle, int);
+    method public void showSession(android.os.Bundle, int);
     field public static final java.lang.String SERVICE_INTERFACE = "android.service.voice.VoiceInteractionService";
     field public static final java.lang.String SERVICE_META_DATA = "android.voice_interaction";
     field public static final int START_WITH_ASSIST = 1; // 0x1
@@ -27669,6 +27873,7 @@
     method public void finish();
     method public android.view.LayoutInflater getLayoutInflater();
     method public android.app.Dialog getWindow();
+    method public void hide();
     method public void hideWindow();
     method public void onAbortVoice(android.service.voice.VoiceInteractionSession.Caller, android.service.voice.VoiceInteractionSession.Request, java.lang.CharSequence, android.os.Bundle);
     method public void onBackPressed();
@@ -27683,14 +27888,17 @@
     method public void onDestroy();
     method public boolean[] onGetSupportedCommands(android.service.voice.VoiceInteractionSession.Caller, java.lang.String[]);
     method public void onHandleAssist(android.os.Bundle);
+    method public void onHide();
     method public boolean onKeyDown(int, android.view.KeyEvent);
     method public boolean onKeyLongPress(int, android.view.KeyEvent);
     method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
     method public boolean onKeyUp(int, android.view.KeyEvent);
+    method public void onShow(android.os.Bundle, int);
     method public void onTaskFinished(android.content.Intent, int);
     method public void onTaskStarted(android.content.Intent, int);
     method public void setContentView(android.view.View);
     method public void setTheme(int);
+    method public void show();
     method public void showWindow();
     method public void startVoiceActivity(android.content.Intent);
   }
@@ -28509,6 +28717,15 @@
     field public static final int STDERR_FILENO;
     field public static final int STDIN_FILENO;
     field public static final int STDOUT_FILENO;
+    field public static final int ST_MANDLOCK;
+    field public static final int ST_NOATIME;
+    field public static final int ST_NODEV;
+    field public static final int ST_NODIRATIME;
+    field public static final int ST_NOEXEC;
+    field public static final int ST_NOSUID;
+    field public static final int ST_RDONLY;
+    field public static final int ST_RELATIME;
+    field public static final int ST_SYNCHRONOUS;
     field public static final int S_IFBLK;
     field public static final int S_IFCHR;
     field public static final int S_IFDIR;
@@ -28686,6 +28903,22 @@
 
 package android.telecom {
 
+  public class AuthenticatorService extends android.app.Service {
+    ctor public AuthenticatorService();
+    method public android.os.IBinder onBind(android.content.Intent);
+  }
+
+  public class AuthenticatorService.Authenticator extends android.accounts.AbstractAccountAuthenticator {
+    ctor public AuthenticatorService.Authenticator(android.content.Context);
+    method public android.os.Bundle addAccount(android.accounts.AccountAuthenticatorResponse, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle confirmCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle editProperties(android.accounts.AccountAuthenticatorResponse, java.lang.String);
+    method public android.os.Bundle getAuthToken(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public java.lang.String getAuthTokenLabel(java.lang.String);
+    method public android.os.Bundle hasFeatures(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String[]) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle updateCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException;
+  }
+
   public class PhoneAccount implements android.os.Parcelable {
     method public static android.telecom.PhoneAccount.Builder builder(android.telecom.PhoneAccountHandle, java.lang.CharSequence);
     method public android.graphics.drawable.Drawable createIconDrawable(android.content.Context);
@@ -28707,6 +28940,7 @@
     method public void writeToParcel(android.os.Parcel, int);
     field public static final int CAPABILITY_PLACE_EMERGENCY_CALLS = 16; // 0x10
     field public static final int CAPABILITY_SIM_SUBSCRIPTION = 4; // 0x4
+    field public static final int CAPABILITY_VIDEO_CALLING = 8; // 0x8
     field public static final android.os.Parcelable.Creator<android.telecom.PhoneAccount> CREATOR;
     field public static final int NO_HIGHLIGHT_COLOR = 0; // 0x0
     field public static final int NO_ICON_TINT = 0; // 0x0
@@ -28744,10 +28978,12 @@
 
   public class TelecomManager {
     method public void cancelMissedCallsNotification();
+    method public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts();
     method public android.telecom.PhoneAccount getPhoneAccount(android.telecom.PhoneAccountHandle);
     method public boolean handleMmi(java.lang.String);
     method public boolean isInCall();
     method public void showInCallScreen(boolean);
+    field public static final java.lang.String ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS = "android.telecom.action.SHOW_CALL_ACCESSIBILITY_SETTINGS";
     field public static final java.lang.String ACTION_SHOW_CALL_SETTINGS = "android.telecom.action.SHOW_CALL_SETTINGS";
     field public static final java.lang.String ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS = "android.telecom.action.SHOW_RESPOND_VIA_SMS_SETTINGS";
     field public static final char DTMF_CHARACTER_PAUSE = 44; // 0x002c ','
@@ -28794,6 +29030,35 @@
     field public static final int TX_ENABLED = 1; // 0x1
   }
 
+  public class Voicemail implements android.os.Parcelable {
+    method public static android.telecom.Voicemail.Builder createForInsertion(long, java.lang.String);
+    method public int describeContents();
+    method public long getDuration();
+    method public long getId();
+    method public java.lang.String getNumber();
+    method public java.lang.String getSourceData();
+    method public java.lang.String getSourcePackage();
+    method public long getTimestampMillis();
+    method public android.net.Uri getUri();
+    method public boolean hasContent();
+    method public boolean isRead();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.telecom.Voicemail> CREATOR;
+  }
+
+  public static class Voicemail.Builder {
+    method public android.telecom.Voicemail build();
+    method public android.telecom.Voicemail.Builder setDuration(long);
+    method public android.telecom.Voicemail.Builder setHasContent(boolean);
+    method public android.telecom.Voicemail.Builder setId(long);
+    method public android.telecom.Voicemail.Builder setIsRead(boolean);
+    method public android.telecom.Voicemail.Builder setNumber(java.lang.String);
+    method public android.telecom.Voicemail.Builder setSourceData(java.lang.String);
+    method public android.telecom.Voicemail.Builder setSourcePackage(java.lang.String);
+    method public android.telecom.Voicemail.Builder setTimestamp(long);
+    method public android.telecom.Voicemail.Builder setUri(android.net.Uri);
+  }
+
 }
 
 package android.telephony {
@@ -29263,6 +29528,7 @@
   }
 
   public class TelephonyManager {
+    method public boolean canChangeDtmfToneLength();
     method public java.util.List<android.telephony.CellInfo> getAllCellInfo();
     method public int getCallState();
     method public android.telephony.CellLocation getCellLocation();
@@ -29298,6 +29564,7 @@
     method public boolean isNetworkRoaming();
     method public boolean isSmsCapable();
     method public boolean isVoiceCapable();
+    method public boolean isWorldPhone();
     method public void listen(android.telephony.PhoneStateListener, int);
     method public java.lang.String sendEnvelopeWithStatus(java.lang.String);
     method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String);
@@ -33482,6 +33749,8 @@
     method public abstract android.view.MenuItem setEnabled(boolean);
     method public abstract android.view.MenuItem setIcon(android.graphics.drawable.Drawable);
     method public abstract android.view.MenuItem setIcon(int);
+    method public abstract android.view.MenuItem setIconTintList(android.content.res.ColorStateList);
+    method public abstract android.view.MenuItem setIconTintMode(android.graphics.PorterDuff.Mode);
     method public abstract android.view.MenuItem setIntent(android.content.Intent);
     method public abstract android.view.MenuItem setNumericShortcut(char);
     method public abstract android.view.MenuItem setOnActionExpandListener(android.view.MenuItem.OnActionExpandListener);
@@ -34077,6 +34346,7 @@
     method protected float getRightFadingEdgeStrength();
     method protected int getRightPaddingOffset();
     method public android.view.View getRootView();
+    method public android.view.WindowInsets getRootWindowInsets();
     method public float getRotation();
     method public float getRotationX();
     method public float getRotationY();
@@ -34214,7 +34484,7 @@
     method protected void onMeasure(int, int);
     method protected void onOverScrolled(int, int, boolean, boolean);
     method public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
-    method public void onProvideAssistData(android.view.ViewAssistData, android.os.Bundle);
+    method public void onProvideAssistStructure(android.view.ViewAssistStructure, android.os.Bundle);
     method protected void onRestoreInstanceState(android.os.Parcelable);
     method public void onRtlPropertiesChanged(int);
     method protected android.os.Parcelable onSaveInstanceState();
@@ -34383,6 +34653,7 @@
     method public void setZ(float);
     method public boolean showContextMenu();
     method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback);
+    method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback, int);
     method public void startAnimation(android.view.animation.Animation);
     method public final boolean startDrag(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int);
     method public boolean startNestedScroll(int);
@@ -34617,8 +34888,8 @@
     method public static android.animation.Animator createCircularReveal(android.view.View, int, int, float, float);
   }
 
-  public abstract class ViewAssistData {
-    ctor public ViewAssistData();
+  public abstract class ViewAssistStructure {
+    ctor public ViewAssistStructure();
     method public abstract java.lang.CharSequence getHint();
     method public abstract java.lang.CharSequence getText();
     method public abstract int getTextSelectionEnd();
@@ -34626,6 +34897,7 @@
     method public abstract void setHint(java.lang.CharSequence);
     method public abstract void setText(java.lang.CharSequence);
     method public abstract void setText(java.lang.CharSequence, int, int);
+    method public abstract void setTextPaint(android.text.TextPaint);
   }
 
   public class ViewConfiguration {
@@ -34838,6 +35110,7 @@
     method public boolean shouldDelayChildPressedState();
     method public boolean showContextMenuForChild(android.view.View);
     method public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback);
+    method public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback, int);
     method public void startLayoutAnimation();
     method public void startViewTransition(android.view.View);
     method public void updateViewLayout(android.view.View, android.view.ViewGroup.LayoutParams);
@@ -34958,6 +35231,7 @@
     method public abstract void requestTransparentRegion(android.view.View);
     method public abstract boolean showContextMenuForChild(android.view.View);
     method public abstract android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback);
+    method public abstract android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback, int);
   }
 
   public class ViewPropertyAnimator {
@@ -35246,6 +35520,7 @@
     method public abstract void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
     method public abstract void onWindowFocusChanged(boolean);
     method public abstract android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+    method public abstract android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
   }
 
   public final class WindowAnimationFrameStats extends android.view.FrameStats implements android.os.Parcelable {
@@ -36855,6 +37130,32 @@
     method public abstract void onReceivedIcon(java.lang.String, android.graphics.Bitmap);
   }
 
+  public class WebMessage {
+    ctor public WebMessage(java.lang.String);
+    ctor public WebMessage(java.lang.String, android.webkit.WebMessagePort[]);
+    method public java.lang.String getData();
+    method public android.webkit.WebMessagePort[] getPorts();
+  }
+
+  public abstract class WebMessagePort {
+    ctor public WebMessagePort();
+    method public abstract void close();
+    method public abstract void postMessage(android.webkit.WebMessage);
+    method public abstract void setWebMessageCallback(android.webkit.WebMessagePort.WebMessageCallback);
+    method public abstract void setWebMessageCallback(android.webkit.WebMessagePort.WebMessageCallback, android.os.Handler);
+  }
+
+  public static abstract class WebMessagePort.WebMessageCallback {
+    ctor public WebMessagePort.WebMessageCallback();
+    method public void onMessage(android.webkit.WebMessagePort, android.webkit.WebMessage);
+  }
+
+  public abstract class WebResourceError {
+    ctor public WebResourceError();
+    method public abstract java.lang.String getDescription();
+    method public abstract int getErrorCode();
+  }
+
   public abstract interface WebResourceRequest {
     method public abstract java.lang.String getMethod();
     method public abstract java.util.Map<java.lang.String, java.lang.String> getRequestHeaders();
@@ -36863,7 +37164,7 @@
     method public abstract boolean isForMainFrame();
   }
 
-  public class WebResourceResponse {
+  public class WebResourceResponse extends android.webkit.WebResourceResponseBase {
     ctor public WebResourceResponse(java.lang.String, java.lang.String, java.io.InputStream);
     ctor public WebResourceResponse(java.lang.String, java.lang.String, int, java.lang.String, java.util.Map<java.lang.String, java.lang.String>, java.io.InputStream);
     method public java.io.InputStream getData();
@@ -36879,6 +37180,16 @@
     method public void setStatusCodeAndReasonPhrase(int, java.lang.String);
   }
 
+  public abstract class WebResourceResponseBase {
+    ctor public WebResourceResponseBase();
+    method public abstract java.io.InputStream getData();
+    method public abstract java.lang.String getEncoding();
+    method public abstract java.lang.String getMimeType();
+    method public abstract java.lang.String getReasonPhrase();
+    method public abstract java.util.Map<java.lang.String, java.lang.String> getResponseHeaders();
+    method public abstract int getStatusCode();
+  }
+
   public abstract class WebSettings {
     ctor public WebSettings();
     method public abstract deprecated boolean enableSmoothTransition();
@@ -36912,6 +37223,7 @@
     method public abstract int getMinimumFontSize();
     method public abstract int getMinimumLogicalFontSize();
     method public abstract int getMixedContentMode();
+    method public abstract boolean getOffscreenPreRaster();
     method public abstract deprecated android.webkit.WebSettings.PluginState getPluginState();
     method public abstract java.lang.String getSansSerifFontFamily();
     method public abstract boolean getSaveFormData();
@@ -36958,6 +37270,7 @@
     method public abstract void setMinimumLogicalFontSize(int);
     method public abstract void setMixedContentMode(int);
     method public abstract void setNeedInitialFocus(boolean);
+    method public abstract void setOffscreenPreRaster(boolean);
     method public abstract deprecated void setPluginState(android.webkit.WebSettings.PluginState);
     method public abstract deprecated void setRenderPriority(android.webkit.WebSettings.RenderPriority);
     method public abstract void setSansSerifFontFamily(java.lang.String);
@@ -37082,6 +37395,7 @@
     method public android.webkit.WebBackForwardList copyBackForwardList();
     method public deprecated android.print.PrintDocumentAdapter createPrintDocumentAdapter();
     method public android.print.PrintDocumentAdapter createPrintDocumentAdapter(java.lang.String);
+    method public android.webkit.WebMessagePort[] createWebMessageChannel();
     method public void destroy();
     method public void documentHasImages(android.os.Message);
     method public static void enableSlowWholeDocumentDraw();
@@ -37122,6 +37436,7 @@
     method public boolean pageDown(boolean);
     method public boolean pageUp(boolean);
     method public void pauseTimers();
+    method public void postMessageToMainFrame(android.webkit.WebMessage, android.net.Uri);
     method public void postUrl(java.lang.String, byte[]);
     method public void reload();
     method public void removeJavascriptInterface(java.lang.String);
@@ -37193,8 +37508,10 @@
     method public void onPageFinished(android.webkit.WebView, java.lang.String);
     method public void onPageStarted(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
     method public void onReceivedClientCertRequest(android.webkit.WebView, android.webkit.ClientCertRequest);
-    method public void onReceivedError(android.webkit.WebView, int, java.lang.String, java.lang.String);
+    method public deprecated void onReceivedError(android.webkit.WebView, int, java.lang.String, java.lang.String);
+    method public void onReceivedError(android.webkit.WebView, android.webkit.WebResourceRequest, android.webkit.WebResourceError);
     method public void onReceivedHttpAuthRequest(android.webkit.WebView, android.webkit.HttpAuthHandler, java.lang.String, java.lang.String);
+    method public void onReceivedHttpError(android.webkit.WebView, android.webkit.WebResourceRequest, android.webkit.WebResourceResponseBase);
     method public void onReceivedLoginRequest(android.webkit.WebView, java.lang.String, java.lang.String, java.lang.String);
     method public void onReceivedSslError(android.webkit.WebView, android.webkit.SslErrorHandler, android.net.http.SslError);
     method public void onScaleChanged(android.webkit.WebView, float, float);
@@ -37207,6 +37524,7 @@
     method public boolean shouldOverrideUrlLoading(android.webkit.WebView, java.lang.String);
     field public static final int ERROR_AUTHENTICATION = -4; // 0xfffffffc
     field public static final int ERROR_BAD_URL = -12; // 0xfffffff4
+    field public static final int ERROR_BLOCKED = -16; // 0xfffffff0
     field public static final int ERROR_CONNECT = -6; // 0xfffffffa
     field public static final int ERROR_FAILED_SSL_HANDSHAKE = -11; // 0xfffffff5
     field public static final int ERROR_FILE = -13; // 0xfffffff3
@@ -37421,6 +37739,8 @@
     method public void onConfigurationChanged(android.content.res.Configuration);
     method public void onDetachedFromWindow();
     method public void setOnMenuItemClickListener(android.widget.ActionMenuView.OnMenuItemClickListener);
+    method public void setOverflowTintList(android.content.res.ColorStateList);
+    method public void setOverflowTintMode(android.graphics.PorterDuff.Mode);
     method public void setPopupTheme(int);
     method public boolean showOverflowMenu();
   }
@@ -38749,6 +39069,7 @@
     method public void setImageToDefault();
     method public void setMode(int);
     method public void setOverlay(android.graphics.drawable.Drawable);
+    method public void setPrioritizedMimeType(java.lang.String);
     field protected java.lang.String[] mExcludeMimes;
   }
 
@@ -38846,6 +39167,7 @@
     method public void addRule(int);
     method public void addRule(int, int);
     method public java.lang.String debug(java.lang.String);
+    method public int getRule(int);
     method public int[] getRules();
     method public void removeRule(int);
     field public boolean alignWithParent;
@@ -39715,7 +40037,11 @@
     method public void setNavigationIcon(int);
     method public void setNavigationIcon(android.graphics.drawable.Drawable);
     method public void setNavigationOnClickListener(android.view.View.OnClickListener);
+    method public void setNavigationTintList(android.content.res.ColorStateList);
+    method public void setNavigationTintMode(android.graphics.PorterDuff.Mode);
     method public void setOnMenuItemClickListener(android.widget.Toolbar.OnMenuItemClickListener);
+    method public void setOverflowTintList(android.content.res.ColorStateList);
+    method public void setOverflowTintMode(android.graphics.PorterDuff.Mode);
     method public void setPopupTheme(int);
     method public void setSubtitle(int);
     method public void setSubtitle(java.lang.CharSequence);
diff --git a/api/removed.txt b/api/removed.txt
index 8668a77..1b209a9 100644
--- a/api/removed.txt
+++ b/api/removed.txt
@@ -34,6 +34,22 @@
 
 }
 
+package android.provider {
+
+  public static final class Settings.System extends android.provider.Settings.NameValueTable {
+    field public static final java.lang.String APPEND_FOR_LAST_AUDIBLE = "_last_audible";
+    field public static final java.lang.String VOLUME_ALARM = "volume_alarm";
+    field public static final java.lang.String VOLUME_BLUETOOTH_SCO = "volume_bluetooth_sco";
+    field public static final java.lang.String VOLUME_MUSIC = "volume_music";
+    field public static final java.lang.String VOLUME_NOTIFICATION = "volume_notification";
+    field public static final java.lang.String VOLUME_RING = "volume_ring";
+    field public static final java.lang.String[] VOLUME_SETTINGS;
+    field public static final java.lang.String VOLUME_SYSTEM = "volume_system";
+    field public static final java.lang.String VOLUME_VOICE = "volume_voice";
+  }
+
+}
+
 package android.text.format {
 
   public class DateFormat {
diff --git a/api/system-current.txt b/api/system-current.txt
index 7db9c54..6716c49 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -29,6 +29,7 @@
     field public static final java.lang.String BIND_ACCESSIBILITY_SERVICE = "android.permission.BIND_ACCESSIBILITY_SERVICE";
     field public static final java.lang.String BIND_APPWIDGET = "android.permission.BIND_APPWIDGET";
     field public static final java.lang.String BIND_CARRIER_MESSAGING_SERVICE = "android.permission.BIND_CARRIER_MESSAGING_SERVICE";
+    field public static final java.lang.String BIND_CHOOSER_TARGET_SERVICE = "android.permission.BIND_CHOOSER_TARGET_SERVICE";
     field public static final java.lang.String BIND_CONDITION_PROVIDER_SERVICE = "android.permission.BIND_CONDITION_PROVIDER_SERVICE";
     field public static final java.lang.String BIND_CONNECTION_SERVICE = "android.permission.BIND_CONNECTION_SERVICE";
     field public static final java.lang.String BIND_DEVICE_ADMIN = "android.permission.BIND_DEVICE_ADMIN";
@@ -210,6 +211,7 @@
     field public static final java.lang.String UPDATE_LOCK = "android.permission.UPDATE_LOCK";
     field public static final java.lang.String USER_ACTIVITY = "android.permission.USER_ACTIVITY";
     field public static final java.lang.String USE_CREDENTIALS = "android.permission.USE_CREDENTIALS";
+    field public static final java.lang.String USE_FINGERPRINT = "android.permission.USE_FINGERPRINT";
     field public static final java.lang.String USE_SIP = "android.permission.USE_SIP";
     field public static final java.lang.String VIBRATE = "android.permission.VIBRATE";
     field public static final java.lang.String WAKE_LOCK = "android.permission.WAKE_LOCK";
@@ -368,6 +370,7 @@
     field public static final int allowParallelSyncs = 16843570; // 0x1010332
     field public static final int allowSingleTap = 16843353; // 0x1010259
     field public static final int allowTaskReparenting = 16843268; // 0x1010204
+    field public static final int allowUndo = 16844006; // 0x10104e6
     field public static final int alpha = 16843551; // 0x101031f
     field public static final int alphabeticShortcut = 16843235; // 0x10101e3
     field public static final int alwaysDrawnWithCache = 16842991; // 0x10100ef
@@ -482,6 +485,7 @@
     field public static final int colorActivatedHighlight = 16843664; // 0x1010390
     field public static final int colorBackground = 16842801; // 0x1010031
     field public static final int colorBackgroundCacheHint = 16843435; // 0x10102ab
+    field public static final int colorBackgroundFloating = 16844007; // 0x10104e7
     field public static final int colorButtonNormal = 16843819; // 0x101042b
     field public static final int colorControlActivated = 16843818; // 0x101042a
     field public static final int colorControlHighlight = 16843820; // 0x101042c
@@ -736,6 +740,8 @@
     field public static final int host = 16842792; // 0x1010028
     field public static final int icon = 16842754; // 0x1010002
     field public static final int iconPreview = 16843337; // 0x1010249
+    field public static final int iconTint = 16844000; // 0x10104e0
+    field public static final int iconTintMode = 16844001; // 0x10104e1
     field public static final int iconifiedByDefault = 16843514; // 0x10102fa
     field public static final int id = 16842960; // 0x10100d0
     field public static final int ignoreGravity = 16843263; // 0x10101ff
@@ -945,6 +951,8 @@
     field public static final int navigationContentDescription = 16843969; // 0x10104c1
     field public static final int navigationIcon = 16843968; // 0x10104c0
     field public static final int navigationMode = 16843471; // 0x10102cf
+    field public static final int navigationTint = 16844004; // 0x10104e4
+    field public static final int navigationTintMode = 16844005; // 0x10104e5
     field public static final int negativeButtonText = 16843254; // 0x10101f6
     field public static final int nestedScrollingEnabled = 16843830; // 0x1010436
     field public static final int nextFocusDown = 16842980; // 0x10100e4
@@ -976,6 +984,8 @@
     field public static final int overScrollFooter = 16843459; // 0x10102c3
     field public static final int overScrollHeader = 16843458; // 0x10102c2
     field public static final int overScrollMode = 16843457; // 0x10102c1
+    field public static final int overflowTint = 16844002; // 0x10104e2
+    field public static final int overflowTintMode = 16844003; // 0x10104e3
     field public static final int overlapAnchor = 16843874; // 0x1010462
     field public static final int overridesImplicitlyEnabledSubtype = 16843682; // 0x10103a2
     field public static final int packageNames = 16843649; // 0x1010381
@@ -1786,10 +1796,11 @@
     field public static final int message = 16908299; // 0x102000b
     field public static final int navigationBarBackground = 16908336; // 0x1020030
     field public static final int paste = 16908322; // 0x1020022
-    field public static final int pasteAsPlainText = 16908339; // 0x1020033
+    field public static final int pasteAsPlainText = 16908337; // 0x1020031
     field public static final int primary = 16908300; // 0x102000c
     field public static final int progress = 16908301; // 0x102000d
-    field public static final int redo = 16908338; // 0x1020032
+    field public static final int redo = 16908339; // 0x1020033
+    field public static final int replaceText = 16908340; // 0x1020034
     field public static final int secondaryProgress = 16908303; // 0x102000f
     field public static final int selectAll = 16908319; // 0x102001f
     field public static final int selectTextMode = 16908333; // 0x102002d
@@ -1806,7 +1817,7 @@
     field public static final int text2 = 16908309; // 0x1020015
     field public static final int title = 16908310; // 0x1020016
     field public static final int toggle = 16908311; // 0x1020017
-    field public static final int undo = 16908337; // 0x1020031
+    field public static final int undo = 16908338; // 0x1020032
     field public static final int widget_frame = 16908312; // 0x1020018
   }
 
@@ -3501,6 +3512,7 @@
     method public void onPrepareNavigateUpTaskStack(android.app.TaskStackBuilder);
     method public boolean onPrepareOptionsMenu(android.view.Menu);
     method public boolean onPreparePanel(int, android.view.View, android.view.Menu);
+    method public void onProvideAssistContent(android.app.AssistContent);
     method public void onProvideAssistData(android.os.Bundle);
     method protected void onRestart();
     method protected void onRestoreInstanceState(android.os.Bundle);
@@ -3522,6 +3534,7 @@
     method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
     method public void onWindowFocusChanged(boolean);
     method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
     method public void openContextMenu(android.view.View);
     method public void openOptionsMenu();
     method public void overridePendingTransition(int, int);
@@ -3568,6 +3581,7 @@
     method public final deprecated void showDialog(int);
     method public final deprecated boolean showDialog(int, android.os.Bundle);
     method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback);
+    method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback, int);
     method public void startActivityForResult(android.content.Intent, int);
     method public void startActivityForResult(android.content.Intent, int, android.os.Bundle);
     method public void startActivityFromChild(android.app.Activity, android.content.Intent, int);
@@ -3624,6 +3638,7 @@
     method public int getLargeMemoryClass();
     method public int getLauncherLargeIconDensity();
     method public int getLauncherLargeIconSize();
+    method public int getLockTaskModeState();
     method public int getMemoryClass();
     method public void getMemoryInfo(android.app.ActivityManager.MemoryInfo);
     method public static void getMyMemoryState(android.app.ActivityManager.RunningAppProcessInfo);
@@ -3634,7 +3649,7 @@
     method public android.app.PendingIntent getRunningServiceControlPanel(android.content.ComponentName) throws java.lang.SecurityException;
     method public java.util.List<android.app.ActivityManager.RunningServiceInfo> getRunningServices(int) throws java.lang.SecurityException;
     method public deprecated java.util.List<android.app.ActivityManager.RunningTaskInfo> getRunningTasks(int) throws java.lang.SecurityException;
-    method public boolean isInLockTaskMode();
+    method public deprecated boolean isInLockTaskMode();
     method public boolean isLowRamDevice();
     method public static boolean isRunningInTestHarness();
     method public static boolean isUserAMonkey();
@@ -3642,6 +3657,9 @@
     method public void moveTaskToFront(int, int);
     method public void moveTaskToFront(int, int, android.os.Bundle);
     method public deprecated void restartPackage(java.lang.String);
+    field public static final int LOCK_TASK_MODE_LOCKED = 1; // 0x1
+    field public static final int LOCK_TASK_MODE_NONE = 0; // 0x0
+    field public static final int LOCK_TASK_MODE_PINNED = 2; // 0x2
     field public static final java.lang.String META_HOME_ALTERNATE = "android.app.home.alternate";
     field public static final int MOVE_TASK_NO_USER_ACTION = 2; // 0x2
     field public static final int MOVE_TASK_WITH_HOME = 1; // 0x1
@@ -4032,20 +4050,33 @@
     field public java.lang.String serviceDetails;
   }
 
-  public final class AssistData implements android.os.Parcelable {
+  public class AssistContent implements android.os.Parcelable {
+    ctor public AssistContent();
     method public int describeContents();
-    method public android.content.ComponentName getActivityComponent();
-    method public static android.app.AssistData getAssistData(android.os.Bundle);
-    method public void getWindowAt(int, android.app.AssistData.ViewNode);
-    method public int getWindowCount();
+    method public static android.app.AssistContent getAssistContent(android.os.Bundle);
+    method public android.content.ClipData getClipData();
+    method public android.content.Intent getIntent();
+    method public void setClipData(android.content.ClipData);
+    method public void setIntent(android.content.Intent);
     method public void writeToParcel(android.os.Parcel, int);
-    field public static final java.lang.String ASSIST_KEY = "android:assist";
-    field public static final android.os.Parcelable.Creator<android.app.AssistData> CREATOR;
+    field public static final java.lang.String ASSIST_KEY = "android:assist_content";
+    field public static final android.os.Parcelable.Creator<android.app.AssistContent> CREATOR;
   }
 
-  public static class AssistData.ViewNode {
-    ctor public AssistData.ViewNode();
-    method public void getChildAt(int, android.app.AssistData.ViewNode);
+  public final class AssistStructure implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.content.ComponentName getActivityComponent();
+    method public static android.app.AssistStructure getAssistStructure(android.os.Bundle);
+    method public void getWindowAt(int, android.app.AssistStructure.ViewNode);
+    method public int getWindowCount();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final java.lang.String ASSIST_KEY = "android:assist_structure";
+    field public static final android.os.Parcelable.Creator<android.app.AssistStructure> CREATOR;
+  }
+
+  public static class AssistStructure.ViewNode {
+    ctor public AssistStructure.ViewNode();
+    method public void getChildAt(int, android.app.AssistStructure.ViewNode);
     method public int getChildCount();
     method public java.lang.String getClassName();
     method public java.lang.String getContentDescription();
@@ -4055,9 +4086,13 @@
     method public int getLeft();
     method public int getScrollX();
     method public int getScrollY();
-    method public java.lang.String getText();
+    method public java.lang.CharSequence getText();
+    method public int getTextBackgroundColor();
+    method public int getTextColor();
     method public int getTextSelectionEnd();
     method public int getTextSelectionStart();
+    method public float getTextSize();
+    method public int getTextStyle();
     method public int getTop();
     method public int getVisibility();
     method public int getWidth();
@@ -4071,6 +4106,11 @@
     method public boolean isFocused();
     method public boolean isLongClickable();
     method public boolean isSelected();
+    field public static final int TEXT_COLOR_UNDEFINED = 1; // 0x1
+    field public static final int TEXT_STYLE_BOLD = 1; // 0x1
+    field public static final int TEXT_STYLE_ITALIC = 2; // 0x2
+    field public static final int TEXT_STYLE_STRIKE_THRU = 8; // 0x8
+    field public static final int TEXT_STYLE_UNDERLINE = 4; // 0x4
   }
 
   public class DatePickerDialog extends android.app.AlertDialog implements android.widget.DatePicker.OnDateChangedListener android.content.DialogInterface.OnClickListener {
@@ -4148,6 +4188,7 @@
     method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
     method public void onWindowFocusChanged(boolean);
     method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
     method public void openContextMenu(android.view.View);
     method public void openOptionsMenu();
     method public void registerForContextMenu(android.view.View);
@@ -4541,10 +4582,10 @@
     method public void setInTouchMode(boolean);
     method public void start();
     method public android.app.Activity startActivitySync(android.content.Intent);
-    method public void startAllocCounting();
+    method public deprecated void startAllocCounting();
     method public void startPerformanceSnapshot();
     method public void startProfiling();
-    method public void stopAllocCounting();
+    method public deprecated void stopAllocCounting();
     method public void stopProfiling();
     method public void waitForIdle(java.lang.Runnable);
     method public void waitForIdleSync();
@@ -5447,6 +5488,7 @@
     method public static android.app.WallpaperManager getInstance(android.content.Context);
     method public android.app.WallpaperInfo getWallpaperInfo();
     method public boolean hasResourceWallpaper(int);
+    method public boolean isWallpaperSupported();
     method public android.graphics.drawable.Drawable peekDrawable();
     method public android.graphics.drawable.Drawable peekFastDrawable();
     method public void sendWallpaperCommand(android.os.IBinder, java.lang.String, int, int, int, android.os.Bundle);
@@ -5515,6 +5557,7 @@
     method public void onPasswordFailed(android.content.Context, android.content.Intent);
     method public void onPasswordSucceeded(android.content.Context, android.content.Intent);
     method public void onProfileProvisioningComplete(android.content.Context, android.content.Intent);
+    method public void onReadyForUserInitialization(android.content.Context, android.content.Intent);
     method public void onReceive(android.content.Context, android.content.Intent);
     field public static final java.lang.String ACTION_DEVICE_ADMIN_DISABLED = "android.app.action.DEVICE_ADMIN_DISABLED";
     field public static final java.lang.String ACTION_DEVICE_ADMIN_DISABLE_REQUESTED = "android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED";
@@ -5526,6 +5569,7 @@
     field public static final java.lang.String ACTION_PASSWORD_FAILED = "android.app.action.ACTION_PASSWORD_FAILED";
     field public static final java.lang.String ACTION_PASSWORD_SUCCEEDED = "android.app.action.ACTION_PASSWORD_SUCCEEDED";
     field public static final java.lang.String ACTION_PROFILE_PROVISIONING_COMPLETE = "android.app.action.PROFILE_PROVISIONING_COMPLETE";
+    field public static final java.lang.String ACTION_READY_FOR_USER_INITIALIZATION = "android.app.action.READY_FOR_USER_INITIALIZATION";
     field public static final java.lang.String DEVICE_ADMIN_META_DATA = "android.app.device_admin";
     field public static final java.lang.String EXTRA_DISABLE_WARNING = "android.app.extra.DISABLE_WARNING";
     field public static final java.lang.String EXTRA_LOCK_TASK_PACKAGE = "android.app.extra.LOCK_TASK_PACKAGE";
@@ -5537,6 +5581,7 @@
     method public void addPersistentPreferredActivity(android.content.ComponentName, android.content.IntentFilter, android.content.ComponentName);
     method public void addUserRestriction(android.content.ComponentName, java.lang.String);
     method public void clearCrossProfileIntentFilters(android.content.ComponentName);
+    method public void clearDeviceInitializerApp(android.content.ComponentName);
     method public void clearDeviceOwnerApp(java.lang.String);
     method public void clearPackagePersistentPreferredActivities(android.content.ComponentName, java.lang.String);
     method public void clearProfileOwner(android.content.ComponentName);
@@ -5553,6 +5598,7 @@
     method public boolean getCrossProfileCallerIdDisabled(android.content.ComponentName);
     method public java.util.List<java.lang.String> getCrossProfileWidgetProviders(android.content.ComponentName);
     method public int getCurrentFailedPasswordAttempts();
+    method public java.lang.String getDeviceInitializerApp();
     method public java.lang.String getDeviceOwner();
     method public java.util.List<byte[]> getInstalledCaCerts(android.content.ComponentName);
     method public int getKeyguardDisabledFeatures(android.content.ComponentName);
@@ -5579,6 +5625,7 @@
     method public boolean getScreenCaptureDisabled(android.content.ComponentName);
     method public boolean getStorageEncryption(android.content.ComponentName);
     method public int getStorageEncryptionStatus();
+    method public java.util.List<android.os.PersistableBundle> getTrustAgentConfiguration(android.content.ComponentName, android.content.ComponentName);
     method public boolean hasCaCertInstalled(android.content.ComponentName, byte[]);
     method public boolean hasGrantedPolicy(android.content.ComponentName, int);
     method public boolean installCaCert(android.content.ComponentName, byte[]);
@@ -5586,6 +5633,7 @@
     method public boolean isActivePasswordSufficient();
     method public boolean isAdminActive(android.content.ComponentName);
     method public boolean isApplicationHidden(android.content.ComponentName, java.lang.String);
+    method public boolean isDeviceInitializerApp(java.lang.String);
     method public boolean isDeviceOwnerApp(java.lang.String);
     method public boolean isLockTaskPermitted(java.lang.String);
     method public boolean isMasterVolumeMuted(android.content.ComponentName);
@@ -5603,6 +5651,7 @@
     method public void setAutoTimeRequired(android.content.ComponentName, boolean);
     method public void setCameraDisabled(android.content.ComponentName, boolean);
     method public void setCrossProfileCallerIdDisabled(android.content.ComponentName, boolean);
+    method public boolean setDeviceInitializer(android.content.ComponentName, android.content.ComponentName, java.lang.String) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
     method public void setGlobalSetting(android.content.ComponentName, java.lang.String, java.lang.String);
     method public void setKeyguardDisabledFeatures(android.content.ComponentName, int);
     method public void setLockTaskPackages(android.content.ComponentName, java.lang.String[]) throws java.lang.SecurityException;
@@ -5628,7 +5677,10 @@
     method public void setScreenCaptureDisabled(android.content.ComponentName, boolean);
     method public void setSecureSetting(android.content.ComponentName, java.lang.String, java.lang.String);
     method public int setStorageEncryption(android.content.ComponentName, boolean);
+    method public void setTrustAgentConfiguration(android.content.ComponentName, android.content.ComponentName, android.os.PersistableBundle);
     method public void setUninstallBlocked(android.content.ComponentName, java.lang.String, boolean);
+    method public boolean setUserEnabled(android.content.ComponentName);
+    method public void setUserIcon(android.content.ComponentName, android.graphics.Bitmap);
     method public boolean switchUser(android.content.ComponentName, android.os.UserHandle);
     method public void uninstallAllUserCaCerts(android.content.ComponentName);
     method public void uninstallCaCert(android.content.ComponentName, byte[]);
@@ -5648,10 +5700,15 @@
     field public static final java.lang.String EXTRA_PROFILE_OWNER_NAME = "android.app.extra.PROFILE_OWNER_NAME";
     field public static final java.lang.String EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE = "android.app.extra.PROVISIONING_ACCOUNT_TO_MIGRATE";
     field public static final java.lang.String EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE = "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE";
+    field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME = "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME";
     field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM";
     field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER";
     field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION";
-    field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME";
+    field public static final deprecated java.lang.String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME";
+    field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME";
+    field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_CHECKSUM = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_PACKAGE_CHECKSUM";
+    field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_COOKIE_HEADER = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_COOKIE_HEADER";
+    field public static final java.lang.String EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION";
     field public static final java.lang.String EXTRA_PROVISIONING_EMAIL_ADDRESS = "android.app.extra.PROVISIONING_EMAIL_ADDRESS";
     field public static final java.lang.String EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED = "android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED";
     field public static final java.lang.String EXTRA_PROVISIONING_LOCALE = "android.app.extra.PROVISIONING_LOCALE";
@@ -5954,6 +6011,7 @@
     method public java.lang.String getPackageName();
     method public long getTimeStamp();
     field public static final int CONFIGURATION_CHANGE = 5; // 0x5
+    field public static final int INTERACTION = 6; // 0x6
     field public static final int MOVE_TO_BACKGROUND = 2; // 0x2
     field public static final int MOVE_TO_FOREGROUND = 1; // 0x1
     field public static final int NONE = 0; // 0x0
@@ -8102,6 +8160,7 @@
     field public static final java.lang.String EXTRA_ASSIST_CONTEXT = "android.intent.extra.ASSIST_CONTEXT";
     field public static final java.lang.String EXTRA_ASSIST_INPUT_HINT_KEYBOARD = "android.intent.extra.ASSIST_INPUT_HINT_KEYBOARD";
     field public static final java.lang.String EXTRA_ASSIST_PACKAGE = "android.intent.extra.ASSIST_PACKAGE";
+    field public static final java.lang.String EXTRA_ASSIST_UID = "android.intent.extra.ASSIST_UID";
     field public static final java.lang.String EXTRA_BCC = "android.intent.extra.BCC";
     field public static final java.lang.String EXTRA_BUG_REPORT = "android.intent.extra.BUG_REPORT";
     field public static final java.lang.String EXTRA_CC = "android.intent.extra.CC";
@@ -11218,6 +11277,8 @@
   public class ImageFormat {
     ctor public ImageFormat();
     method public static int getBitsPerPixel(int);
+    field public static final int DEPTH16 = 1144402265; // 0x44363159
+    field public static final int DEPTH_POINT_CLOUD = 257; // 0x101
     field public static final int JPEG = 256; // 0x100
     field public static final int NV16 = 16; // 0x10
     field public static final int NV21 = 17; // 0x11
@@ -13169,7 +13230,6 @@
 
   public static abstract class CameraManager.TorchCallback {
     ctor public CameraManager.TorchCallback();
-    method public void onTorchModeAvailable(java.lang.String);
     method public void onTorchModeChanged(java.lang.String, boolean);
     method public void onTorchModeUnavailable(java.lang.String);
   }
@@ -15110,6 +15170,7 @@
 
   public final class AudioAttributes implements android.os.Parcelable {
     method public int describeContents();
+    method public int getAllFlags();
     method public int getCapturePreset();
     method public int getContentType();
     method public int getFlags();
@@ -15151,6 +15212,7 @@
     method public android.media.AudioAttributes.Builder setCapturePreset(int);
     method public android.media.AudioAttributes.Builder setContentType(int);
     method public android.media.AudioAttributes.Builder setFlags(int);
+    method public android.media.AudioAttributes.Builder setInternalCapturePreset(int);
     method public android.media.AudioAttributes.Builder setLegacyStreamType(int);
     method public android.media.AudioAttributes.Builder setUsage(int);
   }
@@ -15383,6 +15445,7 @@
 
   public class AudioRecord {
     ctor public AudioRecord(int, int, int, int, int) throws java.lang.IllegalArgumentException;
+    ctor public AudioRecord(android.media.AudioAttributes, android.media.AudioFormat, int, int) throws java.lang.IllegalArgumentException;
     method public int getAudioFormat();
     method public int getAudioSessionId();
     method public int getAudioSource();
@@ -16065,6 +16128,7 @@
     field public static final int EVENT_KEY_EXPIRED = 3; // 0x3
     field public static final int EVENT_KEY_REQUIRED = 2; // 0x2
     field public static final int EVENT_PROVISION_REQUIRED = 1; // 0x1
+    field public static final int EVENT_SESSION_RECLAIMED = 5; // 0x5
     field public static final int EVENT_VENDOR_DEFINED = 4; // 0x4
     field public static final int KEY_TYPE_OFFLINE = 2; // 0x2
     field public static final int KEY_TYPE_RELEASE = 3; // 0x3
@@ -16392,6 +16456,7 @@
     method public void setOnSeekCompleteListener(android.media.MediaPlayer.OnSeekCompleteListener);
     method public void setOnTimedTextListener(android.media.MediaPlayer.OnTimedTextListener);
     method public void setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener);
+    method public void setPlaybackRate(float, int);
     method public void setScreenOnWhilePlaying(boolean);
     method public void setSurface(android.view.Surface);
     method public void setVideoScalingMode(int);
@@ -16417,6 +16482,7 @@
     field public static final int MEDIA_INFO_VIDEO_RENDERING_START = 3; // 0x3
     field public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING = 700; // 0x2bc
     field public static final java.lang.String MEDIA_MIMETYPE_TEXT_SUBRIP = "application/x-subrip";
+    field public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 0; // 0x0
     field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; // 0x1
     field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; // 0x2
   }
@@ -16519,7 +16585,9 @@
   public final class MediaRecorder.AudioSource {
     field public static final int CAMCORDER = 5; // 0x5
     field public static final int DEFAULT = 0; // 0x0
+    field public static final int HOTWORD = 1999; // 0x7cf
     field public static final int MIC = 1; // 0x1
+    field public static final int RADIO_TUNER = 1998; // 0x7ce
     field public static final int REMOTE_SUBMIX = 8; // 0x8
     field public static final int VOICE_CALL = 4; // 0x4
     field public static final int VOICE_COMMUNICATION = 7; // 0x7
@@ -17515,6 +17583,85 @@
 
 }
 
+package android.media.midi {
+
+  public final class MidiDeviceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getId();
+    method public int getInputPortCount();
+    method public android.media.midi.MidiDeviceInfo.PortInfo getInputPortInfo(int);
+    method public int getOutputPortCount();
+    method public android.media.midi.MidiDeviceInfo.PortInfo getOutputPortInfo(int);
+    method public android.os.Bundle getProperties();
+    method public int getType();
+    method public boolean isPrivate();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.media.midi.MidiDeviceInfo> CREATOR;
+    field public static final java.lang.String PROPERTY_MANUFACTURER = "manufacturer";
+    field public static final java.lang.String PROPERTY_NAME = "name";
+    field public static final java.lang.String PROPERTY_PRODUCT = "product";
+    field public static final java.lang.String PROPERTY_SERIAL_NUMBER = "serial_number";
+    field public static final java.lang.String PROPERTY_USB_DEVICE = "usb_device";
+    field public static final int TYPE_USB = 1; // 0x1
+    field public static final int TYPE_VIRTUAL = 2; // 0x2
+  }
+
+  public static final class MidiDeviceInfo.PortInfo {
+    method public java.lang.String getName();
+    method public int getPortNumber();
+    method public int getType();
+    field public static final int TYPE_INPUT = 1; // 0x1
+    field public static final int TYPE_OUTPUT = 2; // 0x2
+  }
+
+  public abstract class MidiDeviceService extends android.app.Service {
+    ctor public MidiDeviceService();
+    method public final android.media.midi.MidiDeviceInfo getDeviceInfo();
+    method public final android.media.midi.MidiReceiver[] getOutputPortReceivers();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public void onDeviceStatusChanged(android.media.midi.MidiDeviceStatus);
+    method public abstract android.media.midi.MidiReceiver[] onGetInputPortReceivers();
+    field public static final java.lang.String SERVICE_INTERFACE = "android.media.midi.MidiDeviceService";
+  }
+
+  public final class MidiDeviceStatus implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.media.midi.MidiDeviceInfo getDeviceInfo();
+    method public int getOutputPortOpenCount(int);
+    method public boolean isInputPortOpen(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.media.midi.MidiDeviceStatus> CREATOR;
+  }
+
+  public final class MidiInputPort extends android.media.midi.MidiReceiver implements java.io.Closeable {
+    method public void close() throws java.io.IOException;
+    method public final int getPortNumber();
+    method public void onReceive(byte[], int, int, long) throws java.io.IOException;
+  }
+
+  public final class MidiOutputPort extends android.media.midi.MidiSender implements java.io.Closeable {
+    method public void close() throws java.io.IOException;
+    method public void connect(android.media.midi.MidiReceiver);
+    method public void disconnect(android.media.midi.MidiReceiver);
+    method public final int getPortNumber();
+  }
+
+  public abstract class MidiReceiver {
+    ctor public MidiReceiver();
+    method public int getMaxMessageSize();
+    method public abstract void onReceive(byte[], int, int, long) throws java.io.IOException;
+    method public void send(byte[], int, int) throws java.io.IOException;
+    method public void sendWithTimestamp(byte[], int, int, long) throws java.io.IOException;
+  }
+
+  public abstract class MidiSender {
+    ctor public MidiSender();
+    method public abstract void connect(android.media.midi.MidiReceiver);
+    method public abstract void disconnect(android.media.midi.MidiReceiver);
+  }
+
+}
+
 package android.media.projection {
 
   public final class MediaProjection {
@@ -19698,9 +19845,18 @@
     method public int describeContents();
     method public void writeToParcel(android.os.Parcel, int);
     field public java.lang.String BSSID;
+    field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
+    field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
+    field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
+    field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
+    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
     field public java.lang.String SSID;
     field public java.lang.String capabilities;
+    field public int centerFreq0;
+    field public int centerFreq1;
+    field public int channelWidth;
     field public int frequency;
+    field public boolean is80211McRTTResponder;
     field public int level;
     field public long timestamp;
   }
@@ -19738,6 +19894,8 @@
     field public java.util.BitSet allowedKeyManagement;
     field public java.util.BitSet allowedPairwiseCiphers;
     field public java.util.BitSet allowedProtocols;
+    field public int apBand;
+    field public int apChannel;
     field public java.lang.String creatorName;
     field public int creatorUid;
     field public android.net.wifi.WifiEnterpriseConfig enterpriseConfig;
@@ -19750,6 +19908,8 @@
     field public int numScorerOverrideAndSwitchedNetwork;
     field public java.lang.String preSharedKey;
     field public int priority;
+    field public java.lang.String providerFriendlyName;
+    field public java.util.HashSet<java.lang.Long> roamingConsortiumIds;
     field public int status;
     field public java.lang.String[] wepKeys;
     field public int wepTxKeyIndex;
@@ -19822,6 +19982,7 @@
     ctor public WifiEnterpriseConfig();
     ctor public WifiEnterpriseConfig(android.net.wifi.WifiEnterpriseConfig);
     method public int describeContents();
+    method public java.lang.String getAltSubjectMatch();
     method public java.lang.String getAnonymousIdentity();
     method public java.security.cert.X509Certificate getCaCertificate();
     method public java.security.cert.X509Certificate getClientCertificate();
@@ -19829,7 +19990,10 @@
     method public java.lang.String getIdentity();
     method public java.lang.String getPassword();
     method public int getPhase2Method();
-    method public java.lang.String getSubjectMatch();
+    method public java.lang.String getPlmn();
+    method public java.lang.String getRealm();
+    method public deprecated java.lang.String getSubjectMatch();
+    method public void setAltSubjectMatch(java.lang.String);
     method public void setAnonymousIdentity(java.lang.String);
     method public void setCaCertificate(java.security.cert.X509Certificate);
     method public void setClientKeyEntry(java.security.PrivateKey, java.security.cert.X509Certificate);
@@ -19837,7 +20001,9 @@
     method public void setIdentity(java.lang.String);
     method public void setPassword(java.lang.String);
     method public void setPhase2Method(int);
-    method public void setSubjectMatch(java.lang.String);
+    method public void setPlmn(java.lang.String);
+    method public void setRealm(java.lang.String);
+    method public deprecated void setSubjectMatch(java.lang.String);
     method public void writeToParcel(android.os.Parcel, int);
     field public static final android.os.Parcelable.Creator<android.net.wifi.WifiEnterpriseConfig> CREATOR;
   }
@@ -23604,47 +23770,47 @@
     method public static final int getBinderProxyObjectCount();
     method public static int getBinderReceivedTransactions();
     method public static int getBinderSentTransactions();
-    method public static int getGlobalAllocCount();
-    method public static int getGlobalAllocSize();
-    method public static int getGlobalClassInitCount();
-    method public static int getGlobalClassInitTime();
+    method public static deprecated int getGlobalAllocCount();
+    method public static deprecated int getGlobalAllocSize();
+    method public static deprecated int getGlobalClassInitCount();
+    method public static deprecated int getGlobalClassInitTime();
     method public static deprecated int getGlobalExternalAllocCount();
     method public static deprecated int getGlobalExternalAllocSize();
     method public static deprecated int getGlobalExternalFreedCount();
     method public static deprecated int getGlobalExternalFreedSize();
-    method public static int getGlobalFreedCount();
-    method public static int getGlobalFreedSize();
-    method public static int getGlobalGcInvocationCount();
+    method public static deprecated int getGlobalFreedCount();
+    method public static deprecated int getGlobalFreedSize();
+    method public static deprecated int getGlobalGcInvocationCount();
     method public static int getLoadedClassCount();
     method public static void getMemoryInfo(android.os.Debug.MemoryInfo);
     method public static long getNativeHeapAllocatedSize();
     method public static long getNativeHeapFreeSize();
     method public static long getNativeHeapSize();
     method public static long getPss();
-    method public static int getThreadAllocCount();
-    method public static int getThreadAllocSize();
+    method public static deprecated int getThreadAllocCount();
+    method public static deprecated int getThreadAllocSize();
     method public static deprecated int getThreadExternalAllocCount();
     method public static deprecated int getThreadExternalAllocSize();
-    method public static int getThreadGcInvocationCount();
+    method public static deprecated int getThreadGcInvocationCount();
     method public static boolean isDebuggerConnected();
     method public static void printLoadedClasses(int);
-    method public static void resetAllCounts();
-    method public static void resetGlobalAllocCount();
-    method public static void resetGlobalAllocSize();
-    method public static void resetGlobalClassInitCount();
-    method public static void resetGlobalClassInitTime();
+    method public static deprecated void resetAllCounts();
+    method public static deprecated void resetGlobalAllocCount();
+    method public static deprecated void resetGlobalAllocSize();
+    method public static deprecated void resetGlobalClassInitCount();
+    method public static deprecated void resetGlobalClassInitTime();
     method public static deprecated void resetGlobalExternalAllocCount();
     method public static deprecated void resetGlobalExternalAllocSize();
     method public static deprecated void resetGlobalExternalFreedCount();
     method public static deprecated void resetGlobalExternalFreedSize();
-    method public static void resetGlobalFreedCount();
-    method public static void resetGlobalFreedSize();
-    method public static void resetGlobalGcInvocationCount();
-    method public static void resetThreadAllocCount();
-    method public static void resetThreadAllocSize();
+    method public static deprecated void resetGlobalFreedCount();
+    method public static deprecated void resetGlobalFreedSize();
+    method public static deprecated void resetGlobalGcInvocationCount();
+    method public static deprecated void resetThreadAllocCount();
+    method public static deprecated void resetThreadAllocSize();
     method public static deprecated void resetThreadExternalAllocCount();
     method public static deprecated void resetThreadExternalAllocSize();
-    method public static void resetThreadGcInvocationCount();
+    method public static deprecated void resetThreadGcInvocationCount();
     method public static deprecated int setAllocationLimit(int);
     method public static deprecated int setGlobalAllocationLimit(int);
     method public static deprecated void startAllocCounting();
@@ -23663,7 +23829,7 @@
     field public static final int SHOW_CLASSLOADER = 2; // 0x2
     field public static final int SHOW_FULL_DETAIL = 1; // 0x1
     field public static final int SHOW_INITIALIZED = 4; // 0x4
-    field public static final int TRACE_COUNT_ALLOCS = 1; // 0x1
+    field public static final deprecated int TRACE_COUNT_ALLOCS = 1; // 0x1
   }
 
   public static deprecated class Debug.InstructionCount {
@@ -23867,7 +24033,9 @@
   public final class Looper {
     method public void dump(android.util.Printer, java.lang.String);
     method public static android.os.Looper getMainLooper();
+    method public android.os.MessageQueue getQueue();
     method public java.lang.Thread getThread();
+    method public boolean isCurrentThread();
     method public static void loop();
     method public static android.os.Looper myLooper();
     method public static android.os.MessageQueue myQueue();
@@ -23925,7 +24093,18 @@
 
   public final class MessageQueue {
     method public void addIdleHandler(android.os.MessageQueue.IdleHandler);
+    method public boolean isIdle();
+    method public void registerFileDescriptorCallback(java.io.FileDescriptor, int, android.os.MessageQueue.FileDescriptorCallback);
     method public void removeIdleHandler(android.os.MessageQueue.IdleHandler);
+    method public void unregisterFileDescriptorCallback(java.io.FileDescriptor);
+  }
+
+  public static abstract class MessageQueue.FileDescriptorCallback {
+    ctor public MessageQueue.FileDescriptorCallback();
+    method public int onFileDescriptorEvents(java.io.FileDescriptor, int);
+    field public static final int EVENT_ERROR = 4; // 0x4
+    field public static final int EVENT_INPUT = 1; // 0x1
+    field public static final int EVENT_OUTPUT = 2; // 0x2
   }
 
   public static abstract interface MessageQueue.IdleHandler {
@@ -25629,6 +25808,7 @@
     field public static final java.lang.String CACHED_NUMBER_LABEL = "numberlabel";
     field public static final java.lang.String CACHED_NUMBER_TYPE = "numbertype";
     field public static final java.lang.String CACHED_PHOTO_ID = "photo_id";
+    field public static final java.lang.String CACHED_PHOTO_URI = "photo_uri";
     field public static final android.net.Uri CONTENT_FILTER_URI;
     field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/calls";
     field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/calls";
@@ -26488,6 +26668,7 @@
     field public static final int ORGANIZATION = 30; // 0x1e
     field public static final int PHONE = 20; // 0x14
     field public static final int STRUCTURED_NAME = 40; // 0x28
+    field public static final int STRUCTURED_PHONETIC_NAME = 37; // 0x25
     field public static final int UNDEFINED = 0; // 0x0
   }
 
@@ -26649,9 +26830,12 @@
     ctor public ContactsContract.QuickContact();
     method public static void showQuickContact(android.content.Context, android.view.View, android.net.Uri, int, java.lang.String[]);
     method public static void showQuickContact(android.content.Context, android.graphics.Rect, android.net.Uri, int, java.lang.String[]);
+    method public static void showQuickContact(android.content.Context, android.view.View, android.net.Uri, java.lang.String[], java.lang.String);
+    method public static void showQuickContact(android.content.Context, android.graphics.Rect, android.net.Uri, java.lang.String[], java.lang.String);
     field public static final java.lang.String ACTION_QUICK_CONTACT = "android.provider.action.QUICK_CONTACT";
     field public static final java.lang.String EXTRA_EXCLUDE_MIMES = "android.provider.extra.EXCLUDE_MIMES";
     field public static final java.lang.String EXTRA_MODE = "android.provider.extra.MODE";
+    field public static final java.lang.String EXTRA_PRIORITIZED_MIMETYPE = "android.provider.extra.PRIORITIZED_MIMETYPE";
     field public static final int MODE_LARGE = 3; // 0x3
     field public static final int MODE_MEDIUM = 2; // 0x2
     field public static final int MODE_SMALL = 1; // 0x1
@@ -27494,7 +27678,6 @@
     field public static final deprecated java.lang.String ALWAYS_FINISH_ACTIVITIES = "always_finish_activities";
     field public static final deprecated java.lang.String ANDROID_ID = "android_id";
     field public static final deprecated java.lang.String ANIMATOR_DURATION_SCALE = "animator_duration_scale";
-    field public static final java.lang.String APPEND_FOR_LAST_AUDIBLE = "_last_audible";
     field public static final deprecated java.lang.String AUTO_TIME = "auto_time";
     field public static final deprecated java.lang.String AUTO_TIME_ZONE = "auto_time_zone";
     field public static final java.lang.String BLUETOOTH_DISCOVERABILITY = "bluetooth_discoverability";
@@ -27557,14 +27740,6 @@
     field public static final java.lang.String USER_ROTATION = "user_rotation";
     field public static final deprecated java.lang.String USE_GOOGLE_MAIL = "use_google_mail";
     field public static final java.lang.String VIBRATE_ON = "vibrate_on";
-    field public static final java.lang.String VOLUME_ALARM = "volume_alarm";
-    field public static final java.lang.String VOLUME_BLUETOOTH_SCO = "volume_bluetooth_sco";
-    field public static final java.lang.String VOLUME_MUSIC = "volume_music";
-    field public static final java.lang.String VOLUME_NOTIFICATION = "volume_notification";
-    field public static final java.lang.String VOLUME_RING = "volume_ring";
-    field public static final java.lang.String[] VOLUME_SETTINGS;
-    field public static final java.lang.String VOLUME_SYSTEM = "volume_system";
-    field public static final java.lang.String VOLUME_VOICE = "volume_voice";
     field public static final deprecated java.lang.String WAIT_FOR_DEBUGGER = "wait_for_debugger";
     field public static final deprecated java.lang.String WALLPAPER_ACTIVITY = "wallpaper_activity";
     field public static final deprecated java.lang.String WIFI_MAX_DHCP_RETRY_COUNT = "wifi_max_dhcp_retry_count";
@@ -27938,6 +28113,7 @@
 
   public static final class VoicemailContract.Status implements android.provider.BaseColumns {
     method public static android.net.Uri buildSourceUri(java.lang.String);
+    method public static void setStatus(android.content.Context, android.telecom.PhoneAccountHandle, int, int, int);
     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_NOT_CONFIGURED = 1; // 0x1
@@ -27952,6 +28128,8 @@
     field public static final int NOTIFICATION_CHANNEL_STATE_MESSAGE_WAITING = 2; // 0x2
     field public static final int NOTIFICATION_CHANNEL_STATE_NO_CONNECTION = 1; // 0x1
     field public static final int NOTIFICATION_CHANNEL_STATE_OK = 0; // 0x0
+    field public static final java.lang.String PHONE_ACCOUNT_COMPONENT_NAME = "phone_account_component_name";
+    field public static final java.lang.String PHONE_ACCOUNT_ID = "phone_account_id";
     field public static final java.lang.String SETTINGS_URI = "settings_uri";
     field public static final java.lang.String SOURCE_PACKAGE = "source_package";
     field public static final java.lang.String VOICEMAIL_ACCESS_URI = "voicemail_access_uri";
@@ -27959,8 +28137,13 @@
 
   public static final class VoicemailContract.Voicemails implements android.provider.BaseColumns android.provider.OpenableColumns {
     method public static android.net.Uri buildSourceUri(java.lang.String);
+    method public static int deleteAll(android.content.Context);
+    method public static android.net.Uri insert(android.content.Context, android.telecom.Voicemail);
+    method public static int insert(android.content.Context, java.util.List<android.telecom.Voicemail>);
     field public static final android.net.Uri CONTENT_URI;
     field public static final java.lang.String DATE = "date";
+    field public static final java.lang.String DELETED = "deleted";
+    field public static final java.lang.String DIRTY = "dirty";
     field public static final java.lang.String DIR_TYPE = "vnd.android.cursor.dir/voicemails";
     field public static final java.lang.String DURATION = "duration";
     field public static final java.lang.String HAS_CONTENT = "has_content";
@@ -27968,6 +28151,8 @@
     field public static final java.lang.String ITEM_TYPE = "vnd.android.cursor.item/voicemail";
     field public static final java.lang.String MIME_TYPE = "mime_type";
     field public static final java.lang.String NUMBER = "number";
+    field public static final java.lang.String PHONE_ACCOUNT_COMPONENT_NAME = "subscription_component_name";
+    field public static final java.lang.String PHONE_ACCOUNT_ID = "subscription_id";
     field public static final java.lang.String SOURCE_DATA = "source_data";
     field public static final java.lang.String SOURCE_PACKAGE = "source_package";
     field public static final java.lang.String TRANSCRIPTION = "transcription";
@@ -29036,6 +29221,30 @@
 
 }
 
+package android.service.chooser {
+
+  public final class ChooserTarget implements android.os.Parcelable {
+    ctor public ChooserTarget(java.lang.CharSequence, android.graphics.Bitmap, float, android.app.PendingIntent);
+    ctor public ChooserTarget(java.lang.CharSequence, android.graphics.Bitmap, float, android.content.IntentSender);
+    method public int describeContents();
+    method public android.graphics.Bitmap getIcon();
+    method public android.content.IntentSender getIntentSender();
+    method public float getScore();
+    method public java.lang.CharSequence getTitle();
+    method public boolean sendIntent(android.content.Context, android.content.Intent);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.service.chooser.ChooserTarget> CREATOR;
+  }
+
+  public abstract class ChooserTargetService extends android.app.Service {
+    ctor public ChooserTargetService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public abstract java.util.List<android.service.chooser.ChooserTarget> onGetChooserTargets(android.content.ComponentName, android.content.IntentFilter);
+    field public static final java.lang.String SERVICE_INTERFACE = "android.service.chooser.ChooserTargetService";
+  }
+
+}
+
 package android.service.dreams {
 
   public class DreamService extends android.app.Service implements android.view.Window.Callback {
@@ -29073,6 +29282,7 @@
     method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
     method public void onWindowFocusChanged(boolean);
     method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
     method public void setContentView(int);
     method public void setContentView(android.view.View);
     method public void setContentView(android.view.View, android.view.ViewGroup.LayoutParams);
@@ -29346,7 +29556,7 @@
     method public android.os.IBinder onBind(android.content.Intent);
     method public void onReady();
     method public void onShutdown();
-    method public void startSession(android.os.Bundle, int);
+    method public void showSession(android.os.Bundle, int);
     field public static final java.lang.String SERVICE_INTERFACE = "android.service.voice.VoiceInteractionService";
     field public static final java.lang.String SERVICE_META_DATA = "android.voice_interaction";
     field public static final int START_WITH_ASSIST = 1; // 0x1
@@ -29358,6 +29568,7 @@
     method public void finish();
     method public android.view.LayoutInflater getLayoutInflater();
     method public android.app.Dialog getWindow();
+    method public void hide();
     method public void hideWindow();
     method public void onAbortVoice(android.service.voice.VoiceInteractionSession.Caller, android.service.voice.VoiceInteractionSession.Request, java.lang.CharSequence, android.os.Bundle);
     method public void onBackPressed();
@@ -29372,14 +29583,17 @@
     method public void onDestroy();
     method public boolean[] onGetSupportedCommands(android.service.voice.VoiceInteractionSession.Caller, java.lang.String[]);
     method public void onHandleAssist(android.os.Bundle);
+    method public void onHide();
     method public boolean onKeyDown(int, android.view.KeyEvent);
     method public boolean onKeyLongPress(int, android.view.KeyEvent);
     method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
     method public boolean onKeyUp(int, android.view.KeyEvent);
+    method public void onShow(android.os.Bundle, int);
     method public void onTaskFinished(android.content.Intent, int);
     method public void onTaskStarted(android.content.Intent, int);
     method public void setContentView(android.view.View);
     method public void setTheme(int);
+    method public void show();
     method public void showWindow();
     method public void startVoiceActivity(android.content.Intent);
   }
@@ -30198,6 +30412,15 @@
     field public static final int STDERR_FILENO;
     field public static final int STDIN_FILENO;
     field public static final int STDOUT_FILENO;
+    field public static final int ST_MANDLOCK;
+    field public static final int ST_NOATIME;
+    field public static final int ST_NODEV;
+    field public static final int ST_NODIRATIME;
+    field public static final int ST_NOEXEC;
+    field public static final int ST_NOSUID;
+    field public static final int ST_RDONLY;
+    field public static final int ST_RELATIME;
+    field public static final int ST_SYNCHRONOUS;
     field public static final int S_IFBLK;
     field public static final int S_IFCHR;
     field public static final int S_IFDIR;
@@ -30394,6 +30617,22 @@
     field public final int supportedRouteMask;
   }
 
+  public class AuthenticatorService extends android.app.Service {
+    ctor public AuthenticatorService();
+    method public android.os.IBinder onBind(android.content.Intent);
+  }
+
+  public class AuthenticatorService.Authenticator extends android.accounts.AbstractAccountAuthenticator {
+    ctor public AuthenticatorService.Authenticator(android.content.Context);
+    method public android.os.Bundle addAccount(android.accounts.AccountAuthenticatorResponse, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle confirmCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle editProperties(android.accounts.AccountAuthenticatorResponse, java.lang.String);
+    method public android.os.Bundle getAuthToken(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public java.lang.String getAuthTokenLabel(java.lang.String);
+    method public android.os.Bundle hasFeatures(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String[]) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle updateCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle) throws android.accounts.NetworkErrorException;
+  }
+
   public final class Call {
     method public void addListener(android.telecom.Call.Listener);
     method public void answer(int);
@@ -30845,6 +31084,7 @@
     method public java.util.List<android.telecom.PhoneAccountHandle> getAllPhoneAccountHandles();
     method public java.util.List<android.telecom.PhoneAccount> getAllPhoneAccounts();
     method public int getAllPhoneAccountsCount();
+    method public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts();
     method public int getCallState();
     method public android.telecom.PhoneAccountHandle getConnectionManager();
     method public android.telecom.PhoneAccountHandle getDefaultOutgoingPhoneAccount(java.lang.String);
@@ -30868,6 +31108,8 @@
     method public void unregisterPhoneAccount(android.telecom.PhoneAccountHandle);
     field public static final java.lang.String ACTION_CHANGE_PHONE_ACCOUNTS = "android.telecom.action.CHANGE_PHONE_ACCOUNTS";
     field public static final java.lang.String ACTION_CONNECTION_SERVICE_CONFIGURE = "android.telecom.action.CONNECTION_SERVICE_CONFIGURE";
+    field public static final java.lang.String ACTION_PHONE_ACCOUNT_REGISTERED = "android.telecom.action.PHONE_ACCOUNT_REGISTERED";
+    field public static final java.lang.String ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS = "android.telecom.action.SHOW_CALL_ACCESSIBILITY_SETTINGS";
     field public static final java.lang.String ACTION_SHOW_CALL_SETTINGS = "android.telecom.action.SHOW_CALL_SETTINGS";
     field public static final java.lang.String ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS = "android.telecom.action.SHOW_RESPOND_VIA_SMS_SETTINGS";
     field public static final char DTMF_CHARACTER_PAUSE = 44; // 0x002c ','
@@ -30917,6 +31159,35 @@
     field public static final int TX_ENABLED = 1; // 0x1
   }
 
+  public class Voicemail implements android.os.Parcelable {
+    method public static android.telecom.Voicemail.Builder createForInsertion(long, java.lang.String);
+    method public int describeContents();
+    method public long getDuration();
+    method public long getId();
+    method public java.lang.String getNumber();
+    method public java.lang.String getSourceData();
+    method public java.lang.String getSourcePackage();
+    method public long getTimestampMillis();
+    method public android.net.Uri getUri();
+    method public boolean hasContent();
+    method public boolean isRead();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.telecom.Voicemail> CREATOR;
+  }
+
+  public static class Voicemail.Builder {
+    method public android.telecom.Voicemail build();
+    method public android.telecom.Voicemail.Builder setDuration(long);
+    method public android.telecom.Voicemail.Builder setHasContent(boolean);
+    method public android.telecom.Voicemail.Builder setId(long);
+    method public android.telecom.Voicemail.Builder setIsRead(boolean);
+    method public android.telecom.Voicemail.Builder setNumber(java.lang.String);
+    method public android.telecom.Voicemail.Builder setSourceData(java.lang.String);
+    method public android.telecom.Voicemail.Builder setSourcePackage(java.lang.String);
+    method public android.telecom.Voicemail.Builder setTimestamp(long);
+    method public android.telecom.Voicemail.Builder setUri(android.net.Uri);
+  }
+
 }
 
 package android.telephony {
@@ -31388,6 +31659,7 @@
   public class TelephonyManager {
     method public void answerRingingCall();
     method public void call(java.lang.String, java.lang.String);
+    method public boolean canChangeDtmfToneLength();
     method public int checkCarrierPrivilegesForPackage(java.lang.String);
     method public void dial(java.lang.String);
     method public boolean disableDataConnectivity();
@@ -31447,6 +31719,7 @@
     method public boolean isSmsCapable();
     method public boolean isVideoCallingEnabled();
     method public boolean isVoiceCapable();
+    method public boolean isWorldPhone();
     method public void listen(android.telephony.PhoneStateListener, int);
     method public boolean needsOtaServiceProvisioning();
     method public java.lang.String sendEnvelopeWithStatus(java.lang.String);
@@ -35643,6 +35916,8 @@
     method public abstract android.view.MenuItem setEnabled(boolean);
     method public abstract android.view.MenuItem setIcon(android.graphics.drawable.Drawable);
     method public abstract android.view.MenuItem setIcon(int);
+    method public abstract android.view.MenuItem setIconTintList(android.content.res.ColorStateList);
+    method public abstract android.view.MenuItem setIconTintMode(android.graphics.PorterDuff.Mode);
     method public abstract android.view.MenuItem setIntent(android.content.Intent);
     method public abstract android.view.MenuItem setNumericShortcut(char);
     method public abstract android.view.MenuItem setOnActionExpandListener(android.view.MenuItem.OnActionExpandListener);
@@ -36238,6 +36513,7 @@
     method protected float getRightFadingEdgeStrength();
     method protected int getRightPaddingOffset();
     method public android.view.View getRootView();
+    method public android.view.WindowInsets getRootWindowInsets();
     method public float getRotation();
     method public float getRotationX();
     method public float getRotationY();
@@ -36375,7 +36651,7 @@
     method protected void onMeasure(int, int);
     method protected void onOverScrolled(int, int, boolean, boolean);
     method public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
-    method public void onProvideAssistData(android.view.ViewAssistData, android.os.Bundle);
+    method public void onProvideAssistStructure(android.view.ViewAssistStructure, android.os.Bundle);
     method protected void onRestoreInstanceState(android.os.Parcelable);
     method public void onRtlPropertiesChanged(int);
     method protected android.os.Parcelable onSaveInstanceState();
@@ -36544,6 +36820,7 @@
     method public void setZ(float);
     method public boolean showContextMenu();
     method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback);
+    method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback, int);
     method public void startAnimation(android.view.animation.Animation);
     method public final boolean startDrag(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int);
     method public boolean startNestedScroll(int);
@@ -36778,8 +37055,8 @@
     method public static android.animation.Animator createCircularReveal(android.view.View, int, int, float, float);
   }
 
-  public abstract class ViewAssistData {
-    ctor public ViewAssistData();
+  public abstract class ViewAssistStructure {
+    ctor public ViewAssistStructure();
     method public abstract java.lang.CharSequence getHint();
     method public abstract java.lang.CharSequence getText();
     method public abstract int getTextSelectionEnd();
@@ -36787,6 +37064,7 @@
     method public abstract void setHint(java.lang.CharSequence);
     method public abstract void setText(java.lang.CharSequence);
     method public abstract void setText(java.lang.CharSequence, int, int);
+    method public abstract void setTextPaint(android.text.TextPaint);
   }
 
   public class ViewConfiguration {
@@ -36999,6 +37277,7 @@
     method public boolean shouldDelayChildPressedState();
     method public boolean showContextMenuForChild(android.view.View);
     method public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback);
+    method public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback, int);
     method public void startLayoutAnimation();
     method public void startViewTransition(android.view.View);
     method public void updateViewLayout(android.view.View, android.view.ViewGroup.LayoutParams);
@@ -37119,6 +37398,7 @@
     method public abstract void requestTransparentRegion(android.view.View);
     method public abstract boolean showContextMenuForChild(android.view.View);
     method public abstract android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback);
+    method public abstract android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback, int);
   }
 
   public class ViewPropertyAnimator {
@@ -37408,6 +37688,7 @@
     method public abstract void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
     method public abstract void onWindowFocusChanged(boolean);
     method public abstract android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+    method public abstract android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
   }
 
   public final class WindowAnimationFrameStats extends android.view.FrameStats implements android.os.Parcelable {
@@ -39077,6 +39358,32 @@
     method public abstract void onReceivedIcon(java.lang.String, android.graphics.Bitmap);
   }
 
+  public class WebMessage {
+    ctor public WebMessage(java.lang.String);
+    ctor public WebMessage(java.lang.String, android.webkit.WebMessagePort[]);
+    method public java.lang.String getData();
+    method public android.webkit.WebMessagePort[] getPorts();
+  }
+
+  public abstract class WebMessagePort {
+    ctor public WebMessagePort();
+    method public abstract void close();
+    method public abstract void postMessage(android.webkit.WebMessage);
+    method public abstract void setWebMessageCallback(android.webkit.WebMessagePort.WebMessageCallback);
+    method public abstract void setWebMessageCallback(android.webkit.WebMessagePort.WebMessageCallback, android.os.Handler);
+  }
+
+  public static abstract class WebMessagePort.WebMessageCallback {
+    ctor public WebMessagePort.WebMessageCallback();
+    method public void onMessage(android.webkit.WebMessagePort, android.webkit.WebMessage);
+  }
+
+  public abstract class WebResourceError {
+    ctor public WebResourceError();
+    method public abstract java.lang.String getDescription();
+    method public abstract int getErrorCode();
+  }
+
   public abstract interface WebResourceRequest {
     method public abstract java.lang.String getMethod();
     method public abstract java.util.Map<java.lang.String, java.lang.String> getRequestHeaders();
@@ -39085,7 +39392,7 @@
     method public abstract boolean isForMainFrame();
   }
 
-  public class WebResourceResponse {
+  public class WebResourceResponse extends android.webkit.WebResourceResponseBase {
     ctor public WebResourceResponse(java.lang.String, java.lang.String, java.io.InputStream);
     ctor public WebResourceResponse(java.lang.String, java.lang.String, int, java.lang.String, java.util.Map<java.lang.String, java.lang.String>, java.io.InputStream);
     method public java.io.InputStream getData();
@@ -39101,6 +39408,16 @@
     method public void setStatusCodeAndReasonPhrase(int, java.lang.String);
   }
 
+  public abstract class WebResourceResponseBase {
+    ctor public WebResourceResponseBase();
+    method public abstract java.io.InputStream getData();
+    method public abstract java.lang.String getEncoding();
+    method public abstract java.lang.String getMimeType();
+    method public abstract java.lang.String getReasonPhrase();
+    method public abstract java.util.Map<java.lang.String, java.lang.String> getResponseHeaders();
+    method public abstract int getStatusCode();
+  }
+
   public abstract class WebSettings {
     ctor public WebSettings();
     method public abstract deprecated boolean enableSmoothTransition();
@@ -39136,6 +39453,7 @@
     method public abstract int getMinimumLogicalFontSize();
     method public abstract int getMixedContentMode();
     method public abstract deprecated boolean getNavDump();
+    method public abstract boolean getOffscreenPreRaster();
     method public abstract deprecated android.webkit.WebSettings.PluginState getPluginState();
     method public abstract deprecated boolean getPluginsEnabled();
     method public abstract java.lang.String getSansSerifFontFamily();
@@ -39188,6 +39506,7 @@
     method public abstract void setMixedContentMode(int);
     method public abstract deprecated void setNavDump(boolean);
     method public abstract void setNeedInitialFocus(boolean);
+    method public abstract void setOffscreenPreRaster(boolean);
     method public abstract deprecated void setPluginState(android.webkit.WebSettings.PluginState);
     method public abstract deprecated void setPluginsEnabled(boolean);
     method public abstract deprecated void setRenderPriority(android.webkit.WebSettings.RenderPriority);
@@ -39318,6 +39637,7 @@
     method public android.webkit.WebBackForwardList copyBackForwardList();
     method public deprecated android.print.PrintDocumentAdapter createPrintDocumentAdapter();
     method public android.print.PrintDocumentAdapter createPrintDocumentAdapter(java.lang.String);
+    method public android.webkit.WebMessagePort[] createWebMessageChannel();
     method public void destroy();
     method public void documentHasImages(android.os.Message);
     method public static void enableSlowWholeDocumentDraw();
@@ -39359,6 +39679,7 @@
     method public boolean pageDown(boolean);
     method public boolean pageUp(boolean);
     method public void pauseTimers();
+    method public void postMessageToMainFrame(android.webkit.WebMessage, android.net.Uri);
     method public void postUrl(java.lang.String, byte[]);
     method public void reload();
     method public void removeJavascriptInterface(java.lang.String);
@@ -39460,8 +39781,10 @@
     method public void onPageFinished(android.webkit.WebView, java.lang.String);
     method public void onPageStarted(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
     method public void onReceivedClientCertRequest(android.webkit.WebView, android.webkit.ClientCertRequest);
-    method public void onReceivedError(android.webkit.WebView, int, java.lang.String, java.lang.String);
+    method public deprecated void onReceivedError(android.webkit.WebView, int, java.lang.String, java.lang.String);
+    method public void onReceivedError(android.webkit.WebView, android.webkit.WebResourceRequest, android.webkit.WebResourceError);
     method public void onReceivedHttpAuthRequest(android.webkit.WebView, android.webkit.HttpAuthHandler, java.lang.String, java.lang.String);
+    method public void onReceivedHttpError(android.webkit.WebView, android.webkit.WebResourceRequest, android.webkit.WebResourceResponseBase);
     method public void onReceivedLoginRequest(android.webkit.WebView, java.lang.String, java.lang.String, java.lang.String);
     method public void onReceivedSslError(android.webkit.WebView, android.webkit.SslErrorHandler, android.net.http.SslError);
     method public void onScaleChanged(android.webkit.WebView, float, float);
@@ -39474,6 +39797,7 @@
     method public boolean shouldOverrideUrlLoading(android.webkit.WebView, java.lang.String);
     field public static final int ERROR_AUTHENTICATION = -4; // 0xfffffffc
     field public static final int ERROR_BAD_URL = -12; // 0xfffffff4
+    field public static final int ERROR_BLOCKED = -16; // 0xfffffff0
     field public static final int ERROR_CONNECT = -6; // 0xfffffffa
     field public static final int ERROR_FAILED_SSL_HANDSHAKE = -11; // 0xfffffff5
     field public static final int ERROR_FILE = -13; // 0xfffffff3
@@ -39568,6 +39892,7 @@
     method public abstract void clearView();
     method public abstract android.webkit.WebBackForwardList copyBackForwardList();
     method public abstract android.print.PrintDocumentAdapter createPrintDocumentAdapter(java.lang.String);
+    method public abstract android.webkit.WebMessagePort[] createWebMessageChannel();
     method public abstract void destroy();
     method public abstract void documentHasImages(android.os.Message);
     method public abstract void dumpViewHierarchyWithProperties(java.io.BufferedWriter, int);
@@ -39614,6 +39939,7 @@
     method public abstract boolean pageDown(boolean);
     method public abstract boolean pageUp(boolean);
     method public abstract void pauseTimers();
+    method public abstract void postMessageToMainFrame(android.webkit.WebMessage, android.net.Uri);
     method public abstract void postUrl(java.lang.String, byte[]);
     method public abstract void reload();
     method public abstract void removeJavascriptInterface(java.lang.String);
@@ -39880,6 +40206,8 @@
     method public void onConfigurationChanged(android.content.res.Configuration);
     method public void onDetachedFromWindow();
     method public void setOnMenuItemClickListener(android.widget.ActionMenuView.OnMenuItemClickListener);
+    method public void setOverflowTintList(android.content.res.ColorStateList);
+    method public void setOverflowTintMode(android.graphics.PorterDuff.Mode);
     method public void setPopupTheme(int);
     method public boolean showOverflowMenu();
   }
@@ -41208,6 +41536,7 @@
     method public void setImageToDefault();
     method public void setMode(int);
     method public void setOverlay(android.graphics.drawable.Drawable);
+    method public void setPrioritizedMimeType(java.lang.String);
     field protected java.lang.String[] mExcludeMimes;
   }
 
@@ -41305,6 +41634,7 @@
     method public void addRule(int);
     method public void addRule(int, int);
     method public java.lang.String debug(java.lang.String);
+    method public int getRule(int);
     method public int[] getRules();
     method public void removeRule(int);
     field public boolean alignWithParent;
@@ -42174,7 +42504,11 @@
     method public void setNavigationIcon(int);
     method public void setNavigationIcon(android.graphics.drawable.Drawable);
     method public void setNavigationOnClickListener(android.view.View.OnClickListener);
+    method public void setNavigationTintList(android.content.res.ColorStateList);
+    method public void setNavigationTintMode(android.graphics.PorterDuff.Mode);
     method public void setOnMenuItemClickListener(android.widget.Toolbar.OnMenuItemClickListener);
+    method public void setOverflowTintList(android.content.res.ColorStateList);
+    method public void setOverflowTintMode(android.graphics.PorterDuff.Mode);
     method public void setPopupTheme(int);
     method public void setSubtitle(int);
     method public void setSubtitle(java.lang.CharSequence);
diff --git a/api/system-removed.txt b/api/system-removed.txt
index 8668a77..1b209a9 100644
--- a/api/system-removed.txt
+++ b/api/system-removed.txt
@@ -34,6 +34,22 @@
 
 }
 
+package android.provider {
+
+  public static final class Settings.System extends android.provider.Settings.NameValueTable {
+    field public static final java.lang.String APPEND_FOR_LAST_AUDIBLE = "_last_audible";
+    field public static final java.lang.String VOLUME_ALARM = "volume_alarm";
+    field public static final java.lang.String VOLUME_BLUETOOTH_SCO = "volume_bluetooth_sco";
+    field public static final java.lang.String VOLUME_MUSIC = "volume_music";
+    field public static final java.lang.String VOLUME_NOTIFICATION = "volume_notification";
+    field public static final java.lang.String VOLUME_RING = "volume_ring";
+    field public static final java.lang.String[] VOLUME_SETTINGS;
+    field public static final java.lang.String VOLUME_SYSTEM = "volume_system";
+    field public static final java.lang.String VOLUME_VOICE = "volume_voice";
+  }
+
+}
+
 package android.text.format {
 
   public class DateFormat {
diff --git a/cmds/am/src/com/android/commands/am/Am.java b/cmds/am/src/com/android/commands/am/Am.java
index a501fa7..29ba1d7 100644
--- a/cmds/am/src/com/android/commands/am/Am.java
+++ b/cmds/am/src/com/android/commands/am/Am.java
@@ -44,7 +44,6 @@
 import android.os.Binder;
 import android.os.Build;
 import android.os.Bundle;
-import android.os.IBinder;
 import android.os.ParcelFileDescriptor;
 import android.os.RemoteException;
 import android.os.SELinux;
@@ -118,6 +117,8 @@
                 "       am dumpheap [--user <USER_ID> current] [-n] <PROCESS> <FILE>\n" +
                 "       am set-debug-app [-w] [--persistent] <PACKAGE>\n" +
                 "       am clear-debug-app\n" +
+                "       am set-watch-heap <PROCESS> <MEM-LIMIT>\n" +
+                "       am clear-watch-heap\n" +
                 "       am monitor [--gdb <port>]\n" +
                 "       am hang [--allow-restart]\n" +
                 "       am restart\n" +
@@ -212,6 +213,11 @@
                 "\n" +
                 "am clear-debug-app: clear the previously set-debug-app.\n" +
                 "\n" +
+                "am set-watch-heap: start monitoring pss size of <PROCESS>, if it is at or\n" +
+                "    above <HEAP-LIMIT> then a heap dump is collected for the user to report\n" +
+                "\n" +
+                "am clear-watch-heap: clear the previously set-watch-heap.\n" +
+                "\n" +
                 "am bug-report: request bug report generation; will launch UI\n" +
                 "    when done to select where it should be delivered.\n" +
                 "\n" +
@@ -343,6 +349,10 @@
             runSetDebugApp();
         } else if (op.equals("clear-debug-app")) {
             runClearDebugApp();
+        } else if (op.equals("set-watch-heap")) {
+            runSetWatchHeap();
+        } else if (op.equals("clear-watch-heap")) {
+            runClearWatchHeap();
         } else if (op.equals("bug-report")) {
             runBugReport();
         } else if (op.equals("monitor")) {
@@ -1173,6 +1183,17 @@
         mAm.setDebugApp(null, false, true);
     }
 
+    private void runSetWatchHeap() throws Exception {
+        String proc = nextArgRequired();
+        String limit = nextArgRequired();
+        mAm.setDumpHeapDebugLimit(proc, Long.parseLong(limit));
+    }
+
+    private void runClearWatchHeap() throws Exception {
+        String proc = nextArgRequired();
+        mAm.setDumpHeapDebugLimit(proc, -1);
+    }
+
     private void runBugReport() throws Exception {
         mAm.requestBugReport();
         System.out.println("Your lovely bug report is being created; please be patient.");
diff --git a/cmds/content/src/com/android/commands/content/Content.java b/cmds/content/src/com/android/commands/content/Content.java
index bd34a9c..c0ed893 100644
--- a/cmds/content/src/com/android/commands/content/Content.java
+++ b/cmds/content/src/com/android/commands/content/Content.java
@@ -27,6 +27,7 @@
 import android.os.Bundle;
 import android.os.IBinder;
 import android.os.ParcelFileDescriptor;
+import android.os.Process;
 import android.os.UserHandle;
 import android.text.TextUtils;
 
@@ -426,6 +427,22 @@
             }
         }
 
+        public static String resolveCallingPackage() {
+            switch (Process.myUid()) {
+                case Process.ROOT_UID: {
+                    return "root";
+                }
+
+                case Process.SHELL_UID: {
+                    return "com.android.shell";
+                }
+
+                default: {
+                    return null;
+                }
+            }
+        }
+
         protected abstract void onExecute(IContentProvider provider) throws Exception;
     }
 
@@ -439,7 +456,7 @@
 
         @Override
         public void onExecute(IContentProvider provider) throws Exception {
-            provider.insert(null, mUri, mContentValues);
+            provider.insert(resolveCallingPackage(), mUri, mContentValues);
         }
     }
 
@@ -453,7 +470,7 @@
 
         @Override
         public void onExecute(IContentProvider provider) throws Exception {
-            provider.delete(null, mUri, mWhere, null);
+            provider.delete(resolveCallingPackage(), mUri, mWhere, null);
         }
     }
 
@@ -532,7 +549,8 @@
 
         @Override
         public void onExecute(IContentProvider provider) throws Exception {
-            Cursor cursor = provider.query(null, mUri, mProjection, mWhere, null, mSortOrder, null);
+            Cursor cursor = provider.query(resolveCallingPackage(), mUri, mProjection, mWhere,
+                    null, mSortOrder, null);
             if (cursor == null) {
                 System.out.println("No result found.");
                 return;
@@ -594,7 +612,7 @@
 
         @Override
         public void onExecute(IContentProvider provider) throws Exception {
-            provider.update(null, mUri, mContentValues, mWhere, null);
+            provider.update(resolveCallingPackage(), mUri, mContentValues, mWhere, null);
         }
     }
 
diff --git a/cmds/media/src/com/android/commands/media/Media.java b/cmds/media/src/com/android/commands/media/Media.java
index 6a8fb05..d7f23cb 100644
--- a/cmds/media/src/com/android/commands/media/Media.java
+++ b/cmds/media/src/com/android/commands/media/Media.java
@@ -24,7 +24,6 @@
 import android.media.session.ISessionController;
 import android.media.session.ISessionControllerCallback;
 import android.media.session.ISessionManager;
-import android.media.session.MediaController;
 import android.media.session.ParcelableVolumeInfo;
 import android.media.session.PlaybackState;
 import android.os.Bundle;
diff --git a/cmds/pm/src/com/android/commands/pm/Pm.java b/cmds/pm/src/com/android/commands/pm/Pm.java
index 7a01701..c48a618 100644
--- a/cmds/pm/src/com/android/commands/pm/Pm.java
+++ b/cmds/pm/src/com/android/commands/pm/Pm.java
@@ -48,7 +48,6 @@
 import android.os.Build;
 import android.os.Bundle;
 import android.os.IUserManager;
-import android.os.Process;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.UserHandle;
diff --git a/cmds/screencap/screencap.cpp b/cmds/screencap/screencap.cpp
index b0aee7b..dbc35af 100644
--- a/cmds/screencap/screencap.cpp
+++ b/cmds/screencap/screencap.cpp
@@ -36,9 +36,7 @@
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wunused-parameter"
 #include <SkImageEncoder.h>
-#include <SkBitmap.h>
 #include <SkData.h>
-#include <SkStream.h>
 #pragma GCC diagnostic pop
 
 using namespace android;
@@ -198,14 +196,11 @@
         if (png) {
             const SkImageInfo info = SkImageInfo::Make(w, h, flinger2skia(f),
                                                        kPremul_SkAlphaType);
-            SkBitmap b;
-            b.installPixels(info, const_cast<void*>(base), s*bytesPerPixel(f));
-            SkDynamicMemoryWStream stream;
-            SkImageEncoder::EncodeStream(&stream, b,
-                    SkImageEncoder::kPNG_Type, SkImageEncoder::kDefaultQuality);
-            SkData* streamData = stream.copyToData();
-            write(fd, streamData->data(), streamData->size());
-            streamData->unref();
+            SkAutoTUnref<SkData> data(SkImageEncoder::EncodeData(info, base, s*bytesPerPixel(f),
+                    SkImageEncoder::kPNG_Type, SkImageEncoder::kDefaultQuality));
+            if (data.get()) {
+                write(fd, data->data(), data->size());
+            }
             if (fn != NULL) {
                 notifyMediaScanner(fn);
             }
diff --git a/cmds/settings/src/com/android/commands/settings/SettingsCmd.java b/cmds/settings/src/com/android/commands/settings/SettingsCmd.java
index e6847a9..c27d0c0 100644
--- a/cmds/settings/src/com/android/commands/settings/SettingsCmd.java
+++ b/cmds/settings/src/com/android/commands/settings/SettingsCmd.java
@@ -20,22 +20,28 @@
 import android.app.IActivityManager;
 import android.app.IActivityManager.ContentProviderHolder;
 import android.content.IContentProvider;
+import android.database.Cursor;
 import android.net.Uri;
 import android.os.Binder;
 import android.os.Bundle;
 import android.os.IBinder;
+import android.os.Process;
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.provider.Settings;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 public final class SettingsCmd {
-    static final String TAG = "settings";
 
     enum CommandVerb {
         UNSPECIFIED,
         GET,
         PUT,
-        DELETE
+        DELETE,
+        LIST,
     }
 
     static String[] mArgs;
@@ -47,7 +53,7 @@
     String mValue = null;
 
     public static void main(String[] args) {
-        if (args == null || args.length < 3) {
+        if (args == null || args.length < 2) {
             printUsage();
             return;
         }
@@ -78,6 +84,8 @@
                         mVerb = CommandVerb.PUT;
                     } else if ("delete".equalsIgnoreCase(arg)) {
                         mVerb = CommandVerb.DELETE;
+                    } else if ("list".equalsIgnoreCase(arg)) {
+                        mVerb = CommandVerb.LIST;
                     } else {
                         // invalid
                         System.err.println("Invalid command: " + arg);
@@ -91,6 +99,10 @@
                         break;  // invalid
                     }
                     mTable = arg.toLowerCase();
+                    if (mVerb == CommandVerb.LIST) {
+                        valid = true;
+                        break;
+                    }
                 } else if (mVerb == CommandVerb.GET || mVerb == CommandVerb.DELETE) {
                     mKey = arg;
                     if (mNextArg >= mArgs.length) {
@@ -144,6 +156,11 @@
                             System.out.println("Deleted "
                                     + deleteForUser(provider, mUser, mTable, mKey) + " rows");
                             break;
+                        case LIST:
+                            for (String line : listForUser(provider, mUser, mTable)) {
+                                System.out.println(line);
+                            }
+                            break;
                         default:
                             System.err.println("Unspecified command");
                             break;
@@ -164,6 +181,34 @@
         }
     }
 
+    private List<String> listForUser(IContentProvider provider, int userHandle, String table) {
+        final Uri uri = "system".equals(table) ? Settings.System.CONTENT_URI
+                : "secure".equals(table) ? Settings.Secure.CONTENT_URI
+                : "global".equals(table) ? Settings.Global.CONTENT_URI
+                : null;
+        final ArrayList<String> lines = new ArrayList<String>();
+        if (uri == null) {
+            return lines;
+        }
+        try {
+            final Cursor cursor = provider.query(resolveCallingPackage(), uri, null, null, null,
+                    null, null);
+            try {
+                while (cursor != null && cursor.moveToNext()) {
+                    lines.add(cursor.getString(1) + "=" + cursor.getString(2));
+                }
+            } finally {
+                if (cursor != null) {
+                    cursor.close();
+                }
+            }
+            Collections.sort(lines);
+        } catch (RemoteException e) {
+            System.err.println("List failed in " + table + " for user " + userHandle);
+        }
+        return lines;
+    }
+
     private String nextArg() {
         if (mNextArg >= mArgs.length) {
             return null;
@@ -188,7 +233,7 @@
         try {
             Bundle arg = new Bundle();
             arg.putInt(Settings.CALL_METHOD_USER_KEY, userHandle);
-            Bundle b = provider.call(null, callGetCommand, key, arg);
+            Bundle b = provider.call(resolveCallingPackage(), callGetCommand, key, arg);
             if (b != null) {
                 result = b.getPairValue();
             }
@@ -213,7 +258,7 @@
             Bundle arg = new Bundle();
             arg.putString(Settings.NameValueTable.VALUE, value);
             arg.putInt(Settings.CALL_METHOD_USER_KEY, userHandle);
-            provider.call(null, callPutCommand, key, arg);
+            provider.call(resolveCallingPackage(), callPutCommand, key, arg);
         } catch (RemoteException e) {
             System.err.println("Can't set key " + key + " in " + table + " for user " + userHandle);
         }
@@ -232,7 +277,7 @@
 
         int num = 0;
         try {
-            num = provider.delete(null, targetUri, null, null);
+            num = provider.delete(resolveCallingPackage(), targetUri, null, null);
         } catch (RemoteException e) {
             System.err.println("Can't clear key " + key + " in " + table + " for user "
                     + userHandle);
@@ -244,7 +289,24 @@
         System.err.println("usage:  settings [--user NUM] get namespace key");
         System.err.println("        settings [--user NUM] put namespace key value");
         System.err.println("        settings [--user NUM] delete namespace key");
+        System.err.println("        settings [--user NUM] list namespace");
         System.err.println("\n'namespace' is one of {system, secure, global}, case-insensitive");
         System.err.println("If '--user NUM' is not given, the operations are performed on the owner user.");
     }
+
+    public static String resolveCallingPackage() {
+        switch (android.os.Process.myUid()) {
+            case Process.ROOT_UID: {
+                return "root";
+            }
+
+            case Process.SHELL_UID: {
+                return "com.android.shell";
+            }
+
+            default: {
+                return null;
+            }
+        }
+    }
 }
diff --git a/cmds/svc/src/com/android/commands/svc/DataCommand.java b/cmds/svc/src/com/android/commands/svc/DataCommand.java
index 406e33b..35510cf 100644
--- a/cmds/svc/src/com/android/commands/svc/DataCommand.java
+++ b/cmds/svc/src/com/android/commands/svc/DataCommand.java
@@ -18,8 +18,6 @@
 
 import android.os.ServiceManager;
 import android.os.RemoteException;
-import android.net.IConnectivityManager;
-import android.net.ConnectivityManager;
 import android.content.Context;
 import com.android.internal.telephony.ITelephony;
 
diff --git a/cmds/svc/src/com/android/commands/svc/WifiCommand.java b/cmds/svc/src/com/android/commands/svc/WifiCommand.java
index 39f0e35..94214ff 100644
--- a/cmds/svc/src/com/android/commands/svc/WifiCommand.java
+++ b/cmds/svc/src/com/android/commands/svc/WifiCommand.java
@@ -19,8 +19,6 @@
 import android.os.ServiceManager;
 import android.os.RemoteException;
 import android.net.wifi.IWifiManager;
-import android.net.IConnectivityManager;
-import android.net.ConnectivityManager;
 import android.content.Context;
 
 public class WifiCommand extends Svc.Command {
diff --git a/core/java/android/accessibilityservice/AccessibilityService.java b/core/java/android/accessibilityservice/AccessibilityService.java
index 3f1845a..9d6aa13 100644
--- a/core/java/android/accessibilityservice/AccessibilityService.java
+++ b/core/java/android/accessibilityservice/AccessibilityService.java
@@ -27,7 +27,6 @@
 import android.util.Log;
 import android.view.KeyEvent;
 import android.view.WindowManager;
-import android.view.WindowManagerGlobal;
 import android.view.WindowManagerImpl;
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityInteractionClient;
diff --git a/core/java/android/alsa/AlsaCardsParser.java b/core/java/android/alsa/AlsaCardsParser.java
deleted file mode 100644
index 5e88bca..0000000
--- a/core/java/android/alsa/AlsaCardsParser.java
+++ /dev/null
@@ -1,225 +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 android.alsa;
-
-import android.util.Slog;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.ArrayList;
-
-/**
- * @hide Retrieves information from an ALSA "cards" file.
- */
-public class AlsaCardsParser {
-    private static final String TAG = "AlsaCardsParser";
-    protected static final boolean DEBUG = true;
-
-    private static final String kCardsFilePath = "/proc/asound/cards";
-
-    private static LineTokenizer mTokenizer = new LineTokenizer(" :[]");
-
-    private ArrayList<AlsaCardRecord> mCardRecords = new ArrayList<AlsaCardRecord>();
-
-    public class AlsaCardRecord {
-        private static final String TAG = "AlsaCardRecord";
-        private static final String kUsbCardKeyStr = "at usb-";
-
-        public int mCardNum = -1;
-        public String mField1 = "";
-        public String mCardName = "";
-        public String mCardDescription = "";
-        public boolean mIsUsb = false;
-
-        public AlsaCardRecord() {}
-
-        public boolean parse(String line, int lineIndex) {
-            int tokenIndex = 0;
-            int delimIndex = 0;
-
-            if (lineIndex == 0) {
-                // line # (skip)
-                tokenIndex = mTokenizer.nextToken(line, tokenIndex);
-                delimIndex = mTokenizer.nextDelimiter(line, tokenIndex);
-
-                try {
-                    // mCardNum
-                    mCardNum = Integer.parseInt(line.substring(tokenIndex, delimIndex));
-                } catch (NumberFormatException e) {
-                    Slog.e(TAG, "Failed to parse line " + lineIndex + " of " + kCardsFilePath
-                        + ": " + line.substring(tokenIndex, delimIndex));
-                    return false;
-                }
-
-                // mField1
-                tokenIndex = mTokenizer.nextToken(line, delimIndex);
-                delimIndex = mTokenizer.nextDelimiter(line, tokenIndex);
-                mField1 = line.substring(tokenIndex, delimIndex);
-
-                // mCardName
-                tokenIndex = mTokenizer.nextToken(line, delimIndex);
-                mCardName = line.substring(tokenIndex);
-
-                // done
-              } else if (lineIndex == 1) {
-                  tokenIndex = mTokenizer.nextToken(line, 0);
-                  if (tokenIndex != -1) {
-                      int keyIndex = line.indexOf(kUsbCardKeyStr);
-                      mIsUsb = keyIndex != -1;
-                      if (mIsUsb) {
-                          mCardDescription = line.substring(tokenIndex, keyIndex - 1);
-                      }
-                  }
-            }
-
-            return true;
-        }
-
-        public String textFormat() {
-          return mCardName + " : " + mCardDescription;
-        }
-    }
-
-    public AlsaCardsParser() {}
-
-    public void scan() {
-        if (DEBUG) {
-            Slog.i(TAG, "AlsaCardsParser.scan()");
-        }
-        mCardRecords = new ArrayList<AlsaCardRecord>();
-
-        File cardsFile = new File(kCardsFilePath);
-        try {
-            FileReader reader = new FileReader(cardsFile);
-            BufferedReader bufferedReader = new BufferedReader(reader);
-            String line = "";
-            while ((line = bufferedReader.readLine()) != null) {
-                AlsaCardRecord cardRecord = new AlsaCardRecord();
-                if (DEBUG) {
-                    Slog.i(TAG, "  " + line);
-                }
-                cardRecord.parse(line, 0);
-
-                line = bufferedReader.readLine();
-                if (line == null) {
-                    break;
-                }
-                if (DEBUG) {
-                    Slog.i(TAG, "  " + line);
-                }
-                cardRecord.parse(line, 1);
-
-                mCardRecords.add(cardRecord);
-            }
-            reader.close();
-        } catch (FileNotFoundException e) {
-            e.printStackTrace();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-
-    public ArrayList<AlsaCardRecord> getScanRecords() {
-        return mCardRecords;
-    }
-
-    public AlsaCardRecord getCardRecordAt(int index) {
-        return mCardRecords.get(index);
-    }
-
-    public AlsaCardRecord getCardRecordFor(int cardNum) {
-        for (AlsaCardRecord rec : mCardRecords) {
-            if (rec.mCardNum == cardNum) {
-                return rec;
-            }
-        }
-
-        return null;
-    }
-
-    public int getNumCardRecords() {
-        return mCardRecords.size();
-    }
-
-    public boolean isCardUsb(int cardNum) {
-        for (AlsaCardRecord rec : mCardRecords) {
-            if (rec.mCardNum == cardNum) {
-                return rec.mIsUsb;
-            }
-        }
-
-        return false;
-    }
-
-    // return -1 if none found
-    public int getDefaultUsbCard() {
-        // Choose the most-recently added EXTERNAL card
-        // or return the first added EXTERNAL card?
-        for (AlsaCardRecord rec : mCardRecords) {
-            if (rec.mIsUsb) {
-                return rec.mCardNum;
-            }
-        }
-
-        return -1;
-    }
-
-    public int getDefaultCard() {
-        // return an external card if possible
-        int card = getDefaultUsbCard();
-
-        if (card < 0 && getNumCardRecords() > 0) {
-            // otherwise return the (internal) card with the highest number
-            card = getCardRecordAt(getNumCardRecords() - 1).mCardNum;
-        }
-        return card;
-    }
-
-    static public boolean hasCardNumber(ArrayList<AlsaCardRecord> recs, int cardNum) {
-        for (AlsaCardRecord cardRec : recs) {
-            if (cardRec.mCardNum == cardNum) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public ArrayList<AlsaCardRecord> getNewCardRecords(ArrayList<AlsaCardRecord> prevScanRecs) {
-        ArrayList<AlsaCardRecord> newRecs = new ArrayList<AlsaCardRecord>();
-        for (AlsaCardRecord rec : mCardRecords) {
-            // now scan to see if this card number is in the previous scan list
-            if (!hasCardNumber(prevScanRecs, rec.mCardNum)) {
-                newRecs.add(rec);
-            }
-        }
-        return newRecs;
-    }
-
-    //
-    // Logging
-    //
-    public void Log(String heading) {
-        if (DEBUG) {
-            Slog.i(TAG, heading);
-            for (AlsaCardRecord cardRec : mCardRecords) {
-                Slog.i(TAG, cardRec.textFormat());
-            }
-        }
-    }
-}
diff --git a/core/java/android/alsa/AlsaDevicesParser.java b/core/java/android/alsa/AlsaDevicesParser.java
deleted file mode 100644
index b140d3d..0000000
--- a/core/java/android/alsa/AlsaDevicesParser.java
+++ /dev/null
@@ -1,288 +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 android.alsa;
-
-import android.util.Slog;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.ArrayList;
-
-/**
- * @hide
- * Retrieves information from an ALSA "devices" file.
- */
-public class AlsaDevicesParser {
-    private static final String TAG = "AlsaDevicesParser";
-    protected static final boolean DEBUG = false;
-
-    private static final String kDevicesFilePath = "/proc/asound/devices";
-
-    private static final int kIndex_CardDeviceField = 5;
-    private static final int kStartIndex_CardNum = 6;
-    private static final int kEndIndex_CardNum = 8; // one past
-    private static final int kStartIndex_DeviceNum = 9;
-    private static final int kEndIndex_DeviceNum = 11; // one past
-    private static final int kStartIndex_Type = 14;
-
-    private static LineTokenizer mTokenizer = new LineTokenizer(" :[]-");
-
-    private boolean mHasCaptureDevices = false;
-    private boolean mHasPlaybackDevices = false;
-    private boolean mHasMIDIDevices = false;
-
-    public class AlsaDeviceRecord {
-        public static final int kDeviceType_Unknown = -1;
-        public static final int kDeviceType_Audio = 0;
-        public static final int kDeviceType_Control = 1;
-        public static final int kDeviceType_MIDI = 2;
-
-        public static final int kDeviceDir_Unknown = -1;
-        public static final int kDeviceDir_Capture = 0;
-        public static final int kDeviceDir_Playback = 1;
-
-        int mCardNum = -1;
-        int mDeviceNum = -1;
-        int mDeviceType = kDeviceType_Unknown;
-        int mDeviceDir = kDeviceDir_Unknown;
-
-        public AlsaDeviceRecord() {}
-
-        public boolean parse(String line) {
-            // "0123456789012345678901234567890"
-            // "  2: [ 0-31]: digital audio playback"
-            // "  3: [ 0-30]: digital audio capture"
-            // " 35: [ 1]   : control"
-            // " 36: [ 2- 0]: raw midi"
-
-            final int kToken_LineNum = 0;
-            final int kToken_CardNum = 1;
-            final int kToken_DeviceNum = 2;
-            final int kToken_Type0 = 3; // "digital", "control", "raw"
-            final int kToken_Type1 = 4; // "audio", "midi"
-            final int kToken_Type2 = 5; // "capture", "playback"
-
-            int tokenOffset = 0;
-            int delimOffset = 0;
-            int tokenIndex = kToken_LineNum;
-            while (true) {
-                tokenOffset = mTokenizer.nextToken(line, delimOffset);
-                if (tokenOffset == LineTokenizer.kTokenNotFound) {
-                    break; // bail
-                }
-                delimOffset = mTokenizer.nextDelimiter(line, tokenOffset);
-                if (delimOffset == LineTokenizer.kTokenNotFound) {
-                    delimOffset = line.length();
-                }
-                String token = line.substring(tokenOffset, delimOffset);
-
-                try {
-                    switch (tokenIndex) {
-                    case kToken_LineNum:
-                        // ignore
-                        break;
-
-                    case kToken_CardNum:
-                        mCardNum = Integer.parseInt(token);
-                        if (line.charAt(delimOffset) != '-') {
-                            tokenIndex++; // no device # in the token stream
-                        }
-                        break;
-
-                    case kToken_DeviceNum:
-                        mDeviceNum = Integer.parseInt(token);
-                        break;
-
-                    case kToken_Type0:
-                        if (token.equals("digital")) {
-                            // NOP
-                        } else if (token.equals("control")) {
-                            mDeviceType = kDeviceType_Control;
-                        } else if (token.equals("raw")) {
-                            // NOP
-                        }
-                        break;
-
-                    case kToken_Type1:
-                        if (token.equals("audio")) {
-                            mDeviceType = kDeviceType_Audio;
-                        } else if (token.equals("midi")) {
-                            mDeviceType = kDeviceType_MIDI;
-                            mHasMIDIDevices = true;
-                        }
-                        break;
-
-                    case kToken_Type2:
-                        if (token.equals("capture")) {
-                            mDeviceDir = kDeviceDir_Capture;
-                            mHasCaptureDevices = true;
-                        } else if (token.equals("playback")) {
-                            mDeviceDir = kDeviceDir_Playback;
-                            mHasPlaybackDevices = true;
-                        }
-                        break;
-                    } // switch (tokenIndex)
-                } catch (NumberFormatException e) {
-                    Slog.e(TAG, "Failed to parse token " + tokenIndex + " of " + kDevicesFilePath
-                        + " token: " + token);
-                    return false;
-                }
-
-                tokenIndex++;
-            } // while (true)
-
-            return true;
-        } // parse()
-
-        public String textFormat() {
-            StringBuilder sb = new StringBuilder();
-            sb.append("[" + mCardNum + ":" + mDeviceNum + "]");
-
-            switch (mDeviceType) {
-            case kDeviceType_Unknown:
-                sb.append(" N/A");
-                break;
-            case kDeviceType_Audio:
-                sb.append(" Audio");
-                break;
-            case kDeviceType_Control:
-                sb.append(" Control");
-                break;
-            case kDeviceType_MIDI:
-                sb.append(" MIDI");
-                break;
-            }
-
-            switch (mDeviceDir) {
-            case kDeviceDir_Unknown:
-                sb.append(" N/A");
-                break;
-            case kDeviceDir_Capture:
-                sb.append(" Capture");
-                break;
-            case kDeviceDir_Playback:
-                sb.append(" Playback");
-                break;
-            }
-
-            return sb.toString();
-        }
-    }
-
-    private ArrayList<AlsaDeviceRecord> mDeviceRecords = new ArrayList<AlsaDeviceRecord>();
-
-    public AlsaDevicesParser() {}
-
-    //
-    // Access
-    //
-    public int getDefaultDeviceNum(int card) {
-        // TODO - This (obviously) isn't sufficient. Revisit.
-        return 0;
-    }
-
-    //
-    // Predicates
-    //
-   public boolean hasPlaybackDevices() {
-        return mHasPlaybackDevices;
-    }
-
-    public boolean hasPlaybackDevices(int card) {
-        for (AlsaDeviceRecord deviceRecord : mDeviceRecords) {
-            if (deviceRecord.mCardNum == card &&
-                deviceRecord.mDeviceType == AlsaDeviceRecord.kDeviceType_Audio &&
-                deviceRecord.mDeviceDir == AlsaDeviceRecord.kDeviceDir_Playback) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public boolean hasCaptureDevices() {
-        return mHasCaptureDevices;
-    }
-
-    public boolean hasCaptureDevices(int card) {
-        for (AlsaDeviceRecord deviceRecord : mDeviceRecords) {
-            if (deviceRecord.mCardNum == card &&
-                deviceRecord.mDeviceType == AlsaDeviceRecord.kDeviceType_Audio &&
-                deviceRecord.mDeviceDir == AlsaDeviceRecord.kDeviceDir_Capture) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public boolean hasMIDIDevices() {
-        return mHasMIDIDevices;
-    }
-
-    public boolean hasMIDIDevices(int card) {
-        for (AlsaDeviceRecord deviceRecord : mDeviceRecords) {
-            if (deviceRecord.mCardNum == card &&
-                deviceRecord.mDeviceType == AlsaDeviceRecord.kDeviceType_MIDI) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    //
-    // Process
-    //
-    private boolean isLineDeviceRecord(String line) {
-        return line.charAt(kIndex_CardDeviceField) == '[';
-    }
-
-    public void scan() {
-        mDeviceRecords.clear();
-
-        File devicesFile = new File(kDevicesFilePath);
-        try {
-            FileReader reader = new FileReader(devicesFile);
-            BufferedReader bufferedReader = new BufferedReader(reader);
-            String line = "";
-            while ((line = bufferedReader.readLine()) != null) {
-                if (isLineDeviceRecord(line)) {
-                    AlsaDeviceRecord deviceRecord = new AlsaDeviceRecord();
-                    deviceRecord.parse(line);
-                    mDeviceRecords.add(deviceRecord);
-                }
-            }
-            reader.close();
-        } catch (FileNotFoundException e) {
-            e.printStackTrace();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-
-    //
-    // Loging
-    //
-    public void Log(String heading) {
-        if (DEBUG) {
-            Slog.i(TAG, heading);
-            for (AlsaDeviceRecord deviceRecord : mDeviceRecords) {
-                Slog.i(TAG, deviceRecord.textFormat());
-            }
-        }
-    }
-} // class AlsaDevicesParser
-
diff --git a/core/java/android/alsa/LineTokenizer.java b/core/java/android/alsa/LineTokenizer.java
deleted file mode 100644
index 78c91b5..0000000
--- a/core/java/android/alsa/LineTokenizer.java
+++ /dev/null
@@ -1,57 +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 android.alsa;
-
-/**
- * @hide
- * Breaks lines in an ALSA "cards" or "devices" file into tokens.
- * TODO(pmclean) Look into replacing this with String.split().
- */
-public class LineTokenizer {
-    public static final int kTokenNotFound = -1;
-
-    private String mDelimiters = "";
-
-    public LineTokenizer(String delimiters) {
-        mDelimiters = delimiters;
-    }
-
-    int nextToken(String line, int startIndex) {
-        int len = line.length();
-        int offset = startIndex;
-        for (; offset < len; offset++) {
-            if (mDelimiters.indexOf(line.charAt(offset)) == -1) {
-                // past a delimiter
-                break;
-            }
-      }
-
-      return offset < len ? offset : kTokenNotFound;
-    }
-
-    int nextDelimiter(String line, int startIndex) {
-        int len = line.length();
-        int offset = startIndex;
-        for (; offset < len; offset++) {
-            if (mDelimiters.indexOf(line.charAt(offset)) != -1) {
-                // past a delimiter
-                break;
-            }
-        }
-
-      return offset < len ? offset : kTokenNotFound;
-    }
-}
diff --git a/core/java/android/animation/AnimatorInflater.java b/core/java/android/animation/AnimatorInflater.java
index d5ae6c6..021194c 100644
--- a/core/java/android/animation/AnimatorInflater.java
+++ b/core/java/android/animation/AnimatorInflater.java
@@ -43,7 +43,6 @@
 
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.List;
 
 /**
  * This class is used to instantiate animator XML files into Animator objects.
diff --git a/core/java/android/animation/FloatKeyframeSet.java b/core/java/android/animation/FloatKeyframeSet.java
index abac246..56da940 100644
--- a/core/java/android/animation/FloatKeyframeSet.java
+++ b/core/java/android/animation/FloatKeyframeSet.java
@@ -18,7 +18,6 @@
 
 import android.animation.Keyframe.FloatKeyframe;
 
-import java.util.ArrayList;
 import java.util.List;
 
 /**
diff --git a/core/java/android/animation/IntKeyframeSet.java b/core/java/android/animation/IntKeyframeSet.java
index 0ec5138..12a4bf9 100644
--- a/core/java/android/animation/IntKeyframeSet.java
+++ b/core/java/android/animation/IntKeyframeSet.java
@@ -18,7 +18,6 @@
 
 import android.animation.Keyframe.IntKeyframe;
 
-import java.util.ArrayList;
 import java.util.List;
 
 /**
diff --git a/core/java/android/animation/KeyframeSet.java b/core/java/android/animation/KeyframeSet.java
index 0e99bff..c80e162 100644
--- a/core/java/android/animation/KeyframeSet.java
+++ b/core/java/android/animation/KeyframeSet.java
@@ -16,7 +16,6 @@
 
 package android.animation;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
diff --git a/core/java/android/animation/Keyframes.java b/core/java/android/animation/Keyframes.java
index c921466..c149bed 100644
--- a/core/java/android/animation/Keyframes.java
+++ b/core/java/android/animation/Keyframes.java
@@ -15,7 +15,6 @@
  */
 package android.animation;
 
-import java.util.ArrayList;
 import java.util.List;
 
 /**
diff --git a/core/java/android/animation/ObjectAnimator.java b/core/java/android/animation/ObjectAnimator.java
index 71855da..3f71d51 100644
--- a/core/java/android/animation/ObjectAnimator.java
+++ b/core/java/android/animation/ObjectAnimator.java
@@ -16,6 +16,7 @@
 
 package android.animation;
 
+import android.annotation.CallSuper;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.graphics.Path;
@@ -24,7 +25,6 @@
 import android.util.Property;
 
 import java.lang.ref.WeakReference;
-import java.util.ArrayList;
 
 /**
  * This subclass of {@link ValueAnimator} provides support for animating properties on target objects.
@@ -862,6 +862,7 @@
      *  <p>Overriders of this method should call the superclass method to cause
      *  internal mechanisms to be set up correctly.</p>
      */
+    @CallSuper
     @Override
     void initAnimation() {
         if (!mInitialized) {
@@ -962,6 +963,7 @@
      *
      * @param fraction The elapsed fraction of the animation.
      */
+    @CallSuper
     @Override
     void animateValue(float fraction) {
         final Object target = getTarget();
diff --git a/core/java/android/animation/PropertyValuesHolder.java b/core/java/android/animation/PropertyValuesHolder.java
index bd7bca0..8928e99 100644
--- a/core/java/android/animation/PropertyValuesHolder.java
+++ b/core/java/android/animation/PropertyValuesHolder.java
@@ -25,10 +25,8 @@
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
-import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
 
 /**
  * This class holds information about a property and the values that that property
diff --git a/core/java/android/animation/ValueAnimator.java b/core/java/android/animation/ValueAnimator.java
index 292bb1d..85dc832 100644
--- a/core/java/android/animation/ValueAnimator.java
+++ b/core/java/android/animation/ValueAnimator.java
@@ -16,8 +16,7 @@
 
 package android.animation;
 
-import android.content.res.ConfigurationBoundResourceCache;
-import android.os.Debug;
+import android.annotation.CallSuper;
 import android.os.Looper;
 import android.os.Trace;
 import android.util.AndroidRuntimeException;
@@ -508,6 +507,7 @@
      *  <p>Overrides of this method should call the superclass method to ensure
      *  that internal mechanisms for the animation are set up correctly.</p>
      */
+    @CallSuper
     void initAnimation() {
         if (!mInitialized) {
             int numValues = mValues.length;
@@ -1377,6 +1377,7 @@
      *
      * @param fraction The elapsed fraction of the animation.
      */
+    @CallSuper
     void animateValue(float fraction) {
         fraction = mInterpolator.getInterpolation(fraction);
         mCurrentFraction = fraction;
diff --git a/core/java/android/annotation/CallSuper.java b/core/java/android/annotation/CallSuper.java
new file mode 100644
index 0000000..82e2723
--- /dev/null
+++ b/core/java/android/annotation/CallSuper.java
@@ -0,0 +1,38 @@
+/*
+ * 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.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+/**
+ * Denotes that any overriding methods should invoke this method as well.
+ * <p>
+ * Example:
+ * <pre>{@code
+ *  &#64;CallSuper
+ *  public abstract void onFocusLost();
+ * }</pre>
+ *
+ * @hide
+ */
+@Retention(SOURCE)
+@Target({METHOD})
+public @interface CallSuper {
+}
\ No newline at end of file
diff --git a/core/java/android/annotation/CheckResult.java b/core/java/android/annotation/CheckResult.java
new file mode 100644
index 0000000..787514e
--- /dev/null
+++ b/core/java/android/annotation/CheckResult.java
@@ -0,0 +1,58 @@
+/*
+ * 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.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+/**
+ * Denotes that the annotated method returns a result that it typically is
+ * an error to ignore. This is usually used for methods that have no side effect,
+ * so calling it without actually looking at the result usually means the developer
+ * has misunderstood what the method does.
+ * <p>
+ * Example:
+ * <pre>{@code
+ *  public &#64;CheckResult String trim(String s) { return s.trim(); }
+ *  ...
+ *  s.trim(); // this is probably an error
+ *  s = s.trim(); // ok
+ * }</pre>
+ *
+ * @hide
+ */
+@Retention(SOURCE)
+@Target({METHOD})
+public @interface CheckResult {
+    /** Defines the name of the suggested method to use instead, if applicable (using
+     * the same signature format as javadoc.) If there is more than one possibility,
+     * list them all separated by commas.
+     * <p>
+     * For example, ProcessBuilder has a method named {@code redirectErrorStream()}
+     * which sounds like it might redirect the error stream. It does not. It's just
+     * a getter which returns whether the process builder will redirect the error stream,
+     * and to actually set it, you must call {@code redirectErrorStream(boolean)}.
+     * In that case, the method should be defined like this:
+     * <pre>
+     *  &#64;CheckResult(suggest="#redirectErrorStream(boolean)")
+     *  public boolean redirectErrorStream() { ... }
+     * </pre>
+     */
+    String suggest() default "";
+}
\ No newline at end of file
diff --git a/core/java/android/annotation/ColorInt.java b/core/java/android/annotation/ColorInt.java
new file mode 100644
index 0000000..69d196c
--- /dev/null
+++ b/core/java/android/annotation/ColorInt.java
@@ -0,0 +1,42 @@
+/*
+ * 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.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.LOCAL_VARIABLE;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+/**
+ * Denotes that the annotated element represents a packed color
+ * int, {@code AARRGGBB}. If applied to an int array, every element
+ * in the array represents a color integer.
+ * <p>
+ * Example:
+ * <pre>{@code
+ *  public abstract void setTextColor(&#64;ColorInt int color);
+ * }</pre>
+ *
+ * @hide
+ */
+@Retention(SOURCE)
+@Target({PARAMETER,METHOD,LOCAL_VARIABLE,FIELD})
+public @interface ColorInt {
+}
\ No newline at end of file
diff --git a/core/java/android/annotation/FloatRange.java b/core/java/android/annotation/FloatRange.java
new file mode 100644
index 0000000..3a7c150
--- /dev/null
+++ b/core/java/android/annotation/FloatRange.java
@@ -0,0 +1,55 @@
+/*
+ * 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.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.LOCAL_VARIABLE;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+/**
+ * Denotes that the annotated element should be a float or double in the given range
+ * <p>
+ * Example:
+ * <pre>{@code
+ *  &#64;FloatRange(from=0.0,to=1.0)
+ *  public float getAlpha() {
+ *      ...
+ *  }
+ * }</pre>
+ *
+ * @hide
+ */
+@Retention(SOURCE)
+@Target({METHOD,PARAMETER,FIELD,LOCAL_VARIABLE})
+public @interface FloatRange {
+    /** Smallest value. Whether it is inclusive or not is determined
+     * by {@link #fromInclusive} */
+    double from() default Double.NEGATIVE_INFINITY;
+    /** Largest value. Whether it is inclusive or not is determined
+     * by {@link #toInclusive} */
+    double to() default Double.POSITIVE_INFINITY;
+
+    /** Whether the from value is included in the range */
+    boolean fromInclusive() default true;
+
+    /** Whether the to value is included in the range */
+    boolean toInclusive() default true;
+}
\ No newline at end of file
diff --git a/core/java/android/annotation/IntRange.java b/core/java/android/annotation/IntRange.java
new file mode 100644
index 0000000..1e3c072
--- /dev/null
+++ b/core/java/android/annotation/IntRange.java
@@ -0,0 +1,47 @@
+/*
+ * 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.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.LOCAL_VARIABLE;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+/**
+ * Denotes that the annotated element should be an int or long in the given range
+ * <p>
+ * Example:
+ * <pre>{@code
+ *  &#64;IntRange(from=0,to=255)
+ *  public int getAlpha() {
+ *      ...
+ *  }
+ * }</pre>
+ *
+ * @hide
+ */
+@Retention(SOURCE)
+@Target({METHOD,PARAMETER,FIELD,LOCAL_VARIABLE})
+public @interface IntRange {
+    /** Smallest value, inclusive */
+    long from() default Long.MIN_VALUE;
+    /** Largest value, inclusive */
+    long to() default Long.MAX_VALUE;
+}
\ No newline at end of file
diff --git a/core/java/android/annotation/Size.java b/core/java/android/annotation/Size.java
new file mode 100644
index 0000000..389b819
--- /dev/null
+++ b/core/java/android/annotation/Size.java
@@ -0,0 +1,52 @@
+/*
+ * 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.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.LOCAL_VARIABLE;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+/**
+ * Denotes that the annotated element should have a given size or length.
+ * Note that "-1" means "unset". Typically used with a parameter or
+ * return value of type array or collection.
+ * <p>
+ * Example:
+ * <pre>{@code
+ *  public void getLocationInWindow(&#64;Size(2) int[] location) {
+ *      ...
+ *  }
+ * }</pre>
+ *
+ * @hide
+ */
+@Retention(SOURCE)
+@Target({PARAMETER,LOCAL_VARIABLE,METHOD,FIELD})
+public @interface Size {
+    /** An exact size (or -1 if not specified) */
+    long value() default -1;
+    /** A minimum size, inclusive */
+    long min() default Long.MIN_VALUE;
+    /** A maximum size, inclusive */
+    long max() default Long.MAX_VALUE;
+    /** The size must be a multiple of this factor */
+    long multiple() default 1;
+}
\ No newline at end of file
diff --git a/core/java/android/app/ActionBar.java b/core/java/android/app/ActionBar.java
index 4cdd397..94e3b66 100644
--- a/core/java/android/app/ActionBar.java
+++ b/core/java/android/app/ActionBar.java
@@ -33,14 +33,10 @@
 import android.view.View;
 import android.view.ViewDebug;
 import android.view.ViewGroup;
-import android.view.ViewGroup.MarginLayoutParams;
 import android.view.Window;
 import android.widget.SpinnerAdapter;
-import android.widget.Toolbar;
-
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
-import java.util.Map;
 
 /**
  * A primary toolbar within the activity that may display the activity title, application-level
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index f0d98f8..7fcbe35 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -16,6 +16,7 @@
 
 package android.app;
 
+import android.annotation.CallSuper;
 import android.annotation.DrawableRes;
 import android.annotation.IdRes;
 import android.annotation.IntDef;
@@ -34,8 +35,6 @@
 import com.android.internal.app.WindowDecorActionBar;
 import com.android.internal.app.ToolbarActionBar;
 
-import android.annotation.IntDef;
-import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.app.admin.DevicePolicyManager;
 import android.content.ComponentCallbacks2;
@@ -788,6 +787,7 @@
     private boolean mChangeCanvasToTranslucent;
 
     private boolean mTitleReady = false;
+    private int mActionModeTypeStarting = ActionMode.TYPE_PRIMARY;
 
     private int mDefaultKeyMode = DEFAULT_KEYS_DISABLE;
     private SpannableStringBuilder mDefaultKeySsb = null;
@@ -923,6 +923,7 @@
      * @see #onRestoreInstanceState
      * @see #onPostCreate
      */
+    @CallSuper
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         if (DEBUG_LIFECYCLE) Slog.v(TAG, "onCreate " + this + ": " + savedInstanceState);
         if (mLastNonConfigurationInstances != null) {
@@ -1124,6 +1125,7 @@
      *     recently supplied in {@link #onSaveInstanceState}.  <b><i>Note: Otherwise it is null.</i></b>
      * @see #onCreate
      */
+    @CallSuper
     protected void onPostCreate(@Nullable Bundle savedInstanceState) {
         if (!isChild()) {
             mTitleReady = true;
@@ -1161,6 +1163,7 @@
      * @see #onStop
      * @see #onResume
      */
+    @CallSuper
     protected void onStart() {
         if (DEBUG_LIFECYCLE) Slog.v(TAG, "onStart " + this);
         mCalled = true;
@@ -1198,6 +1201,7 @@
      * @see #onStart
      * @see #onResume
      */
+    @CallSuper
     protected void onRestart() {
         mCalled = true;
     }
@@ -1222,6 +1226,7 @@
      * @see #onPostResume
      * @see #onPause
      */
+    @CallSuper
     protected void onResume() {
         if (DEBUG_LIFECYCLE) Slog.v(TAG, "onResume " + this);
         getApplication().dispatchActivityResumed(this);
@@ -1241,6 +1246,7 @@
      *
      * @see #onResume
      */
+    @CallSuper
     protected void onPostResume() {
         final Window win = getWindow();
         if (win != null) win.makeActive();
@@ -1466,6 +1472,7 @@
      * @see #onSaveInstanceState
      * @see #onStop
      */
+    @CallSuper
     protected void onPause() {
         if (DEBUG_LIFECYCLE) Slog.v(TAG, "onPause " + this);
         getApplication().dispatchActivityPaused(this);
@@ -1541,17 +1548,35 @@
      * {@link Intent#ACTION_ASSIST} Intent with all of the context of the current
      * application.  You can override this method to place into the bundle anything
      * you would like to appear in the {@link Intent#EXTRA_ASSIST_CONTEXT} part
-     * of the assist Intent.  The default implementation automatically generates a
-     * {@link AssistData} from your activity and places it in to the Bundle; if you
-     * don't want your UI reported to the assistant, don't call this default
-     * implementation.
+     * of the assist Intent.
      *
      * <p>This function will be called after any global assist callbacks that had
      * been registered with {@link Application#registerOnProvideAssistDataListener
      * Application.registerOnProvideAssistDataListener}.
      */
     public void onProvideAssistData(Bundle data) {
-        data.putParcelable(AssistData.ASSIST_KEY, new AssistData(this));
+    }
+
+    /**
+     * This is called when the user is requesting an assist, to provide references
+     * to content related to the current activity.  Before being called, the
+     * {@code outContent} Intent is filled with the base Intent of the activity (the Intent
+     * returned by {@link #getIntent()}).  The Intent's extras are stripped of any types
+     * that are not valid for {@link PersistableBundle} or non-framework Parcelables, and
+     * the flags {@link Intent#FLAG_GRANT_WRITE_URI_PERMISSION} and
+     * {@link Intent#FLAG_GRANT_PERSISTABLE_URI_PERMISSION} are cleared from the Intent.
+     *
+     * <p>Custom implementation may adjust the content intent to better reflect the top-level
+     * context of the activity, and fill in its ClipData with additional content of
+     * interest that the user is currently viewing.  For example, an image gallery application
+     * that has launched in to an activity allowing the user to swipe through pictures should
+     * modify the intent to reference the current image they are looking it; such an
+     * application when showing a list of pictures should add a ClipData that has
+     * references to all of the pictures currently visible on screen.</p>
+     *
+     * @param outContent The assist content to return.
+     */
+    public void onProvideAssistContent(AssistContent outContent) {
     }
 
     /**
@@ -1572,6 +1597,7 @@
      * @see #onSaveInstanceState
      * @see #onDestroy
      */
+    @CallSuper
     protected void onStop() {
         if (DEBUG_LIFECYCLE) Slog.v(TAG, "onStop " + this);
         if (mActionBar != null) mActionBar.setShowHideAnimationEnabled(false);
@@ -1609,6 +1635,7 @@
      * @see #finish
      * @see #isFinishing
      */
+    @CallSuper
     protected void onDestroy() {
         if (DEBUG_LIFECYCLE) Slog.v(TAG, "onDestroy " + this);
         mCalled = true;
@@ -5589,6 +5616,7 @@
      * @see #requestVisibleBehind(boolean)
      * @see #onBackgroundVisibleBehindChanged(boolean)
      */
+    @CallSuper
     public void onVisibleBehindCanceled() {
         mCalled = true;
     }
@@ -5672,10 +5700,10 @@
     }
 
     /**
-     * Start an action mode.
+     * Start an action mode of the default type {@link ActionMode#TYPE_PRIMARY}.
      *
-     * @param callback Callback that will manage lifecycle events for this context mode
-     * @return The ContextMode that was started, or null if it was canceled
+     * @param callback Callback that will manage lifecycle events for this action mode
+     * @return The ActionMode that was started, or null if it was canceled
      *
      * @see ActionMode
      */
@@ -5685,6 +5713,20 @@
     }
 
     /**
+     * Start an action mode of the given type.
+     *
+     * @param callback Callback that will manage lifecycle events for this action mode
+     * @param type One of {@link ActionMode#TYPE_PRIMARY} or {@link ActionMode#TYPE_FLOATING}.
+     * @return The ActionMode that was started, or null if it was canceled
+     *
+     * @see ActionMode
+     */
+    @Nullable
+    public ActionMode startActionMode(ActionMode.Callback callback, int type) {
+        return mWindow.getDecorView().startActionMode(callback, type);
+    }
+
+    /**
      * Give the Activity a chance to control the UI for an action mode requested
      * by the system.
      *
@@ -5698,19 +5740,37 @@
     @Nullable
     @Override
     public ActionMode onWindowStartingActionMode(ActionMode.Callback callback) {
-        initWindowDecorActionBar();
-        if (mActionBar != null) {
-            return mActionBar.startActionMode(callback);
+        // Only Primary ActionModes are represented in the ActionBar.
+        if (mActionModeTypeStarting == ActionMode.TYPE_PRIMARY) {
+            initWindowDecorActionBar();
+            if (mActionBar != null) {
+                return mActionBar.startActionMode(callback);
+            }
         }
         return null;
     }
 
     /**
+     * {@inheritDoc}
+     */
+    @Nullable
+    @Override
+    public ActionMode onWindowStartingActionMode(ActionMode.Callback callback, int type) {
+        try {
+            mActionModeTypeStarting = type;
+            return onWindowStartingActionMode(callback);
+        } finally {
+            mActionModeTypeStarting = ActionMode.TYPE_PRIMARY;
+        }
+    }
+
+    /**
      * Notifies the Activity that an action mode has been started.
      * Activity subclasses overriding this method should call the superclass implementation.
      *
      * @param mode The new action mode.
      */
+    @CallSuper
     @Override
     public void onActionModeStarted(ActionMode mode) {
     }
@@ -5721,6 +5781,7 @@
      *
      * @param mode The action mode that just finished.
      */
+    @CallSuper
     @Override
     public void onActionModeFinished(ActionMode mode) {
     }
diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java
index c6ffef6..29b024ac 100644
--- a/core/java/android/app/ActivityManager.java
+++ b/core/java/android/app/ActivityManager.java
@@ -309,6 +309,27 @@
     /** @hide Process is being cached for later use and is empty. */
     public static final int PROCESS_STATE_CACHED_EMPTY = 13;
 
+    /** @hide requestType for assist context: only basic information. */
+    public static final int ASSIST_CONTEXT_BASIC = 0;
+
+    /** @hide requestType for assist context: generate full AssistStructure. */
+    public static final int ASSIST_CONTEXT_FULL = 1;
+
+    /**
+     * Lock task mode is not active.
+     */
+    public static final int LOCK_TASK_MODE_NONE = 0;
+
+    /**
+     * Full lock task mode is active.
+     */
+    public static final int LOCK_TASK_MODE_LOCKED = 1;
+
+    /**
+     * App pinning mode is active.
+     */
+    public static final int LOCK_TASK_MODE_PINNED = 2;
+
     Point mAppTaskThumbnailSize;
 
     /*package*/ ActivityManager(Context context, Handler handler) {
@@ -2684,12 +2705,25 @@
      * no new tasks can be created or switched to.
      *
      * @see Activity#startLockTask()
+     *
+     * @deprecated Use {@link #getLockTaskModeState} instead.
      */
     public boolean isInLockTaskMode() {
+        return getLockTaskModeState() != LOCK_TASK_MODE_NONE;
+    }
+
+    /**
+     * Return the current state of task locking. The three possible outcomes
+     * are {@link #LOCK_TASK_MODE_NONE}, {@link #LOCK_TASK_MODE_LOCKED}
+     * and {@link #LOCK_TASK_MODE_PINNED}.
+     *
+     * @see Activity#startLockTask()
+     */
+    public int getLockTaskModeState() {
         try {
-            return ActivityManagerNative.getDefault().isInLockTaskMode();
+            return ActivityManagerNative.getDefault().getLockTaskModeState();
         } catch (RemoteException e) {
-            return false;
+            return ActivityManager.LOCK_TASK_MODE_NONE;
         }
     }
 
diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java
index bb307bb..997f69d 100644
--- a/core/java/android/app/ActivityManagerNative.java
+++ b/core/java/android/app/ActivityManagerNative.java
@@ -2294,6 +2294,14 @@
             return true;
         }
 
+        case GET_LOCK_TASK_MODE_STATE_TRANSACTION: {
+            data.enforceInterface(IActivityManager.descriptor);
+            final int lockTaskModeState = getLockTaskModeState();
+            reply.writeNoException();
+            reply.writeInt(lockTaskModeState);
+            return true;
+        }
+
         case SET_TASK_DESCRIPTION_TRANSACTION: {
             data.enforceInterface(IActivityManager.descriptor);
             IBinder token = data.readStrongBinder();
@@ -2415,6 +2423,23 @@
             reply.writeNoException();
             return true;
         }
+
+        case SET_DUMP_HEAP_DEBUG_LIMIT_TRANSACTION: {
+            data.enforceInterface(IActivityManager.descriptor);
+            String procName = data.readString();
+            long maxMemSize = data.readLong();
+            setDumpHeapDebugLimit(procName, maxMemSize);
+            reply.writeNoException();
+            return true;
+        }
+
+        case DUMP_HEAP_FINISHED_TRANSACTION: {
+            data.enforceInterface(IActivityManager.descriptor);
+            String path = data.readString();
+            dumpHeapFinished(path);
+            reply.writeNoException();
+            return true;
+        }
         }
 
         return super.onTransact(code, data, reply, flags);
@@ -5420,6 +5445,19 @@
     }
 
     @Override
+    public int getLockTaskModeState() throws RemoteException {
+        Parcel data = Parcel.obtain();
+        Parcel reply = Parcel.obtain();
+        data.writeInterfaceToken(IActivityManager.descriptor);
+        mRemote.transact(GET_LOCK_TASK_MODE_STATE_TRANSACTION, data, reply, 0);
+        reply.readException();
+        int lockTaskModeState = reply.readInt();
+        data.recycle();
+        reply.recycle();
+        return lockTaskModeState;
+    }
+
+    @Override
     public void setTaskDescription(IBinder token, ActivityManager.TaskDescription values)
             throws RemoteException {
         Parcel data = Parcel.obtain();
@@ -5595,5 +5633,30 @@
         reply.recycle();
     }
 
+    @Override
+    public void setDumpHeapDebugLimit(String processName, long maxMemSize) throws RemoteException {
+        Parcel data = Parcel.obtain();
+        Parcel reply = Parcel.obtain();
+        data.writeInterfaceToken(IActivityManager.descriptor);
+        data.writeString(processName);
+        data.writeLong(maxMemSize);
+        mRemote.transact(SET_DUMP_HEAP_DEBUG_LIMIT_TRANSACTION, data, reply, 0);
+        reply.readException();
+        data.recycle();
+        reply.recycle();
+    }
+
+    @Override
+    public void dumpHeapFinished(String path) throws RemoteException {
+        Parcel data = Parcel.obtain();
+        Parcel reply = Parcel.obtain();
+        data.writeInterfaceToken(IActivityManager.descriptor);
+        data.writeString(path);
+        mRemote.transact(DUMP_HEAP_FINISHED_TRANSACTION, data, reply, 0);
+        reply.readException();
+        data.recycle();
+        reply.recycle();
+    }
+
     private IBinder mRemote;
 }
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 653b951..7b8ec74 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -121,7 +121,6 @@
 import java.util.Map;
 import java.util.Objects;
 import java.util.TimeZone;
-import java.util.regex.Pattern;
 
 import libcore.io.DropBox;
 import libcore.io.EventLogger;
@@ -160,7 +159,6 @@
     private static final boolean DEBUG_MEMORY_TRIM = false;
     private static final boolean DEBUG_PROVIDER = false;
     private static final long MIN_TIME_BETWEEN_GCS = 5*1000;
-    private static final Pattern PATTERN_SEMICOLON = Pattern.compile(";");
     private static final int SQLITE_MEM_RELEASED_EVENT_LOG_TAG = 75003;
     private static final int LOG_AM_ON_PAUSE_CALLED = 30021;
     private static final int LOG_AM_ON_RESUME_CALLED = 30022;
@@ -2521,6 +2519,17 @@
         if (r != null) {
             r.activity.getApplication().dispatchOnProvideAssistData(r.activity, data);
             r.activity.onProvideAssistData(data);
+            if (cmd.requestType == ActivityManager.ASSIST_CONTEXT_FULL) {
+                data.putParcelable(AssistStructure.ASSIST_KEY, new AssistStructure(r.activity));
+                AssistContent content = new AssistContent();
+                Intent intent = new Intent(r.activity.getIntent());
+                intent.setFlags(intent.getFlags() & ~(Intent.FLAG_GRANT_WRITE_URI_PERMISSION
+                        | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION));
+                intent.removeUnsafeExtras();
+                content.setIntent(intent);
+                r.activity.onProvideAssistContent(content);
+                data.putParcelable(AssistContent.ASSIST_KEY, content);
+            }
         }
         if (data.isEmpty()) {
             data = null;
@@ -4247,6 +4256,10 @@
         } else {
             Debug.dumpNativeHeap(dhd.fd.getFileDescriptor());
         }
+        try {
+            ActivityManagerNative.getDefault().dumpHeapFinished(dhd.path);
+        } catch (RemoteException e) {
+        }
     }
 
     final void handleDispatchPackageBroadcast(int cmd, String[] packages) {
@@ -4986,7 +4999,7 @@
 
     private ProviderClientRecord installProviderAuthoritiesLocked(IContentProvider provider,
             ContentProvider localProvider, IActivityManager.ContentProviderHolder holder) {
-        final String auths[] = PATTERN_SEMICOLON.split(holder.info.authority);
+        final String auths[] = holder.info.authority.split(";");
         final int userId = UserHandle.getUserId(holder.info.applicationInfo.uid);
 
         final ProviderClientRecord pcr = new ProviderClientRecord(
diff --git a/core/java/android/app/ActivityTransitionCoordinator.java b/core/java/android/app/ActivityTransitionCoordinator.java
index e3b27b5..2939322 100644
--- a/core/java/android/app/ActivityTransitionCoordinator.java
+++ b/core/java/android/app/ActivityTransitionCoordinator.java
@@ -206,7 +206,6 @@
     private ArrayList<GhostViewListeners> mGhostViewListeners =
             new ArrayList<GhostViewListeners>();
     private ArrayMap<View, Float> mOriginalAlphas = new ArrayMap<View, Float>();
-    final private ArrayList<View> mRootSharedElements = new ArrayList<View>();
     private ArrayList<Matrix> mSharedElementParentMatrices;
 
     public ActivityTransitionCoordinator(Window window,
@@ -253,17 +252,10 @@
                 final String name = sharedElements.keyAt(i);
                 if (isFirstRun && (view == null || !view.isAttachedToWindow() || name == null)) {
                     sharedElements.removeAt(i);
-                } else {
-                    if (!isNested(view, sharedElements)) {
-                        mSharedElementNames.add(name);
-                        mSharedElements.add(view);
-                        sharedElements.removeAt(i);
-                        if (isFirstRun) {
-                            // We need to keep track which shared elements are roots
-                            // and which are nested.
-                            mRootSharedElements.add(view);
-                        }
-                    }
+                } else if (!isNested(view, sharedElements)) {
+                    mSharedElementNames.add(name);
+                    mSharedElements.add(view);
+                    sharedElements.removeAt(i);
                 }
             }
             isFirstRun = false;
@@ -520,24 +512,9 @@
     }
 
     private void getSharedElementParentMatrix(View view, Matrix matrix) {
-        final boolean isNestedInOtherSharedElement = !mRootSharedElements.contains(view);
-        final boolean useParentMatrix;
-        if (isNestedInOtherSharedElement) {
-            useParentMatrix = true;
-        } else {
-            final int index = mSharedElementParentMatrices == null ? -1
-                    : mSharedElements.indexOf(view);
-            if (index < 0) {
-                useParentMatrix = true;
-            } else {
-                // The indices of mSharedElementParentMatrices matches the
-                // mSharedElement matrices.
-                Matrix parentMatrix = mSharedElementParentMatrices.get(index);
-                matrix.set(parentMatrix);
-                useParentMatrix = false;
-            }
-        }
-        if (useParentMatrix) {
+        final int index = mSharedElementParentMatrices == null ? -1
+                : mSharedElements.indexOf(view);
+        if (index < 0) {
             matrix.reset();
             ViewParent viewParent = view.getParent();
             if (viewParent instanceof ViewGroup) {
@@ -545,6 +522,11 @@
                 ViewGroup parent = (ViewGroup) viewParent;
                 parent.transformMatrixToLocal(matrix);
             }
+        } else {
+            // The indices of mSharedElementParentMatrices matches the
+            // mSharedElement matrices.
+            Matrix parentMatrix = mSharedElementParentMatrices.get(index);
+            matrix.set(parentMatrix);
         }
     }
 
@@ -701,7 +683,6 @@
         mResultReceiver = null;
         mPendingTransition = null;
         mListener = null;
-        mRootSharedElements.clear();
         mSharedElementParentMatrices = null;
     }
 
@@ -817,9 +798,12 @@
         ViewGroup decor = getDecor();
         if (decor != null) {
             boolean moveWithParent = moveSharedElementWithParent();
+            Matrix tempMatrix = new Matrix();
             for (int i = 0; i < numSharedElements; i++) {
                 View view = mSharedElements.get(i);
-                GhostView.addGhost(view, decor);
+                tempMatrix.reset();
+                mSharedElementParentMatrices.get(i).invert(tempMatrix);
+                GhostView.addGhost(view, decor, tempMatrix);
                 ViewGroup parent = (ViewGroup) view.getParent();
                 if (moveWithParent && !isInTransitionGroup(parent, decor)) {
                     GhostViewListeners listener = new GhostViewListeners(view, parent, decor);
diff --git a/core/java/android/app/ActivityTransitionState.java b/core/java/android/app/ActivityTransitionState.java
index a2bfa4e..5c6fe46 100644
--- a/core/java/android/app/ActivityTransitionState.java
+++ b/core/java/android/app/ActivityTransitionState.java
@@ -18,7 +18,6 @@
 import android.os.Bundle;
 import android.os.ResultReceiver;
 import android.transition.Transition;
-import android.util.ArrayMap;
 import android.util.SparseArray;
 import android.view.View;
 import android.view.ViewGroup;
diff --git a/core/java/android/app/ActivityView.java b/core/java/android/app/ActivityView.java
index 6d455b1..2cb27b0 100644
--- a/core/java/android/app/ActivityView.java
+++ b/core/java/android/app/ActivityView.java
@@ -16,6 +16,8 @@
 
 package android.app;
 
+import static android.app.ActivityManager.START_CANCELED;
+
 import android.content.Context;
 import android.content.ContextWrapper;
 import android.content.IIntentSender;
@@ -23,6 +25,7 @@
 import android.content.IntentSender;
 import android.graphics.SurfaceTexture;
 import android.os.IBinder;
+import android.os.OperationCanceledException;
 import android.os.RemoteException;
 import android.util.AttributeSet;
 import android.util.DisplayMetrics;
@@ -55,10 +58,6 @@
     private int mLastVisibility;
     private ActivityViewCallback mActivityViewCallback;
 
-    // Only one IIntentSender or Intent may be queued at a time. Most recent one wins.
-    IIntentSender mQueuedPendingIntent;
-    Intent mQueuedIntent;
-
     public ActivityView(Context context) {
         this(context, null);
     }
@@ -167,14 +166,13 @@
         if (mActivityContainer == null) {
             throw new IllegalStateException("Attempt to call startActivity after release");
         }
+        if (mSurface == null) {
+            throw new IllegalStateException("Surface not yet created.");
+        }
         if (DEBUG) Log.v(TAG, "startActivity(): intent=" + intent + " " +
                 (isAttachedToDisplay() ? "" : "not") + " attached");
-        if (mSurface != null) {
-            mActivityContainer.startActivity(intent);
-        } else {
-            mActivityContainer.checkEmbeddedAllowed(intent);
-            mQueuedIntent = intent;
-            mQueuedPendingIntent = null;
+        if (mActivityContainer.startActivity(intent) == START_CANCELED) {
+            throw new OperationCanceledException();
         }
     }
 
@@ -182,15 +180,14 @@
         if (mActivityContainer == null) {
             throw new IllegalStateException("Attempt to call startActivity after release");
         }
+        if (mSurface == null) {
+            throw new IllegalStateException("Surface not yet created.");
+        }
         if (DEBUG) Log.v(TAG, "startActivityIntentSender(): intentSender=" + intentSender + " " +
                 (isAttachedToDisplay() ? "" : "not") + " attached");
         final IIntentSender iIntentSender = intentSender.getTarget();
-        if (mSurface != null) {
-            mActivityContainer.startActivityIntentSender(iIntentSender);
-        } else {
-            mActivityContainer.checkEmbeddedAllowedIntentSender(iIntentSender);
-            mQueuedPendingIntent = iIntentSender;
-            mQueuedIntent = null;
+        if (mActivityContainer.startActivityIntentSender(iIntentSender) == START_CANCELED) {
+            throw new OperationCanceledException();
         }
     }
 
@@ -198,15 +195,14 @@
         if (mActivityContainer == null) {
             throw new IllegalStateException("Attempt to call startActivity after release");
         }
+        if (mSurface == null) {
+            throw new IllegalStateException("Surface not yet created.");
+        }
         if (DEBUG) Log.v(TAG, "startActivityPendingIntent(): PendingIntent=" + pendingIntent + " "
                 + (isAttachedToDisplay() ? "" : "not") + " attached");
         final IIntentSender iIntentSender = pendingIntent.getTarget();
-        if (mSurface != null) {
-            mActivityContainer.startActivityIntentSender(iIntentSender);
-        } else {
-            mActivityContainer.checkEmbeddedAllowedIntentSender(iIntentSender);
-            mQueuedPendingIntent = iIntentSender;
-            mQueuedIntent = null;
+        if (mActivityContainer.startActivityIntentSender(iIntentSender) == START_CANCELED) {
+            throw new OperationCanceledException();
         }
     }
 
@@ -243,26 +239,24 @@
             mSurface = null;
             throw new RuntimeException("ActivityView: Unable to create ActivityContainer. " + e);
         }
-
-        if (DEBUG) Log.v(TAG, "attachToSurfaceWhenReady: " + (mQueuedIntent != null ||
-                mQueuedPendingIntent != null ? "" : "no") + " queued intent");
-        if (mQueuedIntent != null) {
-            mActivityContainer.startActivity(mQueuedIntent);
-            mQueuedIntent = null;
-        } else if (mQueuedPendingIntent != null) {
-            mActivityContainer.startActivityIntentSender(mQueuedPendingIntent);
-            mQueuedPendingIntent = null;
-        }
     }
 
     /**
      * Set the callback to use to report certain state changes.
-     * @param callback The callback to report events to.
+     *
+     * Note: If the surface has been created prior to this call being made, then
+     * ActivityViewCallback.onSurfaceAvailable will be called from within setCallback.
+     *
+     *  @param callback The callback to report events to.
      *
      * @see ActivityViewCallback
      */
     public void setCallback(ActivityViewCallback callback) {
         mActivityViewCallback = callback;
+
+        if (mSurface != null) {
+            mActivityViewCallback.onSurfaceAvailable(this);
+        }
     }
 
     public static abstract class ActivityViewCallback {
@@ -272,6 +266,16 @@
          * have at most one callback registered.
          */
         public abstract void onAllActivitiesComplete(ActivityView view);
+        /**
+         * Called when the surface is ready to be drawn to. Calling startActivity prior to this
+         * callback will result in an IllegalStateException.
+         */
+        public abstract void onSurfaceAvailable(ActivityView view);
+        /**
+         * Called when the surface has been removed. Calling startActivity after this callback
+         * will result in an IllegalStateException.
+         */
+        public abstract void onSurfaceDestroyed(ActivityView view);
     }
 
     private class ActivityViewSurfaceTextureListener implements SurfaceTextureListener {
@@ -286,6 +290,9 @@
             mWidth = width;
             mHeight = height;
             attachToSurfaceWhenReady();
+            if (mActivityViewCallback != null) {
+                mActivityViewCallback.onSurfaceAvailable(ActivityView.this);
+            }
         }
 
         @Override
@@ -311,6 +318,9 @@
                 throw new RuntimeException(
                         "ActivityView: Unable to set surface of ActivityContainer. " + e);
             }
+            if (mActivityViewCallback != null) {
+                mActivityViewCallback.onSurfaceDestroyed(ActivityView.this);
+            }
             return true;
         }
 
@@ -325,7 +335,7 @@
         private final WeakReference<ActivityView> mActivityViewWeakReference;
 
         ActivityContainerCallback(ActivityView activityView) {
-            mActivityViewWeakReference = new WeakReference<ActivityView>(activityView);
+            mActivityViewWeakReference = new WeakReference<>(activityView);
         }
 
         @Override
@@ -391,24 +401,6 @@
             }
         }
 
-        void checkEmbeddedAllowed(Intent intent) {
-            try {
-                mIActivityContainer.checkEmbeddedAllowed(intent);
-            } catch (RemoteException e) {
-                throw new RuntimeException(
-                        "ActivityView: Unable to startActivity from Intent. " + e);
-            }
-        }
-
-        void checkEmbeddedAllowedIntentSender(IIntentSender intentSender) {
-            try {
-                mIActivityContainer.checkEmbeddedAllowedIntentSender(intentSender);
-            } catch (RemoteException e) {
-                throw new RuntimeException(
-                        "ActivityView: Unable to startActivity from IntentSender. " + e);
-            }
-        }
-
         int getDisplayId() {
             try {
                 return mIActivityContainer.getDisplayId();
diff --git a/core/java/android/app/AlarmManager.java b/core/java/android/app/AlarmManager.java
index 2c596e5..5dd02ae 100644
--- a/core/java/android/app/AlarmManager.java
+++ b/core/java/android/app/AlarmManager.java
@@ -26,7 +26,6 @@
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.os.WorkSource;
-import android.os.Parcelable.Creator;
 
 /**
  * This class provides access to the system alarm services.  These allow you
diff --git a/core/java/android/app/AppImportanceMonitor.java b/core/java/android/app/AppImportanceMonitor.java
index c760e1e..e0d0d8d 100644
--- a/core/java/android/app/AppImportanceMonitor.java
+++ b/core/java/android/app/AppImportanceMonitor.java
@@ -22,8 +22,6 @@
 import android.os.Message;
 import android.os.RemoteException;
 import android.util.SparseArray;
-import android.util.SparseIntArray;
-
 import java.util.List;
 
 /**
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java
index 95870cf..4bd2332 100644
--- a/core/java/android/app/AppOpsManager.java
+++ b/core/java/android/app/AppOpsManager.java
@@ -206,8 +206,10 @@
     public static final int OP_PROJECT_MEDIA = 46;
     /** @hide Activate a VPN connection without user intervention. */
     public static final int OP_ACTIVATE_VPN = 47;
+    /** @hide Access the WallpaperManagerAPI to write wallpapers. */
+    public static final int OP_WRITE_WALLPAPER = 48;
     /** @hide */
-    public static final int _NUM_OP = 48;
+    public static final int _NUM_OP = 49;
 
     /** Access to coarse location information. */
     public static final String OPSTR_COARSE_LOCATION =
@@ -285,6 +287,7 @@
             OP_TOAST_WINDOW,
             OP_PROJECT_MEDIA,
             OP_ACTIVATE_VPN,
+            OP_WRITE_WALLPAPER,
     };
 
     /**
@@ -340,6 +343,7 @@
             null,
             null,
             OPSTR_ACTIVATE_VPN,
+            null,
     };
 
     /**
@@ -395,6 +399,7 @@
             "TOAST_WINDOW",
             "PROJECT_MEDIA",
             "ACTIVATE_VPN",
+            "WRITE_WALLPAPER",
     };
 
     /**
@@ -450,6 +455,7 @@
             null, // no permission for displaying toasts
             null, // no permission for projecting media
             null, // no permission for activating vpn
+            null, // no permission for supporting wallpaper
     };
 
     /**
@@ -506,6 +512,7 @@
             UserManager.DISALLOW_CREATE_WINDOWS, // TOAST_WINDOW
             null, //PROJECT_MEDIA
             UserManager.DISALLOW_CONFIG_VPN, // ACTIVATE_VPN
+            UserManager.DISALLOW_WALLPAPER, // WRITE_WALLPAPER
     };
 
     /**
@@ -561,6 +568,7 @@
             true, //TOAST_WINDOW
             false, //PROJECT_MEDIA
             false, //ACTIVATE_VPN
+            false, //WALLPAPER
     };
 
     /**
@@ -615,6 +623,7 @@
             AppOpsManager.MODE_ALLOWED,
             AppOpsManager.MODE_IGNORED, // OP_PROJECT_MEDIA
             AppOpsManager.MODE_IGNORED, // OP_ACTIVATE_VPN
+            AppOpsManager.MODE_ALLOWED,
     };
 
     /**
@@ -673,6 +682,7 @@
             false,
             false,
             false,
+            false,
     };
 
     private static HashMap<String, Integer> sOpStrToOp = new HashMap<String, Integer>();
diff --git a/core/java/android/app/AssistContent.aidl b/core/java/android/app/AssistContent.aidl
new file mode 100644
index 0000000..a6321bf
--- /dev/null
+++ b/core/java/android/app/AssistContent.aidl
@@ -0,0 +1,19 @@
+/**
+ * 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;
+
+parcelable AssistContent;
diff --git a/core/java/android/app/AssistContent.java b/core/java/android/app/AssistContent.java
new file mode 100644
index 0000000..ace4af7
--- /dev/null
+++ b/core/java/android/app/AssistContent.java
@@ -0,0 +1,124 @@
+/*
+ * 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;
+
+import android.content.ClipData;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/**
+ * Holds information about the content an application is viewing, to hand to an
+ * assistant at the user's request.  This is filled in by
+ * {@link Activity#onProvideAssistContent Activity.onProvideAssistContent}.
+ */
+public class AssistContent implements Parcelable {
+    private Intent mIntent;
+    private ClipData mClipData;
+
+    /**
+     * Key name this data structure is stored in the Bundle generated by
+     * {@link Activity#onProvideAssistData}.
+     */
+    public static final String ASSIST_KEY = "android:assist_content";
+
+    /**
+     * Retrieve the framework-generated AssistContent that is stored within
+     * the Bundle filled in by {@link Activity#onProvideAssistContent}.
+     */
+    public static AssistContent getAssistContent(Bundle assistBundle) {
+        return assistBundle.getParcelable(ASSIST_KEY);
+    }
+
+    public AssistContent() {
+    }
+
+    /**
+     * Sets the Intent associated with the content, describing the current top-level context of
+     * the activity.  If this contains a reference to a piece of data related to the activity,
+     * be sure to set {@link Intent#FLAG_GRANT_READ_URI_PERMISSION} so the accessibilty
+     * service can access it.
+     */
+    public void setIntent(Intent intent) {
+        mIntent = intent;
+    }
+
+    /**
+     * Return the current {@link #setIntent}, which you can modify in-place.
+     */
+    public Intent getIntent() {
+        return mIntent;
+    }
+
+    /**
+     * Optional additional content items that are involved with
+     * the current UI.  Access to this content will be granted to the assistant as if you
+     * are sending it through an Intent with {@link Intent#FLAG_GRANT_READ_URI_PERMISSION}.
+     */
+    public void setClipData(ClipData clip) {
+        mClipData = clip;
+    }
+
+    /**
+     * Return the current {@link #setClipData}, which you can modify in-place.
+     */
+    public ClipData getClipData() {
+        return mClipData;
+    }
+
+    AssistContent(Parcel in) {
+        if (in.readInt() != 0) {
+            mIntent = Intent.CREATOR.createFromParcel(in);
+        }
+        if (in.readInt() != 0) {
+            mClipData = ClipData.CREATOR.createFromParcel(in);
+        }
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        if (mIntent != null) {
+            dest.writeInt(1);
+            mIntent.writeToParcel(dest, flags);
+        } else {
+            dest.writeInt(0);
+        }
+        if (mClipData != null) {
+            dest.writeInt(1);
+            mClipData.writeToParcel(dest, flags);
+        } else {
+            dest.writeInt(0);
+        }
+    }
+
+    public static final Parcelable.Creator<AssistContent> CREATOR
+            = new Parcelable.Creator<AssistContent>() {
+        public AssistContent createFromParcel(Parcel in) {
+            return new AssistContent(in);
+        }
+
+        public AssistContent[] newArray(int size) {
+            return new AssistContent[size];
+        }
+    };
+}
diff --git a/core/java/android/app/AssistData.java b/core/java/android/app/AssistData.java
deleted file mode 100644
index 7b5eb6d..0000000
--- a/core/java/android/app/AssistData.java
+++ /dev/null
@@ -1,531 +0,0 @@
-/*
- * 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;
-
-import android.content.ComponentName;
-import android.graphics.Rect;
-import android.os.Bundle;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.util.Log;
-import android.view.View;
-import android.view.ViewAssistData;
-import android.view.ViewGroup;
-import android.view.ViewRootImpl;
-import android.view.WindowManagerGlobal;
-import android.widget.Checkable;
-
-import java.util.ArrayList;
-
-/**
- * Assist data automatically created by the platform's implementation
- * of {@link Activity#onProvideAssistData}.  Retrieve it from the assist
- * data with {@link #getAssistData(android.os.Bundle)}.
- */
-final public class AssistData implements Parcelable {
-    static final String TAG = "AssistData";
-
-    /**
-     * Key name this data structure is stored in the Bundle generated by
-     * {@link Activity#onProvideAssistData}.
-     */
-    public static final String ASSIST_KEY = "android:assist";
-
-    final ComponentName mActivityComponent;
-
-    final ArrayList<ViewNodeImpl> mRootViews = new ArrayList<>();
-
-    ViewAssistDataImpl mTmpViewAssistDataImpl = new ViewAssistDataImpl();
-    Bundle mTmpExtras = new Bundle();
-
-    final static class ViewAssistDataImpl extends ViewAssistData {
-        CharSequence mText;
-        int mTextSelectionStart = -1;
-        int mTextSelectionEnd = -1;
-        CharSequence mHint;
-
-        @Override
-        public void setText(CharSequence text) {
-            mText = text;
-            mTextSelectionStart = mTextSelectionEnd = -1;
-        }
-
-        @Override
-        public void setText(CharSequence text, int selectionStart, int selectionEnd) {
-            mText = text;
-            mTextSelectionStart = selectionStart;
-            mTextSelectionEnd = selectionEnd;
-        }
-
-        @Override
-        public void setHint(CharSequence hint) {
-            mHint = hint;
-        }
-
-        @Override
-        public CharSequence getText() {
-            return mText;
-        }
-
-        @Override
-        public int getTextSelectionStart() {
-            return mTextSelectionStart;
-        }
-
-        @Override
-        public int getTextSelectionEnd() {
-            return mTextSelectionEnd;
-        }
-
-        @Override
-        public CharSequence getHint() {
-            return mHint;
-        }
-    }
-
-    final static class ViewNodeTextImpl {
-        final String mText;
-        final int mTextSelectionStart;
-        final int mTextSelectionEnd;
-        final String mHint;
-
-        ViewNodeTextImpl(ViewAssistDataImpl data) {
-            mText = data.mText != null ? data.mText.toString() : null;
-            mTextSelectionStart = data.mTextSelectionStart;
-            mTextSelectionEnd = data.mTextSelectionEnd;
-            mHint = data.mHint != null ? data.mHint.toString() : null;
-        }
-
-        ViewNodeTextImpl(Parcel in) {
-            mText = in.readString();
-            mTextSelectionStart = in.readInt();
-            mTextSelectionEnd = in.readInt();
-            mHint = in.readString();
-        }
-
-        void writeToParcel(Parcel out) {
-            out.writeString(mText);
-            out.writeInt(mTextSelectionStart);
-            out.writeInt(mTextSelectionEnd);
-            out.writeString(mHint);
-        }
-    }
-
-    final static class ViewNodeImpl {
-        final int mX;
-        final int mY;
-        final int mScrollX;
-        final int mScrollY;
-        final int mWidth;
-        final int mHeight;
-
-        static final int FLAGS_DISABLED = 0x00000001;
-        static final int FLAGS_VISIBILITY_MASK = View.VISIBLE|View.INVISIBLE|View.GONE;
-        static final int FLAGS_FOCUSABLE = 0x00000010;
-        static final int FLAGS_FOCUSED = 0x00000020;
-        static final int FLAGS_ACCESSIBILITY_FOCUSED = 0x04000000;
-        static final int FLAGS_SELECTED = 0x00000040;
-        static final int FLAGS_ACTIVATED = 0x40000000;
-        static final int FLAGS_CHECKABLE = 0x00000100;
-        static final int FLAGS_CHECKED = 0x00000200;
-        static final int FLAGS_CLICKABLE = 0x00004000;
-        static final int FLAGS_LONG_CLICKABLE = 0x00200000;
-
-        final int mFlags;
-
-        final String mClassName;
-        final String mContentDescription;
-
-        final ViewNodeTextImpl mText;
-        final Bundle mExtras;
-
-        final ViewNodeImpl[] mChildren;
-
-        ViewNodeImpl(AssistData assistData, View view, int left, int top,
-                CharSequence contentDescription) {
-            mX = left;
-            mY = top;
-            mScrollX = view.getScrollX();
-            mScrollY = view.getScrollY();
-            mWidth = view.getWidth();
-            mHeight = view.getHeight();
-            int flags = view.getVisibility();
-            if (!view.isEnabled()) {
-                flags |= FLAGS_DISABLED;
-            }
-            if (!view.isClickable()) {
-                flags |= FLAGS_CLICKABLE;
-            }
-            if (!view.isFocusable()) {
-                flags |= FLAGS_FOCUSABLE;
-            }
-            if (!view.isFocused()) {
-                flags |= FLAGS_FOCUSED;
-            }
-            if (!view.isAccessibilityFocused()) {
-                flags |= FLAGS_ACCESSIBILITY_FOCUSED;
-            }
-            if (!view.isSelected()) {
-                flags |= FLAGS_SELECTED;
-            }
-            if (!view.isActivated()) {
-                flags |= FLAGS_ACTIVATED;
-            }
-            if (!view.isLongClickable()) {
-                flags |= FLAGS_LONG_CLICKABLE;
-            }
-            if (view instanceof Checkable) {
-                flags |= FLAGS_CHECKABLE;
-                if (((Checkable)view).isChecked()) {
-                    flags |= FLAGS_CHECKED;
-                }
-            }
-            mFlags = flags;
-            mClassName = view.getAccessibilityClassName().toString();
-            mContentDescription = contentDescription != null ? contentDescription.toString() : null;
-            final ViewAssistDataImpl viewData = assistData.mTmpViewAssistDataImpl;
-            final Bundle extras = assistData.mTmpExtras;
-            view.onProvideAssistData(viewData, extras);
-            if (viewData.mText != null || viewData.mHint != null) {
-                mText = new ViewNodeTextImpl(viewData);
-                assistData.mTmpViewAssistDataImpl = new ViewAssistDataImpl();
-            } else {
-                mText = null;
-            }
-            if (!extras.isEmpty()) {
-                mExtras = extras;
-                assistData.mTmpExtras = new Bundle();
-            } else {
-                mExtras = null;
-            }
-            if (view instanceof ViewGroup) {
-                ViewGroup vg = (ViewGroup)view;
-                final int NCHILDREN = vg.getChildCount();
-                if (NCHILDREN > 0) {
-                    mChildren = new ViewNodeImpl[NCHILDREN];
-                    for (int i=0; i<NCHILDREN; i++) {
-                        mChildren[i] = new ViewNodeImpl(assistData, vg.getChildAt(i));
-                    }
-                } else {
-                    mChildren = null;
-                }
-            } else {
-                mChildren = null;
-            }
-        }
-
-        ViewNodeImpl(AssistData assistData, View view) {
-            this(assistData, view, view.getLeft(), view.getTop(), view.getContentDescription());
-        }
-
-        ViewNodeImpl(Parcel in) {
-            mX = in.readInt();
-            mY = in.readInt();
-            mScrollX = in.readInt();
-            mScrollY = in.readInt();
-            mWidth = in.readInt();
-            mHeight = in.readInt();
-            mFlags = in.readInt();
-            mClassName = in.readString();
-            mContentDescription = in.readString();
-            if (in.readInt() != 0) {
-                mText = new ViewNodeTextImpl(in);
-            } else {
-                mText = null;
-            }
-            mExtras = in.readBundle();
-            final int NCHILDREN = in.readInt();
-            if (NCHILDREN > 0) {
-                mChildren = new ViewNodeImpl[NCHILDREN];
-                for (int i=0; i<NCHILDREN; i++) {
-                    mChildren[i] = new ViewNodeImpl(in);
-                }
-            } else {
-                mChildren = null;
-            }
-        }
-
-        void writeToParcel(Parcel out) {
-            out.writeInt(mX);
-            out.writeInt(mY);
-            out.writeInt(mScrollX);
-            out.writeInt(mScrollY);
-            out.writeInt(mWidth);
-            out.writeInt(mHeight);
-            out.writeInt(mFlags);
-            out.writeString(mClassName);
-            out.writeString(mContentDescription);
-            if (mText != null) {
-                out.writeInt(1);
-                mText.writeToParcel(out);
-            } else {
-                out.writeInt(0);
-            }
-            out.writeBundle(mExtras);
-            if (mChildren != null) {
-                final int NCHILDREN = mChildren.length;
-                out.writeInt(NCHILDREN);
-                for (int i=0; i<NCHILDREN; i++) {
-                    mChildren[i].writeToParcel(out);
-                }
-            } else {
-                out.writeInt(0);
-            }
-        }
-    }
-
-    /**
-     * Provides access to information about a single view in the assist data.
-     */
-    static public class ViewNode {
-        ViewNodeImpl mImpl;
-
-        public ViewNode() {
-        }
-
-        public int getLeft() {
-            return mImpl.mX;
-        }
-
-        public int getTop() {
-            return mImpl.mY;
-        }
-
-        public int getScrollX() {
-            return mImpl.mScrollX;
-        }
-
-        public int getScrollY() {
-            return mImpl.mScrollY;
-        }
-
-        public int getWidth() {
-            return mImpl.mWidth;
-        }
-
-        public int getHeight() {
-            return mImpl.mHeight;
-        }
-
-        public int getVisibility() {
-            return mImpl.mFlags&ViewNodeImpl.FLAGS_VISIBILITY_MASK;
-        }
-
-        public boolean isEnabled() {
-            return (mImpl.mFlags&ViewNodeImpl.FLAGS_DISABLED) == 0;
-        }
-
-        public boolean isClickable() {
-            return (mImpl.mFlags&ViewNodeImpl.FLAGS_CLICKABLE) != 0;
-        }
-
-        public boolean isFocusable() {
-            return (mImpl.mFlags&ViewNodeImpl.FLAGS_FOCUSABLE) != 0;
-        }
-
-        public boolean isFocused() {
-            return (mImpl.mFlags&ViewNodeImpl.FLAGS_FOCUSED) != 0;
-        }
-
-        public boolean isAccessibilityFocused() {
-            return (mImpl.mFlags&ViewNodeImpl.FLAGS_ACCESSIBILITY_FOCUSED) != 0;
-        }
-
-        public boolean isCheckable() {
-            return (mImpl.mFlags&ViewNodeImpl.FLAGS_CHECKABLE) != 0;
-        }
-
-        public boolean isChecked() {
-            return (mImpl.mFlags&ViewNodeImpl.FLAGS_CHECKED) != 0;
-        }
-
-        public boolean isSelected() {
-            return (mImpl.mFlags&ViewNodeImpl.FLAGS_SELECTED) != 0;
-        }
-
-        public boolean isActivated() {
-            return (mImpl.mFlags&ViewNodeImpl.FLAGS_ACTIVATED) != 0;
-        }
-
-        public boolean isLongClickable() {
-            return (mImpl.mFlags&ViewNodeImpl.FLAGS_LONG_CLICKABLE) != 0;
-        }
-
-        public String getClassName() {
-            return mImpl.mClassName;
-        }
-
-        public String getContentDescription() {
-            return mImpl.mContentDescription;
-        }
-
-        public String getText() {
-            return mImpl.mText != null ? mImpl.mText.mText : null;
-        }
-
-        public int getTextSelectionStart() {
-            return mImpl.mText != null ? mImpl.mText.mTextSelectionStart : -1;
-        }
-
-        public int getTextSelectionEnd() {
-            return mImpl.mText != null ? mImpl.mText.mTextSelectionEnd : -1;
-        }
-
-        public String getHint() {
-            return mImpl.mText != null ? mImpl.mText.mHint : null;
-        }
-
-        public Bundle getExtras() {
-            return mImpl.mExtras;
-        }
-
-        public int getChildCount() {
-            return mImpl.mChildren != null ? mImpl.mChildren.length : 0;
-        }
-
-        public void getChildAt(int index, ViewNode outNode) {
-            outNode.mImpl = mImpl.mChildren[index];
-        }
-    }
-
-    AssistData(Activity activity) {
-        mActivityComponent = activity.getComponentName();
-        ArrayList<ViewRootImpl> views = WindowManagerGlobal.getInstance().getRootViews(
-                activity.getActivityToken());
-        for (int i=0; i<views.size(); i++) {
-            ViewRootImpl root = views.get(i);
-            View view = root.getView();
-            Rect rect = new Rect();
-            view.getBoundsOnScreen(rect);
-            CharSequence title = root.getTitle();
-            mRootViews.add(new ViewNodeImpl(this, view, rect.left, rect.top,
-                    title != null ? title : view.getContentDescription()));
-        }
-    }
-
-    AssistData(Parcel in) {
-        mActivityComponent = ComponentName.readFromParcel(in);
-        final int N = in.readInt();
-        for (int i=0; i<N; i++) {
-            mRootViews.add(new ViewNodeImpl(in));
-        }
-        //dump();
-    }
-
-    /** @hide */
-    public void dump() {
-        Log.i(TAG, "Activity: " + mActivityComponent.flattenToShortString());
-        ViewNode node = new ViewNode();
-        final int N = getWindowCount();
-        for (int i=0; i<N; i++) {
-            Log.i(TAG, "Window #" + i + ":");
-            getWindowAt(i, node);
-            dump("  ", node);
-        }
-    }
-
-    void dump(String prefix, ViewNode node) {
-        Log.i(TAG, prefix + "View [" + node.getLeft() + "," + node.getTop()
-                + " " + node.getWidth() + "x" + node.getHeight() + "]" + " " + node.getClassName());
-        int scrollX = node.getScrollX();
-        int scrollY = node.getScrollY();
-        if (scrollX != 0 || scrollY != 0) {
-            Log.i(TAG, prefix + "  Scroll: " + scrollX + "," + scrollY);
-        }
-        String contentDescription = node.getContentDescription();
-        if (contentDescription != null) {
-            Log.i(TAG, prefix + "  Content description: " + contentDescription);
-        }
-        String text = node.getText();
-        if (text != null) {
-            Log.i(TAG, prefix + "  Text (sel " + node.getTextSelectionStart() + "-"
-                    + node.getTextSelectionEnd() + "): " + text);
-        }
-        String hint = node.getHint();
-        if (hint != null) {
-            Log.i(TAG, prefix + "  Hint: " + hint);
-        }
-        Bundle extras = node.getExtras();
-        if (extras != null) {
-            Log.i(TAG, prefix + "  Extras: " + extras);
-        }
-        final int NCHILDREN = node.getChildCount();
-        if (NCHILDREN > 0) {
-            Log.i(TAG, prefix + "  Children:");
-            String cprefix = prefix + "    ";
-            ViewNode cnode = new ViewNode();
-            for (int i=0; i<NCHILDREN; i++) {
-                node.getChildAt(i, cnode);
-                dump(cprefix, cnode);
-            }
-        }
-    }
-
-    /**
-     * Retrieve the framework-generated AssistData that is stored within
-     * the Bundle filled in by {@link Activity#onProvideAssistData}.
-     */
-    public static AssistData getAssistData(Bundle assistBundle) {
-        return assistBundle.getParcelable(ASSIST_KEY);
-    }
-
-    public ComponentName getActivityComponent() {
-        return mActivityComponent;
-    }
-
-    /**
-     * Return the number of window contents that have been collected in this assist data.
-     */
-    public int getWindowCount() {
-        return mRootViews.size();
-    }
-
-    /**
-     * Return the root view for one of the windows in the assist data.
-     * @param index Which window to retrieve, may be 0 to {@link #getWindowCount()}-1.
-     * @param outNode Node in which to place the window's root view.
-     */
-    public void getWindowAt(int index, ViewNode outNode) {
-        outNode.mImpl = mRootViews.get(index);
-    }
-
-    public int describeContents() {
-        return 0;
-    }
-
-    public void writeToParcel(Parcel out, int flags) {
-        int start = out.dataPosition();
-        ComponentName.writeToParcel(mActivityComponent, out);
-        final int N = mRootViews.size();
-        out.writeInt(N);
-        for (int i=0; i<N; i++) {
-            mRootViews.get(i).writeToParcel(out);
-        }
-        Log.i(TAG, "Flattened assist data: " + (out.dataPosition() - start) + " bytes");
-    }
-
-    public static final Parcelable.Creator<AssistData> CREATOR
-            = new Parcelable.Creator<AssistData>() {
-        public AssistData createFromParcel(Parcel in) {
-            return new AssistData(in);
-        }
-
-        public AssistData[] newArray(int size) {
-            return new AssistData[size];
-        }
-    };
-}
diff --git a/core/java/android/app/AssistStructure.aidl b/core/java/android/app/AssistStructure.aidl
new file mode 100644
index 0000000..07fb2453
--- /dev/null
+++ b/core/java/android/app/AssistStructure.aidl
@@ -0,0 +1,19 @@
+/**
+ * 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;
+
+parcelable AssistStructure;
diff --git a/core/java/android/app/AssistStructure.java b/core/java/android/app/AssistStructure.java
new file mode 100644
index 0000000..25153fc
--- /dev/null
+++ b/core/java/android/app/AssistStructure.java
@@ -0,0 +1,618 @@
+/*
+ * 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;
+
+import android.content.ComponentName;
+import android.graphics.Paint;
+import android.graphics.Rect;
+import android.graphics.Typeface;
+import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.os.PooledStringReader;
+import android.os.PooledStringWriter;
+import android.text.TextPaint;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.View;
+import android.view.ViewAssistStructure;
+import android.view.ViewGroup;
+import android.view.ViewRootImpl;
+import android.view.WindowManagerGlobal;
+import android.widget.Checkable;
+
+import java.util.ArrayList;
+
+/**
+ * Assist data automatically created by the platform's implementation
+ * of {@link Activity#onProvideAssistData}.  Retrieve it from the assist
+ * data with {@link #getAssistStructure(android.os.Bundle)}.
+ */
+final public class AssistStructure implements Parcelable {
+    static final String TAG = "AssistStructure";
+
+    /**
+     * Key name this data structure is stored in the Bundle generated by
+     * {@link Activity#onProvideAssistData}.
+     */
+    public static final String ASSIST_KEY = "android:assist_structure";
+
+    final ComponentName mActivityComponent;
+
+    final ArrayList<ViewNodeImpl> mRootViews = new ArrayList<>();
+
+    ViewAssistStructureImpl mTmpViewAssistStructureImpl = new ViewAssistStructureImpl();
+    Bundle mTmpExtras = new Bundle();
+
+    final static class ViewAssistStructureImpl extends ViewAssistStructure {
+        CharSequence mText;
+        int mTextSelectionStart = -1;
+        int mTextSelectionEnd = -1;
+        int mTextColor = ViewNode.TEXT_COLOR_UNDEFINED;
+        int mTextBackgroundColor = ViewNode.TEXT_COLOR_UNDEFINED;
+        float mTextSize = 0;
+        int mTextStyle = 0;
+        CharSequence mHint;
+
+        @Override
+        public void setText(CharSequence text) {
+            mText = text;
+            mTextSelectionStart = mTextSelectionEnd = -1;
+        }
+
+        @Override
+        public void setText(CharSequence text, int selectionStart, int selectionEnd) {
+            mText = text;
+            mTextSelectionStart = selectionStart;
+            mTextSelectionEnd = selectionEnd;
+        }
+
+        @Override
+        public void setTextPaint(TextPaint paint) {
+            mTextColor = paint.getColor();
+            mTextBackgroundColor = paint.bgColor;
+            mTextSize = paint.getTextSize();
+            mTextStyle = 0;
+            Typeface tf = paint.getTypeface();
+            if (tf != null) {
+                if (tf.isBold()) {
+                    mTextStyle |= ViewNode.TEXT_STYLE_BOLD;
+                }
+                if (tf.isItalic()) {
+                    mTextStyle |= ViewNode.TEXT_STYLE_ITALIC;
+                }
+            }
+            int pflags = paint.getFlags();
+            if ((pflags& Paint.FAKE_BOLD_TEXT_FLAG) != 0) {
+                mTextStyle |= ViewNode.TEXT_STYLE_BOLD;
+            }
+            if ((pflags& Paint.UNDERLINE_TEXT_FLAG) != 0) {
+                mTextStyle |= ViewNode.TEXT_STYLE_UNDERLINE;
+            }
+            if ((pflags& Paint.STRIKE_THRU_TEXT_FLAG) != 0) {
+                mTextStyle |= ViewNode.TEXT_STYLE_STRIKE_THRU;
+            }
+        }
+
+        @Override
+        public void setHint(CharSequence hint) {
+            mHint = hint;
+        }
+
+        @Override
+        public CharSequence getText() {
+            return mText;
+        }
+
+        @Override
+        public int getTextSelectionStart() {
+            return mTextSelectionStart;
+        }
+
+        @Override
+        public int getTextSelectionEnd() {
+            return mTextSelectionEnd;
+        }
+
+        @Override
+        public CharSequence getHint() {
+            return mHint;
+        }
+    }
+
+    final static class ViewNodeTextImpl {
+        final CharSequence mText;
+        final int mTextSelectionStart;
+        final int mTextSelectionEnd;
+        int mTextColor;
+        int mTextBackgroundColor;
+        float mTextSize;
+        int mTextStyle;
+        final String mHint;
+
+        ViewNodeTextImpl(ViewAssistStructureImpl data) {
+            mText = data.mText;
+            mTextSelectionStart = data.mTextSelectionStart;
+            mTextSelectionEnd = data.mTextSelectionEnd;
+            mTextColor = data.mTextColor;
+            mTextBackgroundColor = data.mTextBackgroundColor;
+            mTextSize = data.mTextSize;
+            mTextStyle = data.mTextStyle;
+            mHint = data.mHint != null ? data.mHint.toString() : null;
+        }
+
+        ViewNodeTextImpl(Parcel in) {
+            mText = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
+            mTextSelectionStart = in.readInt();
+            mTextSelectionEnd = in.readInt();
+            mTextColor = in.readInt();
+            mTextBackgroundColor = in.readInt();
+            mTextSize = in.readFloat();
+            mTextStyle = in.readInt();
+            mHint = in.readString();
+        }
+
+        void writeToParcel(Parcel out) {
+            TextUtils.writeToParcel(mText, out, 0);
+            out.writeInt(mTextSelectionStart);
+            out.writeInt(mTextSelectionEnd);
+            out.writeInt(mTextColor);
+            out.writeInt(mTextBackgroundColor);
+            out.writeFloat(mTextSize);
+            out.writeInt(mTextStyle);
+            out.writeString(mHint);
+        }
+    }
+
+    final static class ViewNodeImpl {
+        final int mX;
+        final int mY;
+        final int mScrollX;
+        final int mScrollY;
+        final int mWidth;
+        final int mHeight;
+
+        static final int FLAGS_DISABLED = 0x00000001;
+        static final int FLAGS_VISIBILITY_MASK = View.VISIBLE|View.INVISIBLE|View.GONE;
+        static final int FLAGS_FOCUSABLE = 0x00000010;
+        static final int FLAGS_FOCUSED = 0x00000020;
+        static final int FLAGS_ACCESSIBILITY_FOCUSED = 0x04000000;
+        static final int FLAGS_SELECTED = 0x00000040;
+        static final int FLAGS_ACTIVATED = 0x40000000;
+        static final int FLAGS_CHECKABLE = 0x00000100;
+        static final int FLAGS_CHECKED = 0x00000200;
+        static final int FLAGS_CLICKABLE = 0x00004000;
+        static final int FLAGS_LONG_CLICKABLE = 0x00200000;
+
+        final int mFlags;
+
+        final String mClassName;
+        final String mContentDescription;
+
+        final ViewNodeTextImpl mText;
+        final Bundle mExtras;
+
+        final ViewNodeImpl[] mChildren;
+
+        ViewNodeImpl(AssistStructure assistStructure, View view, int left, int top,
+                CharSequence contentDescription) {
+            mX = left;
+            mY = top;
+            mScrollX = view.getScrollX();
+            mScrollY = view.getScrollY();
+            mWidth = view.getWidth();
+            mHeight = view.getHeight();
+            int flags = view.getVisibility();
+            if (!view.isEnabled()) {
+                flags |= FLAGS_DISABLED;
+            }
+            if (!view.isClickable()) {
+                flags |= FLAGS_CLICKABLE;
+            }
+            if (!view.isFocusable()) {
+                flags |= FLAGS_FOCUSABLE;
+            }
+            if (!view.isFocused()) {
+                flags |= FLAGS_FOCUSED;
+            }
+            if (!view.isAccessibilityFocused()) {
+                flags |= FLAGS_ACCESSIBILITY_FOCUSED;
+            }
+            if (!view.isSelected()) {
+                flags |= FLAGS_SELECTED;
+            }
+            if (!view.isActivated()) {
+                flags |= FLAGS_ACTIVATED;
+            }
+            if (!view.isLongClickable()) {
+                flags |= FLAGS_LONG_CLICKABLE;
+            }
+            if (view instanceof Checkable) {
+                flags |= FLAGS_CHECKABLE;
+                if (((Checkable)view).isChecked()) {
+                    flags |= FLAGS_CHECKED;
+                }
+            }
+            mFlags = flags;
+            mClassName = view.getAccessibilityClassName().toString();
+            mContentDescription = contentDescription != null ? contentDescription.toString() : null;
+            final ViewAssistStructureImpl viewData = assistStructure.mTmpViewAssistStructureImpl;
+            final Bundle extras = assistStructure.mTmpExtras;
+            view.onProvideAssistStructure(viewData, extras);
+            if (viewData.mText != null || viewData.mHint != null) {
+                mText = new ViewNodeTextImpl(viewData);
+                assistStructure.mTmpViewAssistStructureImpl = new ViewAssistStructureImpl();
+            } else {
+                mText = null;
+            }
+            if (!extras.isEmpty()) {
+                mExtras = extras;
+                assistStructure.mTmpExtras = new Bundle();
+            } else {
+                mExtras = null;
+            }
+            if (view instanceof ViewGroup) {
+                ViewGroup vg = (ViewGroup)view;
+                final int NCHILDREN = vg.getChildCount();
+                if (NCHILDREN > 0) {
+                    mChildren = new ViewNodeImpl[NCHILDREN];
+                    for (int i=0; i<NCHILDREN; i++) {
+                        mChildren[i] = new ViewNodeImpl(assistStructure, vg.getChildAt(i));
+                    }
+                } else {
+                    mChildren = null;
+                }
+            } else {
+                mChildren = null;
+            }
+        }
+
+        ViewNodeImpl(AssistStructure assistStructure, View view) {
+            this(assistStructure, view, view.getLeft(), view.getTop(), view.getContentDescription());
+        }
+
+        ViewNodeImpl(Parcel in, PooledStringReader preader) {
+            mX = in.readInt();
+            mY = in.readInt();
+            mScrollX = in.readInt();
+            mScrollY = in.readInt();
+            mWidth = in.readInt();
+            mHeight = in.readInt();
+            mFlags = in.readInt();
+            mClassName = preader.readString();
+            mContentDescription = in.readString();
+            if (in.readInt() != 0) {
+                mText = new ViewNodeTextImpl(in);
+            } else {
+                mText = null;
+            }
+            mExtras = in.readBundle();
+            final int NCHILDREN = in.readInt();
+            if (NCHILDREN > 0) {
+                mChildren = new ViewNodeImpl[NCHILDREN];
+                for (int i=0; i<NCHILDREN; i++) {
+                    mChildren[i] = new ViewNodeImpl(in, preader);
+                }
+            } else {
+                mChildren = null;
+            }
+        }
+
+        void writeToParcel(Parcel out, PooledStringWriter pwriter) {
+            out.writeInt(mX);
+            out.writeInt(mY);
+            out.writeInt(mScrollX);
+            out.writeInt(mScrollY);
+            out.writeInt(mWidth);
+            out.writeInt(mHeight);
+            out.writeInt(mFlags);
+            pwriter.writeString(mClassName);
+            out.writeString(mContentDescription);
+            if (mText != null) {
+                out.writeInt(1);
+                mText.writeToParcel(out);
+            } else {
+                out.writeInt(0);
+            }
+            out.writeBundle(mExtras);
+            if (mChildren != null) {
+                final int NCHILDREN = mChildren.length;
+                out.writeInt(NCHILDREN);
+                for (int i=0; i<NCHILDREN; i++) {
+                    mChildren[i].writeToParcel(out, pwriter);
+                }
+            } else {
+                out.writeInt(0);
+            }
+        }
+    }
+
+    /**
+     * Provides access to information about a single view in the assist data.
+     */
+    static public class ViewNode {
+        /**
+         * Magic value for text color that has not been defined, which is very unlikely
+         * to be confused with a real text color.
+         */
+        public static final int TEXT_COLOR_UNDEFINED = 1;
+
+        public static final int TEXT_STYLE_BOLD = 1<<0;
+        public static final int TEXT_STYLE_ITALIC = 1<<1;
+        public static final int TEXT_STYLE_UNDERLINE = 1<<2;
+        public static final int TEXT_STYLE_STRIKE_THRU = 1<<3;
+
+        ViewNodeImpl mImpl;
+
+        public ViewNode() {
+        }
+
+        public int getLeft() {
+            return mImpl.mX;
+        }
+
+        public int getTop() {
+            return mImpl.mY;
+        }
+
+        public int getScrollX() {
+            return mImpl.mScrollX;
+        }
+
+        public int getScrollY() {
+            return mImpl.mScrollY;
+        }
+
+        public int getWidth() {
+            return mImpl.mWidth;
+        }
+
+        public int getHeight() {
+            return mImpl.mHeight;
+        }
+
+        public int getVisibility() {
+            return mImpl.mFlags&ViewNodeImpl.FLAGS_VISIBILITY_MASK;
+        }
+
+        public boolean isEnabled() {
+            return (mImpl.mFlags&ViewNodeImpl.FLAGS_DISABLED) == 0;
+        }
+
+        public boolean isClickable() {
+            return (mImpl.mFlags&ViewNodeImpl.FLAGS_CLICKABLE) != 0;
+        }
+
+        public boolean isFocusable() {
+            return (mImpl.mFlags&ViewNodeImpl.FLAGS_FOCUSABLE) != 0;
+        }
+
+        public boolean isFocused() {
+            return (mImpl.mFlags&ViewNodeImpl.FLAGS_FOCUSED) != 0;
+        }
+
+        public boolean isAccessibilityFocused() {
+            return (mImpl.mFlags&ViewNodeImpl.FLAGS_ACCESSIBILITY_FOCUSED) != 0;
+        }
+
+        public boolean isCheckable() {
+            return (mImpl.mFlags&ViewNodeImpl.FLAGS_CHECKABLE) != 0;
+        }
+
+        public boolean isChecked() {
+            return (mImpl.mFlags&ViewNodeImpl.FLAGS_CHECKED) != 0;
+        }
+
+        public boolean isSelected() {
+            return (mImpl.mFlags&ViewNodeImpl.FLAGS_SELECTED) != 0;
+        }
+
+        public boolean isActivated() {
+            return (mImpl.mFlags&ViewNodeImpl.FLAGS_ACTIVATED) != 0;
+        }
+
+        public boolean isLongClickable() {
+            return (mImpl.mFlags&ViewNodeImpl.FLAGS_LONG_CLICKABLE) != 0;
+        }
+
+        public String getClassName() {
+            return mImpl.mClassName;
+        }
+
+        public String getContentDescription() {
+            return mImpl.mContentDescription;
+        }
+
+        public CharSequence getText() {
+            return mImpl.mText != null ? mImpl.mText.mText : null;
+        }
+
+        public int getTextSelectionStart() {
+            return mImpl.mText != null ? mImpl.mText.mTextSelectionStart : -1;
+        }
+
+        public int getTextSelectionEnd() {
+            return mImpl.mText != null ? mImpl.mText.mTextSelectionEnd : -1;
+        }
+
+        public int getTextColor() {
+            return mImpl.mText != null ? mImpl.mText.mTextColor : TEXT_COLOR_UNDEFINED;
+        }
+
+        public int getTextBackgroundColor() {
+            return mImpl.mText != null ? mImpl.mText.mTextBackgroundColor : TEXT_COLOR_UNDEFINED;
+        }
+
+        public float getTextSize() {
+            return mImpl.mText != null ? mImpl.mText.mTextSize : 0;
+        }
+
+        public int getTextStyle() {
+            return mImpl.mText != null ? mImpl.mText.mTextStyle : 0;
+        }
+
+        public String getHint() {
+            return mImpl.mText != null ? mImpl.mText.mHint : null;
+        }
+
+        public Bundle getExtras() {
+            return mImpl.mExtras;
+        }
+
+        public int getChildCount() {
+            return mImpl.mChildren != null ? mImpl.mChildren.length : 0;
+        }
+
+        public void getChildAt(int index, ViewNode outNode) {
+            outNode.mImpl = mImpl.mChildren[index];
+        }
+    }
+
+    AssistStructure(Activity activity) {
+        mActivityComponent = activity.getComponentName();
+        ArrayList<ViewRootImpl> views = WindowManagerGlobal.getInstance().getRootViews(
+                activity.getActivityToken());
+        for (int i=0; i<views.size(); i++) {
+            ViewRootImpl root = views.get(i);
+            View view = root.getView();
+            Rect rect = new Rect();
+            view.getBoundsOnScreen(rect);
+            CharSequence title = root.getTitle();
+            mRootViews.add(new ViewNodeImpl(this, view, rect.left, rect.top,
+                    title != null ? title : view.getContentDescription()));
+        }
+    }
+
+    AssistStructure(Parcel in) {
+        PooledStringReader preader = new PooledStringReader(in);
+        mActivityComponent = ComponentName.readFromParcel(in);
+        final int N = in.readInt();
+        for (int i=0; i<N; i++) {
+            mRootViews.add(new ViewNodeImpl(in, preader));
+        }
+        //dump();
+    }
+
+    /** @hide */
+    public void dump() {
+        Log.i(TAG, "Activity: " + mActivityComponent.flattenToShortString());
+        ViewNode node = new ViewNode();
+        final int N = getWindowCount();
+        for (int i=0; i<N; i++) {
+            Log.i(TAG, "Window #" + i + ":");
+            getWindowAt(i, node);
+            dump("  ", node);
+        }
+    }
+
+    void dump(String prefix, ViewNode node) {
+        Log.i(TAG, prefix + "View [" + node.getLeft() + "," + node.getTop()
+                + " " + node.getWidth() + "x" + node.getHeight() + "]" + " " + node.getClassName());
+        int scrollX = node.getScrollX();
+        int scrollY = node.getScrollY();
+        if (scrollX != 0 || scrollY != 0) {
+            Log.i(TAG, prefix + "  Scroll: " + scrollX + "," + scrollY);
+        }
+        String contentDescription = node.getContentDescription();
+        if (contentDescription != null) {
+            Log.i(TAG, prefix + "  Content description: " + contentDescription);
+        }
+        CharSequence text = node.getText();
+        if (text != null) {
+            Log.i(TAG, prefix + "  Text (sel " + node.getTextSelectionStart() + "-"
+                    + node.getTextSelectionEnd() + "): " + text);
+            Log.i(TAG, prefix + "  Text size: " + node.getTextSize() + " , style: #"
+                    + node.getTextStyle());
+            Log.i(TAG, prefix + "  Text color fg: #" + Integer.toHexString(node.getTextColor())
+                    + ", bg: #" + Integer.toHexString(node.getTextBackgroundColor()));
+        }
+        String hint = node.getHint();
+        if (hint != null) {
+            Log.i(TAG, prefix + "  Hint: " + hint);
+        }
+        Bundle extras = node.getExtras();
+        if (extras != null) {
+            Log.i(TAG, prefix + "  Extras: " + extras);
+        }
+        final int NCHILDREN = node.getChildCount();
+        if (NCHILDREN > 0) {
+            Log.i(TAG, prefix + "  Children:");
+            String cprefix = prefix + "    ";
+            ViewNode cnode = new ViewNode();
+            for (int i=0; i<NCHILDREN; i++) {
+                node.getChildAt(i, cnode);
+                dump(cprefix, cnode);
+            }
+        }
+    }
+
+    /**
+     * Retrieve the framework-generated AssistStructure that is stored within
+     * the Bundle filled in by {@link Activity#onProvideAssistData}.
+     */
+    public static AssistStructure getAssistStructure(Bundle assistBundle) {
+        return assistBundle.getParcelable(ASSIST_KEY);
+    }
+
+    public ComponentName getActivityComponent() {
+        return mActivityComponent;
+    }
+
+    /**
+     * Return the number of window contents that have been collected in this assist data.
+     */
+    public int getWindowCount() {
+        return mRootViews.size();
+    }
+
+    /**
+     * Return the root view for one of the windows in the assist data.
+     * @param index Which window to retrieve, may be 0 to {@link #getWindowCount()}-1.
+     * @param outNode Node in which to place the window's root view.
+     */
+    public void getWindowAt(int index, ViewNode outNode) {
+        outNode.mImpl = mRootViews.get(index);
+    }
+
+    public int describeContents() {
+        return 0;
+    }
+
+    public void writeToParcel(Parcel out, int flags) {
+        int start = out.dataPosition();
+        PooledStringWriter pwriter = new PooledStringWriter(out);
+        ComponentName.writeToParcel(mActivityComponent, out);
+        final int N = mRootViews.size();
+        out.writeInt(N);
+        for (int i=0; i<N; i++) {
+            mRootViews.get(i).writeToParcel(out, pwriter);
+        }
+        pwriter.finish();
+        Log.i(TAG, "Flattened assist data: " + (out.dataPosition() - start) + " bytes");
+    }
+
+    public static final Parcelable.Creator<AssistStructure> CREATOR
+            = new Parcelable.Creator<AssistStructure>() {
+        public AssistStructure createFromParcel(Parcel in) {
+            return new AssistStructure(in);
+        }
+
+        public AssistStructure[] newArray(int size) {
+            return new AssistStructure[size];
+        }
+    };
+}
diff --git a/core/java/android/app/BackStackRecord.java b/core/java/android/app/BackStackRecord.java
index 2784d44..83451aa 100644
--- a/core/java/android/app/BackStackRecord.java
+++ b/core/java/android/app/BackStackRecord.java
@@ -25,7 +25,6 @@
 import android.transition.Transition;
 import android.transition.TransitionManager;
 import android.transition.TransitionSet;
-import android.transition.TransitionUtils;
 import android.util.ArrayMap;
 import android.util.Log;
 import android.util.LogWriter;
diff --git a/core/java/android/app/Dialog.java b/core/java/android/app/Dialog.java
index e465d57..9defcbe5 100644
--- a/core/java/android/app/Dialog.java
+++ b/core/java/android/app/Dialog.java
@@ -16,6 +16,7 @@
 
 package android.app;
 
+import android.annotation.CallSuper;
 import android.annotation.DrawableRes;
 import android.annotation.IdRes;
 import android.annotation.LayoutRes;
@@ -120,6 +121,8 @@
 
     private ActionMode mActionMode;
 
+    private int mActionModeTypeStarting = ActionMode.TYPE_PRIMARY;
+
     private final Runnable mDismissAction = new Runnable() {
         public void run() {
             dismissDialog();
@@ -972,13 +975,13 @@
     public boolean onContextItemSelected(MenuItem item) {
         return false;
     }
-    
+
     /**
      * @see Activity#onContextMenuClosed(Menu)
      */
     public void onContextMenuClosed(Menu menu) {
     }
-    
+
     /**
      * This hook is called when the user signals the desire to start a search.
      */
@@ -997,8 +1000,12 @@
         }
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Override
     public ActionMode onWindowStartingActionMode(ActionMode.Callback callback) {
-        if (mActionBar != null) {
+        if (mActionBar != null && mActionModeTypeStarting == ActionMode.TYPE_PRIMARY) {
             return mActionBar.startActionMode(callback);
         }
         return null;
@@ -1006,10 +1013,24 @@
 
     /**
      * {@inheritDoc}
+     */
+    @Override
+    public ActionMode onWindowStartingActionMode(ActionMode.Callback callback, int type) {
+        try {
+            mActionModeTypeStarting = type;
+            return onWindowStartingActionMode(callback);
+        } finally {
+            mActionModeTypeStarting = ActionMode.TYPE_PRIMARY;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
      *
      * Note that if you override this method you should always call through
      * to the superclass implementation by calling super.onActionModeStarted(mode).
      */
+    @CallSuper
     public void onActionModeStarted(ActionMode mode) {
         mActionMode = mode;
     }
@@ -1020,6 +1041,7 @@
      * Note that if you override this method you should always call through
      * to the superclass implementation by calling super.onActionModeFinished(mode).
      */
+    @CallSuper
     public void onActionModeFinished(ActionMode mode) {
         if (mode == mActionMode) {
             mActionMode = null;
diff --git a/core/java/android/app/IActivityContainer.aidl b/core/java/android/app/IActivityContainer.aidl
index ff1175f..170aff3 100644
--- a/core/java/android/app/IActivityContainer.aidl
+++ b/core/java/android/app/IActivityContainer.aidl
@@ -29,8 +29,6 @@
     void setSurface(in Surface surface, int width, int height, int density);
     int startActivity(in Intent intent);
     int startActivityIntentSender(in IIntentSender intentSender);
-    void checkEmbeddedAllowed(in Intent intent);
-    void checkEmbeddedAllowedIntentSender(in IIntentSender intentSender);
     int getDisplayId();
     int getStackId();
     boolean injectEvent(in InputEvent event);
diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java
index a7e9413..3dcbdd2 100644
--- a/core/java/android/app/IActivityManager.java
+++ b/core/java/android/app/IActivityManager.java
@@ -461,6 +461,8 @@
 
     public boolean isInLockTaskMode() throws RemoteException;
 
+    public int getLockTaskModeState() throws RemoteException;
+
     public void setTaskDescription(IBinder token, ActivityManager.TaskDescription values)
             throws RemoteException;
     public void setTaskResizeable(int taskId, boolean resizeable) throws RemoteException;
@@ -480,6 +482,9 @@
     public void systemBackupRestored() throws RemoteException;
     public void notifyCleartextNetwork(int uid, byte[] firstPacket) throws RemoteException;
 
+    public void setDumpHeapDebugLimit(String processName, long maxMemSize) throws RemoteException;
+    public void dumpHeapFinished(String path) throws RemoteException;
+
     /*
      * Private non-Binder interfaces
      */
@@ -510,7 +515,7 @@
                 dest.writeStrongBinder(null);
             }
             dest.writeStrongBinder(connection);
-            dest.writeInt(noReleaseNeeded ? 1:0);
+            dest.writeInt(noReleaseNeeded ? 1 : 0);
         }
 
         public static final Parcelable.Creator<ContentProviderHolder> CREATOR
@@ -529,7 +534,7 @@
         private ContentProviderHolder(Parcel source) {
             info = ProviderInfo.CREATOR.createFromParcel(source);
             provider = ContentProviderNative.asInterface(
-                source.readStrongBinder());
+                    source.readStrongBinder());
             connection = source.readStrongBinder();
             noReleaseNeeded = source.readInt() != 0;
         }
@@ -810,4 +815,7 @@
     int SET_TASK_RESIZEABLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+283;
     int REQUEST_ASSIST_CONTEXT_EXTRAS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+284;
     int RESIZE_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+285;
+    int GET_LOCK_TASK_MODE_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+286;
+    int SET_DUMP_HEAP_DEBUG_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+287;
+    int DUMP_HEAP_FINISHED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+288;
 }
diff --git a/core/java/android/app/ISearchManager.aidl b/core/java/android/app/ISearchManager.aidl
index 03e7ff4..6d27910 100644
--- a/core/java/android/app/ISearchManager.aidl
+++ b/core/java/android/app/ISearchManager.aidl
@@ -31,5 +31,5 @@
    ComponentName getGlobalSearchActivity();
    ComponentName getWebSearchActivity();
    ComponentName getAssistIntent(int userHandle);
-   boolean launchAssistAction(int requestType, String hint, int userHandle);
+   boolean launchAssistAction(String hint, int userHandle);
 }
diff --git a/core/java/android/app/IWallpaperManager.aidl b/core/java/android/app/IWallpaperManager.aidl
index 3b5900b..ccba250 100644
--- a/core/java/android/app/IWallpaperManager.aidl
+++ b/core/java/android/app/IWallpaperManager.aidl
@@ -29,13 +29,18 @@
     /**
      * Set the wallpaper.
      */
-    ParcelFileDescriptor setWallpaper(String name);
+    ParcelFileDescriptor setWallpaper(String name, in String callingPackage);
     
     /**
      * Set the live wallpaper.
      */
+    void setWallpaperComponentChecked(in ComponentName name, in String callingPackage);
+
+    /**
+     * Set the live wallpaper.
+     */
     void setWallpaperComponent(in ComponentName name);
-    
+
     /**
      * Get the wallpaper.
      */
@@ -50,7 +55,7 @@
     /**
      * Clear the wallpaper.
      */
-    void clearWallpaper();
+    void clearWallpaper(in String callingPackage);
 
     /**
      * Return whether there is a wallpaper set with the given name.
@@ -61,7 +66,7 @@
      * Sets the dimension hint for the wallpaper. These hints indicate the desired
      * minimum width and height for the wallpaper.
      */
-    void setDimensionHints(in int width, in int height);
+    void setDimensionHints(in int width, in int height, in String callingPackage);
 
     /**
      * Returns the desired minimum width for the wallpaper.
@@ -76,7 +81,7 @@
     /**
      * Sets extra padding that we would like the wallpaper to have outside of the display.
      */
-    void setDisplayPadding(in Rect padding);
+    void setDisplayPadding(in Rect padding, in String callingPackage);
 
     /**
      * Returns the name of the wallpaper. Private API.
@@ -87,4 +92,9 @@
      * Informs the service that wallpaper settings have been restored. Private API.
      */
     void settingsRestored();
+
+    /**
+     * Check whether wallpapers are supported for the calling user.
+     */
+    boolean isWallpaperSupported(in String callingPackage);
 }
diff --git a/core/java/android/app/Instrumentation.java b/core/java/android/app/Instrumentation.java
index ad2b61f..5572d30 100644
--- a/core/java/android/app/Instrumentation.java
+++ b/core/java/android/app/Instrumentation.java
@@ -1322,7 +1322,10 @@
     
     /*
      * Starts allocation counting. This triggers a gc and resets the counts.
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public void startAllocCounting() {
         // Before we start trigger a GC and reset the debug counts. Run the 
         // finalizers and another GC before starting and stopping the alloc
@@ -1340,7 +1343,10 @@
     
     /*
      * Stops allocation counting.
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public void stopAllocCounting() {
         Runtime.getRuntime().gc();
         Runtime.getRuntime().runFinalization();
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 9c00e1c..85a6aff 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -16,6 +16,7 @@
 
 package android.app;
 
+import android.annotation.ColorInt;
 import android.annotation.DrawableRes;
 import android.annotation.IntDef;
 import android.annotation.SdkConstant;
@@ -338,6 +339,7 @@
      * @see #FLAG_SHOW_LIGHTS
      * @see #flags
      */
+    @ColorInt
     public int ledARGB;
 
     /**
@@ -415,7 +417,6 @@
      * Bit to be bitwise-ored into the {@link #flags} field that should be
      * set if the notification should be canceled when it is clicked by the
      * user.
-
      */
     public static final int FLAG_AUTO_CANCEL        = 0x00000010;
 
@@ -520,12 +521,14 @@
      * {@link #icon} image (stenciled in white) atop a field of this color. Alpha components are
      * ignored.
      */
+    @ColorInt
     public int color = COLOR_DEFAULT;
 
     /**
      * Special value of {@link #color} telling the system not to decorate this notification with
      * any special color but instead use default colors when presenting this notification.
      */
+    @ColorInt
     public static final int COLOR_DEFAULT = 0; // AKA Color.TRANSPARENT
 
     /**
@@ -2388,7 +2391,7 @@
          * @see Notification#ledOnMS
          * @see Notification#ledOffMS
          */
-        public Builder setLights(int argb, int onMs, int offMs) {
+        public Builder setLights(@ColorInt int argb, int onMs, int offMs) {
             mLedArgb = argb;
             mLedOnMs = onMs;
             mLedOffMs = offMs;
@@ -2712,7 +2715,7 @@
          *
          * @return The same Builder.
          */
-        public Builder setColor(int argb) {
+        public Builder setColor(@ColorInt int argb) {
             mColor = argb;
             return this;
         }
@@ -5160,7 +5163,7 @@
          * automotive setting. This method can be used to override the color provided in the
          * notification in such a situation.
          */
-        public CarExtender setColor(int color) {
+        public CarExtender setColor(@ColorInt int color) {
             mColor = color;
             return this;
         }
@@ -5170,6 +5173,7 @@
          *
          * @see setColor
          */
+        @ColorInt
         public int getColor() {
             return mColor;
         }
diff --git a/core/java/android/app/ResourcesManager.java b/core/java/android/app/ResourcesManager.java
index 75ccb23..8abe223 100644
--- a/core/java/android/app/ResourcesManager.java
+++ b/core/java/android/app/ResourcesManager.java
@@ -30,8 +30,6 @@
 import android.util.Pair;
 import android.util.Slog;
 import android.view.Display;
-import android.view.DisplayAdjustments;
-
 import java.lang.ref.WeakReference;
 import java.util.Locale;
 
diff --git a/core/java/android/app/SearchDialog.java b/core/java/android/app/SearchDialog.java
index af1810b..c719a0e 100644
--- a/core/java/android/app/SearchDialog.java
+++ b/core/java/android/app/SearchDialog.java
@@ -639,6 +639,12 @@
         public ActionMode startActionModeForChild(View child, ActionMode.Callback callback) {
             return null;
         }
+
+        @Override
+        public ActionMode startActionModeForChild(
+                View child, ActionMode.Callback callback, int type) {
+            return null;
+        }
     }
 
     private boolean isEmpty(AutoCompleteTextView actv) {
diff --git a/core/java/android/app/SearchManager.java b/core/java/android/app/SearchManager.java
index d7c4467..fa27631 100644
--- a/core/java/android/app/SearchManager.java
+++ b/core/java/android/app/SearchManager.java
@@ -969,7 +969,7 @@
             intent.setComponent(comp);
             if (inclContext) {
                 IActivityManager am = ActivityManagerNative.getDefault();
-                Bundle extras = am.getAssistContextExtras(0);
+                Bundle extras = am.getAssistContextExtras(ActivityManager.ASSIST_CONTEXT_BASIC);
                 if (extras != null) {
                     intent.replaceExtras(extras);
                 }
@@ -985,12 +985,12 @@
      * Launch an assist action for the current top activity.
      * @hide
      */
-    public boolean launchAssistAction(int requestType, String hint, int userHandle) {
+    public boolean launchAssistAction(String hint, int userHandle) {
         try {
             if (mService == null) {
                 return false;
             }
-            return mService.launchAssistAction(requestType, hint, userHandle);
+            return mService.launchAssistAction(hint, userHandle);
         } catch (RemoteException re) {
             Log.e(TAG, "launchAssistAction() failed: " + re);
             return false;
diff --git a/core/java/android/app/TimePickerDialog.java b/core/java/android/app/TimePickerDialog.java
index 3a2c21b..a3b3022 100644
--- a/core/java/android/app/TimePickerDialog.java
+++ b/core/java/android/app/TimePickerDialog.java
@@ -31,20 +31,21 @@
 import com.android.internal.R;
 
 /**
- * A dialog that prompts the user for the time of day using a {@link TimePicker}.
+ * A dialog that prompts the user for the time of day using a
+ * {@link TimePicker}.
  *
- * <p>See the <a href="{@docRoot}guide/topics/ui/controls/pickers.html">Pickers</a>
- * guide.</p>
+ * <p>
+ * See the <a href="{@docRoot}guide/topics/ui/controls/pickers.html">Pickers</a>
+ * guide.
  */
 public class TimePickerDialog extends AlertDialog implements OnClickListener,
         OnTimeChangedListener {
-
     private static final String HOUR = "hour";
     private static final String MINUTE = "minute";
     private static final String IS_24_HOUR = "is24hour";
 
     private final TimePicker mTimePicker;
-    private final OnTimeSetListener mTimeSetCallback;
+    private final OnTimeSetListener mTimeSetListener;
 
     private final int mInitialHourOfDay;
     private final int mInitialMinute;
@@ -52,59 +53,70 @@
 
     /**
      * The callback interface used to indicate the user is done filling in
-     * the time (they clicked on the 'Done' button).
+     * the time (e.g. they clicked on the 'OK' button).
      */
     public interface OnTimeSetListener {
-
         /**
-         * @param view The view associated with this listener.
-         * @param hourOfDay The hour that was set.
-         * @param minute The minute that was set.
+         * Called when the user is done setting a new time and the dialog has
+         * closed.
+         *
+         * @param view the view associated with this listener
+         * @param hourOfDay the hour that was set
+         * @param minute the minute that was set
          */
-        void onTimeSet(TimePicker view, int hourOfDay, int minute);
+        public void onTimeSet(TimePicker view, int hourOfDay, int minute);
     }
 
     /**
-     * @param context Parent.
-     * @param callBack How parent is notified.
-     * @param hourOfDay The initial hour.
-     * @param minute The initial minute.
-     * @param is24HourView Whether this is a 24 hour view, or AM/PM.
+     * Creates a new time picker dialog.
+     *
+     * @param context the parent context
+     * @param listener the listener to call when the time is set
+     * @param hourOfDay the initial hour
+     * @param minute the initial minute
+     * @param is24HourView whether this is a 24 hour view or AM/PM
      */
-    public TimePickerDialog(Context context,
-            OnTimeSetListener callBack,
-            int hourOfDay, int minute, boolean is24HourView) {
-        this(context, 0, callBack, hourOfDay, minute, is24HourView);
+    public TimePickerDialog(Context context, OnTimeSetListener listener, int hourOfDay, int minute,
+            boolean is24HourView) {
+        this(context, 0, listener, hourOfDay, minute, is24HourView);
     }
 
-    static int resolveDialogTheme(Context context, int resid) {
-        if (resid == 0) {
+    static int resolveDialogTheme(Context context, int resId) {
+        if (resId == 0) {
             final TypedValue outValue = new TypedValue();
             context.getTheme().resolveAttribute(R.attr.timePickerDialogTheme, outValue, true);
             return outValue.resourceId;
         } else {
-            return resid;
+            return resId;
         }
     }
 
     /**
-     * @param context Parent.
-     * @param theme the theme to apply to this dialog
-     * @param callBack How parent is notified.
-     * @param hourOfDay The initial hour.
-     * @param minute The initial minute.
+     * Creates a new time picker dialog with the specified theme.
+     *
+     * @param context the parent context
+     * @param themeResId the resource ID of the theme to apply to this dialog
+     * @param listener the listener to call when the time is set
+     * @param hourOfDay the initial hour
+     * @param minute the initial minute
      * @param is24HourView Whether this is a 24 hour view, or AM/PM.
      */
-    public TimePickerDialog(Context context, int theme, OnTimeSetListener callBack, int hourOfDay,
-            int minute, boolean is24HourView) {
-        super(context, resolveDialogTheme(context, theme));
+    public TimePickerDialog(Context context, int themeResId, OnTimeSetListener listener,
+            int hourOfDay, int minute, boolean is24HourView) {
+        super(context, resolveDialogTheme(context, themeResId));
 
-        mTimeSetCallback = callBack;
+        mTimeSetListener = listener;
         mInitialHourOfDay = hourOfDay;
         mInitialMinute = minute;
         mIs24HourView = is24HourView;
 
         final Context themeContext = getContext();
+
+
+        final TypedValue outValue = new TypedValue();
+        context.getTheme().resolveAttribute(R.attr.timePickerDialogTheme, outValue, true);
+        final int layoutResId = outValue.resourceId;
+
         final LayoutInflater inflater = LayoutInflater.from(themeContext);
         final View view = inflater.inflate(R.layout.time_picker_dialog, null);
         setView(view);
@@ -129,8 +141,8 @@
     public void onClick(DialogInterface dialog, int which) {
         switch (which) {
             case BUTTON_POSITIVE:
-                if (mTimeSetCallback != null) {
-                    mTimeSetCallback.onTimeSet(mTimePicker, mTimePicker.getCurrentHour(),
+                if (mTimeSetListener != null) {
+                    mTimeSetListener.onTimeSet(mTimePicker, mTimePicker.getCurrentHour(),
                             mTimePicker.getCurrentMinute());
                 }
                 break;
diff --git a/core/java/android/app/VoiceInteractor.java b/core/java/android/app/VoiceInteractor.java
index 7f9693f..7b84cb4 100644
--- a/core/java/android/app/VoiceInteractor.java
+++ b/core/java/android/app/VoiceInteractor.java
@@ -156,8 +156,8 @@
 
         @Override
         public void deliverCancel(IVoiceInteractorRequest request) throws RemoteException {
-            mHandlerCaller.sendMessage(mHandlerCaller.obtainMessageO(
-                    MSG_CANCEL_RESULT, request));
+            mHandlerCaller.sendMessage(mHandlerCaller.obtainMessageOO(
+                    MSG_CANCEL_RESULT, request, null));
         }
     };
 
diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java
index dcbd669..22e79b6 100644
--- a/core/java/android/app/WallpaperManager.java
+++ b/core/java/android/app/WallpaperManager.java
@@ -64,7 +64,10 @@
  * Provides access to the system wallpaper. With WallpaperManager, you can
  * get the current wallpaper, get the desired dimensions for the wallpaper, set
  * the wallpaper, and more. Get an instance of WallpaperManager with
- * {@link #getInstance(android.content.Context) getInstance()}. 
+ * {@link #getInstance(android.content.Context) getInstance()}.
+ *
+ * <p> An app can check whether wallpapers are supported for the current user, by calling
+ * {@link #isWallpaperSupported()}.
  */
 public class WallpaperManager {
     private static String TAG = "WallpaperManager";
@@ -188,7 +191,7 @@
         }
 
         @Override
-        public void setColorFilter(ColorFilter cf) {
+        public void setColorFilter(ColorFilter colorFilter) {
             throw new UnsupportedOperationException("Not supported with this drawable");
         }
 
@@ -249,6 +252,15 @@
 
         public Bitmap peekWallpaperBitmap(Context context, boolean returnDefault) {
             synchronized (this) {
+                if (mService != null) {
+                    try {
+                        if (!mService.isWallpaperSupported(context.getOpPackageName())) {
+                            return null;
+                        }
+                    } catch (RemoteException e) {
+                        // Ignore
+                    }
+                }
                 if (mWallpaper != null) {
                     return mWallpaper;
                 }
@@ -618,7 +630,9 @@
      * wallpaper will require reloading it again from disk.
      */
     public void forgetLoadedWallpaper() {
-        sGlobals.forgetLoadedWallpaper();
+        if (isWallpaperSupported()) {
+            sGlobals.forgetLoadedWallpaper();
+        }
     }
 
     /**
@@ -717,7 +731,7 @@
             Resources resources = mContext.getResources();
             /* Set the wallpaper to the default values */
             ParcelFileDescriptor fd = sGlobals.mService.setWallpaper(
-                    "res:" + resources.getResourceName(resid));
+                    "res:" + resources.getResourceName(resid), mContext.getOpPackageName());
             if (fd != null) {
                 FileOutputStream fos = null;
                 try {
@@ -753,7 +767,8 @@
             return;
         }
         try {
-            ParcelFileDescriptor fd = sGlobals.mService.setWallpaper(null);
+            ParcelFileDescriptor fd = sGlobals.mService.setWallpaper(null,
+                    mContext.getOpPackageName());
             if (fd == null) {
                 return;
             }
@@ -792,7 +807,8 @@
             return;
         }
         try {
-            ParcelFileDescriptor fd = sGlobals.mService.setWallpaper(null);
+            ParcelFileDescriptor fd = sGlobals.mService.setWallpaper(null,
+                    mContext.getOpPackageName());
             if (fd == null) {
                 return;
             }
@@ -945,7 +961,8 @@
             if (sGlobals.mService == null) {
                 Log.w(TAG, "WallpaperService not running");
             } else {
-                sGlobals.mService.setDimensionHints(minimumWidth, minimumHeight);
+                sGlobals.mService.setDimensionHints(minimumWidth, minimumHeight,
+                        mContext.getOpPackageName());
             }
         } catch (RemoteException e) {
             // Ignore
@@ -966,7 +983,7 @@
             if (sGlobals.mService == null) {
                 Log.w(TAG, "WallpaperService not running");
             } else {
-                sGlobals.mService.setDisplayPadding(padding);
+                sGlobals.mService.setDisplayPadding(padding, mContext.getOpPackageName());
             }
         } catch (RemoteException e) {
             // Ignore
@@ -1006,7 +1023,7 @@
             return;
         }
         try {
-            sGlobals.mService.clearWallpaper();
+            sGlobals.mService.clearWallpaper(mContext.getOpPackageName());
         } catch (RemoteException e) {
             // Ignore
         }
@@ -1027,7 +1044,7 @@
             return false;
         }
         try {
-            sGlobals.mService.setWallpaperComponent(name);
+            sGlobals.mService.setWallpaperComponentChecked(name, mContext.getOpPackageName());
             return true;
         } catch (RemoteException e) {
             // Ignore
@@ -1096,7 +1113,24 @@
             // Ignore.
         }
     }
-    
+
+    /**
+     * Returns whether wallpapers are supported for the calling user. If this function returns
+     * false, any attempts to changing the wallpaper will have no effect.
+     */
+    public boolean isWallpaperSupported() {
+        if (sGlobals.mService == null) {
+            Log.w(TAG, "WallpaperService not running");
+        } else {
+            try {
+                return sGlobals.mService.isWallpaperSupported(mContext.getOpPackageName());
+            } catch (RemoteException e) {
+                // Ignore
+            }
+        }
+        return false;
+    }
+
     /**
      * Clear the offsets previously associated with this window through
      * {@link #setWallpaperOffsets(IBinder, float, float)}.  This reverts
diff --git a/core/java/android/app/admin/DeviceAdminReceiver.java b/core/java/android/app/admin/DeviceAdminReceiver.java
index 9a8dc52..fe284ce 100644
--- a/core/java/android/app/admin/DeviceAdminReceiver.java
+++ b/core/java/android/app/admin/DeviceAdminReceiver.java
@@ -168,8 +168,8 @@
 
     /**
      * Action sent to a device administrator to notify that the device is entering
-     * lock task mode from an authorized package.  The extra {@link #EXTRA_LOCK_TASK_PACKAGE}
-     * will describe the authorized package using lock task mode.
+     * lock task mode.  The extra {@link #EXTRA_LOCK_TASK_PACKAGE}
+     * will describe the package using lock task mode.
      *
      * <p>The calling device admin must be the device owner or profile
      * owner to receive this broadcast.
@@ -182,7 +182,7 @@
 
     /**
      * Action sent to a device administrator to notify that the device is exiting
-     * lock task mode from an authorized package.
+     * lock task mode.
      *
      * <p>The calling device admin must be the device owner or profile
      * owner to receive this broadcast.
@@ -209,12 +209,14 @@
      * requested provisioning. In the device owner case the profile is the primary user.
      * The broadcast will also be limited to the {@link DeviceAdminReceiver} component
      * specified in the original intent or NFC bump that started the provisioning process
-     * (@see DevicePolicyManager#ACTION_PROVISION_MANAGED_PROFILE).
+     * (see {@link DevicePolicyManager#ACTION_PROVISION_MANAGED_PROFILE
+     * DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE}).
      *
      * <p>A device admin application which listens to this intent can find out if the device was
      * provisioned for the device owner or profile owner case by calling respectively
      * {@link android.app.admin.DevicePolicyManager#isDeviceOwnerApp} and
-     * {@link android.app.admin.DevicePolicyManager#isProfileOwnerApp}.
+     * {@link android.app.admin.DevicePolicyManager#isProfileOwnerApp}. You will generally handle
+     * this in {@link DeviceAdminReceiver#onProfileProvisioningComplete}.
      *
      * <p>Input: Nothing.</p>
      * <p>Output: Nothing</p>
@@ -223,6 +225,23 @@
     public static final String ACTION_PROFILE_PROVISIONING_COMPLETE =
             "android.app.action.PROFILE_PROVISIONING_COMPLETE";
 
+    /**
+     * Broadcast Action: This broadcast is sent to indicate that the system is ready for the device
+     * initializer to perform user setup tasks. This is only applicable to devices managed by a
+     * device owner app.
+     *
+     * <p>The broadcast will be limited to the {@link DeviceAdminReceiver} component specified in
+     * the (@link DevicePolicyManager#EXTRA_PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME) field
+     * of the original intent or NFC bump that started the provisioning process. You will generally
+     * handle this in {@link DeviceAdminReceiver#onReadyForUserInitialization}.
+     *
+     * <p>Input: Nothing.</p>
+     * <p>Output: Nothing</p>
+     */
+    @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
+    public static final String ACTION_READY_FOR_USER_INITIALIZATION =
+            "android.app.action.READY_FOR_USER_INITIALIZATION";
+
     /** @hide */
     public static final String ACTION_CHOOSE_PRIVATE_KEY_ALIAS = "android.app.action.CHOOSE_PRIVATE_KEY_ALIAS";
 
@@ -244,11 +263,12 @@
     /** @hide */
     public static final String EXTRA_CHOOSE_PRIVATE_KEY_RESPONSE = "android.app.extra.CHOOSE_PRIVATE_KEY_RESPONSE";
 
-   /**
+    /**
      * Name under which a DevicePolicy component publishes information
      * about itself.  This meta-data must reference an XML resource containing
-     * a device-admin tag.  XXX TO DO: describe syntax.
+     * a device-admin tag.
      */
+    //  TO DO: describe syntax.
     public static final String DEVICE_ADMIN_META_DATA = "android.app.device_admin";
 
     private DevicePolicyManager mManager;
@@ -380,20 +400,20 @@
     /**
      * Called when provisioning of a managed profile or managed device has completed successfully.
      *
-     * <p> As a prerequisit for the execution of this callback the (@link DeviceAdminReceiver} has
+     * <p> As a prerequisite for the execution of this callback the {@link DeviceAdminReceiver} has
      * to declare an intent filter for {@link #ACTION_PROFILE_PROVISIONING_COMPLETE}.
      * Its component must also be specified in the {@link DevicePolicyManager#EXTRA_DEVICE_ADMIN}
      * of the {@link DevicePolicyManager#ACTION_PROVISION_MANAGED_PROFILE} intent that started the
      * managed provisioning.
      *
-     * <p>When provisioning is complete, the managed profile is hidden until the profile owner
-     * calls {DevicePolicyManager#setProfileEnabled(ComponentName admin)}. Typically a profile
-     * owner will enable the profile when it has finished any additional setup such as adding an
-     * account by using the {@link AccountManager} and calling apis to bring the profile into the
-     * desired state.
+     * <p>When provisioning of a managed profile is complete, the managed profile is hidden until
+     * the profile owner calls {DevicePolicyManager#setProfileEnabled(ComponentName admin)}.
+     * Typically a profile owner will enable the profile when it has finished any additional setup
+     * such as adding an account by using the {@link AccountManager} and calling apis to bring the
+     * profile into the desired state.
      *
      * <p> Note that provisioning completes without waiting for any server interactions, so the
-     * profile owner needs to wait for data to be available if required (e.g android device ids or
+     * profile owner needs to wait for data to be available if required (e.g. android device ids or
      * other data that is set as a result of server interactions).
      *
      * @param context The running context as per {@link #onReceive}.
@@ -403,8 +423,31 @@
     }
 
     /**
-     * Called when a device is entering lock task mode by a package authorized
-     * by {@link DevicePolicyManager#isLockTaskPermitted(String)}
+     * Called during provisioning of a managed device to allow the device initializer to perform
+     * user setup steps. Only device initializers should override this method.
+     *
+     * <p> Called when the DeviceAdminReceiver receives a
+     * {@link #ACTION_READY_FOR_USER_INITIALIZATION} broadcast. As a prerequisite for the execution
+     * of this callback the {@link DeviceAdminReceiver} has
+     * to declare an intent filter for {@link #ACTION_READY_FOR_USER_INITIALIZATION}. Only the
+     * component specified in the
+     * {@link DevicePolicyManager#EXTRA_PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME} field of the
+     * original intent or NFC bump that started the provisioning process will receive this callback.
+     *
+     * <p>It is not assumed that the device initializer is finished when it returns from
+     * this call, as it may do additional setup asynchronously. The device initializer must call
+     * {DevicePolicyManager#setUserEnabled(ComponentName admin)} when it has finished any additional
+     * setup (such as adding an account by using the {@link AccountManager}) in order for the user
+     * to be functional.
+     *
+     * @param context The running context as per {@link #onReceive}.
+     * @param intent The received intent as per {@link #onReceive}.
+     */
+    public void onReadyForUserInitialization(Context context, Intent intent) {
+    }
+
+    /**
+     * Called when a device is entering lock task mode.
      *
      * @param context The running context as per {@link #onReceive}.
      * @param intent The received intent as per {@link #onReceive}.
@@ -414,8 +457,7 @@
     }
 
     /**
-     * Called when a device is exiting lock task mode by a package authorized
-     * by {@link DevicePolicyManager#isLockTaskPermitted(String)}
+     * Called when a device is exiting lock task mode.
      *
      * @param context The running context as per {@link #onReceive}.
      * @param intent The received intent as per {@link #onReceive}.
@@ -486,6 +528,8 @@
             onLockTaskModeEntering(context, intent, pkg);
         } else if (ACTION_LOCK_TASK_EXITING.equals(action)) {
             onLockTaskModeExiting(context, intent);
+        } else if (ACTION_READY_FOR_USER_INITIALIZATION.equals(action)) {
+            onReadyForUserInitialization(context, intent);
         }
     }
 }
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index 2c61c1d..245db06 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -28,6 +28,7 @@
 import android.content.pm.ActivityInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
+import android.graphics.Bitmap;
 import android.net.ProxyInfo;
 import android.os.Bundle;
 import android.os.Handler;
@@ -41,7 +42,6 @@
 import android.provider.Settings;
 import android.security.Credentials;
 import android.service.restrictions.RestrictionsReceiver;
-import android.service.trust.TrustAgentService;
 import android.util.Log;
 
 import com.android.org.conscrypt.TrustedCertificateStore;
@@ -105,11 +105,15 @@
      * device as a personal and corporate device. The user which provisioning is started from and
      * the managed profile share a launcher.
      *
-     * <p>This intent will typically be sent by a mobile device management application (mdm).
-     * Provisioning adds a managed profile and sets the mdm as the profile owner who has full
-     * control over the profile
+     * <p>This intent will typically be sent by a mobile device management application (MDM).
+     * Provisioning adds a managed profile and sets the MDM as the profile owner who has full
+     * control over the profile.
      *
-     * <p>This intent must contain the extra {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME}.
+     * In version {@link android.os.Build.VERSION_CODES#LOLLIPOP}, this intent must contain the
+     * extra {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME}.
+     * As of {@link android.os.Build.VERSION_CODES#MNC}, it should contain the extra
+     * {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME} instead, although specifying only
+     * {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME} is still supported.
      *
      * <p> When managed provisioning has completed, broadcasts are sent to the application specified
      * in the provisioning intent. The
@@ -150,11 +154,36 @@
      *
      * <p>This package is set as device owner when device owner provisioning is started by an NFC
      * message containing an NFC record with MIME type {@link #MIME_TYPE_PROVISIONING_NFC}.
+     *
+     * <p> When this extra is set, the application must have exactly one device admin receiver.
+     * This receiver will be set as the profile or device owner and active admin.</p>
+
+     * @see DeviceAdminReceiver
+     * @deprecated Use {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME}. This extra is still
+     * supported.
      */
+    @Deprecated
     public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME
         = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME";
 
     /**
+     * A ComponentName extra indicating the device admin receiver of the mobile device management
+     * application that will be set as the profile owner or device owner and active admin.
+     *
+     * <p>If an application starts provisioning directly via an intent with action
+     * {@link #ACTION_PROVISION_MANAGED_PROFILE} the package name of this component has to match the
+     * package name of the application that started provisioning.
+     *
+     * <p>This component is set as device owner and active admin when device owner provisioning is
+     * started by an NFC message containing an NFC record with MIME type
+     * {@link #MIME_TYPE_PROVISIONING_NFC}.
+     *
+     * @see DeviceAdminReceiver
+     */
+    public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME
+        = "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME";
+
+    /**
      * An {@link android.accounts.Account} extra holding the account to migrate during managed
      * profile provisioning. If the account supplied is present in the primary user, it will be
      * copied, along with its credentials to the managed profile and removed from the primary user.
@@ -358,6 +387,52 @@
              "android.app.extra.PROVISIONING_SKIP_ENCRYPTION";
 
     /**
+     * On devices managed by a device owner app, a String representation of a Component name extra
+     * indicating the component of the application that is temporarily granted device owner
+     * privileges during device initialization and profile owner privileges during secondary user
+     * initialization.
+     *
+     * <p>Use in an NFC record with {@link #MIME_TYPE_PROVISIONING_NFC} that starts device owner
+     * provisioning via an NFC bump.
+     * @see ComponentName#unflattenFromString()
+     */
+    public static final String EXTRA_PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME
+        = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME";
+
+    /**
+     * A String extra holding an http url that specifies the download location of the device
+     * initializer package. When not provided it is assumed that the device initializer package is
+     * already installed.
+     *
+     * <p>Use in an NFC record with {@link #MIME_TYPE_PROVISIONING_NFC} that starts device owner
+     * provisioning via an NFC bump.
+     */
+    public static final String EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION
+        = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION";
+
+    /**
+     * A String extra holding a http cookie header which should be used in the http request to the
+     * url specified in {@link #EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION}.
+     *
+     * <p>Use in an NFC record with {@link #MIME_TYPE_PROVISIONING_NFC} that starts device owner
+     * provisioning via an NFC bump.
+     */
+    public static final String EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_COOKIE_HEADER
+        = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_COOKIE_HEADER";
+
+    /**
+     * A String extra holding the SHA-1 checksum of the file at download location specified in
+     * {@link #EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION}. If this doesn't
+     * match the file at the download location an error will be shown to the user and the user will
+     * be asked to factory reset the device.
+     *
+     * <p>Use in an NFC record with {@link #MIME_TYPE_PROVISIONING_NFC} that starts device owner
+     * provisioning via an NFC bump.
+     */
+    public static final String EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_CHECKSUM
+        = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_PACKAGE_CHECKSUM";
+
+    /**
      * This MIME type is used for starting the Device Owner provisioning.
      *
      * <p>During device owner provisioning a device admin app is set as the owner of the device.
@@ -373,7 +448,6 @@
      * <p>The NFC record must contain a serialized {@link java.util.Properties} object which
      * contains the following properties:
      * <ul>
-     * <li>{@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME}</li>
      * <li>{@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION}</li>
      * <li>{@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER}, optional</li>
      * <li>{@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM}</li>
@@ -390,6 +464,15 @@
      * <li>{@link #EXTRA_PROVISIONING_WIFI_PAC_URL}, optional</li>
      * <li>{@link #EXTRA_PROVISIONING_SKIP_ENCRYPTION}, optional</li></ul>
      *
+     * <p>
+     * In version {@link android.os.Build.VERSION_CODES#LOLLIPOP}, it should also contain
+     * {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME}.
+     * As of {@link android.os.Build.VERSION_CODES#MNC}, it should contain
+     * {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME} instead, (although
+     * specifying only {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME} is still supported).
+     * This componentName must have been converted to a String via
+     * {@link android.content.ComponentName#flattenToString()}
+     *
      * <p> When device owner provisioning has completed, an intent of the type
      * {@link DeviceAdminReceiver#ACTION_PROFILE_PROVISIONING_COMPLETE} is broadcasted to the
      * device owner.
@@ -2383,6 +2466,113 @@
     }
 
     /**
+     * Sets the given component as the device initializer. The package must already be installed and
+     * set as an active device administrator, and there must not be an existing device initializer,
+     * for this call to succeed. This method can only be called by an app holding the
+     * MANAGE_DEVICE_ADMINS permission before the device is provisioned or by a device owner app. A
+     * device initializer app is granted device owner privileges during device initialization and
+     * profile owner privileges during secondary user initialization.
+     * @param who Which {@link DeviceAdminReceiver} this request is associated with, or null if not
+     *        called by the device owner.
+     * @param initializer Which {@link DeviceAdminReceiver} to make device initializer.
+     * @param initializerName The user-visible name of the device initializer.
+     * @return whether the package was successfully registered as the device initializer.
+     * @throws IllegalArgumentException if the package name is null or invalid
+     * @throws IllegalStateException if the caller is not device owner or the device has
+     *         already been provisioned or a device initializer already exists.
+     */
+    public boolean setDeviceInitializer(ComponentName who, ComponentName initializer,
+            String initializerName) throws IllegalArgumentException, IllegalStateException {
+        if (mService != null) {
+            try {
+                return mService.setDeviceInitializer(who, initializer, initializerName);
+            } catch (RemoteException re) {
+                Log.w(TAG, "Failed to set device initializer");
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Used to determine if a particular package has been registered as the device initializer.
+     *
+     * @param packageName the package name of the app, to compare with the registered device
+     *        initializer app, if any.
+     * @return whether or not the caller is registered as the device initializer app.
+     */
+    public boolean isDeviceInitializerApp(String packageName) {
+        if (mService != null) {
+            try {
+                return mService.isDeviceInitializer(packageName);
+            } catch (RemoteException re) {
+                Log.w(TAG, "Failed to check device initializer");
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Removes the device initializer, so that it will not be invoked on user initialization for any
+     * subsequently created users. This method can be called by either the device owner or device
+     * initializer itself. The caller must be an active administrator.
+     *
+     * @param who Which {@link DeviceAdminReceiver} this request is associated with.
+     */
+    public void clearDeviceInitializerApp(ComponentName who) {
+        if (mService != null) {
+            try {
+                mService.clearDeviceInitializer(who);
+            } catch (RemoteException re) {
+                Log.w(TAG, "Failed to clear device initializer");
+            }
+        }
+    }
+
+    /**
+     * @hide
+     * Gets the device initializer of the system.
+     *
+     * @return the package name of the device initializer.
+     */
+    @SystemApi
+    public String getDeviceInitializerApp() {
+        if (mService != null) {
+            try {
+                return mService.getDeviceInitializer();
+            } catch (RemoteException re) {
+                Log.w(TAG, "Failed to get device initializer");
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Sets the enabled state of the user. A user should be enabled only once it is ready to
+     * be used.
+     *
+     * <p>Device initializer must call this method to mark the user as functional.
+     * Only the device initializer agent can call this.
+     *
+     * <p>When the user is enabled, if the device initializer is not also the device owner, the
+     * device initializer will no longer have elevated permissions to call methods in this class.
+     * Additionally, it will be removed as an active administrator and its
+     * {@link DeviceAdminReceiver} will be disabled.
+     *
+     * @param admin Which {@link DeviceAdminReceiver} this request is associated with.
+     * @return whether the user is now enabled.
+     */
+    public boolean setUserEnabled(ComponentName admin) {
+        if (mService != null) {
+            try {
+                return mService.setUserEnabled(admin);
+            } catch (RemoteException e) {
+                Log.w(TAG, "Failed talking with device policy service", e);
+            }
+        }
+        return false;
+    }
+
+    /**
      * @hide
      * @deprecated Use #ACTION_SET_PROFILE_OWNER
      * Sets the given component as an active admin and registers the package as the profile
@@ -2710,7 +2900,6 @@
      * <p>If {@link #KEYGUARD_DISABLE_TRUST_AGENTS} is set and options is not null for all admins,
      * then it's up to the TrustAgent itself to aggregate the values from all device admins.
      * <p>Consult documentation for the specific TrustAgent to determine legal options parameters.
-     * @hide
      */
     public void setTrustAgentConfiguration(ComponentName admin, ComponentName target,
             PersistableBundle configuration) {
@@ -2736,7 +2925,6 @@
      * for this {@param agent} or calls it with a null configuration, null is returned.
      * @param agent Which component to get enabled features for.
      * @return configuration for the given trust agent.
-     * @hide
      */
     public List<PersistableBundle> getTrustAgentConfiguration(ComponentName admin,
             ComponentName agent) {
@@ -3120,8 +3308,7 @@
     }
 
     /**
-     * Called by a profile or device owner to set a user restriction specified
-     * by the key.
+     * Called by a profile or device owner to set a user restriction specified by the key.
      * <p>
      * The calling device admin must be a profile or device owner; if it is not,
      * a security exception will be thrown.
@@ -3142,8 +3329,7 @@
     }
 
     /**
-     * Called by a profile or device owner to clear a user restriction specified
-     * by the key.
+     * Called by a profile or device owner to clear a user restriction specified by the key.
      * <p>
      * The calling device admin must be a profile or device owner; if it is not,
      * a security exception will be thrown.
@@ -3164,7 +3350,7 @@
     }
 
     /**
-     * Called by device or profile owner to hide or unhide packages. When a package is hidden it
+     * Called by profile or device owners to hide or unhide packages. When a package is hidden it
      * is unavailable for use, but the data and actual package file remain.
      *
      * @param admin Which {@link DeviceAdminReceiver} this request is associated with.
@@ -3186,7 +3372,7 @@
     }
 
     /**
-     * Called by device or profile owner to determine if a package is hidden.
+     * Called by profile or device owners to determine if a package is hidden.
      *
      * @param admin Which {@link DeviceAdminReceiver} this request is associated with.
      * @param packageName The name of the package to retrieve the hidden status of.
@@ -3204,7 +3390,7 @@
     }
 
     /**
-     * Called by profile or device owner to re-enable a system app that was disabled by default
+     * Called by profile or device owners to re-enable a system app that was disabled by default
      * when the user was initialized.
      *
      * @param admin Which {@link DeviceAdminReceiver} this request is associated with.
@@ -3221,7 +3407,7 @@
     }
 
     /**
-     * Called by profile or device owner to re-enable system apps by intent that were disabled
+     * Called by profile or device owners to re-enable system apps by intent that were disabled
      * by default when the user was initialized.
      *
      * @param admin Which {@link DeviceAdminReceiver} this request is associated with.
@@ -3363,14 +3549,22 @@
      * <li>{@link Settings.Global#ADB_ENABLED}</li>
      * <li>{@link Settings.Global#AUTO_TIME}</li>
      * <li>{@link Settings.Global#AUTO_TIME_ZONE}</li>
-     * <li>{@link Settings.Global#BLUETOOTH_ON}</li>
+     * <li>{@link Settings.Global#BLUETOOTH_ON}
+     * Changing this setting has not effect as of {@link android.os.Build.VERSION_CODES#MNC}. Use
+     * {@link android.bluetooth.BluetoothAdapter#enable()} and
+     * {@link android.bluetooth.BluetoothAdapter#disable()} instead.</li>
      * <li>{@link Settings.Global#DATA_ROAMING}</li>
      * <li>{@link Settings.Global#DEVELOPMENT_SETTINGS_ENABLED}</li>
      * <li>{@link Settings.Global#MODE_RINGER}</li>
      * <li>{@link Settings.Global#NETWORK_PREFERENCE}</li>
      * <li>{@link Settings.Global#USB_MASS_STORAGE_ENABLED}</li>
-     * <li>{@link Settings.Global#WIFI_ON}</li>
+     * <li>{@link Settings.Global#WIFI_ON}
+     * Changing this setting has not effect as of {@link android.os.Build.VERSION_CODES#MNC}. Use
+     * {@link android.net.wifi.WifiManager#setWifiEnabled(boolean)} instead.</li>
      * <li>{@link Settings.Global#WIFI_SLEEP_POLICY}</li>
+     * <li>{@link Settings.Global#STAY_ON_WHILE_PLUGGED_IN}
+     * This setting is only available from {@link android.os.Build.VERSION_CODES#MNC} onwards
+     * and can only be set if {@link #setMaximumTimeToLock} is not used to set a timeout.</li>
      * </ul>
      *
      * @param admin Which {@link DeviceAdminReceiver} this request is associated with.
@@ -3490,9 +3684,14 @@
     /**
      * Check whether the current user has been blocked by device policy from uninstalling a package.
      * Requires the caller to be the profile owner if checking a specific admin's policy.
+     * <p>
+     * <strong>Note:</strong> Starting from {@link android.os.Build.VERSION_CODES#LOLLIPOP_MR1}, the
+     * behavior of this API is changed such that passing <code>null</code> as the <code>admin</code>
+     * parameter will return if any admin has blocked the uninstallation. Before L MR1, passing
+     * <code>null</code> will cause a NullPointerException to be raised.
      *
      * @param admin The name of the admin component whose blocking policy will be checked, or null
-     *        to check if any admin has blocked the uninstallation.
+     *            to check if any admin has blocked the uninstallation.
      * @param packageName package to check.
      * @return true if uninstallation is blocked.
      */
@@ -3587,4 +3786,18 @@
         }
         return Collections.emptyList();
     }
+
+    /**
+     * Called by profile or device owners to set the current user's photo.
+     *
+     * @param admin Which {@link DeviceAdminReceiver} this request is associated with.
+     * @param icon the bitmap to set as the photo.
+     */
+    public void setUserIcon(ComponentName admin, Bitmap icon) {
+        try {
+            mService.setUserIcon(admin, icon);
+        } catch (RemoteException re) {
+            Log.w(TAG, "Could not set the user icon ", re);
+        }
+    }
 }
diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl
index 714e740..f69cf36 100644
--- a/core/java/android/app/admin/IDevicePolicyManager.aidl
+++ b/core/java/android/app/admin/IDevicePolicyManager.aidl
@@ -20,6 +20,7 @@
 import android.content.ComponentName;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.graphics.Bitmap;
 import android.net.ProxyInfo;
 import android.os.Bundle;
 import android.os.PersistableBundle;
@@ -199,4 +200,12 @@
     boolean getAutoTimeRequired();
 
     boolean isRemovingAdmin(in ComponentName adminReceiver, int userHandle);
+
+    boolean setUserEnabled(in ComponentName who);
+    boolean isDeviceInitializer(String packageName);
+    void clearDeviceInitializer(in ComponentName who);
+    boolean setDeviceInitializer(in ComponentName who, in ComponentName initializer, String initializerName);
+    String getDeviceInitializer();
+
+    void setUserIcon(in ComponentName admin, in Bitmap icon);
 }
diff --git a/core/java/android/app/backup/BackupAgent.java b/core/java/android/app/backup/BackupAgent.java
index 1b1e600..7f89100 100644
--- a/core/java/android/app/backup/BackupAgent.java
+++ b/core/java/android/app/backup/BackupAgent.java
@@ -258,6 +258,7 @@
      *
      * <ul>
      * <li>The contents of the {@link #getCacheDir()} directory</li>
+     * <li>The contents of the {@link #getCodeCacheDir()} directory</li>
      * <li>The contents of the {@link #getNoBackupFilesDir()} directory</li>
      * <li>The contents of the app's shared library directory</li>
      * </ul>
@@ -285,6 +286,7 @@
         String databaseDir = getDatabasePath("foo").getParentFile().getCanonicalPath();
         String sharedPrefsDir = getSharedPrefsFile("foo").getParentFile().getCanonicalPath();
         String cacheDir = getCacheDir().getCanonicalPath();
+        String codeCacheDir = getCodeCacheDir().getCanonicalPath();
         String libDir = (appInfo.nativeLibraryDir != null)
                 ? new File(appInfo.nativeLibraryDir).getCanonicalPath()
                 : null;
@@ -298,6 +300,7 @@
             filterSet.add(libDir);
         }
         filterSet.add(cacheDir);
+        filterSet.add(codeCacheDir);
         filterSet.add(databaseDir);
         filterSet.add(sharedPrefsDir);
         filterSet.add(filesDir);
@@ -354,6 +357,7 @@
         String dbDir;
         String spDir;
         String cacheDir;
+        String codeCacheDir;
         String libDir;
         String efDir = null;
         String filePath;
@@ -367,6 +371,7 @@
             dbDir = getDatabasePath("foo").getParentFile().getCanonicalPath();
             spDir = getSharedPrefsFile("foo").getParentFile().getCanonicalPath();
             cacheDir = getCacheDir().getCanonicalPath();
+            codeCacheDir = getCodeCacheDir().getCanonicalPath();
             libDir = (appInfo.nativeLibraryDir == null)
                     ? null
                     : new File(appInfo.nativeLibraryDir).getCanonicalPath();
@@ -380,7 +385,8 @@
             }
 
             // Now figure out which well-defined tree the file is placed in, working from
-            // most to least specific.  We also specifically exclude the lib and cache dirs.
+            // most to least specific.  We also specifically exclude the lib, cache,
+            // and code_cache dirs.
             filePath = file.getCanonicalPath();
         } catch (IOException e) {
             Log.w(TAG, "Unable to obtain canonical paths");
@@ -388,9 +394,10 @@
         }
 
         if (filePath.startsWith(cacheDir)
+                || filePath.startsWith(codeCacheDir)
                 || filePath.startsWith(libDir)
                 || filePath.startsWith(nbFilesDir)) {
-            Log.w(TAG, "lib, cache, and no_backup files are not backed up");
+            Log.w(TAG, "lib, cache, code_cache, and no_backup files are not backed up");
             return;
         }
 
diff --git a/core/java/android/app/backup/BackupDataOutput.java b/core/java/android/app/backup/BackupDataOutput.java
index 048a4bb..1fe63e7 100644
--- a/core/java/android/app/backup/BackupDataOutput.java
+++ b/core/java/android/app/backup/BackupDataOutput.java
@@ -18,8 +18,6 @@
 
 import android.annotation.SystemApi;
 import android.os.ParcelFileDescriptor;
-import android.os.Process;
-
 import java.io.FileDescriptor;
 import java.io.IOException;
 
diff --git a/core/java/android/app/job/JobParameters.java b/core/java/android/app/job/JobParameters.java
index 62734f2..7ee39f5 100644
--- a/core/java/android/app/job/JobParameters.java
+++ b/core/java/android/app/job/JobParameters.java
@@ -17,7 +17,6 @@
 package android.app.job;
 
 import android.app.job.IJobCallback;
-import android.app.job.IJobCallback.Stub;
 import android.os.IBinder;
 import android.os.Parcel;
 import android.os.Parcelable;
diff --git a/core/java/android/app/job/JobScheduler.java b/core/java/android/app/job/JobScheduler.java
index 89efeb2..a1c11f3 100644
--- a/core/java/android/app/job/JobScheduler.java
+++ b/core/java/android/app/job/JobScheduler.java
@@ -18,8 +18,6 @@
 
 import java.util.List;
 
-import android.content.Context;
-
 /**
  * This is an API for scheduling various types of jobs against the framework that will be executed
  * in your application's own process.
diff --git a/core/java/android/app/usage/UsageEvents.java b/core/java/android/app/usage/UsageEvents.java
index 3cf3c95..58279d7 100644
--- a/core/java/android/app/usage/UsageEvents.java
+++ b/core/java/android/app/usage/UsageEvents.java
@@ -68,6 +68,11 @@
         public static final int CONFIGURATION_CHANGE = 5;
 
         /**
+         * An event type denoting that a package was interacted with in some way.
+         */
+        public static final int INTERACTION = 6;
+
+        /**
          * {@hide}
          */
         public String mPackage;
diff --git a/core/java/android/app/usage/UsageStatsManagerInternal.java b/core/java/android/app/usage/UsageStatsManagerInternal.java
index 083a48a..0122069 100644
--- a/core/java/android/app/usage/UsageStatsManagerInternal.java
+++ b/core/java/android/app/usage/UsageStatsManagerInternal.java
@@ -37,6 +37,16 @@
     public abstract void reportEvent(ComponentName component, int userId, int eventType);
 
     /**
+     * Reports an event to the UsageStatsManager.
+     *
+     * @param packageName The package for which this event occurred.
+     * @param userId The user id to which the component belongs to.
+     * @param eventType The event that occurred. Valid values can be found at
+     * {@link UsageEvents}
+     */
+    public abstract void reportEvent(String packageName, int userId, int eventType);
+
+    /**
      * Reports a configuration change to the UsageStatsManager.
      *
      * @param config The new device configuration.
diff --git a/core/java/android/appwidget/AppWidgetHostView.java b/core/java/android/appwidget/AppWidgetHostView.java
index 022e225..3219fe7 100644
--- a/core/java/android/appwidget/AppWidgetHostView.java
+++ b/core/java/android/appwidget/AppWidgetHostView.java
@@ -31,9 +31,7 @@
 import android.os.Bundle;
 import android.os.Parcel;
 import android.os.Parcelable;
-import android.os.Process;
 import android.os.SystemClock;
-import android.os.UserHandle;
 import android.util.AttributeSet;
 import android.util.Log;
 import android.util.SparseArray;
diff --git a/core/java/android/bluetooth/BluetoothActivityEnergyInfo.java b/core/java/android/bluetooth/BluetoothActivityEnergyInfo.java
index ce87329..161c339 100644
--- a/core/java/android/bluetooth/BluetoothActivityEnergyInfo.java
+++ b/core/java/android/bluetooth/BluetoothActivityEnergyInfo.java
@@ -26,32 +26,32 @@
  * @hide
  */
 public final class BluetoothActivityEnergyInfo implements Parcelable {
+    private final long mTimestamp;
     private final int mBluetoothStackState;
     private final int mControllerTxTimeMs;
     private final int mControllerRxTimeMs;
     private final int mControllerIdleTimeMs;
     private final int mControllerEnergyUsed;
-    private final long timestamp;
 
     public static final int BT_STACK_STATE_INVALID = 0;
     public static final int BT_STACK_STATE_STATE_ACTIVE = 1;
     public static final int BT_STACK_STATE_STATE_SCANNING = 2;
     public static final int BT_STACK_STATE_STATE_IDLE = 3;
 
-    public BluetoothActivityEnergyInfo(int stackState, int txTime, int rxTime,
-            int idleTime, int energyUsed) {
+    public BluetoothActivityEnergyInfo(long timestamp, int stackState,
+                                       int txTime, int rxTime, int idleTime, int energyUsed) {
+        mTimestamp = timestamp;
         mBluetoothStackState = stackState;
         mControllerTxTimeMs = txTime;
         mControllerRxTimeMs = rxTime;
         mControllerIdleTimeMs = idleTime;
         mControllerEnergyUsed = energyUsed;
-        timestamp = System.currentTimeMillis();
     }
 
     @Override
     public String toString() {
         return "BluetoothActivityEnergyInfo{"
-            + " timestamp=" + timestamp
+            + " mTimestamp=" + mTimestamp
             + " mBluetoothStackState=" + mBluetoothStackState
             + " mControllerTxTimeMs=" + mControllerTxTimeMs
             + " mControllerRxTimeMs=" + mControllerRxTimeMs
@@ -63,13 +63,14 @@
     public static final Parcelable.Creator<BluetoothActivityEnergyInfo> CREATOR =
             new Parcelable.Creator<BluetoothActivityEnergyInfo>() {
         public BluetoothActivityEnergyInfo createFromParcel(Parcel in) {
+            long timestamp = in.readLong();
             int stackState = in.readInt();
             int txTime = in.readInt();
             int rxTime = in.readInt();
             int idleTime = in.readInt();
             int energyUsed = in.readInt();
-            return new BluetoothActivityEnergyInfo(stackState, txTime, rxTime,
-                    idleTime, energyUsed);
+            return new BluetoothActivityEnergyInfo(timestamp, stackState,
+                    txTime, rxTime, idleTime, energyUsed);
         }
         public BluetoothActivityEnergyInfo[] newArray(int size) {
             return new BluetoothActivityEnergyInfo[size];
@@ -77,6 +78,7 @@
     };
 
     public void writeToParcel(Parcel out, int flags) {
+        out.writeLong(mTimestamp);
         out.writeInt(mBluetoothStackState);
         out.writeInt(mControllerTxTimeMs);
         out.writeInt(mControllerRxTimeMs);
@@ -123,11 +125,12 @@
     public int getControllerEnergyUsed() {
         return mControllerEnergyUsed;
     }
+
     /**
-     * @return timestamp(wall clock) of record creation
+     * @return timestamp(real time elapsed in milliseconds since boot) of record creation.
      */
     public long getTimeStamp() {
-        return timestamp;
+        return mTimestamp;
     }
 
     /**
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java
index b8f4bf8..be26eac 100644
--- a/core/java/android/bluetooth/BluetoothAdapter.java
+++ b/core/java/android/bluetooth/BluetoothAdapter.java
@@ -26,9 +26,7 @@
 import android.bluetooth.le.ScanResult;
 import android.bluetooth.le.ScanSettings;
 import android.content.Context;
-import android.os.Handler;
 import android.os.IBinder;
-import android.os.Looper;
 import android.os.ParcelUuid;
 import android.os.RemoteException;
 import android.os.ServiceManager;
@@ -36,7 +34,6 @@
 import android.util.Pair;
 
 import java.io.IOException;
-import java.lang.ref.WeakReference;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
diff --git a/core/java/android/bluetooth/le/TruncatedFilter.java b/core/java/android/bluetooth/le/TruncatedFilter.java
index 6a6b3e3..685b174 100644
--- a/core/java/android/bluetooth/le/TruncatedFilter.java
+++ b/core/java/android/bluetooth/le/TruncatedFilter.java
@@ -17,9 +17,6 @@
 package android.bluetooth.le;
 
 import android.annotation.SystemApi;
-import android.os.Parcel;
-import android.os.Parcelable;
-
 import java.util.List;
 
 /**
diff --git a/core/java/android/content/ContentProvider.java b/core/java/android/content/ContentProvider.java
index 0cff4c0..393cf8e 100644
--- a/core/java/android/content/ContentProvider.java
+++ b/core/java/android/content/ContentProvider.java
@@ -19,6 +19,7 @@
 import static android.content.pm.PackageManager.PERMISSION_GRANTED;
 import static android.Manifest.permission.INTERACT_ACROSS_USERS;
 
+import android.annotation.Nullable;
 import android.app.AppOpsManager;
 import android.content.pm.PathPermission;
 import android.content.pm.ProviderInfo;
@@ -364,7 +365,8 @@
         }
 
         @Override
-        public Bundle call(String callingPkg, String method, String arg, Bundle extras) {
+        public Bundle call(
+                String callingPkg, String method, @Nullable String arg, @Nullable Bundle extras) {
             final String original = setCallingPackage(callingPkg);
             try {
                 return ContentProvider.this.call(method, arg, extras);
@@ -1742,7 +1744,7 @@
      * @return provider-defined return value.  May be {@code null}, which is also
      *   the default for providers which don't implement any call methods.
      */
-    public Bundle call(String method, String arg, Bundle extras) {
+    public Bundle call(String method, @Nullable String arg, @Nullable Bundle extras) {
         return null;
     }
 
diff --git a/core/java/android/content/ContentProviderResult.java b/core/java/android/content/ContentProviderResult.java
index ec3d002..4196f27 100644
--- a/core/java/android/content/ContentProviderResult.java
+++ b/core/java/android/content/ContentProviderResult.java
@@ -18,7 +18,6 @@
 
 import android.content.ContentProvider;
 import android.net.Uri;
-import android.os.UserHandle;
 import android.os.Parcelable;
 import android.os.Parcel;
 
diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java
index a09fee9..17a8eb7 100644
--- a/core/java/android/content/ContentResolver.java
+++ b/core/java/android/content/ContentResolver.java
@@ -17,6 +17,7 @@
 package android.content;
 
 import android.accounts.Account;
+import android.annotation.Nullable;
 import android.app.ActivityManagerNative;
 import android.app.ActivityThread;
 import android.app.AppGlobals;
@@ -1357,7 +1358,8 @@
      * @throws NullPointerException if uri or method is null
      * @throws IllegalArgumentException if uri is not known
      */
-    public final Bundle call(Uri uri, String method, String arg, Bundle extras) {
+    public final Bundle call(
+            Uri uri, String method, @Nullable String arg, @Nullable Bundle extras) {
         if (uri == null) {
             throw new NullPointerException("uri == null");
         }
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index 010c860..61cdec3 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -16,6 +16,7 @@
 
 package android.content;
 
+import android.annotation.CheckResult;
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
@@ -3041,6 +3042,7 @@
      * @see PackageManager#checkPermission(String, String)
      * @see #checkCallingPermission
      */
+    @CheckResult(suggest="#enforcePermission(String,int,int,String)")
     @PackageManager.PermissionResult
     public abstract int checkPermission(@NonNull String permission, int pid, int uid);
 
@@ -3070,6 +3072,7 @@
      * @see #checkPermission
      * @see #checkCallingOrSelfPermission
      */
+    @CheckResult(suggest="#enforceCallingPermission(String,String)")
     @PackageManager.PermissionResult
     public abstract int checkCallingPermission(@NonNull String permission);
 
@@ -3089,6 +3092,7 @@
      * @see #checkPermission
      * @see #checkCallingPermission
      */
+    @CheckResult(suggest="#enforceCallingOrSelfPermission(String,String)")
     @PackageManager.PermissionResult
     public abstract int checkCallingOrSelfPermission(@NonNull String permission);
 
@@ -3233,6 +3237,7 @@
      *
      * @see #checkCallingUriPermission
      */
+    @CheckResult(suggest="#enforceUriPermission(Uri,int,int,String)")
     public abstract int checkUriPermission(Uri uri, int pid, int uid,
             @Intent.AccessUriMode int modeFlags);
 
@@ -3261,6 +3266,7 @@
      *
      * @see #checkUriPermission(Uri, int, int, int)
      */
+    @CheckResult(suggest="#enforceCallingUriPermission(Uri,int,String)")
     public abstract int checkCallingUriPermission(Uri uri, @Intent.AccessUriMode int modeFlags);
 
     /**
@@ -3280,6 +3286,7 @@
      *
      * @see #checkCallingUriPermission
      */
+    @CheckResult(suggest="#enforceCallingOrSelfUriPermission(Uri,int,String)")
     public abstract int checkCallingOrSelfUriPermission(Uri uri,
             @Intent.AccessUriMode int modeFlags);
 
@@ -3305,6 +3312,7 @@
      * is allowed to access that uri or holds one of the given permissions, or
      * {@link PackageManager#PERMISSION_DENIED} if it is not.
      */
+    @CheckResult(suggest="#enforceUriPermission(Uri,String,String,int,int,int,String)")
     public abstract int checkUriPermission(@Nullable Uri uri, @Nullable String readPermission,
             @Nullable String writePermission, int pid, int uid,
             @Intent.AccessUriMode int modeFlags);
diff --git a/core/java/android/content/IContentProvider.java b/core/java/android/content/IContentProvider.java
index f858406..4afe38b 100644
--- a/core/java/android/content/IContentProvider.java
+++ b/core/java/android/content/IContentProvider.java
@@ -16,6 +16,7 @@
 
 package android.content;
 
+import android.annotation.Nullable;
 import android.content.res.AssetFileDescriptor;
 import android.database.Cursor;
 import android.net.Uri;
@@ -56,7 +57,8 @@
     public ContentProviderResult[] applyBatch(String callingPkg,
             ArrayList<ContentProviderOperation> operations)
                     throws RemoteException, OperationApplicationException;
-    public Bundle call(String callingPkg, String method, String arg, Bundle extras)
+    public Bundle call(
+            String callingPkg, String method, @Nullable String arg, @Nullable Bundle extras)
             throws RemoteException;
     public ICancellationSignal createCancellationSignal() throws RemoteException;
 
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index 3222b2b..2ed8c44 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -1239,6 +1239,13 @@
             = "android.intent.extra.ASSIST_PACKAGE";
 
     /**
+     * An optional field on {@link #ACTION_ASSIST} containing the uid of the current foreground
+     * application package at the time the assist was invoked.
+     */
+    public static final String EXTRA_ASSIST_UID
+            = "android.intent.extra.ASSIST_UID";
+
+    /**
      * An optional field on {@link #ACTION_ASSIST} and containing additional contextual
      * information supplied by the current foreground app at the time of the assist request.
      * This is a {@link Bundle} of additional data.
@@ -5386,6 +5393,16 @@
     }
 
     /**
+     * Filter extras to only basic types.
+     * @hide
+     */
+    public void removeUnsafeExtras() {
+        if (mExtras != null) {
+            mExtras.filterValues();
+        }
+    }
+
+    /**
      * Retrieve any special flags associated with this intent.  You will
      * normally just set them with {@link #setFlags} and let the system
      * take the appropriate action with them.
diff --git a/core/java/android/content/UndoManager.java b/core/java/android/content/UndoManager.java
index e3bc238..1d5ed8a 100644
--- a/core/java/android/content/UndoManager.java
+++ b/core/java/android/content/UndoManager.java
@@ -105,8 +105,7 @@
             return owner;
         }
 
-        owner = new UndoOwner(tag);
-        owner.mManager = this;
+        owner = new UndoOwner(tag, this);
         owner.mData = data;
         mOwners.put(tag, owner);
         return owner;
@@ -116,7 +115,6 @@
         // XXX need to figure out how to prune.
         if (false) {
             mOwners.remove(owner.mTag);
-            owner.mManager = null;
         }
     }
 
@@ -164,6 +162,7 @@
             owner.mSavedIdx = mNextSavedIdx;
             out.writeInt(owner.mSavedIdx);
             out.writeString(owner.mTag);
+            out.writeInt(owner.mOpCount);
             mNextSavedIdx++;
         }
     }
@@ -202,7 +201,9 @@
         UndoOwner owner = mStateOwners[idx];
         if (owner == null) {
             String tag = in.readString();
-            owner = new UndoOwner(tag);
+            int opCount = in.readInt();
+            owner = new UndoOwner(tag, this);
+            owner.mOpCount = opCount;
             mStateOwners[idx] = owner;
             mOwners.put(tag, owner);
         }
diff --git a/core/java/android/content/UndoOwner.java b/core/java/android/content/UndoOwner.java
index d0cdc95..fd257ab 100644
--- a/core/java/android/content/UndoOwner.java
+++ b/core/java/android/content/UndoOwner.java
@@ -23,8 +23,8 @@
  */
 public class UndoOwner {
     final String mTag;
+    final UndoManager mManager;
 
-    UndoManager mManager;
     Object mData;
     int mOpCount;
 
@@ -32,8 +32,15 @@
     int mStateSeq;
     int mSavedIdx;
 
-    UndoOwner(String tag) {
+    UndoOwner(String tag, UndoManager manager) {
+        if (tag == null) {
+            throw new NullPointerException("tag can't be null");
+        }
+        if (manager == null) {
+            throw new NullPointerException("manager can't be null");
+        }
         mTag = tag;
+        mManager = manager;
     }
 
     /**
@@ -54,4 +61,15 @@
     public Object getData() {
         return mData;
     }
+
+    @Override
+    public String toString() {
+        return "UndoOwner:[mTag=" + mTag +
+                " mManager=" + mManager +
+                " mData=" + mData +
+                " mData=" + mData +
+                " mOpCount=" + mOpCount +
+                " mStateSeq=" + mStateSeq +
+                " mSavedIdx=" + mSavedIdx + "]";
+    }
 }
diff --git a/core/java/android/content/UriMatcher.java b/core/java/android/content/UriMatcher.java
index 8487dae..71a035e 100644
--- a/core/java/android/content/UriMatcher.java
+++ b/core/java/android/content/UriMatcher.java
@@ -20,7 +20,6 @@
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.regex.Pattern;
 
 /**
 Utility class to aid in matching URIs in content providers.
@@ -171,7 +170,7 @@
             if (path.length() > 0 && path.charAt(0) == '/') {
                 newPath = path.substring(1);
             }
-            tokens = PATH_SPLIT_PATTERN.split(newPath);
+            tokens = newPath.split("/");
         }
 
         int numTokens = tokens != null ? tokens.length : 0;
@@ -207,8 +206,6 @@
         node.mCode = code;
     }
 
-    static final Pattern PATH_SPLIT_PATTERN = Pattern.compile("/");
-
     /**
      * Try to match against the path in a url.
      *
diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/ApplicationInfo.java
index e822708..e1a2aa9 100644
--- a/core/java/android/content/pm/ApplicationInfo.java
+++ b/core/java/android/content/pm/ApplicationInfo.java
@@ -881,6 +881,13 @@
     /**
      * @hide
      */
+    public boolean isForwardLocked() {
+        return (privateFlags & ApplicationInfo.PRIVATE_FLAG_FORWARD_LOCK) != 0;
+    }
+
+    /**
+     * @hide
+     */
     @Override protected ApplicationInfo getApplicationInfo() {
         return this;
     }
diff --git a/core/java/android/content/pm/LauncherApps.java b/core/java/android/content/pm/LauncherApps.java
index c164340..c81517a 100644
--- a/core/java/android/content/pm/LauncherApps.java
+++ b/core/java/android/content/pm/LauncherApps.java
@@ -16,7 +16,6 @@
 
 package android.content.pm;
 
-import android.app.AppGlobals;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index ebc8e1e..0365689 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -16,6 +16,7 @@
 
 package android.content.pm;
 
+import android.annotation.CheckResult;
 import android.annotation.DrawableRes;
 import android.annotation.IntDef;
 import android.annotation.NonNull;
@@ -2121,6 +2122,7 @@
      * @see #PERMISSION_GRANTED
      * @see #PERMISSION_DENIED
      */
+    @CheckResult
     public abstract int checkPermission(String permName, String pkgName);
 
     /**
@@ -2248,6 +2250,7 @@
      * @see #SIGNATURE_NO_MATCH
      * @see #SIGNATURE_UNKNOWN_PACKAGE
      */
+    @CheckResult
     public abstract int checkSignatures(String pkg1, String pkg2);
 
     /**
@@ -2270,6 +2273,7 @@
      * @see #SIGNATURE_NO_MATCH
      * @see #SIGNATURE_UNKNOWN_PACKAGE
      */
+    @CheckResult
     public abstract int checkSignatures(int uid1, int uid2);
 
     /**
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index b0e0300..1140756 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -4405,6 +4405,13 @@
             return false;
         }
 
+        /**
+         * @hide
+         */
+        public boolean isForwardLocked() {
+            return applicationInfo.isForwardLocked();
+        }
+
         public String toString() {
             return "Package{"
                 + Integer.toHexString(System.identityHashCode(this))
diff --git a/core/java/android/content/res/ColorStateList.java b/core/java/android/content/res/ColorStateList.java
index b42d8bc..841b09d 100644
--- a/core/java/android/content/res/ColorStateList.java
+++ b/core/java/android/content/res/ColorStateList.java
@@ -16,6 +16,7 @@
 
 package android.content.res;
 
+import android.annotation.ColorInt;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.content.res.Resources.Theme;
@@ -91,7 +92,7 @@
      * Creates a ColorStateList that returns the specified mapping from
      * states to colors.
      */
-    public ColorStateList(int[][] states, int[] colors) {
+    public ColorStateList(int[][] states, @ColorInt int[] colors) {
         mStateSpecs = states;
         mColors = colors;
 
@@ -102,7 +103,7 @@
      * @return A ColorStateList containing a single color.
      */
     @NonNull
-    public static ColorStateList valueOf(int color) {
+    public static ColorStateList valueOf(@ColorInt int color) {
         synchronized (sCache) {
             final int index = sCache.indexOfKey(color);
             if (index >= 0) {
@@ -436,6 +437,7 @@
      *
      * @return the default color in this {@link ColorStateList}.
      */
+    @ColorInt
     public int getDefaultColor() {
         return mDefaultColor;
     }
@@ -462,46 +464,6 @@
         return mColors;
     }
 
-    /**
-     * If the color state list does not already have an entry matching the
-     * specified state, prepends a state set and color pair to a color state
-     * list.
-     * <p>
-     * This is a workaround used in TimePicker and DatePicker until we can
-     * add support for theme attributes in ColorStateList.
-     *
-     * @param colorStateList the source color state list
-     * @param state the state to prepend
-     * @param color the color to use for the given state
-     * @return a new color state list, or the source color state list if there
-     *         was already a matching state set
-     *
-     * @hide Remove when we can support theme attributes.
-     */
-    public static ColorStateList addFirstIfMissing(
-            ColorStateList colorStateList, int state, int color) {
-        final int[][] inputStates = colorStateList.getStates();
-        for (int i = 0; i < inputStates.length; i++) {
-            final int[] inputState = inputStates[i];
-            for (int j = 0; j < inputState.length; j++) {
-                if (inputState[j] == state) {
-                    return colorStateList;
-                }
-            }
-        }
-
-        final int[][] outputStates = new int[inputStates.length + 1][];
-        System.arraycopy(inputStates, 0, outputStates, 1, inputStates.length);
-        outputStates[0] = new int[] { state };
-
-        final int[] inputColors = colorStateList.getColors();
-        final int[] outputColors = new int[inputColors.length + 1];
-        System.arraycopy(inputColors, 0, outputColors, 1, inputColors.length);
-        outputColors[0] = color;
-
-        return new ColorStateList(outputStates, outputColors);
-    }
-
     @Override
     public String toString() {
         return "ColorStateList{" +
diff --git a/core/java/android/content/res/Resources.java b/core/java/android/content/res/Resources.java
index 3e922f2..5dc9ef9 100644
--- a/core/java/android/content/res/Resources.java
+++ b/core/java/android/content/res/Resources.java
@@ -16,6 +16,7 @@
 
 package android.content.res;
 
+import android.annotation.ColorInt;
 import com.android.internal.util.XmlUtils;
 
 import org.xmlpull.v1.XmlPullParser;
@@ -47,7 +48,6 @@
 import android.graphics.drawable.Drawable.ConstantState;
 import android.os.Build;
 import android.os.Bundle;
-import android.os.IBinder;
 import android.os.Trace;
 import android.util.ArrayMap;
 import android.util.AttributeSet;
@@ -926,6 +926,7 @@
      * @return A single color value in the form 0xAARRGGBB.
      * @deprecated Use {@link #getColor(int, Theme)} instead.
      */
+    @ColorInt
     public int getColor(@ColorRes int id) throws NotFoundException {
         return getColor(id, null);
     }
@@ -946,6 +947,7 @@
      *
      * @return A single color value in the form 0xAARRGGBB.
      */
+    @ColorInt
     public int getColor(@ColorRes int id, @Nullable Theme theme) throws NotFoundException {
         TypedValue value;
         synchronized (mAccessLock) {
diff --git a/core/java/android/content/res/TypedArray.java b/core/java/android/content/res/TypedArray.java
index 3d43304..1fca920 100644
--- a/core/java/android/content/res/TypedArray.java
+++ b/core/java/android/content/res/TypedArray.java
@@ -17,12 +17,12 @@
 package android.content.res;
 
 import android.annotation.AnyRes;
+import android.annotation.ColorInt;
 import android.annotation.Nullable;
 import android.graphics.drawable.Drawable;
 import android.os.StrictMode;
 import android.util.AttributeSet;
 import android.util.DisplayMetrics;
-import android.util.Log;
 import android.util.TypedValue;
 
 import com.android.internal.util.XmlUtils;
@@ -421,7 +421,8 @@
      * @throws UnsupportedOperationException if the attribute is defined but is
      *         not an integer color or color state list.
      */
-    public int getColor(int index, int defValue) {
+    @ColorInt
+    public int getColor(int index, @ColorInt int defValue) {
         if (mRecycled) {
             throw new RuntimeException("Cannot make calls to a recycled instance!");
         }
@@ -443,8 +444,10 @@
             }
             return defValue;
         } else if (type == TypedValue.TYPE_ATTRIBUTE) {
+            final TypedValue value = mValue;
+            getValueAt(index*AssetManager.STYLE_NUM_ENTRIES, value);
             throw new UnsupportedOperationException(
-                    "Failed to resolve attribute at index " + index);
+                    "Failed to resolve attribute at index " + index + ": " + value);
         }
 
         throw new UnsupportedOperationException("Can't convert to color: type=0x"
@@ -479,7 +482,7 @@
         if (getValueAt(index*AssetManager.STYLE_NUM_ENTRIES, value)) {
             if (value.type == TypedValue.TYPE_ATTRIBUTE) {
                 throw new UnsupportedOperationException(
-                        "Failed to resolve attribute at index " + index);
+                        "Failed to resolve attribute at index " + index + ": " + value);
             }
             return mResources.loadColorStateList(value, value.resourceId, mTheme);
         }
@@ -515,8 +518,10 @@
                 && type <= TypedValue.TYPE_LAST_INT) {
             return data[index+AssetManager.STYLE_DATA];
         } else if (type == TypedValue.TYPE_ATTRIBUTE) {
+            final TypedValue value = mValue;
+            getValueAt(index*AssetManager.STYLE_NUM_ENTRIES, value);
             throw new UnsupportedOperationException(
-                    "Failed to resolve attribute at index " + index);
+                    "Failed to resolve attribute at index " + index + ": " + value);
         }
 
         throw new UnsupportedOperationException("Can't convert to integer: type=0x"
@@ -559,8 +564,10 @@
             return TypedValue.complexToDimension(
                     data[index + AssetManager.STYLE_DATA], mMetrics);
         } else if (type == TypedValue.TYPE_ATTRIBUTE) {
+            final TypedValue value = mValue;
+            getValueAt(index*AssetManager.STYLE_NUM_ENTRIES, value);
             throw new UnsupportedOperationException(
-                    "Failed to resolve attribute at index " + index);
+                    "Failed to resolve attribute at index " + index + ": " + value);
         }
 
         throw new UnsupportedOperationException("Can't convert to dimension: type=0x"
@@ -604,8 +611,10 @@
             return TypedValue.complexToDimensionPixelOffset(
                     data[index + AssetManager.STYLE_DATA], mMetrics);
         } else if (type == TypedValue.TYPE_ATTRIBUTE) {
+            final TypedValue value = mValue;
+            getValueAt(index*AssetManager.STYLE_NUM_ENTRIES, value);
             throw new UnsupportedOperationException(
-                    "Failed to resolve attribute at index " + index);
+                    "Failed to resolve attribute at index " + index + ": " + value);
         }
 
         throw new UnsupportedOperationException("Can't convert to dimension: type=0x"
@@ -650,8 +659,10 @@
             return TypedValue.complexToDimensionPixelSize(
                 data[index+AssetManager.STYLE_DATA], mMetrics);
         } else if (type == TypedValue.TYPE_ATTRIBUTE) {
+            final TypedValue value = mValue;
+            getValueAt(index*AssetManager.STYLE_NUM_ENTRIES, value);
             throw new UnsupportedOperationException(
-                    "Failed to resolve attribute at index " + index);
+                    "Failed to resolve attribute at index " + index + ": " + value);
         }
 
         throw new UnsupportedOperationException("Can't convert to dimension: type=0x"
@@ -691,8 +702,10 @@
             return TypedValue.complexToDimensionPixelSize(
                 data[index+AssetManager.STYLE_DATA], mMetrics);
         } else if (type == TypedValue.TYPE_ATTRIBUTE) {
+            final TypedValue value = mValue;
+            getValueAt(index*AssetManager.STYLE_NUM_ENTRIES, value);
             throw new UnsupportedOperationException(
-                    "Failed to resolve attribute at index " + index);
+                    "Failed to resolve attribute at index " + index + ": " + value);
         }
 
         throw new UnsupportedOperationException(getPositionDescription()
@@ -764,8 +777,10 @@
             return TypedValue.complexToFraction(
                 data[index+AssetManager.STYLE_DATA], base, pbase);
         } else if (type == TypedValue.TYPE_ATTRIBUTE) {
+            final TypedValue value = mValue;
+            getValueAt(index*AssetManager.STYLE_NUM_ENTRIES, value);
             throw new UnsupportedOperationException(
-                    "Failed to resolve attribute at index " + index);
+                    "Failed to resolve attribute at index " + index + ": " + value);
         }
 
         throw new UnsupportedOperationException("Can't convert to fraction: type=0x"
@@ -852,7 +867,7 @@
         if (getValueAt(index*AssetManager.STYLE_NUM_ENTRIES, value)) {
             if (value.type == TypedValue.TYPE_ATTRIBUTE) {
                 throw new UnsupportedOperationException(
-                        "Failed to resolve attribute at index " + index);
+                        "Failed to resolve attribute at index " + index + ": " + value);
             }
             return mResources.loadDrawable(value, value.resourceId, mTheme);
         }
diff --git a/core/java/android/gesture/GestureOverlayView.java b/core/java/android/gesture/GestureOverlayView.java
index e1a2a25..e0d454c 100644
--- a/core/java/android/gesture/GestureOverlayView.java
+++ b/core/java/android/gesture/GestureOverlayView.java
@@ -16,6 +16,7 @@
 
 package android.gesture;
 
+import android.annotation.ColorInt;
 import android.content.Context;
 import android.content.res.TypedArray;
 import android.graphics.Canvas;
@@ -204,18 +205,20 @@
         mOrientation = orientation;
     }
 
-    public void setGestureColor(int color) {
+    public void setGestureColor(@ColorInt int color) {
         mCertainGestureColor = color;
     }
 
-    public void setUncertainGestureColor(int color) {
+    public void setUncertainGestureColor(@ColorInt int color) {
         mUncertainGestureColor = color;
     }
 
+    @ColorInt
     public int getUncertainGestureColor() {
         return mUncertainGestureColor;
     }
 
+    @ColorInt
     public int getGestureColor() {
         return mCertainGestureColor;
     }
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java
index 310ab76..49f6513 100644
--- a/core/java/android/hardware/Camera.java
+++ b/core/java/android/hardware/Camera.java
@@ -44,7 +44,6 @@
 import java.io.IOException;
 import java.lang.ref.WeakReference;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 
diff --git a/core/java/android/hardware/ICameraService.aidl b/core/java/android/hardware/ICameraService.aidl
index 2bc3dd4..9aede01 100644
--- a/core/java/android/hardware/ICameraService.aidl
+++ b/core/java/android/hardware/ICameraService.aidl
@@ -81,4 +81,6 @@
                     int clientUid,
                     // Container for an ICamera object
                     out BinderHolder device);
+
+    int setTorchMode(String CameraId, boolean enabled, IBinder clientBinder);
 }
diff --git a/core/java/android/hardware/ICameraServiceListener.aidl b/core/java/android/hardware/ICameraServiceListener.aidl
index c5484965..49278b6 100644
--- a/core/java/android/hardware/ICameraServiceListener.aidl
+++ b/core/java/android/hardware/ICameraServiceListener.aidl
@@ -23,4 +23,6 @@
      * Keep up-to-date with frameworks/av/include/camera/ICameraServiceListener.h
      */
     void onStatusChanged(int status, int cameraId);
+
+    void onTorchStatusChanged(int status, String cameraId);
 }
diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java
index 87ec06a..a0217c2 100644
--- a/core/java/android/hardware/camera2/CameraCharacteristics.java
+++ b/core/java/android/hardware/camera2/CameraCharacteristics.java
@@ -2493,6 +2493,83 @@
     public static final Key<Integer> SYNC_MAX_LATENCY =
             new Key<Integer>("android.sync.maxLatency", int.class);
 
+    /**
+     * <p>The available depth dataspace stream
+     * configurations that this camera device supports
+     * (i.e. format, width, height, output/input stream).</p>
+     * <p>These are output stream configurations for use with
+     * dataSpace HAL_DATASPACE_DEPTH. The configurations are
+     * listed as <code>(format, width, height, input?)</code> tuples.</p>
+     * <p>Only devices that support depth output for at least
+     * the HAL_PIXEL_FORMAT_Y16 dense depth map may include
+     * this entry.</p>
+     * <p>A device that also supports the HAL_PIXEL_FORMAT_BLOB
+     * sparse depth point cloud must report a single entry for
+     * the format in this list as <code>(HAL_PIXEL_FORMAT_BLOB,
+     * android.depth.maxDepthSamples, 1, OUTPUT)</code> in addition to
+     * the entries for HAL_PIXEL_FORMAT_Y16.</p>
+     * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Limited capability</b> -
+     * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
+     * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
+     *
+     * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
+     * @hide
+     */
+    public static final Key<android.hardware.camera2.params.StreamConfiguration[]> DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS =
+            new Key<android.hardware.camera2.params.StreamConfiguration[]>("android.depth.availableDepthStreamConfigurations", android.hardware.camera2.params.StreamConfiguration[].class);
+
+    /**
+     * <p>This lists the minimum frame duration for each
+     * format/size combination for depth output formats.</p>
+     * <p>This should correspond to the frame duration when only that
+     * stream is active, with all processing (typically in android.*.mode)
+     * set to either OFF or FAST.</p>
+     * <p>When multiple streams are used in a request, the minimum frame
+     * duration will be max(individual stream min durations).</p>
+     * <p>The minimum frame duration of a stream (of a particular format, size)
+     * is the same regardless of whether the stream is input or output.</p>
+     * <p>See {@link CaptureRequest#SENSOR_FRAME_DURATION android.sensor.frameDuration} and
+     * android.scaler.availableStallDurations for more details about
+     * calculating the max frame rate.</p>
+     * <p>(Keep in sync with
+     * StreamConfigurationMap#getOutputMinFrameDuration)</p>
+     * <p><b>Units</b>: (format, width, height, ns) x n</p>
+     * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Limited capability</b> -
+     * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
+     * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
+     *
+     * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
+     * @see CaptureRequest#SENSOR_FRAME_DURATION
+     * @hide
+     */
+    public static final Key<android.hardware.camera2.params.StreamConfigurationDuration[]> DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS =
+            new Key<android.hardware.camera2.params.StreamConfigurationDuration[]>("android.depth.availableDepthMinFrameDurations", android.hardware.camera2.params.StreamConfigurationDuration[].class);
+
+    /**
+     * <p>This lists the maximum stall duration for each
+     * format/size combination for depth streams.</p>
+     * <p>A stall duration is how much extra time would get added
+     * to the normal minimum frame duration for a repeating request
+     * that has streams with non-zero stall.</p>
+     * <p>This functions similarly to
+     * android.scaler.availableStallDurations for depth
+     * streams.</p>
+     * <p>All depth output stream formats may have a nonzero stall
+     * duration.</p>
+     * <p><b>Units</b>: (format, width, height, ns) x n</p>
+     * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+     * <p><b>Limited capability</b> -
+     * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
+     * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
+     *
+     * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
+     * @hide
+     */
+    public static final Key<android.hardware.camera2.params.StreamConfigurationDuration[]> DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS =
+            new Key<android.hardware.camera2.params.StreamConfigurationDuration[]>("android.depth.availableDepthStallDurations", android.hardware.camera2.params.StreamConfigurationDuration[].class);
+
     /*~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~
      * End generated code
      *~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~O@*/
diff --git a/core/java/android/hardware/camera2/CameraDevice.java b/core/java/android/hardware/camera2/CameraDevice.java
index bec9489..fd4cf3c 100644
--- a/core/java/android/hardware/camera2/CameraDevice.java
+++ b/core/java/android/hardware/camera2/CameraDevice.java
@@ -17,7 +17,7 @@
 package android.hardware.camera2;
 
 import android.hardware.camera2.params.StreamConfigurationMap;
-import android.graphics.ImageFormat;
+import android.hardware.camera2.params.OutputConfiguration;
 import android.os.Handler;
 import android.view.Surface;
 
@@ -381,6 +381,20 @@
             throws CameraAccessException;
 
     /**
+     * <p>Create a new camera capture session by providing the target output set of Surfaces and
+     * its corresponding surface configuration to the camera device.</p>
+     *
+     * @see #createCaptureSession
+     * @see OutputConfiguration
+     *
+     * @hide
+     */
+    public abstract void createCaptureSessionByOutputConfiguration(
+            List<OutputConfiguration> outputConfigurations,
+            CameraCaptureSession.StateCallback callback, Handler handler)
+            throws CameraAccessException;
+
+    /**
      * <p>Create a {@link CaptureRequest.Builder} for new capture requests,
      * initialized with template for a target use case. The settings are chosen
      * to be the best options for the specific camera device, so it is not
diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java
index 8af3c15..faa782a 100644
--- a/core/java/android/hardware/camera2/CameraManager.java
+++ b/core/java/android/hardware/camera2/CameraManager.java
@@ -27,6 +27,7 @@
 import android.hardware.camera2.utils.CameraRuntimeException;
 import android.hardware.camera2.utils.BinderHolder;
 import android.os.IBinder;
+import android.os.Binder;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.RemoteException;
@@ -163,6 +164,15 @@
      *             no looper.
      */
     public void registerTorchCallback(TorchCallback callback, Handler handler) {
+        if (handler == null) {
+            Looper looper = Looper.myLooper();
+            if (looper == null) {
+                throw new IllegalArgumentException(
+                        "No handler given, and current thread has no looper!");
+            }
+            handler = new Handler(looper);
+        }
+        CameraManagerGlobal.get().registerTorchCallback(callback, handler);
     }
 
     /**
@@ -174,6 +184,7 @@
      * @param callback The callback to remove from the notification list
      */
     public void unregisterTorchCallback(TorchCallback callback) {
+        CameraManagerGlobal.get().unregisterTorchCallback(callback);
     }
 
     /**
@@ -437,11 +448,11 @@
      * However, even if turning on the torch mode is successful, the application does not have the
      * exclusive ownership of the flash unit or the camera device. The torch mode will be turned
      * off and becomes unavailable when the camera device that the flash unit belongs to becomes
-     * unavailable ({@link CameraManager.TorchCallback#onTorchModeAvailable} will be
-     * invoked) or when other camera resources to keep the torch on become unavailable (
+     * unavailable or when other camera resources to keep the torch on become unavailable (
      * {@link CameraManager.TorchCallback#onTorchModeUnavailable} will be invoked). Also,
      * other applications are free to call {@link #setTorchMode} to turn off the torch mode (
-     * {@link CameraManager.TorchCallback#onTorchModeChanged} will be invoked).
+     * {@link CameraManager.TorchCallback#onTorchModeChanged} will be invoked). If the latest
+     * application that turned on the torch mode exits, the torch mode will be turned off.
      *
      * @param cameraId
      *             The unique identifier of the camera device that the flash unit belongs to.
@@ -454,13 +465,15 @@
      *             {@link CameraAccessException#CAMERA_IN_USE} will be thrown if the camera device
      *             is in use. {@link CameraAccessException#MAX_CAMERAS_IN_USE} will be thrown if
      *             other camera resources needed to turn on the torch mode are in use.
+     *             {@link CameraAccessException#CAMERA_DISCONNECTED} will be thrown if camera
+     *             service is not available.
      *
      * @throws IllegalArgumentException if cameraId was null, cameraId doesn't match any currently
      *             or previously available camera device, or the camera device doesn't have a
      *             flash unit.
      */
     public void setTorchMode(String cameraId, boolean enabled) throws CameraAccessException {
-
+        CameraManagerGlobal.get().setTorchMode(cameraId, enabled);
     }
 
     /**
@@ -508,14 +521,19 @@
     }
 
     /**
-     * A callback for camera flash torch modes becoming available, unavailable, enabled, or
-     * disabled.
+     * A callback for camera flash torch modes becoming unavailable, disabled, or enabled.
      *
-     * <p>The torch mode becomes available when the camera device it belongs to is no longer in use
-     * and other camera resources it needs are no longer busy. It becomes unavailable when the
-     * camera device it belongs to becomes unavailable or other camera resouces it needs become
-     * busy due to other higher priority camera activities. The torch mode changes when an
-     * application calls {@link #setTorchMode} successfully.
+     * <p>The torch mode becomes unavailable when the camera device it belongs to becomes
+     * unavailable or other camera resouces it needs become busy due to other higher priority
+     * camera activities. The torch mode becomes disabled when it was turned off or when the camera
+     * device it belongs to is no longer in use and other camera resources it needs are no longer
+     * busy. A camera's torch mode is turned off when an application calls {@link #setTorchMode} to
+     * turn off the camera's torch mode, or when an application turns on another camera's torch mode
+     * if keeping multiple torch modes on simultaneously is not supported. The torch mode becomes
+     * enabled when it is turned on via {@link #setTorchMode}.</p>
+     *
+     * <p>The torch mode is available to set via {@link #setTorchMode} only when it's in a disabled
+     * or enabled state.</p>
      *
      * <p>Extend this callback and pass an instance of the subclass to
      * {@link CameraManager#registerTorchCallback} to be notified of such status changes.
@@ -525,24 +543,12 @@
      */
     public static abstract class TorchCallback {
         /**
-         * The torch mode of a camera has become available to use.
-         *
-         * <p>The default implementation of this method does nothing.</p>
-         *
-         * @param cameraId The unique identifier of the camera whose torch mode has become
-         *                 available.
-         */
-        public void onTorchModeAvailable(String cameraId) {
-            // default empty implementation
-        }
-
-        /**
-         * A previously-available torch mode of a camera has become unavailable.
+         * A camera's torch mode has become unavailable to set via {@link #setTorchMode}.
          *
          * <p>If torch mode was previously turned on by calling {@link #setTorchMode}, it will be
          * turned off before {@link CameraManager.TorchCallback#onTorchModeUnavailable} is
-         * invoked. {@link #setTorchMode} will fail until the flash unit becomes available again.
-         * </p>
+         * invoked. {@link #setTorchMode} will fail until the torch mode has entered a disabled or
+         * enabled state again.</p>
          *
          * <p>The default implementation of this method does nothing.</p>
          *
@@ -554,15 +560,17 @@
         }
 
         /**
-         * Torch mode of a camera has been turned on or off through {@link #setTorchMode}.
+         * A camera's torch mode has become enabled or disabled and can be changed via
+         * {@link #setTorchMode}.
          *
          * <p>The default implementation of this method does nothing.</p>
          *
          * @param cameraId The unique identifier of the camera whose torch mode has been changed.
          *
          * @param enabled The state that the torch mode of the camera has been changed to.
-         *                {@code true} when the torch mode has been turned on. {@code false} when
-         *                the torch mode has been turned off.
+         *                {@code true} when the torch mode has become on and available to be turned
+         *                off. {@code false} when the torch mode has becomes off and available to
+         *                be turned on.
          */
         public void onTorchModeChanged(String cameraId, boolean enabled) {
             // default empty implementation
@@ -725,6 +733,27 @@
         private final ArrayMap<AvailabilityCallback, Handler> mCallbackMap =
             new ArrayMap<AvailabilityCallback, Handler>();
 
+        // Keep up-to-date with ICameraServiceListener.h
+
+        // torch mode has become not available to set via setTorchMode().
+        public static final int TORCH_STATUS_NOT_AVAILABLE = 0;
+        // torch mode is off and available to be turned on via setTorchMode().
+        public static final int TORCH_STATUS_AVAILABLE_OFF = 1;
+        // torch mode is on and available to be turned off via setTorchMode().
+        public static final int TORCH_STATUS_AVAILABLE_ON = 2;
+
+        // End enums shared with ICameraServiceListener.h
+
+        // torch client binder to set the torch mode with.
+        private Binder mTorchClientBinder = new Binder();
+
+        // Camera ID -> Torch status map
+        private final ArrayMap<String, Integer> mTorchStatus = new ArrayMap<String, Integer>();
+
+        // Registered torch callbacks and their handlers
+        private final ArrayMap<TorchCallback, Handler> mTorchCallbackMap =
+                new ArrayMap<TorchCallback, Handler>();
+
         private final Object mLock = new Object();
 
         // Access only through getCameraService to deal with binder death
@@ -810,15 +839,46 @@
             }
         }
 
+        public void setTorchMode(String cameraId, boolean enabled) throws CameraAccessException {
+            synchronized(mLock) {
+
+                if (cameraId == null) {
+                    throw new IllegalArgumentException("cameraId was null");
+                }
+
+                ICameraService cameraService = getCameraService();
+                if (cameraService == null) {
+                    throw new CameraAccessException(CameraAccessException.CAMERA_DISCONNECTED,
+                        "Camera service is currently unavailable");
+                }
+
+                try {
+                    int status = cameraService.setTorchMode(cameraId, enabled, mTorchClientBinder);
+                } catch(CameraRuntimeException e) {
+                    int problem = e.getReason();
+                    switch (problem) {
+                        case CameraAccessException.CAMERA_ERROR:
+                            throw new IllegalArgumentException(
+                                    "the camera device doesn't have a flash unit.");
+                        default:
+                            throw e.asChecked();
+                    }
+                } catch (RemoteException e) {
+                    throw new CameraAccessException(CameraAccessException.CAMERA_DISCONNECTED,
+                            "Camera service is currently unavailable");
+                }
+            }
+        }
+
         private void handleRecoverableSetupErrors(CameraRuntimeException e, String msg) {
             int problem = e.getReason();
             switch (problem) {
-            case CameraAccessException.CAMERA_DISCONNECTED:
-                String errorMsg = CameraAccessException.getDefaultMessage(problem);
-                Log.w(TAG, msg + ": " + errorMsg);
-                break;
-            default:
-                throw new IllegalStateException(msg, e.asChecked());
+                case CameraAccessException.CAMERA_DISCONNECTED:
+                    String errorMsg = CameraAccessException.getDefaultMessage(problem);
+                    Log.w(TAG, msg + ": " + errorMsg);
+                    break;
+                default:
+                    throw new IllegalStateException(msg, e.asChecked());
             }
         }
 
@@ -843,6 +903,17 @@
             }
         }
 
+        private boolean validTorchStatus(int status) {
+            switch (status) {
+                case TORCH_STATUS_NOT_AVAILABLE:
+                case TORCH_STATUS_AVAILABLE_ON:
+                case TORCH_STATUS_AVAILABLE_OFF:
+                    return true;
+                default:
+                    return false;
+            }
+        }
+
         private void postSingleUpdate(final AvailabilityCallback callback, final Handler handler,
                 final String id, final int status) {
             if (isAvailable(status)) {
@@ -864,6 +935,32 @@
             }
         }
 
+        private void postSingleTorchUpdate(final TorchCallback callback, final Handler handler,
+                final String id, final int status) {
+            switch(status) {
+                case TORCH_STATUS_AVAILABLE_ON:
+                case TORCH_STATUS_AVAILABLE_OFF:
+                    handler.post(
+                            new Runnable() {
+                                @Override
+                                public void run() {
+                                    callback.onTorchModeChanged(id, status ==
+                                            TORCH_STATUS_AVAILABLE_ON);
+                                }
+                            });
+                    break;
+                default:
+                    handler.post(
+                            new Runnable() {
+                                @Override
+                                public void run() {
+                                    callback.onTorchModeUnavailable(id);
+                                }
+                            });
+                    break;
+            }
+        }
+
         /**
          * Send the state of all known cameras to the provided listener, to initialize
          * the listener's knowledge of camera state.
@@ -933,6 +1030,44 @@
             }
         } // onStatusChangedLocked
 
+        private void updateTorchCallbackLocked(TorchCallback callback, Handler handler) {
+            for (int i = 0; i < mTorchStatus.size(); i++) {
+                String id = mTorchStatus.keyAt(i);
+                Integer status = mTorchStatus.valueAt(i);
+                postSingleTorchUpdate(callback, handler, id, status);
+            }
+        }
+
+        private void onTorchStatusChangedLocked(int status, String id) {
+            if (DEBUG) {
+                Log.v(TAG,
+                        String.format("Camera id %s has torch status changed to 0x%x", id, status));
+            }
+
+            if (!validTorchStatus(status)) {
+                Log.e(TAG, String.format("Ignoring invalid device %s torch status 0x%x", id,
+                                status));
+                return;
+            }
+
+            Integer oldStatus = mTorchStatus.put(id, status);
+            if (oldStatus != null && oldStatus == status) {
+                if (DEBUG) {
+                    Log.v(TAG, String.format(
+                        "Torch status changed to 0x%x, which is what it already was",
+                        status));
+                }
+                return;
+            }
+
+            final int callbackCount = mTorchCallbackMap.size();
+            for (int i = 0; i < callbackCount; i++) {
+                final Handler handler = mTorchCallbackMap.valueAt(i);
+                final TorchCallback callback = mTorchCallbackMap.keyAt(i);
+                postSingleTorchUpdate(callback, handler, id, status);
+            }
+        } // onTorchStatusChangedLocked
+
         /**
          * Register a callback to be notified about camera device availability with the
          * global listener singleton.
@@ -962,6 +1097,22 @@
             }
         }
 
+        public void registerTorchCallback(TorchCallback callback, Handler handler) {
+            synchronized(mLock) {
+                Handler oldHandler = mTorchCallbackMap.put(callback, handler);
+                // For new callbacks, provide initial torch information
+                if (oldHandler == null) {
+                    updateTorchCallbackLocked(callback, handler);
+                }
+            }
+        }
+
+        public void unregisterTorchCallback(TorchCallback callback) {
+            synchronized(mLock) {
+                mTorchCallbackMap.remove(callback);
+            }
+        }
+
         /**
          * Callback from camera service notifying the process about camera availability changes
          */
@@ -972,6 +1123,13 @@
             }
         }
 
+        @Override
+        public void onTorchStatusChanged(int status, String cameraId) throws RemoteException {
+            synchronized (mLock) {
+                onTorchStatusChangedLocked(status, cameraId);
+            }
+        }
+
         /**
          * Listener for camera service death.
          *
@@ -986,9 +1144,9 @@
 
                 mCameraService = null;
 
-                // Tell listeners that the cameras are _available_, because any existing clients
-                // will have gotten disconnected. This is optimistic under the assumption that
-                // the service will be back shortly.
+                // Tell listeners that the cameras and torch modes are _available_, because any
+                // existing clients will have gotten disconnected. This is optimistic under the
+                // assumption that the service will be back shortly.
                 //
                 // Without this, a camera service crash while a camera is open will never signal
                 // to listeners that previously in-use cameras are now available.
@@ -996,6 +1154,11 @@
                     String cameraId = mDeviceStatus.keyAt(i);
                     onStatusChangedLocked(STATUS_PRESENT, cameraId);
                 }
+                for (int i = 0; i < mTorchStatus.size(); i++) {
+                    String cameraId = mTorchStatus.keyAt(i);
+                    onTorchStatusChangedLocked(TORCH_STATUS_AVAILABLE_OFF, cameraId);
+                }
+
             }
         }
 
diff --git a/core/java/android/hardware/camera2/ICameraDeviceUser.aidl b/core/java/android/hardware/camera2/ICameraDeviceUser.aidl
index 50a58ed..d286d38 100644
--- a/core/java/android/hardware/camera2/ICameraDeviceUser.aidl
+++ b/core/java/android/hardware/camera2/ICameraDeviceUser.aidl
@@ -66,7 +66,7 @@
     int deleteStream(int streamId);
 
     // non-negative value is the stream ID. negative value is status_t
-    int createStream(int width, int height, int format, in Surface surface);
+    int createStream(in Surface surface);
 
     int createDefaultRequest(int templateId, out CameraMetadataNative request);
 
diff --git a/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java b/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
index 5bc7f71..e87a2f8 100644
--- a/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
+++ b/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
@@ -21,11 +21,9 @@
 import android.hardware.camera2.CaptureRequest;
 import android.hardware.camera2.dispatch.ArgumentReplacingDispatcher;
 import android.hardware.camera2.dispatch.BroadcastDispatcher;
-import android.hardware.camera2.dispatch.Dispatchable;
 import android.hardware.camera2.dispatch.DuckTypingDispatcher;
 import android.hardware.camera2.dispatch.HandlerDispatcher;
 import android.hardware.camera2.dispatch.InvokeDispatcher;
-import android.hardware.camera2.dispatch.NullDispatcher;
 import android.hardware.camera2.utils.TaskDrainer;
 import android.hardware.camera2.utils.TaskSingleDrainer;
 import android.os.Handler;
diff --git a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
index ec450bd1..c5267cb 100644
--- a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
+++ b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
@@ -28,6 +28,7 @@
 import android.hardware.camera2.ICameraDeviceCallbacks;
 import android.hardware.camera2.ICameraDeviceUser;
 import android.hardware.camera2.TotalCaptureResult;
+import android.hardware.camera2.params.OutputConfiguration;
 import android.hardware.camera2.utils.CameraBinderDecorator;
 import android.hardware.camera2.utils.CameraRuntimeException;
 import android.hardware.camera2.utils.LongParcelable;
@@ -373,9 +374,7 @@
 
                 // Add all new streams
                 for (Surface s : addSet) {
-                    // TODO: remove width,height,format since we are ignoring
-                    // it.
-                    int streamId = mRemoteDevice.createStream(0, 0, 0, s);
+                    int streamId = mRemoteDevice.createStream(s);
                     mConfiguredOutputs.put(streamId, s);
                 }
 
@@ -417,6 +416,18 @@
     public void createCaptureSession(List<Surface> outputs,
             CameraCaptureSession.StateCallback callback, Handler handler)
             throws CameraAccessException {
+        List<OutputConfiguration> outConfigurations = new ArrayList<>(outputs.size());
+        for (Surface surface : outputs) {
+            outConfigurations.add(new OutputConfiguration(surface));
+        }
+        createCaptureSessionByOutputConfiguration(outConfigurations, callback, handler);
+    }
+
+    @Override
+    public void createCaptureSessionByOutputConfiguration(
+            List<OutputConfiguration> outputConfigurations,
+            CameraCaptureSession.StateCallback callback, Handler handler)
+            throws CameraAccessException {
         synchronized(mInterfaceLock) {
             if (DEBUG) {
                 Log.d(TAG, "createCaptureSession");
@@ -433,8 +444,12 @@
             // TODO: dont block for this
             boolean configureSuccess = true;
             CameraAccessException pendingException = null;
+            List<Surface> outSurfaces = new ArrayList<>(outputConfigurations.size());
+            for (OutputConfiguration config : outputConfigurations) {
+                outSurfaces.add(config.getSurface());
+            }
             try {
-                configureSuccess = configureOutputsChecked(outputs); // and then block until IDLE
+                configureSuccess = configureOutputsChecked(outSurfaces); // and then block until IDLE
             } catch (CameraAccessException e) {
                 configureSuccess = false;
                 pendingException = e;
@@ -446,7 +461,7 @@
             // Fire onConfigured if configureOutputs succeeded, fire onConfigureFailed otherwise.
             CameraCaptureSessionImpl newSession =
                     new CameraCaptureSessionImpl(mNextSessionId++,
-                            outputs, callback, handler, this, mDeviceHandler,
+                            outSurfaces, callback, handler, this, mDeviceHandler,
                             configureSuccess);
 
             // TODO: wait until current session closes, then create the new session
diff --git a/core/java/android/hardware/camera2/legacy/BurstHolder.java b/core/java/android/hardware/camera2/legacy/BurstHolder.java
index b9c89f8..e7b3682 100644
--- a/core/java/android/hardware/camera2/legacy/BurstHolder.java
+++ b/core/java/android/hardware/camera2/legacy/BurstHolder.java
@@ -17,10 +17,6 @@
 package android.hardware.camera2.legacy;
 
 import android.hardware.camera2.CaptureRequest;
-import android.hardware.camera2.impl.CameraMetadataNative;
-import android.util.Log;
-import android.view.Surface;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
diff --git a/core/java/android/hardware/camera2/legacy/CameraDeviceUserShim.java b/core/java/android/hardware/camera2/legacy/CameraDeviceUserShim.java
index fcf172c..26cd498 100644
--- a/core/java/android/hardware/camera2/legacy/CameraDeviceUserShim.java
+++ b/core/java/android/hardware/camera2/legacy/CameraDeviceUserShim.java
@@ -504,7 +504,7 @@
     }
 
     @Override
-    public int createStream(int width, int height, int format, Surface surface) {
+    public int createStream(Surface surface) {
         if (DEBUG) {
             Log.d(TAG, "createStream called.");
         }
diff --git a/core/java/android/hardware/camera2/legacy/LegacyFaceDetectMapper.java b/core/java/android/hardware/camera2/legacy/LegacyFaceDetectMapper.java
index 6215a8f..e576beb 100644
--- a/core/java/android/hardware/camera2/legacy/LegacyFaceDetectMapper.java
+++ b/core/java/android/hardware/camera2/legacy/LegacyFaceDetectMapper.java
@@ -33,7 +33,6 @@
 import com.android.internal.util.ArrayUtils;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 import static android.hardware.camera2.CaptureRequest.*;
diff --git a/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java b/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java
index 802b938..8776418 100644
--- a/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java
+++ b/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java
@@ -42,7 +42,6 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.Comparator;
 import java.util.List;
 
 import static com.android.internal.util.Preconditions.*;
diff --git a/core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java b/core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java
index 61f7b8b..3688610 100644
--- a/core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java
+++ b/core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java
@@ -34,7 +34,6 @@
 import java.util.List;
 import java.util.Objects;
 
-import static com.android.internal.util.Preconditions.*;
 import static android.hardware.camera2.CaptureRequest.*;
 
 /**
diff --git a/core/java/android/hardware/camera2/legacy/ParameterUtils.java b/core/java/android/hardware/camera2/legacy/ParameterUtils.java
index 3b10eb5..9e9a6fe 100644
--- a/core/java/android/hardware/camera2/legacy/ParameterUtils.java
+++ b/core/java/android/hardware/camera2/legacy/ParameterUtils.java
@@ -22,8 +22,6 @@
 import android.graphics.RectF;
 import android.hardware.Camera;
 import android.hardware.Camera.Area;
-import android.hardware.camera2.legacy.ParameterUtils.MeteringData;
-import android.hardware.camera2.legacy.ParameterUtils.ZoomData;
 import android.hardware.camera2.params.Face;
 import android.hardware.camera2.params.MeteringRectangle;
 import android.hardware.camera2.utils.ListUtils;
diff --git a/core/java/android/hardware/camera2/legacy/PerfMeasurement.java b/core/java/android/hardware/camera2/legacy/PerfMeasurement.java
index b930ec2..53278c7 100644
--- a/core/java/android/hardware/camera2/legacy/PerfMeasurement.java
+++ b/core/java/android/hardware/camera2/legacy/PerfMeasurement.java
@@ -20,7 +20,6 @@
 import android.util.Log;
 
 import java.io.BufferedWriter;
-import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.util.ArrayList;
diff --git a/core/java/android/hardware/camera2/legacy/RequestHandlerThread.java b/core/java/android/hardware/camera2/legacy/RequestHandlerThread.java
index 0699ffb..e19ebf2 100644
--- a/core/java/android/hardware/camera2/legacy/RequestHandlerThread.java
+++ b/core/java/android/hardware/camera2/legacy/RequestHandlerThread.java
@@ -96,15 +96,15 @@
     // Blocks until thread is idling
     public void waitUntilIdle() {
         Handler handler = waitAndGetHandler();
-        Looper looper = handler.getLooper();
-        if (looper.isIdling()) {
+        MessageQueue queue = handler.getLooper().getQueue();
+        if (queue.isIdle()) {
             return;
         }
         mIdle.close();
-        looper.getQueue().addIdleHandler(mIdleHandler);
+        queue.addIdleHandler(mIdleHandler);
         // Ensure that the idle handler gets run even if the looper already went idle
         handler.sendEmptyMessage(MSG_POKE_IDLE_HANDLER);
-        if (looper.isIdling()) {
+        if (queue.isIdle()) {
             return;
         }
         mIdle.block();
diff --git a/core/java/android/hardware/camera2/legacy/RequestHolder.java b/core/java/android/hardware/camera2/legacy/RequestHolder.java
index edd8e4e..9b628fb 100644
--- a/core/java/android/hardware/camera2/legacy/RequestHolder.java
+++ b/core/java/android/hardware/camera2/legacy/RequestHolder.java
@@ -17,7 +17,6 @@
 package android.hardware.camera2.legacy;
 
 import android.hardware.camera2.CaptureRequest;
-import android.hardware.camera2.impl.CameraMetadataNative;
 import android.util.Log;
 import android.view.Surface;
 
diff --git a/core/java/android/hardware/camera2/legacy/RequestThreadManager.java b/core/java/android/hardware/camera2/legacy/RequestThreadManager.java
index cf3510d..ff74c59 100644
--- a/core/java/android/hardware/camera2/legacy/RequestThreadManager.java
+++ b/core/java/android/hardware/camera2/legacy/RequestThreadManager.java
@@ -16,13 +16,11 @@
 
 package android.hardware.camera2.legacy;
 
-import android.graphics.ImageFormat;
 import android.graphics.SurfaceTexture;
 import android.hardware.Camera;
 import android.hardware.camera2.CameraCharacteristics;
 import android.hardware.camera2.CaptureRequest;
 import android.hardware.camera2.impl.CameraDeviceImpl;
-import android.hardware.camera2.params.StreamConfigurationMap;
 import android.hardware.camera2.utils.LongParcelable;
 import android.hardware.camera2.utils.SizeAreaComparator;
 import android.hardware.camera2.impl.CameraMetadataNative;
@@ -38,7 +36,6 @@
 
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
diff --git a/core/java/android/hardware/camera2/marshal/impl/MarshalQueryableArray.java b/core/java/android/hardware/camera2/marshal/impl/MarshalQueryableArray.java
index 22b87ef..d89518b 100644
--- a/core/java/android/hardware/camera2/marshal/impl/MarshalQueryableArray.java
+++ b/core/java/android/hardware/camera2/marshal/impl/MarshalQueryableArray.java
@@ -25,9 +25,6 @@
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
 
-import static android.hardware.camera2.impl.CameraMetadataNative.*;
-import static android.hardware.camera2.marshal.MarshalHelpers.*;
-
 /**
  * Marshal any array {@code T}.
  *
diff --git a/core/java/android/hardware/camera2/marshal/impl/MarshalQueryableParcelable.java b/core/java/android/hardware/camera2/marshal/impl/MarshalQueryableParcelable.java
index 1fd6a1d..0b7a4bf 100644
--- a/core/java/android/hardware/camera2/marshal/impl/MarshalQueryableParcelable.java
+++ b/core/java/android/hardware/camera2/marshal/impl/MarshalQueryableParcelable.java
@@ -25,9 +25,6 @@
 import java.lang.reflect.Field;
 import java.nio.ByteBuffer;
 
-import static android.hardware.camera2.impl.CameraMetadataNative.*;
-import static android.hardware.camera2.marshal.MarshalHelpers.*;
-
 /**
  * Marshal any {@code T extends Parcelable} to/from any native type
  *
diff --git a/core/java/android/hardware/camera2/marshal/impl/MarshalQueryablePrimitive.java b/core/java/android/hardware/camera2/marshal/impl/MarshalQueryablePrimitive.java
index 189b597..090dd48 100644
--- a/core/java/android/hardware/camera2/marshal/impl/MarshalQueryablePrimitive.java
+++ b/core/java/android/hardware/camera2/marshal/impl/MarshalQueryablePrimitive.java
@@ -23,8 +23,6 @@
 
 import static android.hardware.camera2.impl.CameraMetadataNative.*;
 import static android.hardware.camera2.marshal.MarshalHelpers.*;
-import static com.android.internal.util.Preconditions.*;
-
 import java.nio.ByteBuffer;
 
 /**
diff --git a/core/java/android/hardware/camera2/marshal/impl/MarshalQueryableRange.java b/core/java/android/hardware/camera2/marshal/impl/MarshalQueryableRange.java
index 8512804..64763e7 100644
--- a/core/java/android/hardware/camera2/marshal/impl/MarshalQueryableRange.java
+++ b/core/java/android/hardware/camera2/marshal/impl/MarshalQueryableRange.java
@@ -27,9 +27,6 @@
 import java.lang.reflect.Type;
 import java.nio.ByteBuffer;
 
-import static android.hardware.camera2.impl.CameraMetadataNative.*;
-import static android.hardware.camera2.marshal.MarshalHelpers.*;
-
 /**
  * Marshal {@link Range} to/from any native type
  */
diff --git a/core/java/android/hardware/camera2/params/LensShadingMap.java b/core/java/android/hardware/camera2/params/LensShadingMap.java
index 13929b1..d6b84f2 100644
--- a/core/java/android/hardware/camera2/params/LensShadingMap.java
+++ b/core/java/android/hardware/camera2/params/LensShadingMap.java
@@ -19,7 +19,6 @@
 import static com.android.internal.util.Preconditions.*;
 import static android.hardware.camera2.params.RggbChannelVector.*;
 
-import android.hardware.camera2.CameraCharacteristics;
 import android.hardware.camera2.CaptureResult;
 import android.hardware.camera2.utils.HashCodeHelpers;
 
diff --git a/core/java/android/hardware/camera2/params/OutputConfiguration.java b/core/java/android/hardware/camera2/params/OutputConfiguration.java
new file mode 100644
index 0000000..47c784e
--- /dev/null
+++ b/core/java/android/hardware/camera2/params/OutputConfiguration.java
@@ -0,0 +1,116 @@
+/*
+ * 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.hardware.camera2.params;
+
+import android.hardware.camera2.CameraDevice;
+import android.view.Surface;
+
+import static com.android.internal.util.Preconditions.*;
+
+/**
+ * Immutable class for describing camera output, which contains a {@link Surface} and its specific
+ * configuration for creating capture session.
+ *
+ * @see CameraDevice#createCaptureSession
+ *
+ * @hide
+ */
+public final class OutputConfiguration {
+
+    /**
+     * Rotation constant: 0 degree rotation (no rotation)
+     */
+    public static final int ROTATION_0 = 0;
+
+    /**
+     * Rotation constant: 90 degree counterclockwise rotation.
+     */
+    public static final int ROTATION_90 = 1;
+
+    /**
+     * Rotation constant: 180 degree counterclockwise rotation.
+     */
+    public static final int ROTATION_180 = 2;
+
+    /**
+     * Rotation constant: 270 degree counterclockwise rotation.
+     */
+    public static final int ROTATION_270 = 3;
+
+    /**
+     * Create a new immutable SurfaceConfiguration instance.
+     *
+     * @param surface
+     *          A Surface for camera to output to.
+     *
+     * <p>This constructor creates a default configuration</p>
+     *
+     */
+    public OutputConfiguration(Surface surface) {
+        checkNotNull(surface, "Surface must not be null");
+        mSurface = surface;
+        mRotation = ROTATION_0;
+    }
+
+    /**
+     * Create a new immutable SurfaceConfiguration instance.
+     *
+     * <p>This constructor takes an argument for desired camera rotation</p>
+     *
+     * @param surface
+     *          A Surface for camera to output to.
+     * @param rotation
+     *          The desired rotation to be applied on camera output. Value must be one of
+     *          ROTATION_[0, 90, 180, 270]. Note that when the rotation is 90 or 270 degree,
+     *          application should make sure corresponding surface size has width and height
+     *          transposed corresponding to the width and height without rotation. For example,
+     *          if application needs camera to capture 1280x720 picture and rotate it by 90 degree,
+     *          application should set rotation to {@code ROTATION_90} and make sure the
+     *          corresponding Surface size is 720x1280. Note that {@link CameraDevice} might
+     *          throw {@code IllegalArgumentException} if device cannot perform such rotation.
+     *
+     */
+    public OutputConfiguration(Surface surface, int rotation) {
+        checkNotNull(surface, "Surface must not be null");
+        checkArgumentInRange(rotation, ROTATION_0, ROTATION_270, "Rotation constant");
+        mSurface = surface;
+        mRotation = rotation;
+    }
+
+    /**
+     * Get the {@link Surface} associated with this {@link OutputConfiguration}.
+     *
+     * @return the {@link Surface} associated with this {@link OutputConfiguration}.
+     */
+    public Surface getSurface() {
+        return mSurface;
+    }
+
+    /**
+     * Get the rotation associated with this {@link OutputConfiguration}.
+     *
+     * @return the rotation associated with this {@link OutputConfiguration}.
+     *         Value will be one of ROTATION_[0, 90, 180, 270]
+     */
+    public int getRotation() {
+        return mRotation;
+    }
+
+    private final Surface mSurface;
+    private final int mRotation;
+}
diff --git a/core/java/android/hardware/camera2/params/StreamConfigurationMap.java b/core/java/android/hardware/camera2/params/StreamConfigurationMap.java
index 479c842..f5304f8 100644
--- a/core/java/android/hardware/camera2/params/StreamConfigurationMap.java
+++ b/core/java/android/hardware/camera2/params/StreamConfigurationMap.java
@@ -26,7 +26,6 @@
 import android.hardware.camera2.legacy.LegacyMetadataMapper;
 import android.hardware.camera2.legacy.LegacyExceptionUtils.BufferQueueAbandonedException;
 import android.view.Surface;
-import android.util.Log;
 import android.util.Range;
 import android.util.Size;
 
diff --git a/core/java/android/hardware/display/VirtualDisplay.java b/core/java/android/hardware/display/VirtualDisplay.java
index 4ddf10f..d354666 100644
--- a/core/java/android/hardware/display/VirtualDisplay.java
+++ b/core/java/android/hardware/display/VirtualDisplay.java
@@ -15,7 +15,6 @@
  */
 package android.hardware.display;
 
-import android.os.IBinder;
 import android.view.Display;
 import android.view.Surface;
 
diff --git a/core/java/android/hardware/input/InputManager.java b/core/java/android/hardware/input/InputManager.java
index e5995b0..444f020 100644
--- a/core/java/android/hardware/input/InputManager.java
+++ b/core/java/android/hardware/input/InputManager.java
@@ -27,8 +27,6 @@
 import android.os.IBinder;
 import android.os.Looper;
 import android.os.Message;
-import android.os.Parcel;
-import android.os.Parcelable;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.Vibrator;
diff --git a/core/java/android/hardware/soundtrigger/SoundTriggerModule.java b/core/java/android/hardware/soundtrigger/SoundTriggerModule.java
index 1a8723d..e23a2bb 100644
--- a/core/java/android/hardware/soundtrigger/SoundTriggerModule.java
+++ b/core/java/android/hardware/soundtrigger/SoundTriggerModule.java
@@ -16,13 +16,10 @@
 
 package android.hardware.soundtrigger;
 
-import android.content.Context;
-import android.content.Intent;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
 import java.lang.ref.WeakReference;
-import java.util.UUID;
 
 /**
  * The SoundTriggerModule provides APIs to control sound models and sound detection
diff --git a/core/java/android/net/BaseNetworkStateTracker.java b/core/java/android/net/BaseNetworkStateTracker.java
deleted file mode 100644
index e4e5b1e..0000000
--- a/core/java/android/net/BaseNetworkStateTracker.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Copyright (C) 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.
- */
-
-package android.net;
-
-import android.content.Context;
-import android.os.Handler;
-import android.os.Messenger;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import com.android.internal.util.Preconditions;
-
-/**
- * Interface to control and observe state of a specific network, hiding
- * network-specific details from {@link ConnectivityManager}. Surfaces events
- * through the registered {@link Handler} to enable {@link ConnectivityManager}
- * to respond to state changes over time.
- *
- * @hide
- */
-public abstract class BaseNetworkStateTracker implements NetworkStateTracker {
-    // TODO: better document threading expectations
-    // TODO: migrate to make NetworkStateTracker abstract class
-
-    public static final String PROP_TCP_BUFFER_UNKNOWN = "net.tcp.buffersize.unknown";
-    public static final String PROP_TCP_BUFFER_WIFI = "net.tcp.buffersize.wifi";
-
-    protected Context mContext;
-    private Handler mTarget;
-
-    protected NetworkInfo mNetworkInfo;
-    protected LinkProperties mLinkProperties;
-    protected NetworkCapabilities mNetworkCapabilities;
-    protected Network mNetwork = new Network(ConnectivityManager.NETID_UNSET);
-
-    private AtomicBoolean mTeardownRequested = new AtomicBoolean(false);
-    private AtomicBoolean mPrivateDnsRouteSet = new AtomicBoolean(false);
-    private AtomicBoolean mDefaultRouteSet = new AtomicBoolean(false);
-
-    public BaseNetworkStateTracker(int networkType) {
-        mNetworkInfo = new NetworkInfo(
-                networkType, -1, ConnectivityManager.getNetworkTypeName(networkType), null);
-        mLinkProperties = new LinkProperties();
-        mNetworkCapabilities = new NetworkCapabilities();
-    }
-
-    protected BaseNetworkStateTracker() {
-        // By default, let the sub classes construct everything
-    }
-
-    @Deprecated
-    protected Handler getTargetHandler() {
-        return mTarget;
-    }
-
-    protected final void dispatchStateChanged() {
-        // TODO: include snapshot of other fields when sending
-        mTarget.obtainMessage(EVENT_STATE_CHANGED, getNetworkInfo()).sendToTarget();
-    }
-
-    protected final void dispatchConfigurationChanged() {
-        // TODO: include snapshot of other fields when sending
-        mTarget.obtainMessage(EVENT_CONFIGURATION_CHANGED, getNetworkInfo()).sendToTarget();
-    }
-
-    @Override
-    public void startMonitoring(Context context, Handler target) {
-        mContext = Preconditions.checkNotNull(context);
-        mTarget = Preconditions.checkNotNull(target);
-        startMonitoringInternal();
-    }
-
-    protected void startMonitoringInternal() {
-
-    }
-
-    @Override
-    public NetworkInfo getNetworkInfo() {
-        return new NetworkInfo(mNetworkInfo);
-    }
-
-    @Override
-    public LinkProperties getLinkProperties() {
-        return new LinkProperties(mLinkProperties);
-    }
-
-    @Override
-    public NetworkCapabilities getNetworkCapabilities() {
-        return new NetworkCapabilities(mNetworkCapabilities);
-    }
-
-    @Override
-    public LinkQualityInfo getLinkQualityInfo() {
-        return null;
-    }
-
-    @Override
-    public void captivePortalCheckCompleted(boolean isCaptivePortal) {
-        // not implemented
-    }
-
-    @Override
-    public boolean setRadio(boolean turnOn) {
-        // Base tracker doesn't handle radios
-        return true;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return mNetworkInfo.isAvailable();
-    }
-
-    @Override
-    public void setUserDataEnable(boolean enabled) {
-        // Base tracker doesn't handle enabled flags
-    }
-
-    @Override
-    public void setPolicyDataEnable(boolean enabled) {
-        // Base tracker doesn't handle enabled flags
-    }
-
-    @Override
-    public boolean isPrivateDnsRouteSet() {
-        return mPrivateDnsRouteSet.get();
-    }
-
-    @Override
-    public void privateDnsRouteSet(boolean enabled) {
-        mPrivateDnsRouteSet.set(enabled);
-    }
-
-    @Override
-    public boolean isDefaultRouteSet() {
-        return mDefaultRouteSet.get();
-    }
-
-    @Override
-    public void defaultRouteSet(boolean enabled) {
-        mDefaultRouteSet.set(enabled);
-    }
-
-    @Override
-    public boolean isTeardownRequested() {
-        return mTeardownRequested.get();
-    }
-
-    @Override
-    public void setTeardownRequested(boolean isRequested) {
-        mTeardownRequested.set(isRequested);
-    }
-
-    @Override
-    public void setDependencyMet(boolean met) {
-        // Base tracker doesn't handle dependencies
-    }
-
-    @Override
-    public void supplyMessenger(Messenger messenger) {
-        // not supported on this network
-    }
-
-    @Override
-    public String getNetworkInterfaceName() {
-        if (mLinkProperties != null) {
-            return mLinkProperties.getInterfaceName();
-        } else {
-            return null;
-        }
-    }
-
-    @Override
-    public void startSampling(SamplingDataTracker.SamplingSnapshot s) {
-        // nothing to do
-    }
-
-    @Override
-    public void stopSampling(SamplingDataTracker.SamplingSnapshot s) {
-        // nothing to do
-    }
-
-    @Override
-    public void setNetId(int netId) {
-        mNetwork = new Network(netId);
-    }
-
-    @Override
-    public Network getNetwork() {
-        return mNetwork;
-    }
-}
diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java
index 808be21..34a0727 100644
--- a/core/java/android/net/ConnectivityManager.java
+++ b/core/java/android/net/ConnectivityManager.java
@@ -25,7 +25,6 @@
 import android.net.NetworkUtils;
 import android.os.Binder;
 import android.os.Build.VERSION_CODES;
-import android.os.Bundle;
 import android.os.Handler;
 import android.os.HandlerThread;
 import android.os.IBinder;
@@ -38,7 +37,6 @@
 import android.os.ServiceManager;
 import android.provider.Settings;
 import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
 import android.util.ArrayMap;
 import android.util.Log;
 
@@ -1795,25 +1793,6 @@
     }
 
     /**
-     * Sets a secondary requirement bit for the given networkType.
-     * This requirement bit is generally under the control of the carrier
-     * or its agents and is not directly controlled by the user.
-     *
-     * @param networkType The network who's dependence has changed
-     * @param met Boolean - true if network use is OK, false if not
-     *
-     * <p>This method requires the call to hold the permission
-     * {@link android.Manifest.permission#CONNECTIVITY_INTERNAL}.
-     * {@hide}
-     */
-    public void setDataDependency(int networkType, boolean met) {
-        try {
-            mService.setDataDependency(networkType, met);
-        } catch (RemoteException e) {
-        }
-    }
-
-    /**
      * Returns true if the hardware supports the given network type
      * else it returns false.  This doesn't indicate we have coverage
      * or are authorized onto a network, just whether or not the
@@ -1894,20 +1873,6 @@
     }
 
     /**
-     * Supply the backend messenger for a network tracker
-     *
-     * @param networkType NetworkType to set
-     * @param messenger {@link Messenger}
-     * {@hide}
-     */
-    public void supplyMessenger(int networkType, Messenger messenger) {
-        try {
-            mService.supplyMessenger(networkType, messenger);
-        } catch (RemoteException e) {
-        }
-    }
-
-    /**
      * Check mobile provisioning.
      *
      * @param suggestedTimeOutMs, timeout in milliseconds
diff --git a/core/java/android/net/DhcpResults.java b/core/java/android/net/DhcpResults.java
index 6159e1e..87c063f 100644
--- a/core/java/android/net/DhcpResults.java
+++ b/core/java/android/net/DhcpResults.java
@@ -17,7 +17,6 @@
 package android.net;
 
 import android.net.NetworkUtils;
-import android.os.Parcelable;
 import android.os.Parcel;
 import android.text.TextUtils;
 import android.util.Log;
diff --git a/core/java/android/net/IConnectivityManager.aidl b/core/java/android/net/IConnectivityManager.aidl
index 46af112..3c09978 100644
--- a/core/java/android/net/IConnectivityManager.aidl
+++ b/core/java/android/net/IConnectivityManager.aidl
@@ -33,6 +33,7 @@
 
 import com.android.internal.net.LegacyVpnInfo;
 import com.android.internal.net.VpnConfig;
+import com.android.internal.net.VpnInfo;
 import com.android.internal.net.VpnProfile;
 
 /**
@@ -102,8 +103,6 @@
 
     ProxyInfo getDefaultProxy();
 
-    void setDataDependency(int networkType, boolean met);
-
     boolean prepareVpn(String oldPackage, String newPackage);
 
     void setVpnPackageAuthorization(boolean authorized);
@@ -116,12 +115,12 @@
 
     LegacyVpnInfo getLegacyVpnInfo();
 
+    VpnInfo[] getAllVpnInfo();
+
     boolean updateLockdownVpn();
 
     void captivePortalCheckCompleted(in NetworkInfo info, boolean isCaptivePortal);
 
-    void supplyMessenger(int networkType, in Messenger messenger);
-
     int findConnectionTypeForIface(in String iface);
 
     int checkMobileProvisioning(int suggestedTimeOutMs);
diff --git a/core/java/android/net/MobileDataStateTracker.java b/core/java/android/net/MobileDataStateTracker.java
deleted file mode 100644
index 40b7e06..0000000
--- a/core/java/android/net/MobileDataStateTracker.java
+++ /dev/null
@@ -1,909 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.net.NetworkInfo.DetailedState;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Looper;
-import android.os.Message;
-import android.os.Messenger;
-import android.os.RemoteException;
-import android.os.ServiceManager;
-import android.telephony.PhoneStateListener;
-import android.telephony.SignalStrength;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
-import android.util.Slog;
-
-import com.android.internal.telephony.DctConstants;
-import com.android.internal.telephony.ITelephony;
-import com.android.internal.telephony.PhoneConstants;
-import com.android.internal.telephony.TelephonyIntents;
-import com.android.internal.util.AsyncChannel;
-
-import java.io.CharArrayWriter;
-import java.io.PrintWriter;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-/**
- * Track the state of mobile data connectivity. This is done by
- * receiving broadcast intents from the Phone process whenever
- * the state of data connectivity changes.
- *
- * {@hide}
- */
-public class MobileDataStateTracker extends BaseNetworkStateTracker {
-
-    private static final String TAG = "MobileDataStateTracker";
-    private static final boolean DBG = false;
-    private static final boolean VDBG = false;
-
-    private PhoneConstants.DataState mMobileDataState;
-    private ITelephony mPhoneService;
-
-    private String mApnType;
-    private NetworkInfo mNetworkInfo;
-    private boolean mTeardownRequested = false;
-    private Handler mTarget;
-    private Context mContext;
-    private LinkProperties mLinkProperties;
-    private boolean mPrivateDnsRouteSet = false;
-    private boolean mDefaultRouteSet = false;
-
-    // NOTE: these are only kept for debugging output; actual values are
-    // maintained in DataConnectionTracker.
-    protected boolean mUserDataEnabled = true;
-    protected boolean mPolicyDataEnabled = true;
-
-    private Handler mHandler;
-    private AsyncChannel mDataConnectionTrackerAc;
-
-    private AtomicBoolean mIsCaptivePortal = new AtomicBoolean(false);
-
-    private SignalStrength mSignalStrength;
-
-    private SamplingDataTracker mSamplingDataTracker = new SamplingDataTracker();
-
-    private static final int UNKNOWN = LinkQualityInfo.UNKNOWN_INT;
-
-    /**
-     * Create a new MobileDataStateTracker
-     * @param netType the ConnectivityManager network type
-     * @param tag the name of this network
-     */
-    public MobileDataStateTracker(int netType, String tag) {
-        mNetworkInfo = new NetworkInfo(netType,
-                TelephonyManager.getDefault().getNetworkType(), tag,
-                TelephonyManager.getDefault().getNetworkTypeName());
-        mApnType = networkTypeToApnType(netType);
-    }
-
-    /**
-     * Begin monitoring data connectivity.
-     *
-     * @param context is the current Android context
-     * @param target is the Hander to which to return the events.
-     */
-    public void startMonitoring(Context context, Handler target) {
-        mTarget = target;
-        mContext = context;
-
-        mHandler = new MdstHandler(target.getLooper(), this);
-
-        IntentFilter filter = new IntentFilter();
-        filter.addAction(TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED);
-        filter.addAction(TelephonyIntents.ACTION_DATA_CONNECTION_CONNECTED_TO_PROVISIONING_APN);
-        filter.addAction(TelephonyIntents.ACTION_DATA_CONNECTION_FAILED);
-
-        mContext.registerReceiver(new MobileDataStateReceiver(), filter);
-        mMobileDataState = PhoneConstants.DataState.DISCONNECTED;
-
-        TelephonyManager tm = (TelephonyManager)mContext.getSystemService(
-                Context.TELEPHONY_SERVICE);
-        tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
-    }
-
-    private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
-        @Override
-        public void onSignalStrengthsChanged(SignalStrength signalStrength) {
-            mSignalStrength = signalStrength;
-        }
-    };
-
-    static class MdstHandler extends Handler {
-        private MobileDataStateTracker mMdst;
-
-        MdstHandler(Looper looper, MobileDataStateTracker mdst) {
-            super(looper);
-            mMdst = mdst;
-        }
-
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case AsyncChannel.CMD_CHANNEL_HALF_CONNECTED:
-                    if (msg.arg1 == AsyncChannel.STATUS_SUCCESSFUL) {
-                        if (VDBG) {
-                            mMdst.log("MdstHandler connected");
-                        }
-                        mMdst.mDataConnectionTrackerAc = (AsyncChannel) msg.obj;
-                    } else {
-                        if (VDBG) {
-                            mMdst.log("MdstHandler %s NOT connected error=" + msg.arg1);
-                        }
-                    }
-                    break;
-                case AsyncChannel.CMD_CHANNEL_DISCONNECTED:
-                    if (VDBG) mMdst.log("Disconnected from DataStateTracker");
-                    mMdst.mDataConnectionTrackerAc = null;
-                    break;
-                default: {
-                    if (VDBG) mMdst.log("Ignorning unknown message=" + msg);
-                    break;
-                }
-            }
-        }
-    }
-
-    public boolean isPrivateDnsRouteSet() {
-        return mPrivateDnsRouteSet;
-    }
-
-    public void privateDnsRouteSet(boolean enabled) {
-        mPrivateDnsRouteSet = enabled;
-    }
-
-    public NetworkInfo getNetworkInfo() {
-        return mNetworkInfo;
-    }
-
-    public boolean isDefaultRouteSet() {
-        return mDefaultRouteSet;
-    }
-
-    public void defaultRouteSet(boolean enabled) {
-        mDefaultRouteSet = enabled;
-    }
-
-    /**
-     * This is not implemented.
-     */
-    public void releaseWakeLock() {
-    }
-
-    private void updateLinkProperitesAndCapatilities(Intent intent) {
-        mLinkProperties = intent.getParcelableExtra(
-                PhoneConstants.DATA_LINK_PROPERTIES_KEY);
-        if (mLinkProperties == null) {
-            loge("CONNECTED event did not supply link properties.");
-            mLinkProperties = new LinkProperties();
-        }
-        mLinkProperties.setMtu(mContext.getResources().getInteger(
-                com.android.internal.R.integer.config_mobile_mtu));
-        mNetworkCapabilities = intent.getParcelableExtra(
-                PhoneConstants.DATA_NETWORK_CAPABILITIES_KEY);
-        if (mNetworkCapabilities == null) {
-            loge("CONNECTED event did not supply network capabilities.");
-            mNetworkCapabilities = new NetworkCapabilities();
-        }
-    }
-
-    private class MobileDataStateReceiver extends BroadcastReceiver {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            if (intent.getAction().equals(TelephonyIntents.
-                    ACTION_DATA_CONNECTION_CONNECTED_TO_PROVISIONING_APN)) {
-                String apnName = intent.getStringExtra(PhoneConstants.DATA_APN_KEY);
-                String apnType = intent.getStringExtra(PhoneConstants.DATA_APN_TYPE_KEY);
-                if (!TextUtils.equals(mApnType, apnType)) {
-                    return;
-                }
-                if (DBG) {
-                    log("Broadcast received: " + intent.getAction() + " apnType=" + apnType
-                            + " apnName=" + apnName);
-                }
-
-                // Make us in the connecting state until we make a new TYPE_MOBILE_PROVISIONING
-                mMobileDataState = PhoneConstants.DataState.CONNECTING;
-                updateLinkProperitesAndCapatilities(intent);
-                mNetworkInfo.setIsConnectedToProvisioningNetwork(true);
-
-                // Change state to SUSPENDED so setDetailedState
-                // sends EVENT_STATE_CHANGED to connectivityService
-                setDetailedState(DetailedState.SUSPENDED, "", apnName);
-            } else if (intent.getAction().equals(TelephonyIntents.
-                    ACTION_ANY_DATA_CONNECTION_STATE_CHANGED)) {
-                String apnType = intent.getStringExtra(PhoneConstants.DATA_APN_TYPE_KEY);
-                if (VDBG) {
-                    log(String.format("Broadcast received: ACTION_ANY_DATA_CONNECTION_STATE_CHANGED"
-                        + "mApnType=%s %s received apnType=%s", mApnType,
-                        TextUtils.equals(apnType, mApnType) ? "==" : "!=", apnType));
-                }
-                if (!TextUtils.equals(apnType, mApnType)) {
-                    return;
-                }
-                // Assume this isn't a provisioning network.
-                mNetworkInfo.setIsConnectedToProvisioningNetwork(false);
-                if (DBG) {
-                    log("Broadcast received: " + intent.getAction() + " apnType=" + apnType);
-                }
-
-                int oldSubtype = mNetworkInfo.getSubtype();
-                int newSubType = TelephonyManager.getDefault().getNetworkType();
-                String subTypeName = TelephonyManager.getDefault().getNetworkTypeName();
-                mNetworkInfo.setSubtype(newSubType, subTypeName);
-                if (newSubType != oldSubtype && mNetworkInfo.isConnected()) {
-                    Message msg = mTarget.obtainMessage(EVENT_NETWORK_SUBTYPE_CHANGED,
-                                                        oldSubtype, 0, mNetworkInfo);
-                    msg.sendToTarget();
-                }
-
-                PhoneConstants.DataState state = Enum.valueOf(PhoneConstants.DataState.class,
-                        intent.getStringExtra(PhoneConstants.STATE_KEY));
-                String reason = intent.getStringExtra(PhoneConstants.STATE_CHANGE_REASON_KEY);
-                String apnName = intent.getStringExtra(PhoneConstants.DATA_APN_KEY);
-                mNetworkInfo.setRoaming(intent.getBooleanExtra(
-                        PhoneConstants.DATA_NETWORK_ROAMING_KEY, false));
-                if (VDBG) {
-                    log(mApnType + " setting isAvailable to " +
-                            intent.getBooleanExtra(PhoneConstants.NETWORK_UNAVAILABLE_KEY,false));
-                }
-                mNetworkInfo.setIsAvailable(!intent.getBooleanExtra(
-                        PhoneConstants.NETWORK_UNAVAILABLE_KEY, false));
-
-                if (DBG) {
-                    log("Received state=" + state + ", old=" + mMobileDataState +
-                        ", reason=" + (reason == null ? "(unspecified)" : reason));
-                }
-                if (mMobileDataState != state) {
-                    mMobileDataState = state;
-                    switch (state) {
-                        case DISCONNECTED:
-                            if(isTeardownRequested()) {
-                                setTeardownRequested(false);
-                            }
-
-                            setDetailedState(DetailedState.DISCONNECTED, reason, apnName);
-                            // can't do this here - ConnectivityService needs it to clear stuff
-                            // it's ok though - just leave it to be refreshed next time
-                            // we connect.
-                            //if (DBG) log("clearing mInterfaceName for "+ mApnType +
-                            //        " as it DISCONNECTED");
-                            //mInterfaceName = null;
-                            break;
-                        case CONNECTING:
-                            setDetailedState(DetailedState.CONNECTING, reason, apnName);
-                            break;
-                        case SUSPENDED:
-                            setDetailedState(DetailedState.SUSPENDED, reason, apnName);
-                            break;
-                        case CONNECTED:
-                            updateLinkProperitesAndCapatilities(intent);
-                            setDetailedState(DetailedState.CONNECTED, reason, apnName);
-                            break;
-                    }
-
-                    if (VDBG) {
-                        Slog.d(TAG, "TelephonyMgr.DataConnectionStateChanged");
-                        if (mNetworkInfo != null) {
-                            Slog.d(TAG, "NetworkInfo = " + mNetworkInfo);
-                            Slog.d(TAG, "subType = " + mNetworkInfo.getSubtype());
-                            Slog.d(TAG, "subType = " + mNetworkInfo.getSubtypeName());
-                        }
-                        if (mLinkProperties != null) {
-                            Slog.d(TAG, "LinkProperties = " + mLinkProperties);
-                        } else {
-                            Slog.d(TAG, "LinkProperties = " );
-                        }
-
-                        if (mNetworkCapabilities != null) {
-                            Slog.d(TAG, mNetworkCapabilities.toString());
-                        } else {
-                            Slog.d(TAG, "NetworkCapabilities = " );
-                        }
-                    }
-
-
-                    /* lets not sample traffic data across state changes */
-                    mSamplingDataTracker.resetSamplingData();
-                } else {
-                    // There was no state change. Check if LinkProperties has been updated.
-                    if (TextUtils.equals(reason, PhoneConstants.REASON_LINK_PROPERTIES_CHANGED)) {
-                        mLinkProperties = intent.getParcelableExtra(
-                                PhoneConstants.DATA_LINK_PROPERTIES_KEY);
-                        if (mLinkProperties == null) {
-                            loge("No link property in LINK_PROPERTIES change event.");
-                            mLinkProperties = new LinkProperties();
-                        }
-                        // Just update reason field in this NetworkInfo
-                        mNetworkInfo.setDetailedState(mNetworkInfo.getDetailedState(), reason,
-                                                      mNetworkInfo.getExtraInfo());
-                        Message msg = mTarget.obtainMessage(EVENT_CONFIGURATION_CHANGED,
-                                                            mNetworkInfo);
-                        msg.sendToTarget();
-                    }
-                }
-            } else if (intent.getAction().
-                    equals(TelephonyIntents.ACTION_DATA_CONNECTION_FAILED)) {
-                String apnType = intent.getStringExtra(PhoneConstants.DATA_APN_TYPE_KEY);
-                if (!TextUtils.equals(apnType, mApnType)) {
-                    if (DBG) {
-                        log(String.format(
-                                "Broadcast received: ACTION_ANY_DATA_CONNECTION_FAILED ignore, " +
-                                "mApnType=%s != received apnType=%s", mApnType, apnType));
-                    }
-                    return;
-                }
-                // Assume this isn't a provisioning network.
-                mNetworkInfo.setIsConnectedToProvisioningNetwork(false);
-                String reason = intent.getStringExtra(PhoneConstants.FAILURE_REASON_KEY);
-                String apnName = intent.getStringExtra(PhoneConstants.DATA_APN_KEY);
-                if (DBG) {
-                    log("Broadcast received: " + intent.getAction() +
-                                " reason=" + reason == null ? "null" : reason);
-                }
-                setDetailedState(DetailedState.FAILED, reason, apnName);
-            } else {
-                if (DBG) log("Broadcast received: ignore " + intent.getAction());
-            }
-        }
-    }
-
-    private void getPhoneService(boolean forceRefresh) {
-        if ((mPhoneService == null) || forceRefresh) {
-            mPhoneService = ITelephony.Stub.asInterface(ServiceManager.getService("phone"));
-        }
-    }
-
-    /**
-     * Report whether data connectivity is possible.
-     */
-    public boolean isAvailable() {
-        return mNetworkInfo.isAvailable();
-    }
-
-    /**
-     * Return the system properties name associated with the tcp buffer sizes
-     * for this network.
-     */
-    public String getTcpBufferSizesPropName() {
-        String networkTypeStr = "unknown";
-        TelephonyManager tm = new TelephonyManager(mContext);
-        //TODO We have to edit the parameter for getNetworkType regarding CDMA
-        switch(tm.getNetworkType()) {
-        case TelephonyManager.NETWORK_TYPE_GPRS:
-            networkTypeStr = "gprs";
-            break;
-        case TelephonyManager.NETWORK_TYPE_EDGE:
-            networkTypeStr = "edge";
-            break;
-        case TelephonyManager.NETWORK_TYPE_UMTS:
-            networkTypeStr = "umts";
-            break;
-        case TelephonyManager.NETWORK_TYPE_HSDPA:
-            networkTypeStr = "hsdpa";
-            break;
-        case TelephonyManager.NETWORK_TYPE_HSUPA:
-            networkTypeStr = "hsupa";
-            break;
-        case TelephonyManager.NETWORK_TYPE_HSPA:
-            networkTypeStr = "hspa";
-            break;
-        case TelephonyManager.NETWORK_TYPE_HSPAP:
-            networkTypeStr = "hspap";
-            break;
-        case TelephonyManager.NETWORK_TYPE_CDMA:
-            networkTypeStr = "cdma";
-            break;
-        case TelephonyManager.NETWORK_TYPE_1xRTT:
-            networkTypeStr = "1xrtt";
-            break;
-        case TelephonyManager.NETWORK_TYPE_EVDO_0:
-            networkTypeStr = "evdo";
-            break;
-        case TelephonyManager.NETWORK_TYPE_EVDO_A:
-            networkTypeStr = "evdo";
-            break;
-        case TelephonyManager.NETWORK_TYPE_EVDO_B:
-            networkTypeStr = "evdo";
-            break;
-        case TelephonyManager.NETWORK_TYPE_IDEN:
-            networkTypeStr = "iden";
-            break;
-        case TelephonyManager.NETWORK_TYPE_LTE:
-            networkTypeStr = "lte";
-            break;
-        case TelephonyManager.NETWORK_TYPE_EHRPD:
-            networkTypeStr = "ehrpd";
-            break;
-        default:
-            loge("unknown network type: " + tm.getNetworkType());
-        }
-        return "net.tcp.buffersize." + networkTypeStr;
-    }
-
-    /**
-     * Tear down mobile data connectivity, i.e., disable the ability to create
-     * mobile data connections.
-     * TODO - make async and return nothing?
-     */
-    public boolean teardown() {
-        setTeardownRequested(true);
-        return (setEnableApn(mApnType, false) != PhoneConstants.APN_REQUEST_FAILED);
-    }
-
-    /**
-     * @return true if this is ready to operate
-     */
-    public boolean isReady() {
-        return mDataConnectionTrackerAc != null;
-    }
-
-    @Override
-    public void captivePortalCheckCompleted(boolean isCaptivePortal) {
-        if (mIsCaptivePortal.getAndSet(isCaptivePortal) != isCaptivePortal) {
-            // Captive portal change enable/disable failing fast
-            setEnableFailFastMobileData(
-                    isCaptivePortal ? DctConstants.ENABLED : DctConstants.DISABLED);
-        }
-    }
-
-    /**
-     * Record the detailed state of a network, and if it is a
-     * change from the previous state, send a notification to
-     * any listeners.
-     * @param state the new {@code DetailedState}
-     * @param reason a {@code String} indicating a reason for the state change,
-     * if one was supplied. May be {@code null}.
-     * @param extraInfo optional {@code String} providing extra information about the state change
-     */
-    private void setDetailedState(NetworkInfo.DetailedState state, String reason,
-            String extraInfo) {
-        if (DBG) log("setDetailed state, old ="
-                + mNetworkInfo.getDetailedState() + " and new state=" + state);
-        if (state != mNetworkInfo.getDetailedState()) {
-            boolean wasConnecting = (mNetworkInfo.getState() == NetworkInfo.State.CONNECTING);
-            String lastReason = mNetworkInfo.getReason();
-            /*
-             * If a reason was supplied when the CONNECTING state was entered, and no
-             * reason was supplied for entering the CONNECTED state, then retain the
-             * reason that was supplied when going to CONNECTING.
-             */
-            if (wasConnecting && state == NetworkInfo.DetailedState.CONNECTED && reason == null
-                    && lastReason != null)
-                reason = lastReason;
-            mNetworkInfo.setDetailedState(state, reason, extraInfo);
-            Message msg = mTarget.obtainMessage(EVENT_STATE_CHANGED, new NetworkInfo(mNetworkInfo));
-            msg.sendToTarget();
-        }
-    }
-
-    public void setTeardownRequested(boolean isRequested) {
-        mTeardownRequested = isRequested;
-    }
-
-    public boolean isTeardownRequested() {
-        return mTeardownRequested;
-    }
-
-    /**
-     * Re-enable mobile data connectivity after a {@link #teardown()}.
-     * TODO - make async and always get a notification?
-     */
-    public boolean reconnect() {
-        boolean retValue = false; //connected or expect to be?
-        setTeardownRequested(false);
-        switch (setEnableApn(mApnType, true)) {
-            case PhoneConstants.APN_ALREADY_ACTIVE:
-                // need to set self to CONNECTING so the below message is handled.
-                retValue = true;
-                break;
-            case PhoneConstants.APN_REQUEST_STARTED:
-                // set IDLE here , avoid the following second FAILED not sent out
-                mNetworkInfo.setDetailedState(DetailedState.IDLE, null, null);
-                retValue = true;
-                break;
-            case PhoneConstants.APN_REQUEST_FAILED:
-            case PhoneConstants.APN_TYPE_NOT_AVAILABLE:
-                break;
-            default:
-                loge("Error in reconnect - unexpected response.");
-                break;
-        }
-        return retValue;
-    }
-
-    /**
-     * Turn on or off the mobile radio. No connectivity will be possible while the
-     * radio is off. The operation is a no-op if the radio is already in the desired state.
-     * @param turnOn {@code true} if the radio should be turned on, {@code false} if
-     */
-    public boolean setRadio(boolean turnOn) {
-        getPhoneService(false);
-        /*
-         * If the phone process has crashed in the past, we'll get a
-         * RemoteException and need to re-reference the service.
-         */
-        for (int retry = 0; retry < 2; retry++) {
-            if (mPhoneService == null) {
-                loge("Ignoring mobile radio request because could not acquire PhoneService");
-                break;
-            }
-
-            try {
-                return mPhoneService.setRadio(turnOn);
-            } catch (RemoteException e) {
-                if (retry == 0) getPhoneService(true);
-            }
-        }
-
-        loge("Could not set radio power to " + (turnOn ? "on" : "off"));
-        return false;
-    }
-
-
-    public void setInternalDataEnable(boolean enabled) {
-        if (DBG) log("setInternalDataEnable: E enabled=" + enabled);
-        final AsyncChannel channel = mDataConnectionTrackerAc;
-        if (channel != null) {
-            channel.sendMessage(DctConstants.EVENT_SET_INTERNAL_DATA_ENABLE,
-                    enabled ? DctConstants.ENABLED : DctConstants.DISABLED);
-        }
-        if (VDBG) log("setInternalDataEnable: X enabled=" + enabled);
-    }
-
-    @Override
-    public void setUserDataEnable(boolean enabled) {
-        if (DBG) log("setUserDataEnable: E enabled=" + enabled);
-        final AsyncChannel channel = mDataConnectionTrackerAc;
-        if (channel != null) {
-            channel.sendMessage(DctConstants.CMD_SET_USER_DATA_ENABLE,
-                    enabled ? DctConstants.ENABLED : DctConstants.DISABLED);
-            mUserDataEnabled = enabled;
-        }
-        if (VDBG) log("setUserDataEnable: X enabled=" + enabled);
-    }
-
-    @Override
-    public void setPolicyDataEnable(boolean enabled) {
-        if (DBG) log("setPolicyDataEnable(enabled=" + enabled + ")");
-        final AsyncChannel channel = mDataConnectionTrackerAc;
-        if (channel != null) {
-            channel.sendMessage(DctConstants.CMD_SET_POLICY_DATA_ENABLE,
-                    enabled ? DctConstants.ENABLED : DctConstants.DISABLED);
-            mPolicyDataEnabled = enabled;
-        }
-    }
-
-    /**
-     * Eanble/disable FailFast
-     *
-     * @param enabled is DctConstants.ENABLED/DISABLED
-     */
-    public void setEnableFailFastMobileData(int enabled) {
-        if (DBG) log("setEnableFailFastMobileData(enabled=" + enabled + ")");
-        final AsyncChannel channel = mDataConnectionTrackerAc;
-        if (channel != null) {
-            channel.sendMessage(DctConstants.CMD_SET_ENABLE_FAIL_FAST_MOBILE_DATA, enabled);
-        }
-    }
-
-    /**
-     * carrier dependency is met/unmet
-     * @param met
-     */
-    public void setDependencyMet(boolean met) {
-        Bundle bundle = Bundle.forPair(DctConstants.APN_TYPE_KEY, mApnType);
-        try {
-            if (DBG) log("setDependencyMet: E met=" + met);
-            Message msg = Message.obtain();
-            msg.what = DctConstants.CMD_SET_DEPENDENCY_MET;
-            msg.arg1 = (met ? DctConstants.ENABLED : DctConstants.DISABLED);
-            msg.setData(bundle);
-            mDataConnectionTrackerAc.sendMessage(msg);
-            if (VDBG) log("setDependencyMet: X met=" + met);
-        } catch (NullPointerException e) {
-            loge("setDependencyMet: X mAc was null" + e);
-        }
-    }
-
-    /**
-     *  Inform DCT mobile provisioning has started, it ends when provisioning completes.
-     */
-    public void enableMobileProvisioning(String url) {
-        if (DBG) log("enableMobileProvisioning(url=" + url + ")");
-        final AsyncChannel channel = mDataConnectionTrackerAc;
-        if (channel != null) {
-            Message msg = Message.obtain();
-            msg.what = DctConstants.CMD_ENABLE_MOBILE_PROVISIONING;
-            msg.setData(Bundle.forPair(DctConstants.PROVISIONING_URL_KEY, url));
-            channel.sendMessage(msg);
-        }
-    }
-
-    /**
-     * Return if this network is the provisioning network. Valid only if connected.
-     * @param met
-     */
-    public boolean isProvisioningNetwork() {
-        boolean retVal;
-        try {
-            Message msg = Message.obtain();
-            msg.what = DctConstants.CMD_IS_PROVISIONING_APN;
-            msg.setData(Bundle.forPair(DctConstants.APN_TYPE_KEY, mApnType));
-            Message result = mDataConnectionTrackerAc.sendMessageSynchronously(msg);
-            retVal = result.arg1 == DctConstants.ENABLED;
-        } catch (NullPointerException e) {
-            loge("isProvisioningNetwork: X " + e);
-            retVal = false;
-        }
-        if (DBG) log("isProvisioningNetwork: retVal=" + retVal);
-        return retVal;
-    }
-
-    @Override
-    public String toString() {
-        final CharArrayWriter writer = new CharArrayWriter();
-        final PrintWriter pw = new PrintWriter(writer);
-        pw.print("Mobile data state: "); pw.println(mMobileDataState);
-        pw.print("Data enabled: user="); pw.print(mUserDataEnabled);
-        pw.print(", policy="); pw.println(mPolicyDataEnabled);
-        return writer.toString();
-    }
-
-    /**
-     * Internal method supporting the ENABLE_MMS feature.
-     * @param apnType the type of APN to be enabled or disabled (e.g., mms)
-     * @param enable {@code true} to enable the specified APN type,
-     * {@code false} to disable it.
-     * @return an integer value representing the outcome of the request.
-     */
-    private int setEnableApn(String apnType, boolean enable) {
-        getPhoneService(false);
-        /*
-         * If the phone process has crashed in the past, we'll get a
-         * RemoteException and need to re-reference the service.
-         */
-        for (int retry = 0; retry < 2; retry++) {
-            if (mPhoneService == null) {
-                loge("Ignoring feature request because could not acquire PhoneService");
-                break;
-            }
-
-//            try {
-//                if (enable) {
-//                    return mPhoneService.enableApnType(apnType);
-//                } else {
-//                    return mPhoneService.disableApnType(apnType);
-//                }
-//            } catch (RemoteException e) {
-//                if (retry == 0) getPhoneService(true);
-//            }
-        }
-
-        loge("Could not " + (enable ? "enable" : "disable") + " APN type \"" + apnType + "\"");
-        return PhoneConstants.APN_REQUEST_FAILED;
-    }
-
-    public static String networkTypeToApnType(int netType) {
-        switch(netType) {
-            case ConnectivityManager.TYPE_MOBILE:
-                return PhoneConstants.APN_TYPE_DEFAULT;  // TODO - use just one of these
-            case ConnectivityManager.TYPE_MOBILE_MMS:
-                return PhoneConstants.APN_TYPE_MMS;
-            case ConnectivityManager.TYPE_MOBILE_SUPL:
-                return PhoneConstants.APN_TYPE_SUPL;
-            case ConnectivityManager.TYPE_MOBILE_DUN:
-                return PhoneConstants.APN_TYPE_DUN;
-            case ConnectivityManager.TYPE_MOBILE_HIPRI:
-                return PhoneConstants.APN_TYPE_HIPRI;
-            case ConnectivityManager.TYPE_MOBILE_FOTA:
-                return PhoneConstants.APN_TYPE_FOTA;
-            case ConnectivityManager.TYPE_MOBILE_IMS:
-                return PhoneConstants.APN_TYPE_IMS;
-            case ConnectivityManager.TYPE_MOBILE_CBS:
-                return PhoneConstants.APN_TYPE_CBS;
-            case ConnectivityManager.TYPE_MOBILE_IA:
-                return PhoneConstants.APN_TYPE_IA;
-            case ConnectivityManager.TYPE_MOBILE_EMERGENCY:
-                return PhoneConstants.APN_TYPE_EMERGENCY;
-            default:
-                sloge("Error mapping networkType " + netType + " to apnType.");
-                return null;
-        }
-    }
-
-
-    /**
-     * @see android.net.NetworkStateTracker#getLinkProperties()
-     */
-    @Override
-    public LinkProperties getLinkProperties() {
-        return new LinkProperties(mLinkProperties);
-    }
-
-    public void supplyMessenger(Messenger messenger) {
-        if (VDBG) log(mApnType + " got supplyMessenger");
-        AsyncChannel ac = new AsyncChannel();
-        ac.connect(mContext, MobileDataStateTracker.this.mHandler, messenger);
-    }
-
-    private void log(String s) {
-        Slog.d(TAG, mApnType + ": " + s);
-    }
-
-    private void loge(String s) {
-        Slog.e(TAG, mApnType + ": " + s);
-    }
-
-    static private void sloge(String s) {
-        Slog.e(TAG, s);
-    }
-
-    @Override
-    public LinkQualityInfo getLinkQualityInfo() {
-        if (mNetworkInfo == null || mNetworkInfo.getType() == ConnectivityManager.TYPE_NONE) {
-            // no data available yet; just return
-            return null;
-        }
-
-        MobileLinkQualityInfo li = new MobileLinkQualityInfo();
-
-        li.setNetworkType(mNetworkInfo.getType());
-
-        mSamplingDataTracker.setCommonLinkQualityInfoFields(li);
-
-        if (mNetworkInfo.getSubtype() != TelephonyManager.NETWORK_TYPE_UNKNOWN) {
-            li.setMobileNetworkType(mNetworkInfo.getSubtype());
-
-            NetworkDataEntry entry = getNetworkDataEntry(mNetworkInfo.getSubtype());
-            if (entry != null) {
-                li.setTheoreticalRxBandwidth(entry.downloadBandwidth);
-                li.setTheoreticalRxBandwidth(entry.uploadBandwidth);
-                li.setTheoreticalLatency(entry.latency);
-            }
-
-            if (mSignalStrength != null) {
-                li.setNormalizedSignalStrength(getNormalizedSignalStrength(
-                        li.getMobileNetworkType(), mSignalStrength));
-            }
-        }
-
-        SignalStrength ss = mSignalStrength;
-        if (ss != null) {
-
-            li.setRssi(ss.getGsmSignalStrength());
-            li.setGsmErrorRate(ss.getGsmBitErrorRate());
-            li.setCdmaDbm(ss.getCdmaDbm());
-            li.setCdmaEcio(ss.getCdmaEcio());
-            li.setEvdoDbm(ss.getEvdoDbm());
-            li.setEvdoEcio(ss.getEvdoEcio());
-            li.setEvdoSnr(ss.getEvdoSnr());
-            li.setLteSignalStrength(ss.getLteSignalStrength());
-            li.setLteRsrp(ss.getLteRsrp());
-            li.setLteRsrq(ss.getLteRsrq());
-            li.setLteRssnr(ss.getLteRssnr());
-            li.setLteCqi(ss.getLteCqi());
-        }
-
-        if (VDBG) {
-            Slog.d(TAG, "Returning LinkQualityInfo with"
-                    + " MobileNetworkType = " + String.valueOf(li.getMobileNetworkType())
-                    + " Theoretical Rx BW = " + String.valueOf(li.getTheoreticalRxBandwidth())
-                    + " gsm Signal Strength = " + String.valueOf(li.getRssi())
-                    + " cdma Signal Strength = " + String.valueOf(li.getCdmaDbm())
-                    + " evdo Signal Strength = " + String.valueOf(li.getEvdoDbm())
-                    + " Lte Signal Strength = " + String.valueOf(li.getLteSignalStrength()));
-        }
-
-        return li;
-    }
-
-    static class NetworkDataEntry {
-        public int networkType;
-        public int downloadBandwidth;               // in kbps
-        public int uploadBandwidth;                 // in kbps
-        public int latency;                         // in millisecond
-
-        NetworkDataEntry(int i1, int i2, int i3, int i4) {
-            networkType = i1;
-            downloadBandwidth = i2;
-            uploadBandwidth = i3;
-            latency = i4;
-        }
-    }
-
-    private static NetworkDataEntry [] mTheoreticalBWTable = new NetworkDataEntry[] {
-            new NetworkDataEntry(TelephonyManager.NETWORK_TYPE_EDGE,      237,     118, UNKNOWN),
-            new NetworkDataEntry(TelephonyManager.NETWORK_TYPE_GPRS,       48,      40, UNKNOWN),
-            new NetworkDataEntry(TelephonyManager.NETWORK_TYPE_UMTS,      384,      64, UNKNOWN),
-            new NetworkDataEntry(TelephonyManager.NETWORK_TYPE_HSDPA,   14400, UNKNOWN, UNKNOWN),
-            new NetworkDataEntry(TelephonyManager.NETWORK_TYPE_HSUPA,   14400,    5760, UNKNOWN),
-            new NetworkDataEntry(TelephonyManager.NETWORK_TYPE_HSPA,    14400,    5760, UNKNOWN),
-            new NetworkDataEntry(TelephonyManager.NETWORK_TYPE_HSPAP,   21000,    5760, UNKNOWN),
-            new NetworkDataEntry(TelephonyManager.NETWORK_TYPE_CDMA,  UNKNOWN, UNKNOWN, UNKNOWN),
-            new NetworkDataEntry(TelephonyManager.NETWORK_TYPE_1xRTT, UNKNOWN, UNKNOWN, UNKNOWN),
-            new NetworkDataEntry(TelephonyManager.NETWORK_TYPE_EVDO_0,   2468,     153, UNKNOWN),
-            new NetworkDataEntry(TelephonyManager.NETWORK_TYPE_EVDO_A,   3072,    1800, UNKNOWN),
-            new NetworkDataEntry(TelephonyManager.NETWORK_TYPE_EVDO_B,  14700,    1800, UNKNOWN),
-            new NetworkDataEntry(TelephonyManager.NETWORK_TYPE_IDEN,  UNKNOWN, UNKNOWN, UNKNOWN),
-            new NetworkDataEntry(TelephonyManager.NETWORK_TYPE_LTE,    100000,   50000, UNKNOWN),
-            new NetworkDataEntry(TelephonyManager.NETWORK_TYPE_EHRPD, UNKNOWN, UNKNOWN, UNKNOWN),
-    };
-
-    private static NetworkDataEntry getNetworkDataEntry(int networkType) {
-        for (NetworkDataEntry entry : mTheoreticalBWTable) {
-            if (entry.networkType == networkType) {
-                return entry;
-            }
-        }
-
-        Slog.e(TAG, "Could not find Theoretical BW entry for " + String.valueOf(networkType));
-        return null;
-    }
-
-    private static int getNormalizedSignalStrength(int networkType, SignalStrength ss) {
-
-        int level;
-
-        switch(networkType) {
-            case TelephonyManager.NETWORK_TYPE_EDGE:
-            case TelephonyManager.NETWORK_TYPE_GPRS:
-            case TelephonyManager.NETWORK_TYPE_UMTS:
-            case TelephonyManager.NETWORK_TYPE_HSDPA:
-            case TelephonyManager.NETWORK_TYPE_HSUPA:
-            case TelephonyManager.NETWORK_TYPE_HSPA:
-            case TelephonyManager.NETWORK_TYPE_HSPAP:
-                level = ss.getGsmLevel();
-                break;
-            case TelephonyManager.NETWORK_TYPE_CDMA:
-            case TelephonyManager.NETWORK_TYPE_1xRTT:
-                level = ss.getCdmaLevel();
-                break;
-            case TelephonyManager.NETWORK_TYPE_EVDO_0:
-            case TelephonyManager.NETWORK_TYPE_EVDO_A:
-            case TelephonyManager.NETWORK_TYPE_EVDO_B:
-                level = ss.getEvdoLevel();
-                break;
-            case TelephonyManager.NETWORK_TYPE_LTE:
-                level = ss.getLteLevel();
-                break;
-            case TelephonyManager.NETWORK_TYPE_IDEN:
-            case TelephonyManager.NETWORK_TYPE_EHRPD:
-            default:
-                return UNKNOWN;
-        }
-
-        return (level * LinkQualityInfo.NORMALIZED_SIGNAL_STRENGTH_RANGE) /
-                SignalStrength.NUM_SIGNAL_STRENGTH_BINS;
-    }
-
-    @Override
-    public void startSampling(SamplingDataTracker.SamplingSnapshot s) {
-        mSamplingDataTracker.startSampling(s);
-    }
-
-    @Override
-    public void stopSampling(SamplingDataTracker.SamplingSnapshot s) {
-        mSamplingDataTracker.stopSampling(s);
-    }
-}
diff --git a/core/java/android/net/Network.java b/core/java/android/net/Network.java
index dfe2413..ab57c9b 100644
--- a/core/java/android/net/Network.java
+++ b/core/java/android/net/Network.java
@@ -26,7 +26,6 @@
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.net.MalformedURLException;
-import java.net.ProxySelector;
 import java.net.Socket;
 import java.net.SocketAddress;
 import java.net.SocketException;
diff --git a/core/java/android/net/NetworkAgent.java b/core/java/android/net/NetworkAgent.java
index 74d4ac2..24aaf0d 100644
--- a/core/java/android/net/NetworkAgent.java
+++ b/core/java/android/net/NetworkAgent.java
@@ -21,15 +21,12 @@
 import android.os.Looper;
 import android.os.Message;
 import android.os.Messenger;
-import android.os.Parcel;
-import android.os.Parcelable;
 import android.util.Log;
 
 import com.android.internal.util.AsyncChannel;
 import com.android.internal.util.Protocol;
 
 import java.util.ArrayList;
-import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
  * A Utility class for handling for communicating between bearer-specific
diff --git a/core/java/android/net/NetworkFactory.java b/core/java/android/net/NetworkFactory.java
index 64d0fcf..e47220b 100644
--- a/core/java/android/net/NetworkFactory.java
+++ b/core/java/android/net/NetworkFactory.java
@@ -21,12 +21,9 @@
 import android.os.Looper;
 import android.os.Message;
 import android.os.Messenger;
-import android.os.Parcel;
-import android.os.Parcelable;
 import android.util.Log;
 import android.util.SparseArray;
 
-import com.android.internal.util.AsyncChannel;
 import com.android.internal.util.Protocol;
 
 /**
diff --git a/core/java/android/net/NetworkRequest.java b/core/java/android/net/NetworkRequest.java
index 5a09b46..7838b47 100644
--- a/core/java/android/net/NetworkRequest.java
+++ b/core/java/android/net/NetworkRequest.java
@@ -19,8 +19,6 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 
-import java.util.concurrent.atomic.AtomicInteger;
-
 /**
  * Defines a request for a network, made through {@link NetworkRequest.Builder} and used
  * to request a network via {@link ConnectivityManager#requestNetwork} or listen for changes
diff --git a/core/java/android/net/NetworkStateTracker.java b/core/java/android/net/NetworkStateTracker.java
deleted file mode 100644
index c80782c..0000000
--- a/core/java/android/net/NetworkStateTracker.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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;
-
-import android.content.Context;
-import android.os.Handler;
-import android.os.Messenger;
-
-import static com.android.internal.util.Protocol.BASE_NETWORK_STATE_TRACKER;
-
-/**
- * Interface provides the {@link com.android.server.ConnectivityService}
- * with three services. Events to the ConnectivityService when
- * changes occur, an API for controlling the network and storage
- * for network specific information.
- *
- * The Connectivity will call startMonitoring before any other
- * method is called.
- *
- * {@hide}
- */
-public interface NetworkStateTracker {
-
-    /**
-     * -------------------------------------------------------------
-     * Event Interface back to ConnectivityService.
-     *
-     * The events that are to be sent back to the Handler passed
-     * to startMonitoring when the particular event occurs.
-     * -------------------------------------------------------------
-     */
-
-    /**
-     * The network state has changed and the NetworkInfo object
-     * contains the new state.
-     *
-     * msg.what = EVENT_STATE_CHANGED
-     * msg.obj = NetworkInfo object
-     */
-    public static final int EVENT_STATE_CHANGED = BASE_NETWORK_STATE_TRACKER;
-
-    /**
-     * msg.what = EVENT_CONFIGURATION_CHANGED
-     * msg.obj = NetworkInfo object
-     */
-    public static final int EVENT_CONFIGURATION_CHANGED = BASE_NETWORK_STATE_TRACKER + 1;
-
-    /**
-     * msg.what = EVENT_RESTORE_DEFAULT_NETWORK
-     * msg.obj = FeatureUser object
-     */
-    public static final int EVENT_RESTORE_DEFAULT_NETWORK = BASE_NETWORK_STATE_TRACKER + 2;
-
-    /**
-     * msg.what = EVENT_NETWORK_SUBTYPE_CHANGED
-     * msg.obj = NetworkInfo object
-     */
-    public static final int EVENT_NETWORK_SUBTYPE_CHANGED = BASE_NETWORK_STATE_TRACKER + 3;
-
-    /**
-     * msg.what = EVENT_NETWORK_CONNECTED
-     * msg.obj = LinkProperties object
-     */
-    public static final int EVENT_NETWORK_CONNECTED = BASE_NETWORK_STATE_TRACKER + 4;
-
-    /**
-     * msg.what = EVENT_NETWORK_CONNECTION_DISCONNECTED
-     * msg.obj = LinkProperties object, same iface name
-     */
-    public static final int EVENT_NETWORK_DISCONNECTED = BASE_NETWORK_STATE_TRACKER + 5;
-
-    /**
-     * -------------------------------------------------------------
-     * Control Interface
-     * -------------------------------------------------------------
-     */
-    /**
-     * Begin monitoring data connectivity.
-     *
-     * This is the first method called when this interface is used.
-     *
-     * @param context is the current Android context
-     * @param target is the Hander to which to return the events.
-     */
-    public void startMonitoring(Context context, Handler target);
-
-    /**
-     * Fetch NetworkInfo for the network
-     */
-    public NetworkInfo getNetworkInfo();
-
-    /**
-     * Return the LinkProperties for the connection.
-     *
-     * @return a copy of the LinkProperties, is never null.
-     */
-    public LinkProperties getLinkProperties();
-
-    /**
-     * @return a copy of this connections capabilities, may be empty but never null.
-     */
-    public NetworkCapabilities getNetworkCapabilities();
-
-    /**
-     * Get interesting information about this network link
-     * @return a copy of link information, null if not available
-     */
-    public LinkQualityInfo getLinkQualityInfo();
-
-    /**
-     * Return the system properties name associated with the tcp buffer sizes
-     * for this network.
-     */
-    public String getTcpBufferSizesPropName();
-
-    /**
-     * Disable connectivity to a network
-     * @return {@code true} if a teardown occurred, {@code false} if the
-     * teardown did not occur.
-     */
-    public boolean teardown();
-
-    /**
-     * Reenable connectivity to a network after a {@link #teardown()}.
-     * @return {@code true} if we're connected or expect to be connected
-     */
-    public boolean reconnect();
-
-    /**
-     * Captive portal check has completed
-     */
-    public void captivePortalCheckCompleted(boolean isCaptive);
-
-    /**
-     * Turn the wireless radio off for a network.
-     * @param turnOn {@code true} to turn the radio on, {@code false}
-     */
-    public boolean setRadio(boolean turnOn);
-
-    /**
-     * Returns an indication of whether this network is available for
-     * connections. A value of {@code false} means that some quasi-permanent
-     * condition prevents connectivity to this network.
-     *
-     * NOTE that this is broken on multi-connection devices.  Should be fixed in J release
-     * TODO - fix on multi-pdp devices
-     */
-    public boolean isAvailable();
-
-    /**
-     * User control of data connection through this network, typically persisted
-     * internally.
-     */
-    public void setUserDataEnable(boolean enabled);
-
-    /**
-     * Policy control of data connection through this network, typically not
-     * persisted internally. Usually used when {@link NetworkPolicy#limitBytes}
-     * is passed.
-     */
-    public void setPolicyDataEnable(boolean enabled);
-
-    /**
-     * -------------------------------------------------------------
-     * Storage API used by ConnectivityService for saving
-     * Network specific information.
-     * -------------------------------------------------------------
-     */
-
-    /**
-     * Check if private DNS route is set for the network
-     */
-    public boolean isPrivateDnsRouteSet();
-
-    /**
-     * Set a flag indicating private DNS route is set
-     */
-    public void privateDnsRouteSet(boolean enabled);
-
-    /**
-     * Check if default route is set
-     */
-    public boolean isDefaultRouteSet();
-
-    /**
-     * Set a flag indicating default route is set for the network
-     */
-    public void defaultRouteSet(boolean enabled);
-
-    /**
-     * Check if tear down was requested
-     */
-    public boolean isTeardownRequested();
-
-    /**
-     * Indicate tear down requested from connectivity
-     */
-    public void setTeardownRequested(boolean isRequested);
-
-    /**
-     * An external dependency has been met/unmet
-     */
-    public void setDependencyMet(boolean met);
-
-    /*
-     * Called once to setup async channel between this and
-     * the underlying network specific code.
-     */
-    public void supplyMessenger(Messenger messenger);
-
-    /*
-     * Network interface name that we'll lookup for sampling data
-     */
-    public String getNetworkInterfaceName();
-
-    /*
-     * Save the starting sample
-     */
-    public void startSampling(SamplingDataTracker.SamplingSnapshot s);
-
-    /*
-     * Save the ending sample
-     */
-    public void stopSampling(SamplingDataTracker.SamplingSnapshot s);
-
-    /*
-     * Record the current netId
-     */
-    public void setNetId(int netId);
-
-    /*
-     * ?
-     */
-    public Network getNetwork();
-
-}
diff --git a/core/java/android/net/NetworkStats.java b/core/java/android/net/NetworkStats.java
index 2afe578..0766253 100644
--- a/core/java/android/net/NetworkStats.java
+++ b/core/java/android/net/NetworkStats.java
@@ -19,6 +19,7 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.os.SystemClock;
+import android.util.Slog;
 import android.util.SparseBooleanArray;
 
 import com.android.internal.annotations.VisibleForTesting;
@@ -42,6 +43,7 @@
  * @hide
  */
 public class NetworkStats implements Parcelable {
+    private static final String TAG = "NetworkStats";
     /** {@link #iface} value when interface details unavailable. */
     public static final String IFACE_ALL = null;
     /** {@link #uid} value when UID details unavailable. */
@@ -783,4 +785,162 @@
         public void foundNonMonotonic(
                 NetworkStats left, int leftIndex, NetworkStats right, int rightIndex, C cookie);
     }
+
+    /**
+     * VPN accounting. Move some VPN's underlying traffic to other UIDs that use tun0 iface.
+     *
+     * This method should only be called on delta NetworkStats. Do not call this method on a
+     * snapshot {@link NetworkStats} object because the tunUid and/or the underlyingIface may
+     * change over time.
+     *
+     * This method performs adjustments for one active VPN package and one VPN iface at a time.
+     *
+     * It is possible for the VPN software to use multiple underlying networks. This method
+     * only migrates traffic for the primary underlying network.
+     *
+     * @param tunUid uid of the VPN application
+     * @param tunIface iface of the vpn tunnel
+     * @param underlyingIface the primary underlying network iface used by the VPN application
+     * @return true if it successfully adjusts the accounting for VPN, false otherwise
+     */
+    public boolean migrateTun(int tunUid, String tunIface, String underlyingIface) {
+        Entry tunIfaceTotal = new Entry();
+        Entry underlyingIfaceTotal = new Entry();
+
+        tunAdjustmentInit(tunUid, tunIface, underlyingIface, tunIfaceTotal, underlyingIfaceTotal);
+
+        // If tunIface < underlyingIface, it leaves the overhead traffic in the VPN app.
+        // If tunIface > underlyingIface, the VPN app doesn't get credit for data compression.
+        // Negative stats should be avoided.
+        Entry pool = tunGetPool(tunIfaceTotal, underlyingIfaceTotal);
+        if (pool.isEmpty()) {
+            return true;
+        }
+        Entry moved = addTrafficToApplications(tunIface,  underlyingIface, tunIfaceTotal, pool);
+        deductTrafficFromVpnApp(tunUid, underlyingIface, moved);
+
+        if (!moved.isEmpty()) {
+            Slog.wtf(TAG, "Failed to deduct underlying network traffic from VPN package. Moved="
+                    + moved);
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Initializes the data used by the migrateTun() method.
+     *
+     * This is the first pass iteration which does the following work:
+     * (1) Adds up all the traffic through tun0.
+     * (2) Adds up all the traffic through the tunUid's underlyingIface
+     *     (both foreground and background).
+     */
+    private void tunAdjustmentInit(int tunUid, String tunIface, String underlyingIface,
+            Entry tunIfaceTotal, Entry underlyingIfaceTotal) {
+        Entry recycle = new Entry();
+        for (int i = 0; i < size; i++) {
+            getValues(i, recycle);
+            if (recycle.uid == UID_ALL) {
+                throw new IllegalStateException(
+                        "Cannot adjust VPN accounting on an iface aggregated NetworkStats.");
+            }
+
+            if (recycle.uid == tunUid && recycle.tag == TAG_NONE
+                    && Objects.equals(underlyingIface, recycle.iface)) {
+                underlyingIfaceTotal.add(recycle);
+            }
+
+            if (recycle.tag == TAG_NONE && Objects.equals(tunIface, recycle.iface)) {
+                // Add up all tunIface traffic.
+                tunIfaceTotal.add(recycle);
+            }
+        }
+    }
+
+    private static Entry tunGetPool(Entry tunIfaceTotal, Entry underlyingIfaceTotal) {
+        Entry pool = new Entry();
+        pool.rxBytes = Math.min(tunIfaceTotal.rxBytes, underlyingIfaceTotal.rxBytes);
+        pool.rxPackets = Math.min(tunIfaceTotal.rxPackets, underlyingIfaceTotal.rxPackets);
+        pool.txBytes = Math.min(tunIfaceTotal.txBytes, underlyingIfaceTotal.txBytes);
+        pool.txPackets = Math.min(tunIfaceTotal.txPackets, underlyingIfaceTotal.txPackets);
+        pool.operations = Math.min(tunIfaceTotal.operations, underlyingIfaceTotal.operations);
+        return pool;
+    }
+
+    private Entry addTrafficToApplications(String tunIface, String underlyingIface,
+            Entry tunIfaceTotal, Entry pool) {
+        Entry moved = new Entry();
+        Entry tmpEntry = new Entry();
+        tmpEntry.iface = underlyingIface;
+        for (int i = 0; i < size; i++) {
+            if (Objects.equals(iface[i], tunIface)) {
+                if (tunIfaceTotal.rxBytes > 0) {
+                    tmpEntry.rxBytes = pool.rxBytes * rxBytes[i] / tunIfaceTotal.rxBytes;
+                } else {
+                    tmpEntry.rxBytes = 0;
+                }
+                if (tunIfaceTotal.rxPackets > 0) {
+                    tmpEntry.rxPackets = pool.rxPackets * rxPackets[i] / tunIfaceTotal.rxPackets;
+                } else {
+                    tmpEntry.rxPackets = 0;
+                }
+                if (tunIfaceTotal.txBytes > 0) {
+                    tmpEntry.txBytes = pool.txBytes * txBytes[i] / tunIfaceTotal.txBytes;
+                } else {
+                    tmpEntry.txBytes = 0;
+                }
+                if (tunIfaceTotal.txPackets > 0) {
+                    tmpEntry.txPackets = pool.txPackets * txPackets[i] / tunIfaceTotal.txPackets;
+                } else {
+                    tmpEntry.txPackets = 0;
+                }
+                if (tunIfaceTotal.operations > 0) {
+                    tmpEntry.operations =
+                            pool.operations * operations[i] / tunIfaceTotal.operations;
+                } else {
+                    tmpEntry.operations = 0;
+                }
+                tmpEntry.uid = uid[i];
+                tmpEntry.tag = tag[i];
+                tmpEntry.set = set[i];
+                combineValues(tmpEntry);
+                if (tag[i] == TAG_NONE) {
+                    moved.add(tmpEntry);
+                }
+            }
+        }
+        return moved;
+    }
+
+    private void deductTrafficFromVpnApp(int tunUid, String underlyingIface, Entry moved) {
+        // Caveat: if the vpn software uses tag, the total tagged traffic may be greater than
+        // the TAG_NONE traffic.
+        int idxVpnBackground = findIndex(underlyingIface, tunUid, SET_DEFAULT, TAG_NONE);
+        if (idxVpnBackground != -1) {
+            tunSubtract(idxVpnBackground, this, moved);
+        }
+
+        int idxVpnForeground = findIndex(underlyingIface, tunUid, SET_FOREGROUND, TAG_NONE);
+        if (idxVpnForeground != -1) {
+            tunSubtract(idxVpnForeground, this, moved);
+        }
+    }
+
+    private static void tunSubtract(int i, NetworkStats left, Entry right) {
+        long rxBytes = Math.min(left.rxBytes[i], right.rxBytes);
+        left.rxBytes[i] -= rxBytes;
+        right.rxBytes -= rxBytes;
+
+        long rxPackets = Math.min(left.rxPackets[i], right.rxPackets);
+        left.rxPackets[i] -= rxPackets;
+        right.rxPackets -= rxPackets;
+
+        long txBytes = Math.min(left.txBytes[i], right.txBytes);
+        left.txBytes[i] -= txBytes;
+        right.txBytes -= txBytes;
+
+        long txPackets = Math.min(left.txPackets[i], right.txPackets);
+        left.txPackets[i] -= txPackets;
+        right.txPackets -= txPackets;
+    }
 }
diff --git a/core/java/android/net/NetworkUtils.java b/core/java/android/net/NetworkUtils.java
index d2a2997..8003afb 100644
--- a/core/java/android/net/NetworkUtils.java
+++ b/core/java/android/net/NetworkUtils.java
@@ -56,6 +56,30 @@
 
     /**
      * Start the DHCP client daemon, in order to have it request addresses
+     * for the named interface.  This returns {@code true} if the DHCPv4 daemon
+     * starts, {@code false} otherwise.  This call blocks until such time as a
+     * result is available or the default discovery timeout has been reached.
+     * Callers should check {@link #getDhcpResults} to determine whether DHCP
+     * succeeded or failed, and if it succeeded, to fetch the {@link DhcpResults}.
+     * @param interfaceName the name of the interface to configure
+     * @return {@code true} for success, {@code false} for failure
+     */
+    public native static boolean startDhcp(String interfaceName);
+
+    /**
+     * Initiate renewal on the DHCP client daemon for the named interface.  This
+     * returns {@code true} if the DHCPv4 daemon has been notified, {@code false}
+     * otherwise.  This call blocks until such time as a result is available or
+     * the default renew timeout has been reached.  Callers should check
+     * {@link #getDhcpResults} to determine whether DHCP succeeded or failed,
+     * and if it succeeded, to fetch the {@link DhcpResults}.
+     * @param interfaceName the name of the interface to configure
+     * @return {@code true} for success, {@code false} for failure
+     */
+    public native static boolean startDhcpRenew(String interfaceName);
+
+    /**
+     * Start the DHCP client daemon, in order to have it request addresses
      * for the named interface, and then configure the interface with those
      * addresses. This call blocks until it obtains a result (either success
      * or failure) from the daemon.
@@ -64,17 +88,31 @@
      * the IP address information.
      * @return {@code true} for success, {@code false} for failure
      */
-    public native static boolean runDhcp(String interfaceName, DhcpResults dhcpResults);
+    public static boolean runDhcp(String interfaceName, DhcpResults dhcpResults) {
+        return startDhcp(interfaceName) && getDhcpResults(interfaceName, dhcpResults);
+    }
 
     /**
-     * Initiate renewal on the Dhcp client daemon. This call blocks until it obtains
+     * Initiate renewal on the DHCP client daemon. This call blocks until it obtains
      * a result (either success or failure) from the daemon.
      * @param interfaceName the name of the interface to configure
      * @param dhcpResults if the request succeeds, this object is filled in with
      * the IP address information.
      * @return {@code true} for success, {@code false} for failure
      */
-    public native static boolean runDhcpRenew(String interfaceName, DhcpResults dhcpResults);
+    public static boolean runDhcpRenew(String interfaceName, DhcpResults dhcpResults) {
+        return startDhcpRenew(interfaceName) && getDhcpResults(interfaceName, dhcpResults);
+    }
+
+    /**
+     * Fetch results from the DHCP client daemon. This call returns {@code true} if
+     * if there are results available to be read, {@code false} otherwise.
+     * @param interfaceName the name of the interface to configure
+     * @param dhcpResults if the request succeeds, this object is filled in with
+     * the IP address information.
+     * @return {@code true} for success, {@code false} for failure
+     */
+    public native static boolean getDhcpResults(String interfaceName, DhcpResults dhcpResults);
 
     /**
      * Shut down the DHCP client daemon.
diff --git a/core/java/android/net/ProxyDataTracker.java b/core/java/android/net/ProxyDataTracker.java
deleted file mode 100644
index 7d23125..0000000
--- a/core/java/android/net/ProxyDataTracker.java
+++ /dev/null
@@ -1,207 +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 android.net;
-
-import android.content.BroadcastReceiver;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.ServiceConnection;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.IBinder;
-import android.os.Message;
-import android.os.Messenger;
-import android.os.RemoteException;
-import android.os.UserHandle;
-import android.util.Log;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * A data tracker responsible for bringing up and tearing down the system proxy server.
- *
- * {@hide}
- */
-public class ProxyDataTracker extends BaseNetworkStateTracker {
-    private static final String TAG = "ProxyDataTracker";
-    private static final String NETWORK_TYPE = "PROXY";
-
-    // TODO: investigate how to get these DNS addresses from the system.
-    private static final String DNS1 = "8.8.8.8";
-    private static final String DNS2 = "8.8.4.4";
-    private static final String INTERFACE_NAME = "ifb0";
-    private static final String REASON_ENABLED = "enabled";
-    private static final String REASON_DISABLED = "disabled";
-    private static final String REASON_PROXY_DOWN = "proxy_down";
-
-    private static final int MSG_TEAR_DOWN_REQUEST = 1;
-    private static final int MSG_SETUP_REQUEST = 2;
-
-    private static final String PERMISSION_PROXY_STATUS_SENDER =
-            "android.permission.ACCESS_NETWORK_CONDITIONS";
-    private static final String ACTION_PROXY_STATUS_CHANGE =
-            "com.android.net.PROXY_STATUS_CHANGE";
-    private static final String KEY_IS_PROXY_AVAILABLE = "is_proxy_available";
-    private static final String KEY_REPLY_TO_MESSENGER_BINDER = "reply_to_messenger_binder";
-    private static final String KEY_REPLY_TO_MESSENGER_BINDER_BUNDLE =
-            "reply_to_messenger_binder_bundle";
-
-    private Handler mTarget;
-    private Messenger mProxyStatusService;
-    private AtomicBoolean mReconnectRequested = new AtomicBoolean(false);
-    private AtomicBoolean mIsProxyAvailable = new AtomicBoolean(false);
-    private final AtomicInteger mDefaultGatewayAddr = new AtomicInteger(0);
-
-    private final BroadcastReceiver mProxyStatusServiceListener = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            if (intent.getAction().equals(ACTION_PROXY_STATUS_CHANGE)) {
-                mIsProxyAvailable.set(intent.getBooleanExtra(KEY_IS_PROXY_AVAILABLE, false));
-                if (mIsProxyAvailable.get()) {
-                    Bundle bundle = intent.getBundleExtra(KEY_REPLY_TO_MESSENGER_BINDER_BUNDLE);
-                    if (bundle == null || bundle.getBinder(KEY_REPLY_TO_MESSENGER_BINDER) == null) {
-                        Log.e(TAG, "no messenger binder in the intent to send future requests");
-                        mIsProxyAvailable.set(false);
-                        return;
-                    }
-                    mProxyStatusService =
-                            new Messenger(bundle.getBinder(KEY_REPLY_TO_MESSENGER_BINDER));
-                    // If there is a pending reconnect request, do it now.
-                    if (mReconnectRequested.get()) {
-                        reconnect();
-                    }
-                } else {
-                    setDetailedState(NetworkInfo.DetailedState.DISCONNECTED,
-                            REASON_PROXY_DOWN, null);
-                }
-            } else {
-                Log.d(TAG, "Unrecognized broadcast intent");
-            }
-        }
-    };
-
-    /**
-     * Create a new ProxyDataTracker
-     */
-    public ProxyDataTracker() {
-        mNetworkInfo = new NetworkInfo(ConnectivityManager.TYPE_PROXY, 0, NETWORK_TYPE, "");
-        mLinkProperties = new LinkProperties();
-        mNetworkCapabilities = new NetworkCapabilities();
-        mNetworkInfo.setIsAvailable(true);
-        try {
-            mLinkProperties.addDnsServer(InetAddress.getByName(DNS1));
-            mLinkProperties.addDnsServer(InetAddress.getByName(DNS2));
-            mLinkProperties.setInterfaceName(INTERFACE_NAME);
-        } catch (UnknownHostException e) {
-            Log.e(TAG, "Could not add DNS address", e);
-        }
-    }
-
-    @Override
-    public Object clone() throws CloneNotSupportedException {
-        throw new CloneNotSupportedException();
-    }
-
-    @Override
-    public void startMonitoring(Context context, Handler target) {
-        mContext = context;
-        mTarget = target;
-        mContext.registerReceiver(mProxyStatusServiceListener,
-                new IntentFilter(ACTION_PROXY_STATUS_CHANGE),
-                PERMISSION_PROXY_STATUS_SENDER,
-                null);
-    }
-
-    /**
-     * Disable connectivity to the network.
-     */
-    public boolean teardown() {
-        setTeardownRequested(true);
-        mReconnectRequested.set(false);
-        try {
-            if (mIsProxyAvailable.get() && mProxyStatusService != null) {
-                mProxyStatusService.send(Message.obtain(null, MSG_TEAR_DOWN_REQUEST));
-            }
-        } catch (RemoteException e) {
-            Log.e(TAG, "Unable to connect to proxy status service", e);
-            return false;
-        }
-        setDetailedState(NetworkInfo.DetailedState.DISCONNECTED, REASON_DISABLED, null);
-        return true;
-    }
-
-    /**
-     * Re-enable proxy data connectivity after a {@link #teardown()}.
-     */
-    public boolean reconnect() {
-        mReconnectRequested.set(true);
-        setTeardownRequested(false);
-        if (!mIsProxyAvailable.get()) {
-            Log.w(TAG, "Reconnect requested even though proxy service is not up. Bailing.");
-            return false;
-        }
-        setDetailedState(NetworkInfo.DetailedState.CONNECTING, REASON_ENABLED, null);
-
-        try {
-            mProxyStatusService.send(Message.obtain(null, MSG_SETUP_REQUEST));
-        } catch (RemoteException e) {
-            Log.e(TAG, "Unable to connect to proxy status service", e);
-            setDetailedState(NetworkInfo.DetailedState.DISCONNECTED, REASON_PROXY_DOWN, null);
-            return false;
-        }
-        // We'll assume proxy is set up successfully. If not, a status change broadcast will be
-        // received afterwards to indicate any failure.
-        setDetailedState(NetworkInfo.DetailedState.CONNECTED, REASON_ENABLED, null);
-        return true;
-    }
-
-    /**
-     * Fetch default gateway address for the network
-     */
-    public int getDefaultGatewayAddr() {
-        return mDefaultGatewayAddr.get();
-    }
-
-    /**
-     * Return the system properties name associated with the tcp buffer sizes
-     * for this network.
-     */
-    public String getTcpBufferSizesPropName() {
-        return "net.tcp.buffersize.wifi";
-    }
-
-    /**
-     * Record the detailed state of a network, and if it is a
-     * change from the previous state, send a notification to
-     * any listeners.
-     * @param state the new @{code DetailedState}
-     * @param reason a {@code String} indicating a reason for the state change,
-     * if one was supplied. May be {@code null}.
-     * @param extraInfo optional {@code String} providing extra information about the state change
-     */
-    private void setDetailedState(NetworkInfo.DetailedState state, String reason,
-            String extraInfo) {
-        mNetworkInfo.setDetailedState(state, reason, extraInfo);
-        Message msg = mTarget.obtainMessage(EVENT_STATE_CHANGED, mNetworkInfo);
-        msg.sendToTarget();
-    }
-}
diff --git a/core/java/android/net/SamplingDataTracker.java b/core/java/android/net/SamplingDataTracker.java
deleted file mode 100644
index acd56f2..0000000
--- a/core/java/android/net/SamplingDataTracker.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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;
-
-
-import android.os.SystemClock;
-import android.util.Slog;
-
-import java.io.BufferedReader;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.Map;
-
-/**
- * @hide
- */
-public class SamplingDataTracker
-{
-    private static final boolean DBG = false;
-    private static final String  TAG = "SamplingDataTracker";
-
-    public static class SamplingSnapshot
-    {
-        public long mTxByteCount;
-        public long mRxByteCount;
-        public long mTxPacketCount;
-        public long mRxPacketCount;
-        public long mTxPacketErrorCount;
-        public long mRxPacketErrorCount;
-        public long mTimestamp;
-    }
-
-    public static void getSamplingSnapshots(Map<String, SamplingSnapshot> mapIfaceToSample) {
-
-        BufferedReader reader = null;
-        try {
-            reader = new BufferedReader(new FileReader("/proc/net/dev"));
-
-            // Skip over the line bearing column titles (there are 2 lines)
-            String line;
-            reader.readLine();
-            reader.readLine();
-
-            while ((line = reader.readLine()) != null) {
-
-                // remove leading whitespace
-                line = line.trim();
-
-                String[] tokens = line.split("[ ]+");
-                if (tokens.length < 17) {
-                    continue;
-                }
-
-                /* column format is
-                 * Interface  (Recv)bytes packets errs drop fifo frame compressed multicast \
-                 *            (Transmit)bytes packets errs drop fifo colls carrier compress
-                */
-
-                String currentIface = tokens[0].split(":")[0];
-                if (DBG) Slog.d(TAG, "Found data for interface " + currentIface);
-                if (mapIfaceToSample.containsKey(currentIface)) {
-
-                    try {
-                        SamplingSnapshot ss = new SamplingSnapshot();
-
-                        ss.mTxByteCount        = Long.parseLong(tokens[1]);
-                        ss.mTxPacketCount      = Long.parseLong(tokens[2]);
-                        ss.mTxPacketErrorCount = Long.parseLong(tokens[3]);
-                        ss.mRxByteCount        = Long.parseLong(tokens[9]);
-                        ss.mRxPacketCount      = Long.parseLong(tokens[10]);
-                        ss.mRxPacketErrorCount = Long.parseLong(tokens[11]);
-
-                        ss.mTimestamp          = SystemClock.elapsedRealtime();
-
-                        if (DBG) {
-                            Slog.d(TAG, "Interface = " + currentIface);
-                            Slog.d(TAG, "ByteCount = " + String.valueOf(ss.mTxByteCount));
-                            Slog.d(TAG, "TxPacketCount = " + String.valueOf(ss.mTxPacketCount));
-                            Slog.d(TAG, "TxPacketErrorCount = "
-                                    + String.valueOf(ss.mTxPacketErrorCount));
-                            Slog.d(TAG, "RxByteCount = " + String.valueOf(ss.mRxByteCount));
-                            Slog.d(TAG, "RxPacketCount = " + String.valueOf(ss.mRxPacketCount));
-                            Slog.d(TAG, "RxPacketErrorCount = "
-                                    + String.valueOf(ss.mRxPacketErrorCount));
-                            Slog.d(TAG, "Timestamp = " + String.valueOf(ss.mTimestamp));
-                            Slog.d(TAG, "---------------------------");
-                        }
-
-                        mapIfaceToSample.put(currentIface, ss);
-
-                    } catch (NumberFormatException e) {
-                        // just ignore this data point
-                    }
-                }
-            }
-
-            if (DBG) {
-                Iterator it = mapIfaceToSample.entrySet().iterator();
-                while (it.hasNext()) {
-                    Map.Entry kvpair = (Map.Entry)it.next();
-                    if (kvpair.getValue() == null) {
-                        Slog.d(TAG, "could not find snapshot for interface " + kvpair.getKey());
-                    }
-                }
-            }
-        } catch(FileNotFoundException e) {
-            Slog.e(TAG, "could not find /proc/net/dev");
-        } catch (IOException e) {
-            Slog.e(TAG, "could not read /proc/net/dev");
-        } finally {
-            try {
-                if (reader != null) {
-                    reader.close();
-                }
-            } catch (IOException e) {
-                Slog.e(TAG, "could not close /proc/net/dev");
-            }
-        }
-    }
-
-    // Snapshots from previous sampling interval
-    private SamplingSnapshot mBeginningSample;
-    private SamplingSnapshot mEndingSample;
-
-    // Starting snapshot of current interval
-    private SamplingSnapshot mLastSample;
-
-    // Protects sampling data from concurrent access
-    public final Object mSamplingDataLock = new Object();
-
-    // We need long enough time for a good sample
-    private final int MINIMUM_SAMPLING_INTERVAL = 15 * 1000;
-
-    // statistics is useless unless we have enough data
-    private final int MINIMUM_SAMPLED_PACKETS   = 30;
-
-    public void startSampling(SamplingSnapshot s) {
-        synchronized(mSamplingDataLock) {
-            mLastSample = s;
-        }
-    }
-
-    public void stopSampling(SamplingSnapshot s) {
-        synchronized(mSamplingDataLock) {
-            if (mLastSample != null) {
-                if (s.mTimestamp - mLastSample.mTimestamp > MINIMUM_SAMPLING_INTERVAL
-                        && getSampledPacketCount(mLastSample, s) > MINIMUM_SAMPLED_PACKETS) {
-                    mBeginningSample = mLastSample;
-                    mEndingSample = s;
-                    mLastSample = null;
-                } else {
-                    if (DBG) Slog.d(TAG, "Throwing current sample away because it is too small");
-                }
-            }
-        }
-    }
-
-    public void resetSamplingData() {
-        if (DBG) Slog.d(TAG, "Resetting sampled network data");
-        synchronized(mSamplingDataLock) {
-
-            // We could just take another sample here and treat it as an
-            // 'ending sample' effectively shortening sampling interval, but that
-            // requires extra work (specifically, reading the sample needs to be
-            // done asynchronously)
-
-            mLastSample = null;
-        }
-    }
-
-    public long getSampledTxByteCount() {
-        synchronized(mSamplingDataLock) {
-            if (mBeginningSample != null && mEndingSample != null) {
-                return mEndingSample.mTxByteCount - mBeginningSample.mTxByteCount;
-            } else {
-                return LinkQualityInfo.UNKNOWN_LONG;
-            }
-        }
-    }
-
-    public long getSampledTxPacketCount() {
-        synchronized(mSamplingDataLock) {
-            if (mBeginningSample != null && mEndingSample != null) {
-                return mEndingSample.mTxPacketCount - mBeginningSample.mTxPacketCount;
-            } else {
-                return LinkQualityInfo.UNKNOWN_LONG;
-            }
-        }
-    }
-
-    public long getSampledTxPacketErrorCount() {
-        synchronized(mSamplingDataLock) {
-            if (mBeginningSample != null && mEndingSample != null) {
-                return mEndingSample.mTxPacketErrorCount - mBeginningSample.mTxPacketErrorCount;
-            } else {
-                return LinkQualityInfo.UNKNOWN_LONG;
-            }
-        }
-    }
-
-    public long getSampledRxByteCount() {
-        synchronized(mSamplingDataLock) {
-            if (mBeginningSample != null && mEndingSample != null) {
-                return mEndingSample.mRxByteCount - mBeginningSample.mRxByteCount;
-            } else {
-                return LinkQualityInfo.UNKNOWN_LONG;
-            }
-        }
-    }
-
-    public long getSampledRxPacketCount() {
-        synchronized(mSamplingDataLock) {
-            if (mBeginningSample != null && mEndingSample != null) {
-                return mEndingSample.mRxPacketCount - mBeginningSample.mRxPacketCount;
-            } else {
-                return LinkQualityInfo.UNKNOWN_LONG;
-            }
-        }
-    }
-
-    public long getSampledPacketCount() {
-        return getSampledPacketCount(mBeginningSample, mEndingSample);
-    }
-
-    public long getSampledPacketCount(SamplingSnapshot begin, SamplingSnapshot end) {
-        if (begin != null && end != null) {
-            long rxPacketCount = end.mRxPacketCount - begin.mRxPacketCount;
-            long txPacketCount = end.mTxPacketCount - begin.mTxPacketCount;
-            return rxPacketCount + txPacketCount;
-        } else {
-            return LinkQualityInfo.UNKNOWN_LONG;
-        }
-    }
-
-    public long getSampledPacketErrorCount() {
-        if (mBeginningSample != null && mEndingSample != null) {
-            long rxPacketErrorCount = getSampledRxPacketErrorCount();
-            long txPacketErrorCount = getSampledTxPacketErrorCount();
-            return rxPacketErrorCount + txPacketErrorCount;
-        } else {
-            return LinkQualityInfo.UNKNOWN_LONG;
-        }
-    }
-
-    public long getSampledRxPacketErrorCount() {
-        synchronized(mSamplingDataLock) {
-            if (mBeginningSample != null && mEndingSample != null) {
-                return mEndingSample.mRxPacketErrorCount - mBeginningSample.mRxPacketErrorCount;
-            } else {
-                return LinkQualityInfo.UNKNOWN_LONG;
-            }
-        }
-    }
-
-    public long getSampleTimestamp() {
-        synchronized(mSamplingDataLock) {
-            if (mEndingSample != null) {
-                return mEndingSample.mTimestamp;
-            } else {
-                return LinkQualityInfo.UNKNOWN_LONG;
-            }
-        }
-    }
-
-    public int getSampleDuration() {
-        synchronized(mSamplingDataLock) {
-            if (mBeginningSample != null && mEndingSample != null) {
-                return (int) (mEndingSample.mTimestamp - mBeginningSample.mTimestamp);
-            } else {
-                return LinkQualityInfo.UNKNOWN_INT;
-            }
-        }
-    }
-
-    public void setCommonLinkQualityInfoFields(LinkQualityInfo li) {
-        synchronized(mSamplingDataLock) {
-            li.setLastDataSampleTime(getSampleTimestamp());
-            li.setDataSampleDuration(getSampleDuration());
-            li.setPacketCount(getSampledPacketCount());
-            li.setPacketErrorCount(getSampledPacketErrorCount());
-        }
-    }
-}
-
diff --git a/core/java/android/net/StaticIpConfiguration.java b/core/java/android/net/StaticIpConfiguration.java
index 37ee961..7f1b179 100644
--- a/core/java/android/net/StaticIpConfiguration.java
+++ b/core/java/android/net/StaticIpConfiguration.java
@@ -21,7 +21,6 @@
 import android.os.Parcel;
 
 import java.net.InetAddress;
-import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
diff --git a/core/java/android/net/http/X509TrustManagerExtensions.java b/core/java/android/net/http/X509TrustManagerExtensions.java
index bb36c20..eb4ceda 100644
--- a/core/java/android/net/http/X509TrustManagerExtensions.java
+++ b/core/java/android/net/http/X509TrustManagerExtensions.java
@@ -22,8 +22,6 @@
 import java.security.cert.X509Certificate;
 import java.util.List;
 
-import javax.net.ssl.SSLParameters;
-import javax.net.ssl.SSLSocket;
 import javax.net.ssl.X509TrustManager;
 
 /**
diff --git a/core/java/android/os/BaseBundle.java b/core/java/android/os/BaseBundle.java
index 1b02141b9..c373308 100644
--- a/core/java/android/os/BaseBundle.java
+++ b/core/java/android/os/BaseBundle.java
@@ -16,12 +16,12 @@
 
 package android.os;
 
+import android.annotation.Nullable;
 import android.util.ArrayMap;
 import android.util.Log;
 
 import java.io.Serializable;
 import java.util.ArrayList;
-import java.util.Map;
 import java.util.Set;
 
 /**
@@ -63,7 +63,7 @@
      * inside of the Bundle.
      * @param capacity Initial size of the ArrayMap.
      */
-    BaseBundle(ClassLoader loader, int capacity) {
+    BaseBundle(@Nullable ClassLoader loader, int capacity) {
         mMap = capacity > 0 ?
                 new ArrayMap<String, Object>(capacity) : new ArrayMap<String, Object>();
         mClassLoader = loader == null ? getClass().getClassLoader() : loader;
@@ -276,6 +276,7 @@
      * @param key a String key
      * @return an Object, or null
      */
+    @Nullable
     public Object get(String key) {
         unparcel();
         return mMap.get(key);
@@ -307,7 +308,7 @@
      *
      * @param map a Map
      */
-    void putAll(Map map) {
+    void putAll(ArrayMap map) {
         unparcel();
         mMap.putAll(map);
     }
@@ -327,9 +328,9 @@
      * any existing value for the given key.  Either key or value may be null.
      *
      * @param key a String, or null
-     * @param value a Boolean, or null
+     * @param value a boolean
      */
-    public void putBoolean(String key, boolean value) {
+    public void putBoolean(@Nullable String key, boolean value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -341,7 +342,7 @@
      * @param key a String, or null
      * @param value a byte
      */
-    void putByte(String key, byte value) {
+    void putByte(@Nullable String key, byte value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -351,9 +352,9 @@
      * any existing value for the given key.
      *
      * @param key a String, or null
-     * @param value a char, or null
+     * @param value a char
      */
-    void putChar(String key, char value) {
+    void putChar(@Nullable String key, char value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -365,7 +366,7 @@
      * @param key a String, or null
      * @param value a short
      */
-    void putShort(String key, short value) {
+    void putShort(@Nullable String key, short value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -375,9 +376,9 @@
      * any existing value for the given key.
      *
      * @param key a String, or null
-     * @param value an int, or null
+     * @param value an int
      */
-    public void putInt(String key, int value) {
+    public void putInt(@Nullable String key, int value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -389,7 +390,7 @@
      * @param key a String, or null
      * @param value a long
      */
-    public void putLong(String key, long value) {
+    public void putLong(@Nullable String key, long value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -401,7 +402,7 @@
      * @param key a String, or null
      * @param value a float
      */
-    void putFloat(String key, float value) {
+    void putFloat(@Nullable String key, float value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -413,7 +414,7 @@
      * @param key a String, or null
      * @param value a double
      */
-    public void putDouble(String key, double value) {
+    public void putDouble(@Nullable String key, double value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -425,7 +426,7 @@
      * @param key a String, or null
      * @param value a String, or null
      */
-    public void putString(String key, String value) {
+    public void putString(@Nullable String key, @Nullable String value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -437,7 +438,7 @@
      * @param key a String, or null
      * @param value a CharSequence, or null
      */
-    void putCharSequence(String key, CharSequence value) {
+    void putCharSequence(@Nullable String key, @Nullable CharSequence value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -449,7 +450,7 @@
      * @param key a String, or null
      * @param value an ArrayList<Integer> object, or null
      */
-    void putIntegerArrayList(String key, ArrayList<Integer> value) {
+    void putIntegerArrayList(@Nullable String key, @Nullable ArrayList<Integer> value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -461,7 +462,7 @@
      * @param key a String, or null
      * @param value an ArrayList<String> object, or null
      */
-    void putStringArrayList(String key, ArrayList<String> value) {
+    void putStringArrayList(@Nullable String key, @Nullable ArrayList<String> value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -473,7 +474,7 @@
      * @param key a String, or null
      * @param value an ArrayList<CharSequence> object, or null
      */
-    void putCharSequenceArrayList(String key, ArrayList<CharSequence> value) {
+    void putCharSequenceArrayList(@Nullable String key, @Nullable ArrayList<CharSequence> value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -485,7 +486,7 @@
      * @param key a String, or null
      * @param value a Serializable object, or null
      */
-    void putSerializable(String key, Serializable value) {
+    void putSerializable(@Nullable String key, @Nullable Serializable value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -497,7 +498,7 @@
      * @param key a String, or null
      * @param value a boolean array object, or null
      */
-    public void putBooleanArray(String key, boolean[] value) {
+    public void putBooleanArray(@Nullable String key, @Nullable boolean[] value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -509,7 +510,7 @@
      * @param key a String, or null
      * @param value a byte array object, or null
      */
-    void putByteArray(String key, byte[] value) {
+    void putByteArray(@Nullable String key, @Nullable byte[] value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -521,7 +522,7 @@
      * @param key a String, or null
      * @param value a short array object, or null
      */
-    void putShortArray(String key, short[] value) {
+    void putShortArray(@Nullable String key, @Nullable short[] value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -533,7 +534,7 @@
      * @param key a String, or null
      * @param value a char array object, or null
      */
-    void putCharArray(String key, char[] value) {
+    void putCharArray(@Nullable String key, @Nullable char[] value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -545,7 +546,7 @@
      * @param key a String, or null
      * @param value an int array object, or null
      */
-    public void putIntArray(String key, int[] value) {
+    public void putIntArray(@Nullable String key, @Nullable int[] value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -557,7 +558,7 @@
      * @param key a String, or null
      * @param value a long array object, or null
      */
-    public void putLongArray(String key, long[] value) {
+    public void putLongArray(@Nullable String key, @Nullable long[] value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -569,7 +570,7 @@
      * @param key a String, or null
      * @param value a float array object, or null
      */
-    void putFloatArray(String key, float[] value) {
+    void putFloatArray(@Nullable String key, @Nullable float[] value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -581,7 +582,7 @@
      * @param key a String, or null
      * @param value a double array object, or null
      */
-    public void putDoubleArray(String key, double[] value) {
+    public void putDoubleArray(@Nullable String key, @Nullable double[] value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -593,7 +594,7 @@
      * @param key a String, or null
      * @param value a String array object, or null
      */
-    public void putStringArray(String key, String[] value) {
+    public void putStringArray(@Nullable String key, @Nullable String[] value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -605,7 +606,7 @@
      * @param key a String, or null
      * @param value a CharSequence array object, or null
      */
-    void putCharSequenceArray(String key, CharSequence[] value) {
+    void putCharSequenceArray(@Nullable String key, @Nullable CharSequence[] value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -914,7 +915,8 @@
      * @param key a String, or null
      * @return a String value, or null
      */
-    public String getString(String key) {
+    @Nullable
+    public String getString(@Nullable String key) {
         unparcel();
         final Object o = mMap.get(key);
         try {
@@ -936,7 +938,7 @@
      * @return the String value associated with the given key, or defaultValue
      *     if no valid String object is currently mapped to that key.
      */
-    public String getString(String key, String defaultValue) {
+    public String getString(@Nullable String key, String defaultValue) {
         final String s = getString(key);
         return (s == null) ? defaultValue : s;
     }
@@ -949,7 +951,8 @@
      * @param key a String, or null
      * @return a CharSequence value, or null
      */
-    CharSequence getCharSequence(String key) {
+    @Nullable
+    CharSequence getCharSequence(@Nullable String key) {
         unparcel();
         final Object o = mMap.get(key);
         try {
@@ -971,7 +974,7 @@
      * @return the CharSequence value associated with the given key, or defaultValue
      *     if no valid CharSequence object is currently mapped to that key.
      */
-    CharSequence getCharSequence(String key, CharSequence defaultValue) {
+    CharSequence getCharSequence(@Nullable String key, CharSequence defaultValue) {
         final CharSequence cs = getCharSequence(key);
         return (cs == null) ? defaultValue : cs;
     }
@@ -984,7 +987,8 @@
      * @param key a String, or null
      * @return a Serializable value, or null
      */
-    Serializable getSerializable(String key) {
+    @Nullable
+    Serializable getSerializable(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -1006,7 +1010,8 @@
      * @param key a String, or null
      * @return an ArrayList<String> value, or null
      */
-    ArrayList<Integer> getIntegerArrayList(String key) {
+    @Nullable
+    ArrayList<Integer> getIntegerArrayList(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -1028,7 +1033,8 @@
      * @param key a String, or null
      * @return an ArrayList<String> value, or null
      */
-    ArrayList<String> getStringArrayList(String key) {
+    @Nullable
+    ArrayList<String> getStringArrayList(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -1050,7 +1056,8 @@
      * @param key a String, or null
      * @return an ArrayList<CharSequence> value, or null
      */
-    ArrayList<CharSequence> getCharSequenceArrayList(String key) {
+    @Nullable
+    ArrayList<CharSequence> getCharSequenceArrayList(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -1072,7 +1079,8 @@
      * @param key a String, or null
      * @return a boolean[] value, or null
      */
-    public boolean[] getBooleanArray(String key) {
+    @Nullable
+    public boolean[] getBooleanArray(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -1094,7 +1102,8 @@
      * @param key a String, or null
      * @return a byte[] value, or null
      */
-    byte[] getByteArray(String key) {
+    @Nullable
+    byte[] getByteArray(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -1116,7 +1125,8 @@
      * @param key a String, or null
      * @return a short[] value, or null
      */
-    short[] getShortArray(String key) {
+    @Nullable
+    short[] getShortArray(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -1138,7 +1148,8 @@
      * @param key a String, or null
      * @return a char[] value, or null
      */
-    char[] getCharArray(String key) {
+    @Nullable
+    char[] getCharArray(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -1160,7 +1171,8 @@
      * @param key a String, or null
      * @return an int[] value, or null
      */
-    public int[] getIntArray(String key) {
+    @Nullable
+    public int[] getIntArray(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -1182,7 +1194,8 @@
      * @param key a String, or null
      * @return a long[] value, or null
      */
-    public long[] getLongArray(String key) {
+    @Nullable
+    public long[] getLongArray(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -1204,7 +1217,8 @@
      * @param key a String, or null
      * @return a float[] value, or null
      */
-    float[] getFloatArray(String key) {
+    @Nullable
+    float[] getFloatArray(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -1226,7 +1240,8 @@
      * @param key a String, or null
      * @return a double[] value, or null
      */
-    public double[] getDoubleArray(String key) {
+    @Nullable
+    public double[] getDoubleArray(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -1248,7 +1263,8 @@
      * @param key a String, or null
      * @return a String[] value, or null
      */
-    public String[] getStringArray(String key) {
+    @Nullable
+    public String[] getStringArray(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -1270,7 +1286,8 @@
      * @param key a String, or null
      * @return a CharSequence[] value, or null
      */
-    CharSequence[] getCharSequenceArray(String key) {
+    @Nullable
+    CharSequence[] getCharSequenceArray(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java
index 4dadda2..d96a0e9 100644
--- a/core/java/android/os/BatteryStats.java
+++ b/core/java/android/os/BatteryStats.java
@@ -30,6 +30,7 @@
 import android.telephony.SignalStrength;
 import android.text.format.DateFormat;
 import android.util.Printer;
+import android.util.Slog;
 import android.util.SparseArray;
 import android.util.SparseIntArray;
 import android.util.TimeUtils;
@@ -85,10 +86,10 @@
      */
     public static final int WIFI_SCAN = 6;
 
-     /**
-      * A constant indicating a wifi multicast timer
-      */
-     public static final int WIFI_MULTICAST_ENABLED = 7;
+    /**
+     * A constant indicating a wifi multicast timer
+     */
+    public static final int WIFI_MULTICAST_ENABLED = 7;
 
     /**
      * A constant indicating a video turn on timer
@@ -352,7 +353,9 @@
         public abstract long getWifiRunningTime(long elapsedRealtimeUs, int which);
         public abstract long getFullWifiLockTime(long elapsedRealtimeUs, int which);
         public abstract long getWifiScanTime(long elapsedRealtimeUs, int which);
+        public abstract int getWifiScanCount(int which);
         public abstract long getWifiBatchedScanTime(int csphBin, long elapsedRealtimeUs, int which);
+        public abstract int getWifiBatchedScanCount(int csphBin, int which);
         public abstract long getWifiMulticastTime(long elapsedRealtimeUs, int which);
         public abstract long getAudioTurnedOnTime(long elapsedRealtimeUs, int which);
         public abstract long getVideoTurnedOnTime(long elapsedRealtimeUs, int which);
@@ -438,14 +441,14 @@
             public abstract boolean isActive();
 
             /**
-             * Returns the total time (in 1/100 sec) spent executing in user code.
+             * Returns the total time (in milliseconds) spent executing in user code.
              *
              * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT.
              */
             public abstract long getUserTime(int which);
 
             /**
-             * Returns the total time (in 1/100 sec) spent executing in system code.
+             * Returns the total time (in milliseconds) spent executing in system code.
              *
              * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT.
              */
@@ -473,14 +476,14 @@
             public abstract int getNumAnrs(int which);
 
             /**
-             * Returns the cpu time spent in microseconds while the process was in the foreground.
+             * Returns the cpu time (milliseconds) spent while the process was in the foreground.
              * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT.
              * @return foreground cpu time in microseconds
              */
             public abstract long getForegroundTime(int which);
 
             /**
-             * Returns the approximate cpu time spent in microseconds, at a certain CPU speed.
+             * Returns the approximate cpu time (in milliseconds) spent at a certain CPU speed.
              * @param speedStep the index of the CPU speed. This is not the actual speed of the
              * CPU.
              * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT.
@@ -542,6 +545,297 @@
         }
     }
 
+    public static final class LevelStepTracker {
+        public long mLastStepTime = -1;
+        public int mNumStepDurations;
+        public final long[] mStepDurations;
+
+        public LevelStepTracker(int maxLevelSteps) {
+            mStepDurations = new long[maxLevelSteps];
+        }
+
+        public LevelStepTracker(int numSteps, long[] steps) {
+            mNumStepDurations = numSteps;
+            mStepDurations = new long[numSteps];
+            System.arraycopy(steps, 0, mStepDurations, 0, numSteps);
+        }
+
+        public long getDurationAt(int index) {
+            return mStepDurations[index] & STEP_LEVEL_TIME_MASK;
+        }
+
+        public int getLevelAt(int index) {
+            return (int)((mStepDurations[index] & STEP_LEVEL_LEVEL_MASK)
+                    >> STEP_LEVEL_LEVEL_SHIFT);
+        }
+
+        public int getInitModeAt(int index) {
+            return (int)((mStepDurations[index] & STEP_LEVEL_INITIAL_MODE_MASK)
+                    >> STEP_LEVEL_INITIAL_MODE_SHIFT);
+        }
+
+        public int getModModeAt(int index) {
+            return (int)((mStepDurations[index] & STEP_LEVEL_MODIFIED_MODE_MASK)
+                    >> STEP_LEVEL_MODIFIED_MODE_SHIFT);
+        }
+
+        private void appendHex(long val, int topOffset, StringBuilder out) {
+            boolean hasData = false;
+            while (topOffset >= 0) {
+                int digit = (int)( (val>>topOffset) & 0xf );
+                topOffset -= 4;
+                if (!hasData && digit == 0) {
+                    continue;
+                }
+                hasData = true;
+                if (digit >= 0 && digit <= 9) {
+                    out.append((char)('0' + digit));
+                } else {
+                    out.append((char)('a' + digit - 10));
+                }
+            }
+        }
+
+        public void encodeEntryAt(int index, StringBuilder out) {
+            long item = mStepDurations[index];
+            long duration = item & STEP_LEVEL_TIME_MASK;
+            int level = (int)((item & STEP_LEVEL_LEVEL_MASK)
+                    >> STEP_LEVEL_LEVEL_SHIFT);
+            int initMode = (int)((item & STEP_LEVEL_INITIAL_MODE_MASK)
+                    >> STEP_LEVEL_INITIAL_MODE_SHIFT);
+            int modMode = (int)((item & STEP_LEVEL_MODIFIED_MODE_MASK)
+                    >> STEP_LEVEL_MODIFIED_MODE_SHIFT);
+            switch ((initMode&STEP_LEVEL_MODE_SCREEN_STATE) + 1) {
+                case Display.STATE_OFF: out.append('f'); break;
+                case Display.STATE_ON: out.append('o'); break;
+                case Display.STATE_DOZE: out.append('d'); break;
+                case Display.STATE_DOZE_SUSPEND: out.append('z'); break;
+            }
+            if ((initMode&STEP_LEVEL_MODE_POWER_SAVE) != 0) {
+                out.append('p');
+            }
+            switch ((modMode&STEP_LEVEL_MODE_SCREEN_STATE) + 1) {
+                case Display.STATE_OFF: out.append('F'); break;
+                case Display.STATE_ON: out.append('O'); break;
+                case Display.STATE_DOZE: out.append('D'); break;
+                case Display.STATE_DOZE_SUSPEND: out.append('Z'); break;
+            }
+            if ((modMode&STEP_LEVEL_MODE_POWER_SAVE) != 0) {
+                out.append('P');
+            }
+            out.append('-');
+            appendHex(level, 4, out);
+            out.append('-');
+            appendHex(duration, STEP_LEVEL_LEVEL_SHIFT-4, out);
+        }
+
+        public void decodeEntryAt(int index, String value) {
+            final int N = value.length();
+            int i = 0;
+            char c;
+            long out = 0;
+            while (i < N && (c=value.charAt(i)) != '-') {
+                i++;
+                switch (c) {
+                    case 'f': out |= (((long)Display.STATE_OFF-1)<<STEP_LEVEL_INITIAL_MODE_SHIFT);
+                        break;
+                    case 'o': out |= (((long)Display.STATE_ON-1)<<STEP_LEVEL_INITIAL_MODE_SHIFT);
+                        break;
+                    case 'd': out |= (((long)Display.STATE_DOZE-1)<<STEP_LEVEL_INITIAL_MODE_SHIFT);
+                        break;
+                    case 'z': out |= (((long)Display.STATE_DOZE_SUSPEND-1)
+                            << STEP_LEVEL_INITIAL_MODE_SHIFT);
+                        break;
+                    case 'p': out |= (((long)STEP_LEVEL_MODE_POWER_SAVE)
+                            << STEP_LEVEL_INITIAL_MODE_SHIFT);
+                        break;
+                    case 'F': out |= (((long)Display.STATE_OFF-1)<<STEP_LEVEL_MODIFIED_MODE_SHIFT);
+                        break;
+                    case 'O': out |= (((long)Display.STATE_ON-1)<<STEP_LEVEL_MODIFIED_MODE_SHIFT);
+                        break;
+                    case 'D': out |= (((long)Display.STATE_DOZE-1)<<STEP_LEVEL_MODIFIED_MODE_SHIFT);
+                        break;
+                    case 'Z': out |= (((long)Display.STATE_DOZE_SUSPEND-1)
+                            << STEP_LEVEL_MODIFIED_MODE_SHIFT);
+                        break;
+                    case 'P': out |= (((long)STEP_LEVEL_MODE_POWER_SAVE)
+                            << STEP_LEVEL_MODIFIED_MODE_SHIFT);
+                        break;
+                }
+            }
+            i++;
+            long level = 0;
+            while (i < N && (c=value.charAt(i)) != '-') {
+                i++;
+                level <<= 4;
+                if (c >= '0' && c <= '9') {
+                    level += c - '0';
+                } else if (c >= 'a' && c <= 'f') {
+                    level += c - 'a' + 10;
+                } else if (c >= 'A' && c <= 'F') {
+                    level += c - 'A' + 10;
+                }
+            }
+            i++;
+            out |= (level << STEP_LEVEL_LEVEL_SHIFT) & STEP_LEVEL_LEVEL_MASK;
+            long duration = 0;
+            while (i < N && (c=value.charAt(i)) != '-') {
+                i++;
+                duration <<= 4;
+                if (c >= '0' && c <= '9') {
+                    duration += c - '0';
+                } else if (c >= 'a' && c <= 'f') {
+                    duration += c - 'a' + 10;
+                } else if (c >= 'A' && c <= 'F') {
+                    duration += c - 'A' + 10;
+                }
+            }
+            mStepDurations[index] = out | (duration & STEP_LEVEL_TIME_MASK);
+        }
+
+        public void init() {
+            mLastStepTime = -1;
+            mNumStepDurations = 0;
+        }
+
+        public void clearTime() {
+            mLastStepTime = -1;
+        }
+
+        public long computeTimePerLevel() {
+            final long[] steps = mStepDurations;
+            final int numSteps = mNumStepDurations;
+
+            // For now we'll do a simple average across all steps.
+            if (numSteps <= 0) {
+                return -1;
+            }
+            long total = 0;
+            for (int i=0; i<numSteps; i++) {
+                total += steps[i] & STEP_LEVEL_TIME_MASK;
+            }
+            return total / numSteps;
+            /*
+            long[] buckets = new long[numSteps];
+            int numBuckets = 0;
+            int numToAverage = 4;
+            int i = 0;
+            while (i < numSteps) {
+                long totalTime = 0;
+                int num = 0;
+                for (int j=0; j<numToAverage && (i+j)<numSteps; j++) {
+                    totalTime += steps[i+j] & STEP_LEVEL_TIME_MASK;
+                    num++;
+                }
+                buckets[numBuckets] = totalTime / num;
+                numBuckets++;
+                numToAverage *= 2;
+                i += num;
+            }
+            if (numBuckets < 1) {
+                return -1;
+            }
+            long averageTime = buckets[numBuckets-1];
+            for (i=numBuckets-2; i>=0; i--) {
+                averageTime = (averageTime + buckets[i]) / 2;
+            }
+            return averageTime;
+            */
+        }
+
+        public long computeTimeEstimate(long modesOfInterest, long modeValues,
+                int[] outNumOfInterest) {
+            final long[] steps = mStepDurations;
+            final int count = mNumStepDurations;
+            if (count <= 0) {
+                return -1;
+            }
+            long total = 0;
+            int numOfInterest = 0;
+            for (int i=0; i<count; i++) {
+                long initMode = (steps[i] & STEP_LEVEL_INITIAL_MODE_MASK)
+                        >> STEP_LEVEL_INITIAL_MODE_SHIFT;
+                long modMode = (steps[i] & STEP_LEVEL_MODIFIED_MODE_MASK)
+                        >> STEP_LEVEL_MODIFIED_MODE_SHIFT;
+                // If the modes of interest didn't change during this step period...
+                if ((modMode&modesOfInterest) == 0) {
+                    // And the mode values during this period match those we are measuring...
+                    if ((initMode&modesOfInterest) == modeValues) {
+                        // Then this can be used to estimate the total time!
+                        numOfInterest++;
+                        total += steps[i] & STEP_LEVEL_TIME_MASK;
+                    }
+                }
+            }
+            if (numOfInterest <= 0) {
+                return -1;
+            }
+
+            if (outNumOfInterest != null) {
+                outNumOfInterest[0] = numOfInterest;
+            }
+
+            // The estimated time is the average time we spend in each level, multipled
+            // by 100 -- the total number of battery levels
+            return (total / numOfInterest) * 100;
+        }
+
+        public void addLevelSteps(int numStepLevels, long modeBits, long elapsedRealtime) {
+            int stepCount = mNumStepDurations;
+            final long lastStepTime = mLastStepTime;
+            if (lastStepTime >= 0 && numStepLevels > 0) {
+                final long[] steps = mStepDurations;
+                long duration = elapsedRealtime - lastStepTime;
+                for (int i=0; i<numStepLevels; i++) {
+                    System.arraycopy(steps, 0, steps, 1, steps.length-1);
+                    long thisDuration = duration / (numStepLevels-i);
+                    duration -= thisDuration;
+                    if (thisDuration > STEP_LEVEL_TIME_MASK) {
+                        thisDuration = STEP_LEVEL_TIME_MASK;
+                    }
+                    steps[0] = thisDuration | modeBits;
+                }
+                stepCount += numStepLevels;
+                if (stepCount > steps.length) {
+                    stepCount = steps.length;
+                }
+            }
+            mNumStepDurations = stepCount;
+            mLastStepTime = elapsedRealtime;
+        }
+
+        public void readFromParcel(Parcel in) {
+            final int N = in.readInt();
+            mNumStepDurations = N;
+            for (int i=0; i<N; i++) {
+                mStepDurations[i] = in.readLong();
+            }
+        }
+
+        public void writeToParcel(Parcel out) {
+            final int N = mNumStepDurations;
+            out.writeInt(N);
+            for (int i=0; i<N; i++) {
+                out.writeLong(mStepDurations[i]);
+            }
+        }
+    }
+
+    public static final class DailyItem {
+        public long mStartTime;
+        public long mEndTime;
+        public LevelStepTracker mDischargeSteps;
+        public LevelStepTracker mChargeSteps;
+    }
+
+    public abstract DailyItem getDailyItemLocked(int daysAgo);
+
+    public abstract long getCurrentDailyStartTime();
+
+    public abstract long getNextMinDailyDeadline();
+
+    public abstract long getNextMaxDailyDeadline();
+
     public final static class HistoryTag {
         public String string;
         public int uid;
@@ -1564,6 +1858,15 @@
     public abstract long getNetworkActivityBytes(int type, int which);
     public abstract long getNetworkActivityPackets(int type, int which);
 
+    public static final int CONTROLLER_IDLE_TIME = 0;
+    public static final int CONTROLLER_RX_TIME = 1;
+    public static final int CONTROLLER_TX_TIME = 2;
+    public static final int CONTROLLER_ENERGY = 3;
+    public static final int NUM_CONTROLLER_ACTIVITY_TYPES = CONTROLLER_ENERGY + 1;
+
+    public abstract long getBluetoothControllerActivity(int type, int which);
+    public abstract long getWifiControllerActivity(int type, int which);
+
     /**
      * Return the wall clock time when battery stats data collection started.
      */
@@ -1724,15 +2027,15 @@
 
     // Bits in a step duration that are the new battery level we are at.
     public static final long STEP_LEVEL_LEVEL_MASK = 0x0000ff0000000000L;
-    public static final long STEP_LEVEL_LEVEL_SHIFT = 40;
+    public static final int STEP_LEVEL_LEVEL_SHIFT = 40;
 
     // Bits in a step duration that are the initial mode we were in at that step.
     public static final long STEP_LEVEL_INITIAL_MODE_MASK = 0x00ff000000000000L;
-    public static final long STEP_LEVEL_INITIAL_MODE_SHIFT = 48;
+    public static final int STEP_LEVEL_INITIAL_MODE_SHIFT = 48;
 
     // Bits in a step duration that indicate which modes changed during that step.
     public static final long STEP_LEVEL_MODIFIED_MODE_MASK = 0xff00000000000000L;
-    public static final long STEP_LEVEL_MODIFIED_MODE_SHIFT = 56;
+    public static final int STEP_LEVEL_MODIFIED_MODE_SHIFT = 56;
 
     // Step duration mode: the screen is on, off, dozed, etc; value is Display.STATE_* - 1.
     public static final int STEP_LEVEL_MODE_SCREEN_STATE = 0x03;
@@ -1740,17 +2043,56 @@
     // Step duration mode: power save is on.
     public static final int STEP_LEVEL_MODE_POWER_SAVE = 0x04;
 
-    /**
-     * Return the historical number of discharge steps we currently have.
-     */
-    public abstract int getNumDischargeStepDurations();
+    public static final int[] STEP_LEVEL_MODES_OF_INTEREST = new int[] {
+            STEP_LEVEL_MODE_SCREEN_STATE|STEP_LEVEL_MODE_POWER_SAVE,
+            STEP_LEVEL_MODE_SCREEN_STATE|STEP_LEVEL_MODE_POWER_SAVE,
+            STEP_LEVEL_MODE_SCREEN_STATE|STEP_LEVEL_MODE_POWER_SAVE,
+            STEP_LEVEL_MODE_SCREEN_STATE|STEP_LEVEL_MODE_POWER_SAVE,
+            STEP_LEVEL_MODE_SCREEN_STATE|STEP_LEVEL_MODE_POWER_SAVE,
+            STEP_LEVEL_MODE_SCREEN_STATE|STEP_LEVEL_MODE_POWER_SAVE,
+            STEP_LEVEL_MODE_SCREEN_STATE|STEP_LEVEL_MODE_POWER_SAVE,
+            STEP_LEVEL_MODE_SCREEN_STATE|STEP_LEVEL_MODE_POWER_SAVE,
+    };
+    public static final int[] STEP_LEVEL_MODE_VALUES = new int[] {
+            (Display.STATE_OFF-1),
+            (Display.STATE_OFF-1)|STEP_LEVEL_MODE_POWER_SAVE,
+            (Display.STATE_ON-1),
+            (Display.STATE_ON-1)|STEP_LEVEL_MODE_POWER_SAVE,
+            (Display.STATE_DOZE-1),
+            (Display.STATE_DOZE-1)|STEP_LEVEL_MODE_POWER_SAVE,
+            (Display.STATE_DOZE_SUSPEND-1),
+            (Display.STATE_DOZE_SUSPEND-1)|STEP_LEVEL_MODE_POWER_SAVE,
+    };
+    public static final String[] STEP_LEVEL_MODE_LABELS = new String[] {
+            "screen off",
+            "screen off power save",
+            "screen on",
+            "screen on power save",
+            "screen doze",
+            "screen doze power save",
+            "screen doze-suspend",
+            "screen doze-suspend power save",
+    };
+    public static final String[] STEP_LEVEL_MODE_TAGS = new String[] {
+            "off",
+            "off-save",
+            "on",
+            "on-save",
+            "doze",
+            "doze-save",
+            "susp",
+            "susp-save",
+    };
 
     /**
-     * Return the array of discharge step durations; the number of valid
-     * items in it is returned by {@link #getNumDischargeStepDurations()}.
-     * These values are in milliseconds.
+     * Return the array of discharge step durations.
      */
-    public abstract long[] getDischargeStepDurationsArray();
+    public abstract LevelStepTracker getDischargeLevelStepTracker();
+
+    /**
+     * Return the array of daily discharge step durations.
+     */
+    public abstract LevelStepTracker getDailyDischargeLevelStepTracker();
 
     /**
      * Compute an approximation for how much time (in microseconds) remains until the battery
@@ -1763,16 +2105,14 @@
     public abstract long computeChargeTimeRemaining(long curTime);
 
     /**
-     * Return the historical number of charge steps we currently have.
+     * Return the array of charge step durations.
      */
-    public abstract int getNumChargeStepDurations();
+    public abstract LevelStepTracker getChargeLevelStepTracker();
 
     /**
-     * Return the array of charge step durations; the number of valid
-     * items in it is returned by {@link #getNumChargeStepDurations()}.
-     * These values are in milliseconds.
+     * Return the array of daily charge step durations.
      */
-    public abstract long[] getChargeStepDurationsArray();
+    public abstract LevelStepTracker getDailyChargeLevelStepTracker();
 
     public abstract Map<String, ? extends Timer> getWakeupReasonStats();
 
@@ -1811,13 +2151,6 @@
         }
     }
 
-    public final static void formatTime(StringBuilder sb, long time) {
-        long sec = time / 100;
-        formatTimeRaw(sb, sec);
-        sb.append((time - (sec * 100)) * 10);
-        sb.append("ms ");
-    }
-
     public final static void formatTimeMs(StringBuilder sb, long time) {
         long sec = time / 1000;
         formatTimeRaw(sb, sec);
@@ -2243,6 +2576,7 @@
             long wifiPacketsTx = u.getNetworkActivityPackets(NETWORK_WIFI_TX_DATA, which);
             long fullWifiLockOnTime = u.getFullWifiLockTime(rawRealtime, which);
             long wifiScanTime = u.getWifiScanTime(rawRealtime, which);
+            int wifiScanCount = u.getWifiScanCount(which);
             long uidWifiRunningTime = u.getWifiRunningTime(rawRealtime, which);
 
             if (mobileBytesRx > 0 || mobileBytesTx > 0 || wifiBytesRx > 0 || wifiBytesTx > 0
@@ -2255,10 +2589,10 @@
                         mobileActiveTime, mobileActiveCount);
             }
 
-            if (fullWifiLockOnTime != 0 || wifiScanTime != 0
+            if (fullWifiLockOnTime != 0 || wifiScanTime != 0 || wifiScanCount != 0
                     || uidWifiRunningTime != 0) {
                 dumpLine(pw, uid, category, WIFI_DATA,
-                        fullWifiLockOnTime, wifiScanTime, uidWifiRunningTime);
+                        fullWifiLockOnTime, wifiScanTime, uidWifiRunningTime, wifiScanCount);
             }
 
             if (u.hasUserActivity()) {
@@ -2376,9 +2710,9 @@
                         : processStats.entrySet()) {
                     Uid.Proc ps = ent.getValue();
 
-                    final long userMillis = ps.getUserTime(which) * 10;
-                    final long systemMillis = ps.getSystemTime(which) * 10;
-                    final long foregroundMillis = ps.getForegroundTime(which) * 10;
+                    final long userMillis = ps.getUserTime(which);
+                    final long systemMillis = ps.getSystemTime(which);
+                    final long foregroundMillis = ps.getForegroundTime(which);
                     final int starts = ps.getStarts(which);
                     final int numCrashes = ps.getNumCrashes(which);
                     final int numAnrs = ps.getNumAnrs(which);
@@ -2817,6 +3151,35 @@
         if (!didOne) sb.append(" (no activity)");
         pw.println(sb.toString());
 
+        final long wifiIdleTimeMs = getBluetoothControllerActivity(CONTROLLER_IDLE_TIME, which);
+        final long wifiRxTimeMs = getBluetoothControllerActivity(CONTROLLER_RX_TIME, which);
+        final long wifiTxTimeMs = getBluetoothControllerActivity(CONTROLLER_TX_TIME, which);
+        final long wifiTotalTimeMs = wifiIdleTimeMs + wifiRxTimeMs + wifiTxTimeMs;
+
+        sb.setLength(0);
+        sb.append(prefix);
+        sb.append("  WiFi Idle time: "); formatTimeMs(sb, wifiIdleTimeMs);
+        sb.append(" (");
+        sb.append(formatRatioLocked(wifiIdleTimeMs, wifiTotalTimeMs));
+        sb.append(")");
+        pw.println(sb.toString());
+
+        sb.setLength(0);
+        sb.append(prefix);
+        sb.append("  WiFi Rx time:   "); formatTimeMs(sb, wifiRxTimeMs);
+        sb.append(" (");
+        sb.append(formatRatioLocked(wifiRxTimeMs, wifiTotalTimeMs));
+        sb.append(")");
+        pw.println(sb.toString());
+
+        sb.setLength(0);
+        sb.append(prefix);
+        sb.append("  WiFi Tx time:   "); formatTimeMs(sb, wifiTxTimeMs);
+        sb.append(" (");
+        sb.append(formatRatioLocked(wifiTxTimeMs, wifiTotalTimeMs));
+        sb.append(")");
+        pw.println(sb.toString());
+
         sb.setLength(0);
         sb.append(prefix);
                 sb.append("  Bluetooth on: "); formatTimeMs(sb, bluetoothOnTime / 1000);
@@ -2844,9 +3207,41 @@
             sb.append(getPhoneDataConnectionCount(i, which));
             sb.append("x");
         }
+
         if (!didOne) sb.append(" (no activity)");
         pw.println(sb.toString());
 
+        final long bluetoothIdleTimeMs =
+                getBluetoothControllerActivity(CONTROLLER_IDLE_TIME, which);
+        final long bluetoothRxTimeMs = getBluetoothControllerActivity(CONTROLLER_RX_TIME, which);
+        final long bluetoothTxTimeMs = getBluetoothControllerActivity(CONTROLLER_TX_TIME, which);
+        final long bluetoothTotalTimeMs = bluetoothIdleTimeMs + bluetoothRxTimeMs +
+                bluetoothTxTimeMs;
+
+        sb.setLength(0);
+        sb.append(prefix);
+        sb.append("  Bluetooth Idle time: "); formatTimeMs(sb, bluetoothIdleTimeMs);
+        sb.append(" (");
+        sb.append(formatRatioLocked(bluetoothIdleTimeMs, bluetoothTotalTimeMs));
+        sb.append(")");
+        pw.println(sb.toString());
+
+        sb.setLength(0);
+        sb.append(prefix);
+        sb.append("  Bluetooth Rx time:   "); formatTimeMs(sb, bluetoothRxTimeMs);
+        sb.append(" (");
+        sb.append(formatRatioLocked(bluetoothRxTimeMs, bluetoothTotalTimeMs));
+        sb.append(")");
+        pw.println(sb.toString());
+
+        sb.setLength(0);
+        sb.append(prefix);
+        sb.append("  Bluetooth Tx time:   "); formatTimeMs(sb, bluetoothTxTimeMs);
+        sb.append(" (");
+        sb.append(formatRatioLocked(bluetoothTxTimeMs, bluetoothTotalTimeMs));
+        sb.append(")");
+        pw.println(sb.toString());
+
         pw.println();
 
         if (which == STATS_SINCE_UNPLUGGED) {
@@ -3091,6 +3486,7 @@
             long wifiTxPackets = u.getNetworkActivityPackets(NETWORK_WIFI_TX_DATA, which);
             long fullWifiLockOnTime = u.getFullWifiLockTime(rawRealtime, which);
             long wifiScanTime = u.getWifiScanTime(rawRealtime, which);
+            int wifiScanCount = u.getWifiScanCount(which);
             long uidWifiRunningTime = u.getWifiRunningTime(rawRealtime, which);
 
             if (mobileRxBytes > 0 || mobileTxBytes > 0
@@ -3126,7 +3522,7 @@
                         pw.print(" received, "); pw.print(wifiTxPackets); pw.println(" sent)");
             }
 
-            if (fullWifiLockOnTime != 0 || wifiScanTime != 0
+            if (fullWifiLockOnTime != 0 || wifiScanTime != 0 || wifiScanCount != 0
                     || uidWifiRunningTime != 0) {
                 sb.setLength(0);
                 sb.append(prefix); sb.append("    Wifi Running: ");
@@ -3140,7 +3536,9 @@
                 sb.append(prefix); sb.append("    Wifi Scan: ");
                         formatTimeMs(sb, wifiScanTime / 1000);
                         sb.append("("); sb.append(formatRatioLocked(wifiScanTime,
-                                whichBatteryRealtime)); sb.append(")");
+                                whichBatteryRealtime)); sb.append(") ");
+                                sb.append(wifiScanCount);
+                                sb.append("x");
                 pw.println(sb.toString());
             }
 
@@ -3399,9 +3797,9 @@
                         sb.append(prefix); sb.append("    Proc ");
                                 sb.append(ent.getKey()); sb.append(":\n");
                         sb.append(prefix); sb.append("      CPU: ");
-                                formatTime(sb, userTime); sb.append("usr + ");
-                                formatTime(sb, systemTime); sb.append("krn ; ");
-                                formatTime(sb, foregroundTime); sb.append("fg");
+                                formatTimeMs(sb, userTime); sb.append("usr + ");
+                                formatTimeMs(sb, systemTime); sb.append("krn ; ");
+                                formatTimeMs(sb, foregroundTime); sb.append("fg");
                         if (starts != 0 || numCrashes != 0 || numAnrs != 0) {
                             sb.append("\n"); sb.append(prefix); sb.append("      ");
                             boolean hasOne = false;
@@ -3913,47 +4311,27 @@
         pw.print(suffix);
     }
 
-    private static boolean dumpTimeEstimate(PrintWriter pw, String label, long[] steps,
-            int count, long modesOfInterest, long modeValues) {
-        if (count <= 0) {
+    private static boolean dumpTimeEstimate(PrintWriter pw, String label1, String label2,
+            String label3, long estimatedTime) {
+        if (estimatedTime < 0) {
             return false;
         }
-        long total = 0;
-        int numOfInterest = 0;
-        for (int i=0; i<count; i++) {
-            long initMode = (steps[i] & STEP_LEVEL_INITIAL_MODE_MASK)
-                    >> STEP_LEVEL_INITIAL_MODE_SHIFT;
-            long modMode = (steps[i] & STEP_LEVEL_MODIFIED_MODE_MASK)
-                    >> STEP_LEVEL_MODIFIED_MODE_SHIFT;
-            // If the modes of interest didn't change during this step period...
-            if ((modMode&modesOfInterest) == 0) {
-                // And the mode values during this period match those we are measuring...
-                if ((initMode&modesOfInterest) == modeValues) {
-                    // Then this can be used to estimate the total time!
-                    numOfInterest++;
-                    total += steps[i] & STEP_LEVEL_TIME_MASK;
-                }
-            }
-        }
-        if (numOfInterest <= 0) {
-            return false;
-        }
-
-        // The estimated time is the average time we spend in each level, multipled
-        // by 100 -- the total number of battery levels
-        long estimatedTime = (total / numOfInterest) * 100;
-
-        pw.print(label);
+        pw.print(label1);
+        pw.print(label2);
+        pw.print(label3);
         StringBuilder sb = new StringBuilder(64);
         formatTimeMs(sb, estimatedTime);
         pw.print(sb);
         pw.println();
-
         return true;
     }
 
-    private static boolean dumpDurationSteps(PrintWriter pw, String header, long[] steps,
-            int count, boolean checkin) {
+    private static boolean dumpDurationSteps(PrintWriter pw, String prefix, String header,
+            LevelStepTracker steps, boolean checkin) {
+        if (steps == null) {
+            return false;
+        }
+        int count = steps.mNumStepDurations;
         if (count <= 0) {
             return false;
         }
@@ -3962,13 +4340,10 @@
         }
         String[] lineArgs = new String[4];
         for (int i=0; i<count; i++) {
-            long duration = steps[i] & STEP_LEVEL_TIME_MASK;
-            int level = (int)((steps[i] & STEP_LEVEL_LEVEL_MASK)
-                    >> STEP_LEVEL_LEVEL_SHIFT);
-            long initMode = (steps[i] & STEP_LEVEL_INITIAL_MODE_MASK)
-                    >> STEP_LEVEL_INITIAL_MODE_SHIFT;
-            long modMode = (steps[i] & STEP_LEVEL_MODIFIED_MODE_MASK)
-                    >> STEP_LEVEL_MODIFIED_MODE_SHIFT;
+            long duration = steps.getDurationAt(i);
+            int level = steps.getLevelAt(i);
+            long initMode = steps.getInitModeAt(i);
+            long modMode = steps.getModModeAt(i);
             if (checkin) {
                 lineArgs[0] = Long.toString(duration);
                 lineArgs[1] = Integer.toString(level);
@@ -3990,7 +4365,8 @@
                 }
                 dumpLine(pw, 0 /* uid */, "i" /* category */, header, (Object[])lineArgs);
             } else {
-                pw.print("  #"); pw.print(i); pw.print(": ");
+                pw.print(prefix);
+                pw.print("#"); pw.print(i); pw.print(": ");
                 TimeUtils.formatDuration(duration, pw);
                 pw.print(" to "); pw.print(level);
                 boolean haveModes = false;
@@ -4022,10 +4398,11 @@
 
     public static final int DUMP_UNPLUGGED_ONLY = 1<<0;
     public static final int DUMP_CHARGED_ONLY = 1<<1;
-    public static final int DUMP_HISTORY_ONLY = 1<<2;
-    public static final int DUMP_INCLUDE_HISTORY = 1<<3;
-    public static final int DUMP_VERBOSE = 1<<4;
-    public static final int DUMP_DEVICE_WIFI_ONLY = 1<<5;
+    public static final int DUMP_DAILY_ONLY = 1<<2;
+    public static final int DUMP_HISTORY_ONLY = 1<<3;
+    public static final int DUMP_INCLUDE_HISTORY = 1<<4;
+    public static final int DUMP_VERBOSE = 1<<5;
+    public static final int DUMP_DEVICE_WIFI_ONLY = 1<<6;
 
     private void dumpHistoryLocked(PrintWriter pw, int flags, long histStart, boolean checkin) {
         final HistoryPrinter hprinter = new HistoryPrinter();
@@ -4111,6 +4488,36 @@
         }
     }
 
+    private void dumpDailyLevelStepSummary(PrintWriter pw, String prefix, String label,
+            LevelStepTracker steps, StringBuilder tmpSb, int[] tmpOutInt) {
+        if (steps == null) {
+            return;
+        }
+        long timeRemaining = steps.computeTimeEstimate(0, 0, tmpOutInt);
+        if (timeRemaining >= 0) {
+            pw.print(prefix); pw.print(label); pw.print(" total time: ");
+            tmpSb.setLength(0);
+            formatTimeMs(tmpSb, timeRemaining);
+            pw.print(tmpSb);
+            pw.print(" (from "); pw.print(tmpOutInt[0]);
+            pw.println(" steps)");
+        }
+        for (int i=0; i< STEP_LEVEL_MODES_OF_INTEREST.length; i++) {
+            long estimatedTime = steps.computeTimeEstimate(STEP_LEVEL_MODES_OF_INTEREST[i],
+                    STEP_LEVEL_MODE_VALUES[i], tmpOutInt);
+            if (estimatedTime > 0) {
+                pw.print(prefix); pw.print(label); pw.print(" ");
+                pw.print(STEP_LEVEL_MODE_LABELS[i]);
+                pw.print(" time: ");
+                tmpSb.setLength(0);
+                formatTimeMs(tmpSb, estimatedTime);
+                pw.print(tmpSb);
+                pw.print(" (from "); pw.print(tmpOutInt[0]);
+                pw.println(" steps)");
+            }
+        }
+    }
+
     /**
      * Dumps a human-readable summary of the battery statistics to the given PrintWriter.
      *
@@ -4120,8 +4527,8 @@
     public void dumpLocked(Context context, PrintWriter pw, int flags, int reqUid, long histStart) {
         prepareForDumpLocked();
 
-        final boolean filtering =
-                (flags&(DUMP_HISTORY_ONLY|DUMP_UNPLUGGED_ONLY|DUMP_CHARGED_ONLY)) != 0;
+        final boolean filtering = (flags
+                & (DUMP_HISTORY_ONLY|DUMP_UNPLUGGED_ONLY|DUMP_CHARGED_ONLY|DUMP_DAILY_ONLY)) != 0;
 
         if ((flags&DUMP_HISTORY_ONLY) != 0 || !filtering) {
             final long historyTotalSize = getHistoryTotalSize();
@@ -4165,7 +4572,7 @@
             }
         }
 
-        if (filtering && (flags&(DUMP_UNPLUGGED_ONLY|DUMP_CHARGED_ONLY)) == 0) {
+        if (filtering && (flags&(DUMP_UNPLUGGED_ONLY|DUMP_CHARGED_ONLY|DUMP_DAILY_ONLY)) == 0) {
             return;
         }
 
@@ -4199,50 +4606,24 @@
         }
 
         if (!filtering || (flags&DUMP_CHARGED_ONLY) != 0) {
-            if (dumpDurationSteps(pw, "Discharge step durations:", getDischargeStepDurationsArray(),
-                    getNumDischargeStepDurations(), false)) {
+            if (dumpDurationSteps(pw, "  ", "Discharge step durations:",
+                    getDischargeLevelStepTracker(), false)) {
                 long timeRemaining = computeBatteryTimeRemaining(SystemClock.elapsedRealtime());
                 if (timeRemaining >= 0) {
                     pw.print("  Estimated discharge time remaining: ");
                     TimeUtils.formatDuration(timeRemaining / 1000, pw);
                     pw.println();
                 }
-                dumpTimeEstimate(pw, "  Estimated screen off time: ",
-                        getDischargeStepDurationsArray(), getNumDischargeStepDurations(),
-                        STEP_LEVEL_MODE_SCREEN_STATE|STEP_LEVEL_MODE_POWER_SAVE,
-                        (Display.STATE_OFF-1));
-                dumpTimeEstimate(pw, "  Estimated screen off power save time: ",
-                        getDischargeStepDurationsArray(), getNumDischargeStepDurations(),
-                        STEP_LEVEL_MODE_SCREEN_STATE|STEP_LEVEL_MODE_POWER_SAVE,
-                        (Display.STATE_OFF-1)|STEP_LEVEL_MODE_POWER_SAVE);
-                dumpTimeEstimate(pw, "  Estimated screen on time: ",
-                        getDischargeStepDurationsArray(), getNumDischargeStepDurations(),
-                        STEP_LEVEL_MODE_SCREEN_STATE|STEP_LEVEL_MODE_POWER_SAVE,
-                        (Display.STATE_ON-1));
-                dumpTimeEstimate(pw, "  Estimated screen on power save time: ",
-                        getDischargeStepDurationsArray(), getNumDischargeStepDurations(),
-                        STEP_LEVEL_MODE_SCREEN_STATE|STEP_LEVEL_MODE_POWER_SAVE,
-                        (Display.STATE_ON-1)|STEP_LEVEL_MODE_POWER_SAVE);
-                dumpTimeEstimate(pw, "  Estimated screen doze time: ",
-                        getDischargeStepDurationsArray(), getNumDischargeStepDurations(),
-                        STEP_LEVEL_MODE_SCREEN_STATE|STEP_LEVEL_MODE_POWER_SAVE,
-                        (Display.STATE_DOZE-1));
-                dumpTimeEstimate(pw, "  Estimated screen doze power save time: ",
-                        getDischargeStepDurationsArray(), getNumDischargeStepDurations(),
-                        STEP_LEVEL_MODE_SCREEN_STATE|STEP_LEVEL_MODE_POWER_SAVE,
-                        (Display.STATE_DOZE-1)|STEP_LEVEL_MODE_POWER_SAVE);
-                dumpTimeEstimate(pw, "  Estimated screen doze suspend time: ",
-                        getDischargeStepDurationsArray(), getNumDischargeStepDurations(),
-                        STEP_LEVEL_MODE_SCREEN_STATE|STEP_LEVEL_MODE_POWER_SAVE,
-                        (Display.STATE_DOZE_SUSPEND-1));
-                dumpTimeEstimate(pw, "  Estimated screen doze suspend power save time: ",
-                        getDischargeStepDurationsArray(), getNumDischargeStepDurations(),
-                        STEP_LEVEL_MODE_SCREEN_STATE|STEP_LEVEL_MODE_POWER_SAVE,
-                        (Display.STATE_DOZE_SUSPEND-1)|STEP_LEVEL_MODE_POWER_SAVE);
+                final LevelStepTracker steps = getDischargeLevelStepTracker();
+                for (int i=0; i< STEP_LEVEL_MODES_OF_INTEREST.length; i++) {
+                    dumpTimeEstimate(pw, "  Estimated ", STEP_LEVEL_MODE_LABELS[i], " time: ",
+                            steps.computeTimeEstimate(STEP_LEVEL_MODES_OF_INTEREST[i],
+                                    STEP_LEVEL_MODE_VALUES[i], null));
+                }
                 pw.println();
             }
-            if (dumpDurationSteps(pw, "Charge step durations:", getChargeStepDurationsArray(),
-                    getNumChargeStepDurations(), false)) {
+            if (dumpDurationSteps(pw, "  ", "Charge step durations:",
+                    getChargeLevelStepTracker(), false)) {
                 long timeRemaining = computeChargeTimeRemaining(SystemClock.elapsedRealtime());
                 if (timeRemaining >= 0) {
                     pw.print("  Estimated charge time remaining: ");
@@ -4251,6 +4632,75 @@
                 }
                 pw.println();
             }
+        }
+        if (!filtering || (flags&(DUMP_CHARGED_ONLY|DUMP_DAILY_ONLY)) != 0) {
+            pw.println("Daily stats:");
+            pw.print("  Current start time: ");
+            pw.println(DateFormat.format("yyyy-MM-dd-HH-mm-ss",
+                    getCurrentDailyStartTime()).toString());
+            pw.print("  Next min deadline: ");
+            pw.println(DateFormat.format("yyyy-MM-dd-HH-mm-ss",
+                    getNextMinDailyDeadline()).toString());
+            pw.print("  Next max deadline: ");
+            pw.println(DateFormat.format("yyyy-MM-dd-HH-mm-ss",
+                    getNextMaxDailyDeadline()).toString());
+            StringBuilder sb = new StringBuilder(64);
+            int[] outInt = new int[1];
+            LevelStepTracker dsteps = getDailyDischargeLevelStepTracker();
+            LevelStepTracker csteps = getDailyChargeLevelStepTracker();
+            if (dsteps.mNumStepDurations > 0 || csteps.mNumStepDurations > 0) {
+                if ((flags&DUMP_DAILY_ONLY) != 0) {
+                    if (dumpDurationSteps(pw, "    ", "  Current daily discharge step durations:",
+                            dsteps, false)) {
+                        dumpDailyLevelStepSummary(pw, "      ", "Discharge", dsteps,
+                                sb, outInt);
+                    }
+                    if (dumpDurationSteps(pw, "    ", "  Current daily charge step durations:",
+                            csteps, false)) {
+                        dumpDailyLevelStepSummary(pw, "      ", "Charge", csteps,
+                                sb, outInt);
+                    }
+                } else {
+                    pw.println("  Current daily steps:");
+                    dumpDailyLevelStepSummary(pw, "    ", "Discharge", dsteps,
+                            sb, outInt);
+                    dumpDailyLevelStepSummary(pw, "    ", "Charge", csteps,
+                            sb, outInt);
+                }
+            }
+            DailyItem dit;
+            int curIndex = 0;
+            while ((dit=getDailyItemLocked(curIndex)) != null) {
+                curIndex++;
+                if ((flags&DUMP_DAILY_ONLY) != 0) {
+                    pw.println();
+                }
+                pw.print("  Daily from ");
+                pw.print(DateFormat.format("yyyy-MM-dd-HH-mm-ss", dit.mStartTime).toString());
+                pw.print(" to ");
+                pw.print(DateFormat.format("yyyy-MM-dd-HH-mm-ss", dit.mEndTime).toString());
+                pw.println(":");
+                if ((flags&DUMP_DAILY_ONLY) != 0) {
+                    if (dumpDurationSteps(pw, "      ",
+                            "    Discharge step durations:", dit.mDischargeSteps, false)) {
+                        dumpDailyLevelStepSummary(pw, "        ", "Discharge", dit.mDischargeSteps,
+                                sb, outInt);
+                    }
+                    if (dumpDurationSteps(pw, "      ",
+                            "    Charge step durations:", dit.mChargeSteps, false)) {
+                        dumpDailyLevelStepSummary(pw, "        ", "Charge", dit.mChargeSteps,
+                                sb, outInt);
+                    }
+                } else {
+                    dumpDailyLevelStepSummary(pw, "    ", "Discharge", dit.mDischargeSteps,
+                            sb, outInt);
+                    dumpDailyLevelStepSummary(pw, "    ", "Charge", dit.mChargeSteps,
+                            sb, outInt);
+                }
+            }
+            pw.println();
+        }
+        if (!filtering || (flags&DUMP_CHARGED_ONLY) != 0) {
             pw.println("Statistics since last charge:");
             pw.println("  System starts: " + getStartCount()
                     + ", currently on battery: " + getIsOnBattery());
@@ -4275,8 +4725,8 @@
 
         long now = getHistoryBaseTime() + SystemClock.elapsedRealtime();
 
-        final boolean filtering =
-                (flags&(DUMP_HISTORY_ONLY|DUMP_UNPLUGGED_ONLY|DUMP_CHARGED_ONLY)) != 0;
+        final boolean filtering = (flags &
+                (DUMP_HISTORY_ONLY|DUMP_UNPLUGGED_ONLY|DUMP_CHARGED_ONLY|DUMP_DAILY_ONLY)) != 0;
 
         if ((flags&DUMP_INCLUDE_HISTORY) != 0 || (flags&DUMP_HISTORY_ONLY) != 0) {
             if (startIteratingHistoryLocked()) {
@@ -4302,7 +4752,7 @@
             }
         }
 
-        if (filtering && (flags&(DUMP_UNPLUGGED_ONLY|DUMP_CHARGED_ONLY)) == 0) {
+        if (filtering && (flags&(DUMP_UNPLUGGED_ONLY|DUMP_CHARGED_ONLY|DUMP_DAILY_ONLY)) == 0) {
             return;
         }
 
@@ -4334,8 +4784,7 @@
             }
         }
         if (!filtering || (flags&DUMP_CHARGED_ONLY) != 0) {
-            dumpDurationSteps(pw, DISCHARGE_STEP_DATA, getDischargeStepDurationsArray(),
-                    getNumDischargeStepDurations(), true);
+            dumpDurationSteps(pw, "", DISCHARGE_STEP_DATA, getDischargeLevelStepTracker(), true);
             String[] lineArgs = new String[1];
             long timeRemaining = computeBatteryTimeRemaining(SystemClock.elapsedRealtime());
             if (timeRemaining >= 0) {
@@ -4343,8 +4792,7 @@
                 dumpLine(pw, 0 /* uid */, "i" /* category */, DISCHARGE_TIME_REMAIN_DATA,
                         (Object[])lineArgs);
             }
-            dumpDurationSteps(pw, CHARGE_STEP_DATA, getChargeStepDurationsArray(),
-                    getNumChargeStepDurations(), true);
+            dumpDurationSteps(pw, "", CHARGE_STEP_DATA, getChargeLevelStepTracker(), true);
             timeRemaining = computeChargeTimeRemaining(SystemClock.elapsedRealtime());
             if (timeRemaining >= 0) {
                 lineArgs[0] = Long.toString(timeRemaining);
diff --git a/core/java/android/os/Bundle.java b/core/java/android/os/Bundle.java
index c5c5372..5e9b8c1 100644
--- a/core/java/android/os/Bundle.java
+++ b/core/java/android/os/Bundle.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.Nullable;
 import android.util.ArrayMap;
 import android.util.Size;
 import android.util.SizeF;
@@ -24,7 +25,6 @@
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Set;
 
 /**
  * A mapping from String values to various Parcelable types.
@@ -252,6 +252,29 @@
     }
 
     /**
+     * Filter values in Bundle to only basic types.
+     * @hide
+     */
+    public void filterValues() {
+        unparcel();
+        if (mMap != null) {
+            for (int i = mMap.size() - 1; i >= 0; i--) {
+                Object value = mMap.valueAt(i);
+                if (PersistableBundle.isValidType(value)) {
+                    continue;
+                }
+                if (value instanceof Bundle) {
+                    ((Bundle)value).filterValues();
+                }
+                if (value.getClass().getName().startsWith("android.")) {
+                    continue;
+                }
+                mMap.removeAt(i);
+            }
+        }
+    }
+
+    /**
      * Inserts a byte value into the mapping of this Bundle, replacing
      * any existing value for the given key.
      *
@@ -259,7 +282,7 @@
      * @param value a byte
      */
     @Override
-    public void putByte(String key, byte value) {
+    public void putByte(@Nullable String key, byte value) {
         super.putByte(key, value);
     }
 
@@ -268,10 +291,10 @@
      * any existing value for the given key.
      *
      * @param key a String, or null
-     * @param value a char, or null
+     * @param value a char
      */
     @Override
-    public void putChar(String key, char value) {
+    public void putChar(@Nullable String key, char value) {
         super.putChar(key, value);
     }
 
@@ -283,7 +306,7 @@
      * @param value a short
      */
     @Override
-    public void putShort(String key, short value) {
+    public void putShort(@Nullable String key, short value) {
         super.putShort(key, value);
     }
 
@@ -295,7 +318,7 @@
      * @param value a float
      */
     @Override
-    public void putFloat(String key, float value) {
+    public void putFloat(@Nullable String key, float value) {
         super.putFloat(key, value);
     }
 
@@ -307,7 +330,7 @@
      * @param value a CharSequence, or null
      */
     @Override
-    public void putCharSequence(String key, CharSequence value) {
+    public void putCharSequence(@Nullable String key, @Nullable CharSequence value) {
         super.putCharSequence(key, value);
     }
 
@@ -318,7 +341,7 @@
      * @param key a String, or null
      * @param value a Parcelable object, or null
      */
-    public void putParcelable(String key, Parcelable value) {
+    public void putParcelable(@Nullable String key, @Nullable Parcelable value) {
         unparcel();
         mMap.put(key, value);
         mFdsKnown = false;
@@ -331,7 +354,7 @@
      * @param key a String, or null
      * @param value a Size object, or null
      */
-    public void putSize(String key, Size value) {
+    public void putSize(@Nullable String key, @Nullable Size value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -343,7 +366,7 @@
      * @param key a String, or null
      * @param value a SizeF object, or null
      */
-    public void putSizeF(String key, SizeF value) {
+    public void putSizeF(@Nullable String key, @Nullable SizeF value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -356,7 +379,7 @@
      * @param key a String, or null
      * @param value an array of Parcelable objects, or null
      */
-    public void putParcelableArray(String key, Parcelable[] value) {
+    public void putParcelableArray(@Nullable String key, @Nullable Parcelable[] value) {
         unparcel();
         mMap.put(key, value);
         mFdsKnown = false;
@@ -370,8 +393,8 @@
      * @param key a String, or null
      * @param value an ArrayList of Parcelable objects, or null
      */
-    public void putParcelableArrayList(String key,
-            ArrayList<? extends Parcelable> value) {
+    public void putParcelableArrayList(@Nullable String key,
+            @Nullable ArrayList<? extends Parcelable> value) {
         unparcel();
         mMap.put(key, value);
         mFdsKnown = false;
@@ -392,8 +415,8 @@
      * @param key a String, or null
      * @param value a SparseArray of Parcelable objects, or null
      */
-    public void putSparseParcelableArray(String key,
-            SparseArray<? extends Parcelable> value) {
+    public void putSparseParcelableArray(@Nullable String key,
+            @Nullable SparseArray<? extends Parcelable> value) {
         unparcel();
         mMap.put(key, value);
         mFdsKnown = false;
@@ -407,7 +430,7 @@
      * @param value an ArrayList<Integer> object, or null
      */
     @Override
-    public void putIntegerArrayList(String key, ArrayList<Integer> value) {
+    public void putIntegerArrayList(@Nullable String key, @Nullable ArrayList<Integer> value) {
         super.putIntegerArrayList(key, value);
     }
 
@@ -419,7 +442,7 @@
      * @param value an ArrayList<String> object, or null
      */
     @Override
-    public void putStringArrayList(String key, ArrayList<String> value) {
+    public void putStringArrayList(@Nullable String key, @Nullable ArrayList<String> value) {
         super.putStringArrayList(key, value);
     }
 
@@ -431,7 +454,8 @@
      * @param value an ArrayList<CharSequence> object, or null
      */
     @Override
-    public void putCharSequenceArrayList(String key, ArrayList<CharSequence> value) {
+    public void putCharSequenceArrayList(@Nullable String key,
+            @Nullable ArrayList<CharSequence> value) {
         super.putCharSequenceArrayList(key, value);
     }
 
@@ -443,7 +467,7 @@
      * @param value a Serializable object, or null
      */
     @Override
-    public void putSerializable(String key, Serializable value) {
+    public void putSerializable(@Nullable String key, @Nullable Serializable value) {
         super.putSerializable(key, value);
     }
 
@@ -455,7 +479,7 @@
      * @param value a byte array object, or null
      */
     @Override
-    public void putByteArray(String key, byte[] value) {
+    public void putByteArray(@Nullable String key, @Nullable byte[] value) {
         super.putByteArray(key, value);
     }
 
@@ -467,7 +491,7 @@
      * @param value a short array object, or null
      */
     @Override
-    public void putShortArray(String key, short[] value) {
+    public void putShortArray(@Nullable String key, @Nullable short[] value) {
         super.putShortArray(key, value);
     }
 
@@ -479,7 +503,7 @@
      * @param value a char array object, or null
      */
     @Override
-    public void putCharArray(String key, char[] value) {
+    public void putCharArray(@Nullable String key, @Nullable char[] value) {
         super.putCharArray(key, value);
     }
 
@@ -491,7 +515,7 @@
      * @param value a float array object, or null
      */
     @Override
-    public void putFloatArray(String key, float[] value) {
+    public void putFloatArray(@Nullable String key, @Nullable float[] value) {
         super.putFloatArray(key, value);
     }
 
@@ -503,7 +527,7 @@
      * @param value a CharSequence array object, or null
      */
     @Override
-    public void putCharSequenceArray(String key, CharSequence[] value) {
+    public void putCharSequenceArray(@Nullable String key, @Nullable CharSequence[] value) {
         super.putCharSequenceArray(key, value);
     }
 
@@ -514,7 +538,7 @@
      * @param key a String, or null
      * @param value a Bundle object, or null
      */
-    public void putBundle(String key, Bundle value) {
+    public void putBundle(@Nullable String key, @Nullable Bundle value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -533,7 +557,7 @@
      * @param key a String, or null
      * @param value an IBinder object, or null
      */
-    public void putBinder(String key, IBinder value) {
+    public void putBinder(@Nullable String key, @Nullable IBinder value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -549,7 +573,7 @@
      * @hide This is the old name of the function.
      */
     @Deprecated
-    public void putIBinder(String key, IBinder value) {
+    public void putIBinder(@Nullable String key, @Nullable IBinder value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -663,7 +687,8 @@
      * @return a CharSequence value, or null
      */
     @Override
-    public CharSequence getCharSequence(String key) {
+    @Nullable
+    public CharSequence getCharSequence(@Nullable String key) {
         return super.getCharSequence(key);
     }
 
@@ -679,7 +704,7 @@
      *     if no valid CharSequence object is currently mapped to that key.
      */
     @Override
-    public CharSequence getCharSequence(String key, CharSequence defaultValue) {
+    public CharSequence getCharSequence(@Nullable String key, CharSequence defaultValue) {
         return super.getCharSequence(key, defaultValue);
     }
 
@@ -691,7 +716,8 @@
      * @param key a String, or null
      * @return a Size value, or null
      */
-    public Size getSize(String key) {
+    @Nullable
+    public Size getSize(@Nullable String key) {
         unparcel();
         final Object o = mMap.get(key);
         try {
@@ -710,7 +736,8 @@
      * @param key a String, or null
      * @return a Size value, or null
      */
-    public SizeF getSizeF(String key) {
+    @Nullable
+    public SizeF getSizeF(@Nullable String key) {
         unparcel();
         final Object o = mMap.get(key);
         try {
@@ -729,7 +756,8 @@
      * @param key a String, or null
      * @return a Bundle value, or null
      */
-    public Bundle getBundle(String key) {
+    @Nullable
+    public Bundle getBundle(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -751,7 +779,8 @@
      * @param key a String, or null
      * @return a Parcelable value, or null
      */
-    public <T extends Parcelable> T getParcelable(String key) {
+    @Nullable
+    public <T extends Parcelable> T getParcelable(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -773,7 +802,8 @@
      * @param key a String, or null
      * @return a Parcelable[] value, or null
      */
-    public Parcelable[] getParcelableArray(String key) {
+    @Nullable
+    public Parcelable[] getParcelableArray(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -795,7 +825,8 @@
      * @param key a String, or null
      * @return an ArrayList<T> value, or null
      */
-    public <T extends Parcelable> ArrayList<T> getParcelableArrayList(String key) {
+    @Nullable
+    public <T extends Parcelable> ArrayList<T> getParcelableArrayList(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -818,7 +849,8 @@
      *
      * @return a SparseArray of T values, or null
      */
-    public <T extends Parcelable> SparseArray<T> getSparseParcelableArray(String key) {
+    @Nullable
+    public <T extends Parcelable> SparseArray<T> getSparseParcelableArray(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -841,7 +873,8 @@
      * @return a Serializable value, or null
      */
     @Override
-    public Serializable getSerializable(String key) {
+    @Nullable
+    public Serializable getSerializable(@Nullable String key) {
         return super.getSerializable(key);
     }
 
@@ -854,7 +887,8 @@
      * @return an ArrayList<String> value, or null
      */
     @Override
-    public ArrayList<Integer> getIntegerArrayList(String key) {
+    @Nullable
+    public ArrayList<Integer> getIntegerArrayList(@Nullable String key) {
         return super.getIntegerArrayList(key);
     }
 
@@ -867,7 +901,8 @@
      * @return an ArrayList<String> value, or null
      */
     @Override
-    public ArrayList<String> getStringArrayList(String key) {
+    @Nullable
+    public ArrayList<String> getStringArrayList(@Nullable String key) {
         return super.getStringArrayList(key);
     }
 
@@ -880,7 +915,8 @@
      * @return an ArrayList<CharSequence> value, or null
      */
     @Override
-    public ArrayList<CharSequence> getCharSequenceArrayList(String key) {
+    @Nullable
+    public ArrayList<CharSequence> getCharSequenceArrayList(@Nullable String key) {
         return super.getCharSequenceArrayList(key);
     }
 
@@ -893,7 +929,8 @@
      * @return a byte[] value, or null
      */
     @Override
-    public byte[] getByteArray(String key) {
+    @Nullable
+    public byte[] getByteArray(@Nullable String key) {
         return super.getByteArray(key);
     }
 
@@ -906,7 +943,8 @@
      * @return a short[] value, or null
      */
     @Override
-    public short[] getShortArray(String key) {
+    @Nullable
+    public short[] getShortArray(@Nullable String key) {
         return super.getShortArray(key);
     }
 
@@ -919,7 +957,8 @@
      * @return a char[] value, or null
      */
     @Override
-    public char[] getCharArray(String key) {
+    @Nullable
+    public char[] getCharArray(@Nullable String key) {
         return super.getCharArray(key);
     }
 
@@ -932,7 +971,8 @@
      * @return a float[] value, or null
      */
     @Override
-    public float[] getFloatArray(String key) {
+    @Nullable
+    public float[] getFloatArray(@Nullable String key) {
         return super.getFloatArray(key);
     }
 
@@ -945,7 +985,8 @@
      * @return a CharSequence[] value, or null
      */
     @Override
-    public CharSequence[] getCharSequenceArray(String key) {
+    @Nullable
+    public CharSequence[] getCharSequenceArray(@Nullable String key) {
         return super.getCharSequenceArray(key);
     }
 
@@ -957,7 +998,8 @@
      * @param key a String, or null
      * @return an IBinder value, or null
      */
-    public IBinder getBinder(String key) {
+    @Nullable
+    public IBinder getBinder(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -983,7 +1025,8 @@
      * @hide This is the old name of the function.
      */
     @Deprecated
-    public IBinder getIBinder(String key) {
+    @Nullable
+    public IBinder getIBinder(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
diff --git a/core/java/android/os/CommonClock.java b/core/java/android/os/CommonClock.java
index f83a90b..2ecf317 100644
--- a/core/java/android/os/CommonClock.java
+++ b/core/java/android/os/CommonClock.java
@@ -23,7 +23,6 @@
 import android.os.Parcel;
 import android.os.RemoteException;
 import android.os.ServiceManager;
-import static android.system.OsConstants.*;
 
 /**
  * Used for accessing the android common time service's common clock and receiving notifications
diff --git a/core/java/android/os/Debug.java b/core/java/android/os/Debug.java
index d03365b..512e212 100644
--- a/core/java/android/os/Debug.java
+++ b/core/java/android/os/Debug.java
@@ -63,7 +63,10 @@
      *
      * TRACE_COUNT_ALLOCS adds the results from startAllocCounting to the
      * trace key file.
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static final int TRACE_COUNT_ALLOCS  = VMDebug.TRACE_COUNT_ALLOCS;
 
     /**
@@ -760,7 +763,7 @@
     /**
      * Stop counting the number and aggregate size of memory allocations.
      *
-     * @see #startAllocCounting()
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
     @Deprecated
     public static void stopAllocCounting() {
@@ -770,7 +773,10 @@
     /**
      * Returns the global count of objects allocated by the runtime between a
      * {@link #startAllocCounting() start} and {@link #stopAllocCounting() stop}.
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static int getGlobalAllocCount() {
         return VMDebug.getAllocCount(VMDebug.KIND_GLOBAL_ALLOCATED_OBJECTS);
     }
@@ -778,7 +784,10 @@
     /**
      * Clears the global count of objects allocated.
      * @see #getGlobalAllocCount()
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static void resetGlobalAllocCount() {
         VMDebug.resetAllocCount(VMDebug.KIND_GLOBAL_ALLOCATED_OBJECTS);
     }
@@ -786,7 +795,10 @@
     /**
      * Returns the global size, in bytes, of objects allocated by the runtime between a
      * {@link #startAllocCounting() start} and {@link #stopAllocCounting() stop}.
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static int getGlobalAllocSize() {
         return VMDebug.getAllocCount(VMDebug.KIND_GLOBAL_ALLOCATED_BYTES);
     }
@@ -794,7 +806,10 @@
     /**
      * Clears the global size of objects allocated.
      * @see #getGlobalAllocSize()
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static void resetGlobalAllocSize() {
         VMDebug.resetAllocCount(VMDebug.KIND_GLOBAL_ALLOCATED_BYTES);
     }
@@ -802,7 +817,10 @@
     /**
      * Returns the global count of objects freed by the runtime between a
      * {@link #startAllocCounting() start} and {@link #stopAllocCounting() stop}.
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static int getGlobalFreedCount() {
         return VMDebug.getAllocCount(VMDebug.KIND_GLOBAL_FREED_OBJECTS);
     }
@@ -810,7 +828,10 @@
     /**
      * Clears the global count of objects freed.
      * @see #getGlobalFreedCount()
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static void resetGlobalFreedCount() {
         VMDebug.resetAllocCount(VMDebug.KIND_GLOBAL_FREED_OBJECTS);
     }
@@ -818,7 +839,10 @@
     /**
      * Returns the global size, in bytes, of objects freed by the runtime between a
      * {@link #startAllocCounting() start} and {@link #stopAllocCounting() stop}.
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static int getGlobalFreedSize() {
         return VMDebug.getAllocCount(VMDebug.KIND_GLOBAL_FREED_BYTES);
     }
@@ -826,7 +850,10 @@
     /**
      * Clears the global size of objects freed.
      * @see #getGlobalFreedSize()
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static void resetGlobalFreedSize() {
         VMDebug.resetAllocCount(VMDebug.KIND_GLOBAL_FREED_BYTES);
     }
@@ -834,7 +861,10 @@
     /**
      * Returns the number of non-concurrent GC invocations between a
      * {@link #startAllocCounting() start} and {@link #stopAllocCounting() stop}.
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static int getGlobalGcInvocationCount() {
         return VMDebug.getAllocCount(VMDebug.KIND_GLOBAL_GC_INVOCATIONS);
     }
@@ -842,7 +872,10 @@
     /**
      * Clears the count of non-concurrent GC invocations.
      * @see #getGlobalGcInvocationCount()
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static void resetGlobalGcInvocationCount() {
         VMDebug.resetAllocCount(VMDebug.KIND_GLOBAL_GC_INVOCATIONS);
     }
@@ -851,7 +884,10 @@
      * Returns the number of classes successfully initialized (ie those that executed without
      * throwing an exception) between a {@link #startAllocCounting() start} and
      * {@link #stopAllocCounting() stop}.
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static int getGlobalClassInitCount() {
         return VMDebug.getAllocCount(VMDebug.KIND_GLOBAL_CLASS_INIT_COUNT);
     }
@@ -859,7 +895,10 @@
     /**
      * Clears the count of classes initialized.
      * @see #getGlobalClassInitCount()
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static void resetGlobalClassInitCount() {
         VMDebug.resetAllocCount(VMDebug.KIND_GLOBAL_CLASS_INIT_COUNT);
     }
@@ -867,7 +906,10 @@
     /**
      * Returns the time spent successfully initializing classes between a
      * {@link #startAllocCounting() start} and {@link #stopAllocCounting() stop}.
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static int getGlobalClassInitTime() {
         /* cumulative elapsed time for class initialization, in usec */
         return VMDebug.getAllocCount(VMDebug.KIND_GLOBAL_CLASS_INIT_TIME);
@@ -876,7 +918,10 @@
     /**
      * Clears the count of time spent initializing classes.
      * @see #getGlobalClassInitTime()
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static void resetGlobalClassInitTime() {
         VMDebug.resetAllocCount(VMDebug.KIND_GLOBAL_CLASS_INIT_TIME);
     }
@@ -948,7 +993,10 @@
     /**
      * Returns the thread-local count of objects allocated by the runtime between a
      * {@link #startAllocCounting() start} and {@link #stopAllocCounting() stop}.
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static int getThreadAllocCount() {
         return VMDebug.getAllocCount(VMDebug.KIND_THREAD_ALLOCATED_OBJECTS);
     }
@@ -956,7 +1004,10 @@
     /**
      * Clears the thread-local count of objects allocated.
      * @see #getThreadAllocCount()
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static void resetThreadAllocCount() {
         VMDebug.resetAllocCount(VMDebug.KIND_THREAD_ALLOCATED_OBJECTS);
     }
@@ -965,7 +1016,10 @@
      * Returns the thread-local size of objects allocated by the runtime between a
      * {@link #startAllocCounting() start} and {@link #stopAllocCounting() stop}.
      * @return The allocated size in bytes.
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static int getThreadAllocSize() {
         return VMDebug.getAllocCount(VMDebug.KIND_THREAD_ALLOCATED_BYTES);
     }
@@ -973,7 +1027,10 @@
     /**
      * Clears the thread-local count of objects allocated.
      * @see #getThreadAllocSize()
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static void resetThreadAllocSize() {
         VMDebug.resetAllocCount(VMDebug.KIND_THREAD_ALLOCATED_BYTES);
     }
@@ -1013,7 +1070,10 @@
     /**
      * Returns the number of thread-local non-concurrent GC invocations between a
      * {@link #startAllocCounting() start} and {@link #stopAllocCounting() stop}.
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static int getThreadGcInvocationCount() {
         return VMDebug.getAllocCount(VMDebug.KIND_THREAD_GC_INVOCATIONS);
     }
@@ -1021,7 +1081,10 @@
     /**
      * Clears the thread-local count of non-concurrent GC invocations.
      * @see #getThreadGcInvocationCount()
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static void resetThreadGcInvocationCount() {
         VMDebug.resetAllocCount(VMDebug.KIND_THREAD_GC_INVOCATIONS);
     }
@@ -1029,7 +1092,10 @@
     /**
      * Clears all the global and thread-local memory allocation counters.
      * @see #startAllocCounting()
+     *
+     * @deprecated Accurate counting is a burden on the runtime and may be removed.
      */
+    @Deprecated
     public static void resetAllCounts() {
         VMDebug.resetAllocCount(VMDebug.KIND_ALL_COUNTS);
     }
diff --git a/core/java/android/os/INetworkManagementService.aidl b/core/java/android/os/INetworkManagementService.aidl
index f0660eb..f93550a 100644
--- a/core/java/android/os/INetworkManagementService.aidl
+++ b/core/java/android/os/INetworkManagementService.aidl
@@ -178,6 +178,18 @@
     String[] getDnsForwarders();
 
     /**
+     * Enables unidirectional packet forwarding from {@code fromIface} to
+     * {@code toIface}.
+     */
+    void startInterfaceForwarding(String fromIface, String toIface);
+
+    /**
+     * Disables unidirectional packet forwarding from {@code fromIface} to
+     * {@code toIface}.
+     */
+    void stopInterfaceForwarding(String fromIface, String toIface);
+
+    /**
      *  Enables Network Address Translation between two interfaces.
      *  The address and netmask of the external interface is used for
      *  the NAT'ed network.
diff --git a/core/java/android/os/Looper.java b/core/java/android/os/Looper.java
index 6d7c9cf..34c880f 100644
--- a/core/java/android/os/Looper.java
+++ b/core/java/android/os/Looper.java
@@ -16,6 +16,8 @@
 
 package android.os;
 
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.util.Log;
 import android.util.Printer;
 
@@ -24,10 +26,10 @@
   * not have a message loop associated with them; to create one, call
   * {@link #prepare} in the thread that is to run the loop, and then
   * {@link #loop} to have it process messages until the loop is stopped.
-  * 
+  *
   * <p>Most interaction with a message loop is through the
   * {@link Handler} class.
-  * 
+  *
   * <p>This is a typical example of the implementation of a Looper thread,
   * using the separation of {@link #prepare} and {@link #loop} to create an
   * initial Handler to communicate with the Looper.
@@ -50,6 +52,16 @@
   *  }</pre>
   */
 public final class Looper {
+    /*
+     * API Implementation Note:
+     *
+     * This class contains the code required to set up and manage an event loop
+     * based on MessageQueue.  APIs that affect the state of the queue should be
+     * defined on MessageQueue or Handler rather than on Looper itself.  For example,
+     * idle handlers and sync barriers are defined on the queue whereas preparing the
+     * thread, looping, and quitting are defined on the looper.
+     */
+
     private static final String TAG = "Looper";
 
     // sThreadLocal.get() will return null unless you've called prepare().
@@ -94,7 +106,8 @@
         }
     }
 
-    /** Returns the application's main looper, which lives in the main thread of the application.
+    /**
+     * Returns the application's main looper, which lives in the main thread of the application.
      */
     public static Looper getMainLooper() {
         synchronized (Looper.class) {
@@ -157,29 +170,16 @@
      * Return the Looper object associated with the current thread.  Returns
      * null if the calling thread is not associated with a Looper.
      */
-    public static Looper myLooper() {
+    public static @Nullable Looper myLooper() {
         return sThreadLocal.get();
     }
 
     /**
-     * Control logging of messages as they are processed by this Looper.  If
-     * enabled, a log message will be written to <var>printer</var> 
-     * at the beginning and ending of each message dispatch, identifying the
-     * target Handler and message contents.
-     * 
-     * @param printer A Printer object that will receive log messages, or
-     * null to disable message logging.
-     */
-    public void setMessageLogging(Printer printer) {
-        mLogging = printer;
-    }
-    
-    /**
      * Return the {@link MessageQueue} object associated with the current
      * thread.  This must be called from a thread running a Looper, or a
      * NullPointerException will be thrown.
      */
-    public static MessageQueue myQueue() {
+    public static @NonNull MessageQueue myQueue() {
         return myLooper().mQueue;
     }
 
@@ -190,13 +190,25 @@
 
     /**
      * Returns true if the current thread is this looper's thread.
-     * @hide
      */
     public boolean isCurrentThread() {
         return Thread.currentThread() == mThread;
     }
 
     /**
+     * Control logging of messages as they are processed by this Looper.  If
+     * enabled, a log message will be written to <var>printer</var>
+     * at the beginning and ending of each message dispatch, identifying the
+     * target Handler and message contents.
+     *
+     * @param printer A Printer object that will receive log messages, or
+     * null to disable message logging.
+     */
+    public void setMessageLogging(@Nullable Printer printer) {
+        mLogging = printer;
+    }
+
+    /**
      * Quits the looper.
      * <p>
      * Causes the {@link #loop} method to terminate without processing any
@@ -233,74 +245,35 @@
     }
 
     /**
-     * Posts a synchronization barrier to the Looper's message queue.
+     * Gets the Thread associated with this Looper.
      *
-     * Message processing occurs as usual until the message queue encounters the
-     * synchronization barrier that has been posted.  When the barrier is encountered,
-     * later synchronous messages in the queue are stalled (prevented from being executed)
-     * until the barrier is released by calling {@link #removeSyncBarrier} and specifying
-     * the token that identifies the synchronization barrier.
-     *
-     * This method is used to immediately postpone execution of all subsequently posted
-     * synchronous messages until a condition is met that releases the barrier.
-     * Asynchronous messages (see {@link Message#isAsynchronous} are exempt from the barrier
-     * and continue to be processed as usual.
-     *
-     * This call must be always matched by a call to {@link #removeSyncBarrier} with
-     * the same token to ensure that the message queue resumes normal operation.
-     * Otherwise the application will probably hang!
-     *
-     * @return A token that uniquely identifies the barrier.  This token must be
-     * passed to {@link #removeSyncBarrier} to release the barrier.
-     *
-     * @hide
+     * @return The looper's thread.
      */
-    public int postSyncBarrier() {
-        return mQueue.enqueueSyncBarrier(SystemClock.uptimeMillis());
-    }
-
-
-    /**
-     * Removes a synchronization barrier.
-     *
-     * @param token The synchronization barrier token that was returned by
-     * {@link #postSyncBarrier}.
-     *
-     * @throws IllegalStateException if the barrier was not found.
-     *
-     * @hide
-     */
-    public void removeSyncBarrier(int token) {
-        mQueue.removeSyncBarrier(token);
-    }
-
-    /**
-     * Return the Thread associated with this Looper.
-     */
-    public Thread getThread() {
+    public @NonNull Thread getThread() {
         return mThread;
     }
 
-    /** @hide */
-    public MessageQueue getQueue() {
+    /**
+     * Gets this looper's message queue.
+     *
+     * @return The looper's message queue.
+     */
+    public @NonNull MessageQueue getQueue() {
         return mQueue;
     }
 
     /**
-     * Return whether this looper's thread is currently idle, waiting for new work
-     * to do.  This is intrinsically racy, since its state can change before you get
-     * the result back.
-     * @hide
+     * Dumps the state of the looper for debugging purposes.
+     *
+     * @param pw A printer to receive the contents of the dump.
+     * @param prefix A prefix to prepend to each line which is printed.
      */
-    public boolean isIdling() {
-        return mQueue.isIdling();
-    }
-
-    public void dump(Printer pw, String prefix) {
+    public void dump(@NonNull Printer pw, @NonNull String prefix) {
         pw.println(prefix + toString());
         mQueue.dump(pw, prefix + "  ");
     }
 
+    @Override
     public String toString() {
         return "Looper (" + mThread.getName() + ", tid " + mThread.getId()
                 + ") {" + Integer.toHexString(System.identityHashCode(this)) + "}";
diff --git a/core/java/android/os/MessageQueue.java b/core/java/android/os/MessageQueue.java
index 01a23ce..7dd4f94 100644
--- a/core/java/android/os/MessageQueue.java
+++ b/core/java/android/os/MessageQueue.java
@@ -16,9 +16,15 @@
 
 package android.os;
 
+import android.annotation.IntDef;
+import android.annotation.NonNull;
 import android.util.Log;
 import android.util.Printer;
+import android.util.SparseArray;
 
+import java.io.FileDescriptor;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
 import java.util.ArrayList;
 
 /**
@@ -30,6 +36,9 @@
  * {@link Looper#myQueue() Looper.myQueue()}.
  */
 public final class MessageQueue {
+    private static final String TAG = "MessageQueue";
+    private static final boolean DEBUG = false;
+
     // True if the message queue can be quit.
     private final boolean mQuitAllowed;
 
@@ -38,6 +47,7 @@
 
     Message mMessages;
     private final ArrayList<IdleHandler> mIdleHandlers = new ArrayList<IdleHandler>();
+    private SparseArray<FileDescriptorRecord> mFileDescriptorRecords;
     private IdleHandler[] mPendingIdleHandlers;
     private boolean mQuitting;
 
@@ -50,56 +60,10 @@
 
     private native static long nativeInit();
     private native static void nativeDestroy(long ptr);
-    private native static void nativePollOnce(long ptr, int timeoutMillis);
+    private native void nativePollOnce(long ptr, int timeoutMillis); /*non-static for callbacks*/
     private native static void nativeWake(long ptr);
-    private native static boolean nativeIsIdling(long ptr);
-
-    /**
-     * Callback interface for discovering when a thread is going to block
-     * waiting for more messages.
-     */
-    public static interface IdleHandler {
-        /**
-         * Called when the message queue has run out of messages and will now
-         * wait for more.  Return true to keep your idle handler active, false
-         * to have it removed.  This may be called if there are still messages
-         * pending in the queue, but they are all scheduled to be dispatched
-         * after the current time.
-         */
-        boolean queueIdle();
-    }
-
-    /**
-     * Add a new {@link IdleHandler} to this message queue.  This may be
-     * removed automatically for you by returning false from
-     * {@link IdleHandler#queueIdle IdleHandler.queueIdle()} when it is
-     * invoked, or explicitly removing it with {@link #removeIdleHandler}.
-     * 
-     * <p>This method is safe to call from any thread.
-     * 
-     * @param handler The IdleHandler to be added.
-     */
-    public void addIdleHandler(IdleHandler handler) {
-        if (handler == null) {
-            throw new NullPointerException("Can't add a null IdleHandler");
-        }
-        synchronized (this) {
-            mIdleHandlers.add(handler);
-        }
-    }
-
-    /**
-     * Remove an {@link IdleHandler} from the queue that was previously added
-     * with {@link #addIdleHandler}.  If the given object is not currently
-     * in the idle list, nothing is done.
-     * 
-     * @param handler The IdleHandler to be removed.
-     */
-    public void removeIdleHandler(IdleHandler handler) {
-        synchronized (this) {
-            mIdleHandlers.remove(handler);
-        }
-    }
+    private native static boolean nativeIsPolling(long ptr);
+    private native static void nativeSetFileDescriptorEvents(long ptr, int fd, int events);
 
     MessageQueue(boolean quitAllowed) {
         mQuitAllowed = quitAllowed;
@@ -124,6 +88,222 @@
         }
     }
 
+    /**
+     * Returns true if the looper has no pending messages which are due to be processed.
+     *
+     * <p>This method is safe to call from any thread.
+     *
+     * @return True if the looper is idle.
+     */
+    public boolean isIdle() {
+        synchronized (this) {
+            final long now = SystemClock.uptimeMillis();
+            return mMessages == null || now < mMessages.when;
+        }
+    }
+
+    /**
+     * Add a new {@link IdleHandler} to this message queue.  This may be
+     * removed automatically for you by returning false from
+     * {@link IdleHandler#queueIdle IdleHandler.queueIdle()} when it is
+     * invoked, or explicitly removing it with {@link #removeIdleHandler}.
+     *
+     * <p>This method is safe to call from any thread.
+     *
+     * @param handler The IdleHandler to be added.
+     */
+    public void addIdleHandler(@NonNull IdleHandler handler) {
+        if (handler == null) {
+            throw new NullPointerException("Can't add a null IdleHandler");
+        }
+        synchronized (this) {
+            mIdleHandlers.add(handler);
+        }
+    }
+
+    /**
+     * Remove an {@link IdleHandler} from the queue that was previously added
+     * with {@link #addIdleHandler}.  If the given object is not currently
+     * in the idle list, nothing is done.
+     *
+     * <p>This method is safe to call from any thread.
+     *
+     * @param handler The IdleHandler to be removed.
+     */
+    public void removeIdleHandler(@NonNull IdleHandler handler) {
+        synchronized (this) {
+            mIdleHandlers.remove(handler);
+        }
+    }
+
+    /**
+     * Returns whether this looper's thread is currently polling for more work to do.
+     * This is a good signal that the loop is still alive rather than being stuck
+     * handling a callback.  Note that this method is intrinsically racy, since the
+     * state of the loop can change before you get the result back.
+     *
+     * <p>This method is safe to call from any thread.
+     *
+     * @return True if the looper is currently polling for events.
+     * @hide
+     */
+    public boolean isPolling() {
+        synchronized (this) {
+            return isPollingLocked();
+        }
+    }
+
+    private boolean isPollingLocked() {
+        // If the loop is quitting then it must not be idling.
+        // We can assume mPtr != 0 when mQuitting is false.
+        return !mQuitting && nativeIsPolling(mPtr);
+    }
+
+    /**
+     * Registers a file descriptor callback to receive notification when file descriptor
+     * related events occur.
+     * <p>
+     * If the file descriptor has already been registered, the specified events
+     * and callback will replace any that were previously associated with it.
+     * It is not possible to set more than one callback per file descriptor.
+     * </p><p>
+     * It is important to always unregister the callback when the file descriptor
+     * is no longer of use.
+     * </p>
+     *
+     * @param fd The file descriptor for which a callback will be registered.
+     * @param events The set of events to receive: a combination of the
+     * {@link FileDescriptorCallback#EVENT_INPUT},
+     * {@link FileDescriptorCallback#EVENT_OUTPUT}, and
+     * {@link FileDescriptorCallback#EVENT_ERROR} event masks.  If the requested
+     * set of events is zero, then the callback is unregistered.
+     * @param callback The callback to invoke when file descriptor events occur.
+     *
+     * @see FileDescriptorCallback
+     * @see #unregisterFileDescriptorCallback
+     */
+    public void registerFileDescriptorCallback(@NonNull FileDescriptor fd,
+            @FileDescriptorCallback.Events int events,
+            @NonNull FileDescriptorCallback callback) {
+        if (fd == null) {
+            throw new IllegalArgumentException("fd must not be null");
+        }
+        if (callback == null) {
+            throw new IllegalArgumentException("callback must not be null");
+        }
+
+        synchronized (this) {
+            setFileDescriptorCallbackLocked(fd, events, callback);
+        }
+    }
+
+    /**
+     * Unregisters a file descriptor callback.
+     * <p>
+     * This method does nothing if no callback has been registered for the
+     * specified file descriptor.
+     * </p>
+     *
+     * @param fd The file descriptor whose callback will be unregistered.
+     *
+     * @see FileDescriptorCallback
+     * @see #registerFileDescriptorCallback
+     */
+    public void unregisterFileDescriptorCallback(@NonNull FileDescriptor fd) {
+        if (fd == null) {
+            throw new IllegalArgumentException("fd must not be null");
+        }
+
+        synchronized (this) {
+            setFileDescriptorCallbackLocked(fd, 0, null);
+        }
+    }
+
+    private void setFileDescriptorCallbackLocked(FileDescriptor fd, int events,
+            FileDescriptorCallback callback) {
+        final int fdNum = fd.getInt$();
+
+        int index = -1;
+        FileDescriptorRecord record = null;
+        if (mFileDescriptorRecords != null) {
+            index = mFileDescriptorRecords.indexOfKey(fdNum);
+            if (index >= 0) {
+                record = mFileDescriptorRecords.valueAt(index);
+                if (record != null && record.mEvents == events) {
+                    return;
+                }
+            }
+        }
+
+        if (events != 0) {
+            events |= FileDescriptorCallback.EVENT_ERROR;
+            if (record == null) {
+                if (mFileDescriptorRecords == null) {
+                    mFileDescriptorRecords = new SparseArray<FileDescriptorRecord>();
+                }
+                record = new FileDescriptorRecord(fd, events, callback);
+                mFileDescriptorRecords.put(fdNum, record);
+            } else {
+                record.mCallback = callback;
+                record.mEvents = events;
+                record.mSeq += 1;
+            }
+            nativeSetFileDescriptorEvents(mPtr, fdNum, events);
+        } else if (record != null) {
+            record.mEvents = 0;
+            mFileDescriptorRecords.removeAt(index);
+        }
+    }
+
+    // Called from native code.
+    private int dispatchEvents(int fd, int events) {
+        // Get the file descriptor record and any state that might change.
+        final FileDescriptorRecord record;
+        final int oldWatchedEvents;
+        final FileDescriptorCallback callback;
+        final int seq;
+        synchronized (this) {
+            record = mFileDescriptorRecords.get(fd);
+            if (record == null) {
+                return 0; // spurious, no callback registered
+            }
+
+            oldWatchedEvents = record.mEvents;
+            events &= oldWatchedEvents; // filter events based on current watched set
+            if (events == 0) {
+                return oldWatchedEvents; // spurious, watched events changed
+            }
+
+            callback = record.mCallback;
+            seq = record.mSeq;
+        }
+
+        // Invoke the callback outside of the lock.
+        int newWatchedEvents = callback.onFileDescriptorEvents(
+                record.mDescriptor, events);
+        if (newWatchedEvents != 0) {
+            newWatchedEvents |= FileDescriptorCallback.EVENT_ERROR;
+        }
+
+        // Update the file descriptor record if the callback changed the set of
+        // events to watch and the callback itself hasn't been updated since.
+        if (newWatchedEvents != oldWatchedEvents) {
+            synchronized (this) {
+                int index = mFileDescriptorRecords.indexOfKey(fd);
+                if (index >= 0 && mFileDescriptorRecords.valueAt(index) == record
+                        && record.mSeq == seq) {
+                    record.mEvents = newWatchedEvents;
+                    if (newWatchedEvents == 0) {
+                        mFileDescriptorRecords.removeAt(index);
+                    }
+                }
+            }
+        }
+
+        // Return the new set of events to watch for native code to take care of.
+        return newWatchedEvents;
+    }
+
     Message next() {
         // Return here if the message loop has already quit and been disposed.
         // This can happen if the application tries to restart a looper after quit
@@ -167,7 +347,8 @@
                             mMessages = msg.next;
                         }
                         msg.next = null;
-                        if (false) Log.v("MessageQueue", "Returning message: " + msg);
+                        if (DEBUG) Log.v(TAG, "Returning message: " + msg);
+                        msg.markInUse();
                         return msg;
                     }
                 } else {
@@ -210,7 +391,7 @@
                 try {
                     keep = idler.queueIdle();
                 } catch (Throwable t) {
-                    Log.wtf("MessageQueue", "IdleHandler threw exception", t);
+                    Log.wtf(TAG, "IdleHandler threw exception", t);
                 }
 
                 if (!keep) {
@@ -251,7 +432,34 @@
         }
     }
 
-    int enqueueSyncBarrier(long when) {
+    /**
+     * Posts a synchronization barrier to the Looper's message queue.
+     *
+     * Message processing occurs as usual until the message queue encounters the
+     * synchronization barrier that has been posted.  When the barrier is encountered,
+     * later synchronous messages in the queue are stalled (prevented from being executed)
+     * until the barrier is released by calling {@link #removeSyncBarrier} and specifying
+     * the token that identifies the synchronization barrier.
+     *
+     * This method is used to immediately postpone execution of all subsequently posted
+     * synchronous messages until a condition is met that releases the barrier.
+     * Asynchronous messages (see {@link Message#isAsynchronous} are exempt from the barrier
+     * and continue to be processed as usual.
+     *
+     * This call must be always matched by a call to {@link #removeSyncBarrier} with
+     * the same token to ensure that the message queue resumes normal operation.
+     * Otherwise the application will probably hang!
+     *
+     * @return A token that uniquely identifies the barrier.  This token must be
+     * passed to {@link #removeSyncBarrier} to release the barrier.
+     *
+     * @hide
+     */
+    public int postSyncBarrier() {
+        return postSyncBarrier(SystemClock.uptimeMillis());
+    }
+
+    private int postSyncBarrier(long when) {
         // Enqueue a new sync barrier token.
         // We don't need to wake the queue because the purpose of a barrier is to stall it.
         synchronized (this) {
@@ -280,7 +488,17 @@
         }
     }
 
-    void removeSyncBarrier(int token) {
+    /**
+     * Removes a synchronization barrier.
+     *
+     * @param token The synchronization barrier token that was returned by
+     * {@link #postSyncBarrier}.
+     *
+     * @throws IllegalStateException if the barrier was not found.
+     *
+     * @hide
+     */
+    public void removeSyncBarrier(int token) {
         // Remove a sync barrier token from the queue.
         // If the queue is no longer stalled by a barrier then wake it.
         synchronized (this) {
@@ -324,7 +542,7 @@
             if (mQuitting) {
                 IllegalStateException e = new IllegalStateException(
                         msg.target + " sending message to a Handler on a dead thread");
-                Log.w("MessageQueue", e.getMessage(), e);
+                Log.w(TAG, e.getMessage(), e);
                 msg.recycle();
                 return false;
             }
@@ -400,18 +618,6 @@
         }
     }
 
-    boolean isIdling() {
-        synchronized (this) {
-            return isIdlingLocked();
-        }
-    }
-
-    private boolean isIdlingLocked() {
-        // If the loop is quitting then it must not be idling.
-        // We can assume mPtr != 0 when mQuitting is false.
-        return !mQuitting && nativeIsIdling(mPtr);
-     }
-
     void removeMessages(Handler h, int what, Object object) {
         if (h == null) {
             return;
@@ -559,8 +765,113 @@
                 pw.println(prefix + "Message " + n + ": " + msg.toString(now));
                 n++;
             }
-            pw.println(prefix + "(Total messages: " + n + ", idling=" + isIdlingLocked()
+            pw.println(prefix + "(Total messages: " + n + ", polling=" + isPollingLocked()
                     + ", quitting=" + mQuitting + ")");
         }
     }
+
+    /**
+     * Callback interface for discovering when a thread is going to block
+     * waiting for more messages.
+     */
+    public static interface IdleHandler {
+        /**
+         * Called when the message queue has run out of messages and will now
+         * wait for more.  Return true to keep your idle handler active, false
+         * to have it removed.  This may be called if there are still messages
+         * pending in the queue, but they are all scheduled to be dispatched
+         * after the current time.
+         */
+        boolean queueIdle();
+    }
+
+    /**
+     * A callback which is invoked when file descriptor related events occur.
+     */
+    public static abstract class FileDescriptorCallback {
+        /**
+         * File descriptor event: Indicates that the file descriptor is ready for input
+         * operations, such as reading.
+         * <p>
+         * The callback should read all available data from the file descriptor
+         * then return <code>true</code> to keep the callback active or <code>false</code>
+         * to remove the callback.
+         * </p><p>
+         * In the case of a socket, this event may be generated to indicate
+         * that there is at least one incoming connection that the callback
+         * should accept.
+         * </p><p>
+         * This event will only be generated if the {@link #EVENT_INPUT} event mask was
+         * specified when the callback was added.
+         * </p>
+         */
+        public static final int EVENT_INPUT = 1 << 0;
+
+        /**
+         * File descriptor event: Indicates that the file descriptor is ready for output
+         * operations, such as writing.
+         * <p>
+         * The callback should write as much data as it needs.  If it could not
+         * write everything at once, then it should return <code>true</code> to
+         * keep the callback active.  Otherwise, it should return <code>false</code>
+         * to remove the callback then re-register it later when it needs to write
+         * something else.
+         * </p><p>
+         * This event will only be generated if the {@link #EVENT_OUTPUT} event mask was
+         * specified when the callback was added.
+         * </p>
+         */
+        public static final int EVENT_OUTPUT = 1 << 1;
+
+        /**
+         * File descriptor event: Indicates that the file descriptor encountered a
+         * fatal error.
+         * <p>
+         * File descriptor errors can occur for various reasons.  One common error
+         * is when the remote peer of a socket or pipe closes its end of the connection.
+         * </p><p>
+         * This event may be generated at any time regardless of whether the
+         * {@link #EVENT_ERROR} event mask was specified when the callback was added.
+         * </p>
+         */
+        public static final int EVENT_ERROR = 1 << 2;
+
+        /** @hide */
+        @Retention(RetentionPolicy.SOURCE)
+        @IntDef(flag=true, value={EVENT_INPUT, EVENT_OUTPUT, EVENT_ERROR})
+        public @interface Events {}
+
+        /**
+         * Called when a file descriptor receives events.
+         * <p>
+         * The default implementation does nothing and returns 0 to unregister the callback.
+         * </p>
+         *
+         * @param fd The file descriptor.
+         * @param events The set of events that occurred: a combination of the
+         * {@link #EVENT_INPUT}, {@link #EVENT_OUTPUT}, and {@link #EVENT_ERROR} event masks.
+         * @return The new set of events to watch, or 0 to unregister the callback.
+         *
+         * @see #EVENT_INPUT
+         * @see #EVENT_OUTPUT
+         * @see #EVENT_ERROR
+         */
+        public @Events int onFileDescriptorEvents(@NonNull FileDescriptor fd, @Events int events) {
+            return 0;
+        }
+    }
+
+    private static final class FileDescriptorRecord {
+        public final FileDescriptor mDescriptor;
+        public int mEvents;
+        public FileDescriptorCallback mCallback;
+        public int mSeq;
+
+        public FileDescriptorRecord(FileDescriptor descriptor,
+                int events, FileDescriptorCallback callback) {
+            mDescriptor = descriptor;
+            mEvents = events;
+            mCallback = callback;
+        }
+    }
 }
diff --git a/core/java/android/os/ParcelFileDescriptor.java b/core/java/android/os/ParcelFileDescriptor.java
index 4e8ec890..5b26304 100644
--- a/core/java/android/os/ParcelFileDescriptor.java
+++ b/core/java/android/os/ParcelFileDescriptor.java
@@ -19,11 +19,13 @@
 import static android.system.OsConstants.AF_UNIX;
 import static android.system.OsConstants.SEEK_SET;
 import static android.system.OsConstants.SOCK_STREAM;
+import static android.system.OsConstants.SOCK_SEQPACKET;
 import static android.system.OsConstants.S_ISLNK;
 import static android.system.OsConstants.S_ISREG;
 
 import android.content.BroadcastReceiver;
 import android.content.ContentProvider;
+import android.os.MessageQueue.FileDescriptorCallback;
 import android.system.ErrnoException;
 import android.system.Os;
 import android.system.OsConstants;
@@ -31,7 +33,6 @@
 import android.util.Log;
 
 import dalvik.system.CloseGuard;
-
 import libcore.io.IoUtils;
 import libcore.io.Memory;
 
@@ -220,8 +221,8 @@
      *             be opened with the requested mode.
      * @see #parseMode(String)
      */
-    public static ParcelFileDescriptor open(
-            File file, int mode, Handler handler, OnCloseListener listener) throws IOException {
+    public static ParcelFileDescriptor open(File file, int mode, Handler handler,
+            final OnCloseListener listener) throws IOException {
         if (handler == null) {
             throw new IllegalArgumentException("Handler must not be null");
         }
@@ -234,11 +235,27 @@
 
         final FileDescriptor[] comm = createCommSocketPair();
         final ParcelFileDescriptor pfd = new ParcelFileDescriptor(fd, comm[0]);
-
-        // Kick off thread to watch for status updates
-        IoUtils.setBlocking(comm[1], true);
-        final ListenerBridge bridge = new ListenerBridge(comm[1], handler.getLooper(), listener);
-        bridge.start();
+        final MessageQueue queue = handler.getLooper().getQueue();
+        queue.registerFileDescriptorCallback(comm[1],
+                FileDescriptorCallback.EVENT_INPUT, new FileDescriptorCallback() {
+            @Override
+            public int onFileDescriptorEvents(FileDescriptor fd, int events) {
+                Status status = null;
+                if ((events & FileDescriptorCallback.EVENT_INPUT) != 0) {
+                    final byte[] buf = new byte[MAX_STATUS];
+                    status = readCommStatus(fd, buf);
+                } else if ((events & FileDescriptorCallback.EVENT_ERROR) != 0) {
+                    status = new Status(Status.DEAD);
+                }
+                if (status != null) {
+                    queue.unregisterFileDescriptorCallback(fd);
+                    IoUtils.closeQuietly(fd);
+                    listener.onClose(status.asIOException());
+                    return 0;
+                }
+                return EVENT_INPUT;
+            }
+        });
 
         return pfd;
     }
@@ -446,9 +463,12 @@
 
     private static FileDescriptor[] createCommSocketPair() throws IOException {
         try {
+            // Use SOCK_SEQPACKET so that we have a guarantee that the status
+            // is written and read atomically as one unit and is not split
+            // across multiple IO operations.
             final FileDescriptor comm1 = new FileDescriptor();
             final FileDescriptor comm2 = new FileDescriptor();
-            Os.socketpair(AF_UNIX, SOCK_STREAM, 0, comm1, comm2);
+            Os.socketpair(AF_UNIX, SOCK_SEQPACKET, 0, comm1, comm2);
             IoUtils.setBlocking(comm1, false);
             IoUtils.setBlocking(comm2, false);
             return new FileDescriptor[] { comm1, comm2 };
@@ -709,6 +729,7 @@
                     writePtr += len;
                 }
 
+                // Must write the entire status as a single operation.
                 Os.write(mCommFd, buf, 0, writePtr);
             } catch (ErrnoException e) {
                 // Reporting status is best-effort
@@ -726,6 +747,7 @@
 
     private static Status readCommStatus(FileDescriptor comm, byte[] buf) {
         try {
+            // Must read the entire status as a single operation.
             final int n = Os.read(comm, buf, 0, buf.length);
             if (n == 0) {
                 // EOF means they're dead
@@ -1014,39 +1036,10 @@
                     return new IOException("Unknown status: " + status);
             }
         }
-    }
-
-    /**
-     * Bridge to watch for remote status, and deliver to listener. Currently
-     * requires that communication socket is <em>blocking</em>.
-     */
-    private static final class ListenerBridge extends Thread {
-        // TODO: switch to using Looper to avoid burning a thread
-
-        private FileDescriptor mCommFd;
-        private final Handler mHandler;
-
-        public ListenerBridge(FileDescriptor comm, Looper looper, final OnCloseListener listener) {
-            mCommFd = comm;
-            mHandler = new Handler(looper) {
-                @Override
-                public void handleMessage(Message msg) {
-                    final Status s = (Status) msg.obj;
-                    listener.onClose(s != null ? s.asIOException() : null);
-                }
-            };
-        }
 
         @Override
-        public void run() {
-            try {
-                final byte[] buf = new byte[MAX_STATUS];
-                final Status status = readCommStatus(mCommFd, buf);
-                mHandler.obtainMessage(0, status).sendToTarget();
-            } finally {
-                IoUtils.closeQuietly(mCommFd);
-                mCommFd = null;
-            }
+        public String toString() {
+            return "{" + status + ": " + msg + "}";
         }
     }
 }
diff --git a/core/java/android/os/PersistableBundle.java b/core/java/android/os/PersistableBundle.java
index 3a44428..ea180b2 100644
--- a/core/java/android/os/PersistableBundle.java
+++ b/core/java/android/os/PersistableBundle.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.Nullable;
 import android.util.ArrayMap;
 import com.android.internal.util.XmlUtils;
 import org.xmlpull.v1.XmlPullParser;
@@ -44,6 +45,16 @@
         EMPTY_PARCEL = BaseBundle.EMPTY_PARCEL;
     }
 
+    /** @hide */
+    public static boolean isValidType(Object value) {
+        return (value instanceof Integer) || (value instanceof Long) ||
+                (value instanceof Double) || (value instanceof String) ||
+                (value instanceof int[]) || (value instanceof long[]) ||
+                (value instanceof double[]) || (value instanceof String[]) ||
+                (value instanceof PersistableBundle) || (value == null) ||
+                (value instanceof Boolean) || (value instanceof boolean[]);
+    }
+
     /**
      * Constructs a new, empty PersistableBundle.
      */
@@ -77,29 +88,22 @@
      * @param map a Map containing only those items that can be persisted.
      * @throws IllegalArgumentException if any element of #map cannot be persisted.
      */
-    private PersistableBundle(Map<String, Object> map) {
+    private PersistableBundle(ArrayMap<String, Object> map) {
         super();
 
         // First stuff everything in.
         putAll(map);
 
         // Now verify each item throwing an exception if there is a violation.
-        Set<String> keys = map.keySet();
-        Iterator<String> iterator = keys.iterator();
-        while (iterator.hasNext()) {
-            String key = iterator.next();
-            Object value = map.get(key);
-            if (value instanceof Map) {
+        final int N = mMap.size();
+        for (int i=0; i<N; i++) {
+            Object value = mMap.valueAt(i);
+            if (value instanceof ArrayMap) {
                 // Fix up any Maps by replacing them with PersistableBundles.
-                putPersistableBundle(key, new PersistableBundle((Map<String, Object>) value));
-            } else if (!(value instanceof Integer) && !(value instanceof Long) &&
-                    !(value instanceof Double) && !(value instanceof String) &&
-                    !(value instanceof int[]) && !(value instanceof long[]) &&
-                    !(value instanceof double[]) && !(value instanceof String[]) &&
-                    !(value instanceof PersistableBundle) && (value != null) &&
-                    !(value instanceof Boolean) && !(value instanceof boolean[])) {
-                throw new IllegalArgumentException("Bad value in PersistableBundle key=" + key +
-                        " value=" + value);
+                mMap.setValueAt(i, new PersistableBundle((ArrayMap<String, Object>) value));
+            } else if (!isValidType(value)) {
+                throw new IllegalArgumentException("Bad value in PersistableBundle key="
+                        + mMap.keyAt(i) + " value=" + value);
             }
         }
     }
@@ -135,7 +139,7 @@
      * @param key a String, or null
      * @param value a Bundle object, or null
      */
-    public void putPersistableBundle(String key, PersistableBundle value) {
+    public void putPersistableBundle(@Nullable String key, @Nullable PersistableBundle value) {
         unparcel();
         mMap.put(key, value);
     }
@@ -148,7 +152,8 @@
      * @param key a String, or null
      * @return a Bundle value, or null
      */
-    public PersistableBundle getPersistableBundle(String key) {
+    @Nullable
+    public PersistableBundle getPersistableBundle(@Nullable String key) {
         unparcel();
         Object o = mMap.get(key);
         if (o == null) {
@@ -240,8 +245,9 @@
         while (((event = in.next()) != XmlPullParser.END_DOCUMENT) &&
                 (event != XmlPullParser.END_TAG || in.getDepth() < outerDepth)) {
             if (event == XmlPullParser.START_TAG) {
-                return new PersistableBundle((Map<String, Object>)
-                        XmlUtils.readThisMapXml(in, startTag, tagName, new MyReadMapCallback()));
+                return new PersistableBundle((ArrayMap<String, Object>)
+                        XmlUtils.readThisArrayMapXml(in, startTag, tagName,
+                        new MyReadMapCallback()));
             }
         }
         return EMPTY;
diff --git a/core/java/android/os/PooledStringReader.java b/core/java/android/os/PooledStringReader.java
new file mode 100644
index 0000000..7795957
--- /dev/null
+++ b/core/java/android/os/PooledStringReader.java
@@ -0,0 +1,50 @@
+/*
+ * 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;
+
+/**
+ * Helper class for reading pooling strings from a Parcel.  It must be used
+ * in conjunction with {@link android.os.PooledStringWriter}.  This really needs
+ * to be pushed in to Parcel itself, but doing that is...  complicated.
+ * @hide
+ */
+public class PooledStringReader {
+    private final Parcel mIn;
+
+    /**
+     * The pool of strings we have collected so far.
+     */
+    private final String[] mPool;
+
+    public PooledStringReader(Parcel in) {
+        mIn = in;
+        final int size = in.readInt();
+        mPool = new String[size];
+    }
+
+    public String readString() {
+        int idx = mIn.readInt();
+        if (idx >= 0) {
+            return mPool[idx];
+        } else {
+            idx = (-idx) - 1;
+            String str = mIn.readString();
+            mPool[idx] = str;
+            return str;
+        }
+    }
+}
diff --git a/core/java/android/os/PooledStringWriter.java b/core/java/android/os/PooledStringWriter.java
new file mode 100644
index 0000000..eac297d
--- /dev/null
+++ b/core/java/android/os/PooledStringWriter.java
@@ -0,0 +1,76 @@
+/*
+ * 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;
+
+import java.util.HashMap;
+
+/**
+ * Helper class for writing pooled strings into a Parcel.  It must be used
+ * in conjunction with {@link android.os.PooledStringReader}.  This really needs
+ * to be pushed in to Parcel itself, but doing that is...  complicated.
+ * @hide
+ */
+public class PooledStringWriter {
+    private final Parcel mOut;
+
+    /**
+     * Book-keeping for writing pooled string objects, mapping strings we have
+     * written so far to their index in the pool.  We deliberately use HashMap
+     * here since performance is critical, we expect to be doing lots of adds to
+     * it, and it is only a temporary object so its overall memory footprint is
+     * not a signifciant issue.
+     */
+    private final HashMap<String, Integer> mPool;
+
+    /**
+     * Book-keeping for writing pooling string objects, indicating where we
+     * started writing the pool, which is where we need to ultimately store
+     * how many strings are in the pool.
+     */
+    private int mStart;
+
+    /**
+     * Next available index in the pool.
+     */
+    private int mNext;
+
+    public PooledStringWriter(Parcel out) {
+        mOut = out;
+        mPool = new HashMap<>();
+        mStart = out.dataPosition();
+        out.writeInt(0); // reserve space for final pool size.
+    }
+
+    public void writeString(String str) {
+        final Integer cur = mPool.get(str);
+        if (cur != null) {
+            mOut.writeInt(cur);
+        } else {
+            mPool.put(str, mNext);
+            mOut.writeInt(-(mNext+1));
+            mOut.writeString(str);
+            mNext++;
+        }
+    }
+
+    public void finish() {
+        final int pos = mOut.dataPosition();
+        mOut.setDataPosition(mStart);
+        mOut.writeInt(mNext);
+        mOut.setDataPosition(pos);
+    }
+}
diff --git a/core/java/android/os/SELinux.java b/core/java/android/os/SELinux.java
index 84aa427..2773da5 100644
--- a/core/java/android/os/SELinux.java
+++ b/core/java/android/os/SELinux.java
@@ -50,13 +50,6 @@
     public static final native boolean isSELinuxEnforced();
 
     /**
-     * Set whether SELinux is permissive or enforcing.
-     * @param value representing whether to set SELinux to enforcing
-     * @return a boolean representing whether the desired mode was set
-     */
-    public static final native boolean setSELinuxEnforce(boolean value);
-
-    /**
      * Sets the security context for newly created file objects.
      * @param context a security context given as a String.
      * @return a boolean indicating whether the operation succeeded.
@@ -99,27 +92,6 @@
     public static final native String getPidContext(int pid);
 
     /**
-     * Gets a list of the SELinux boolean names.
-     * @return an array of strings containing the SELinux boolean names.
-     */
-    public static final native String[] getBooleanNames();
-
-    /**
-     * Gets the value for the given SELinux boolean name.
-     * @param name The name of the SELinux boolean.
-     * @return a boolean indicating whether the SELinux boolean is set.
-     */
-    public static final native boolean getBooleanValue(String name);
-
-    /**
-     * Sets the value for the given SELinux boolean name.
-     * @param name The name of the SELinux boolean.
-     * @param value The new value of the SELinux boolean.
-     * @return a boolean indicating whether or not the operation succeeded.
-     */
-    public static final native boolean setBooleanValue(String name, boolean value);
-
-    /**
      * Check permissions between two security contexts.
      * @param scon The source or subject security context.
      * @param tcon The target or object security context.
diff --git a/core/java/android/os/UserHandle.java b/core/java/android/os/UserHandle.java
index 74e064e..6874e77 100644
--- a/core/java/android/os/UserHandle.java
+++ b/core/java/android/os/UserHandle.java
@@ -20,7 +20,6 @@
 import android.util.SparseArray;
 
 import java.io.PrintWriter;
-import java.util.HashMap;
 
 /**
  * Representation of a user on the device.
diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java
index 650f3b3..706e0d0 100644
--- a/core/java/android/os/UserManager.java
+++ b/core/java/android/os/UserManager.java
@@ -391,6 +391,15 @@
     public static final String DISALLOW_OUTGOING_BEAM = "no_outgoing_beam";
 
     /**
+     * Hidden user restriction to disallow access to wallpaper manager APIs. This user restriction
+     * is always set for managed profiles.
+     * @hide
+     * @see #setUserRestrictions(Bundle)
+     * @see #getUserRestrictions()
+     */
+    public static final String DISALLOW_WALLPAPER = "no_wallpaper";
+
+    /**
      * Application restriction key that is used to indicate the pending arrival
      * of real restrictions for the app.
      *
diff --git a/core/java/android/preference/DialogPreference.java b/core/java/android/preference/DialogPreference.java
index 1b226c1..3d57b4d 100644
--- a/core/java/android/preference/DialogPreference.java
+++ b/core/java/android/preference/DialogPreference.java
@@ -17,6 +17,7 @@
 package android.preference;
 
 
+import android.annotation.CallSuper;
 import android.annotation.DrawableRes;
 import android.annotation.StringRes;
 import android.app.AlertDialog;
@@ -360,6 +361,7 @@
      * 
      * @param view The content View of the dialog, if it is custom.
      */
+    @CallSuper
     protected void onBindDialogView(View view) {
         View dialogMessageView = view.findViewById(com.android.internal.R.id.message);
         
diff --git a/core/java/android/preference/GenericInflater.java b/core/java/android/preference/GenericInflater.java
index c84dbf1..918933b 100644
--- a/core/java/android/preference/GenericInflater.java
+++ b/core/java/android/preference/GenericInflater.java
@@ -23,7 +23,6 @@
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
 
-import android.annotation.AnyRes;
 import android.annotation.XmlRes;
 import android.content.Context;
 import android.content.res.XmlResourceParser;
diff --git a/core/java/android/preference/Preference.java b/core/java/android/preference/Preference.java
index 78928b2..ccf2cfa 100644
--- a/core/java/android/preference/Preference.java
+++ b/core/java/android/preference/Preference.java
@@ -16,6 +16,7 @@
 
 package android.preference;
 
+import android.annotation.CallSuper;
 import com.android.internal.util.CharSequences;
 
 import android.annotation.DrawableRes;
@@ -508,6 +509,7 @@
      * @return The View that displays this Preference.
      * @see #onBindView(View)
      */
+    @CallSuper
     protected View onCreateView(ViewGroup parent) {
         final LayoutInflater layoutInflater =
             (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
@@ -537,6 +539,7 @@
      * @param view The View that shows this Preference.
      * @see #onCreateView(ViewGroup)
      */
+    @CallSuper
     protected void onBindView(View view) {
         final TextView titleView = (TextView) view.findViewById(com.android.internal.R.id.title);
         if (titleView != null) {
@@ -1356,6 +1359,7 @@
      * should remove any references to this Preference that you know about. Make
      * sure to call through to the superclass implementation.
      */
+    @CallSuper
     protected void onPrepareForRemoval() {
         unregisterDependency();
     }
diff --git a/core/java/android/preference/PreferenceGroup.java b/core/java/android/preference/PreferenceGroup.java
index 2d35b1b..5e84086 100644
--- a/core/java/android/preference/PreferenceGroup.java
+++ b/core/java/android/preference/PreferenceGroup.java
@@ -19,12 +19,9 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import java.util.Map;
-
 import android.content.Context;
 import android.content.res.TypedArray;
 import android.os.Bundle;
-import android.os.Parcelable;
 import android.text.TextUtils;
 import android.util.AttributeSet;
 
diff --git a/core/java/android/printservice/PrintService.java b/core/java/android/printservice/PrintService.java
index 7ed1649..527c8ae 100644
--- a/core/java/android/printservice/PrintService.java
+++ b/core/java/android/printservice/PrintService.java
@@ -16,7 +16,6 @@
 
 package android.printservice;
 
-import android.R;
 import android.app.Service;
 import android.content.ComponentName;
 import android.content.Context;
diff --git a/core/java/android/provider/Browser.java b/core/java/android/provider/Browser.java
index 3853003..69a05c4 100644
--- a/core/java/android/provider/Browser.java
+++ b/core/java/android/provider/Browser.java
@@ -25,7 +25,6 @@
 import android.database.DatabaseUtils;
 import android.graphics.BitmapFactory;
 import android.net.Uri;
-import android.os.Build;
 import android.provider.BrowserContract.Bookmarks;
 import android.provider.BrowserContract.Combined;
 import android.provider.BrowserContract.History;
diff --git a/core/java/android/provider/CallLog.java b/core/java/android/provider/CallLog.java
index 266922d..6517f35 100644
--- a/core/java/android/provider/CallLog.java
+++ b/core/java/android/provider/CallLog.java
@@ -38,6 +38,7 @@
 import android.telecom.TelecomManager;
 import android.telephony.PhoneNumberUtils;
 import android.text.TextUtils;
+import android.util.Log;
 
 import com.android.internal.telephony.CallerInfo;
 import com.android.internal.telephony.PhoneConstants;
@@ -48,6 +49,8 @@
  * The CallLog provider contains information about placed and received calls.
  */
 public class CallLog {
+    private static final String LOG_TAG = "CallLog";
+
     public static final String AUTHORITY = "call_log";
 
     /**
@@ -325,6 +328,14 @@
         public static final String CACHED_PHOTO_ID = "photo_id";
 
         /**
+         * The cached photo URI of the picture associated with the phone number, if it exists.
+         * This value may not be current if the contact information associated with this number
+         * has changed.
+         * <P>Type: TEXT (URI)</P>
+         */
+        public static final String CACHED_PHOTO_URI = "photo_uri";
+
+        /**
          * The cached phone number, formatted with formatting rules based on the country the
          * user was in when the call was made or received.
          * This value is not guaranteed to be present, and may not be current if the contact
@@ -359,6 +370,15 @@
         public static final String PHONE_ACCOUNT_ADDRESS = "phone_account_address";
 
         /**
+         * Indicates that the entry will be hidden from all queries until the associated
+         * {@link android.telecom.PhoneAccount} is registered with the system.
+         * <P>Type: INTEGER</P>
+         *
+         * @hide
+         */
+        public static final String PHONE_ACCOUNT_HIDDEN = "phone_account_hidden";
+
+        /**
          * The subscription ID used to place this call.  This is no longer used and has been
          * replaced with PHONE_ACCOUNT_COMPONENT_NAME/PHONE_ACCOUNT_ID.
          * For ContactsProvider internal use only.
@@ -434,6 +454,7 @@
                 long start, int duration, Long dataUsage, boolean addForAllUsers) {
             final ContentResolver resolver = context.getContentResolver();
             int numberPresentation = PRESENTATION_ALLOWED;
+            boolean isHidden = false;
 
             TelecomManager tm = null;
             try {
@@ -444,7 +465,16 @@
             if (tm != null && accountHandle != null) {
                 PhoneAccount account = tm.getPhoneAccount(accountHandle);
                 if (account != null) {
-                    accountAddress = account.getSubscriptionAddress().getSchemeSpecificPart();
+                    Uri address = account.getSubscriptionAddress();
+                    if (address != null) {
+                        accountAddress = address.getSchemeSpecificPart();
+                    }
+                } else {
+                    // We could not find the account through telecom. For call log entries that
+                    // are added with a phone account which is not registered, we automatically
+                    // mark them as hidden. They are unhidden once the account is registered.
+                    Log.i(LOG_TAG, "Marking call log entry as hidden.");
+                    isHidden = true;
                 }
             }
 
@@ -490,6 +520,7 @@
             values.put(PHONE_ACCOUNT_COMPONENT_NAME, accountComponentString);
             values.put(PHONE_ACCOUNT_ID, accountId);
             values.put(PHONE_ACCOUNT_ADDRESS, accountAddress);
+            values.put(PHONE_ACCOUNT_HIDDEN, Integer.valueOf(isHidden ? 1 : 0));
             values.put(NEW, Integer.valueOf(1));
 
             if (callType == MISSED_TYPE) {
diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java
index 67ac043..91a19dc 100644
--- a/core/java/android/provider/ContactsContract.java
+++ b/core/java/android/provider/ContactsContract.java
@@ -1010,7 +1010,8 @@
     /**
      * Types of data used to produce the display name for a contact. In the order
      * of increasing priority: {@link #EMAIL}, {@link #PHONE},
-     * {@link #ORGANIZATION}, {@link #NICKNAME}, {@link #STRUCTURED_NAME}.
+     * {@link #ORGANIZATION}, {@link #NICKNAME}, {@link #STRUCTURED_PHONETIC_NAME},
+     * {@link #STRUCTURED_NAME}.
      */
     public interface DisplayNameSources {
         public static final int UNDEFINED = 0;
@@ -1018,6 +1019,8 @@
         public static final int PHONE = 20;
         public static final int ORGANIZATION = 30;
         public static final int NICKNAME = 35;
+        /** Display name comes from a structured name that only has phonetic components. */
+        public static final int STRUCTURED_PHONETIC_NAME = 37;
         public static final int STRUCTURED_NAME = 40;
     }
 
@@ -4597,6 +4600,15 @@
         public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "data");
 
         /**
+        * The content:// style URI for this table in managed profile, which requests a directory
+        * of data rows matching the selection criteria.
+        *
+        * @hide
+        */
+        static final Uri ENTERPRISE_CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI,
+                "data_enterprise");
+
+        /**
          * A boolean parameter for {@link Data#CONTENT_URI}.
          * This specifies whether or not the returned data items should be filtered to show
          * data items belonging to visible contacts only.
@@ -5748,6 +5760,20 @@
                     "phones");
 
             /**
+            * URI used for getting all contacts from primary and managed profile.
+            *
+            * It supports the same semantics as {@link #CONTENT_URI} and returns the same
+            * columns.  If the device has no corp profile that is linked to the current profile, it
+            * behaves in the exact same way as {@link #CONTENT_URI}.  If there is a corp profile
+            * linked to the current profile, it will merge corp profile and current profile's
+            * results and return
+            *
+            * @hide
+            */
+            public static final Uri ENTERPRISE_CONTENT_URI =
+                    Uri.withAppendedPath(Data.ENTERPRISE_CONTENT_URI, "phones");
+
+            /**
              * The content:// style URL for phone lookup using a filter. The filter returns
              * records of MIME type {@link #CONTENT_ITEM_TYPE}. The filter is applied
              * to display names as well as phone numbers. The filter argument should be passed
@@ -8069,6 +8095,14 @@
         public static final String EXTRA_MODE = "android.provider.extra.MODE";
 
         /**
+         * Extra used to specify which mimetype should be prioritized in the QuickContacts UI.
+         * For example, passing the value {@link CommonDataKinds.Phone#CONTENT_ITEM_TYPE} can
+         * cause phone numbers to be displayed more prominently in QuickContacts.
+         */
+        public static final String EXTRA_PRIORITIZED_MIMETYPE
+                = "android.provider.extra.PRIORITIZED_MIMETYPE";
+
+        /**
          * Extra used to indicate a list of specific MIME-types to exclude and not display in the
          * QuickContacts dialog. Stored as a {@link String} array.
          */
@@ -8206,6 +8240,80 @@
             startActivityWithErrorToast(context, intent);
         }
 
+        /**
+         * Trigger a dialog that lists the various methods of interacting with
+         * the requested {@link Contacts} entry. This may be based on available
+         * {@link ContactsContract.Data} rows under that contact, and may also
+         * include social status and presence details.
+         *
+         * @param context The parent {@link Context} that may be used as the
+         *            parent for this dialog.
+         * @param target Specific {@link View} from your layout that this dialog
+         *            should be centered around. In particular, if the dialog
+         *            has a "callout" arrow, it will be pointed and centered
+         *            around this {@link View}.
+         * @param lookupUri A
+         *            {@link ContactsContract.Contacts#CONTENT_LOOKUP_URI} style
+         *            {@link Uri} that describes a specific contact to feature
+         *            in this dialog.
+         * @param excludeMimes Optional list of {@link Data#MIMETYPE} MIME-types
+         *            to exclude when showing this dialog. For example, when
+         *            already viewing the contact details card, this can be used
+         *            to omit the details entry from the dialog.
+         * @param prioritizedMimeType This mimetype should be prioritized in the QuickContacts UI.
+         *             For example, passing the value
+         *             {@link CommonDataKinds.Phone#CONTENT_ITEM_TYPE} can cause phone numbers to be
+         *             displayed more prominently in QuickContacts.
+         */
+        public static void showQuickContact(Context context, View target, Uri lookupUri,
+                String[] excludeMimes, String prioritizedMimeType) {
+            // Use MODE_LARGE instead of accepting mode as a parameter. The different mode
+            // values defined in ContactsContract only affect very old implementations
+            // of QuickContacts.
+            Intent intent = composeQuickContactsIntent(context, target, lookupUri, MODE_LARGE,
+                    excludeMimes);
+            intent.putExtra(EXTRA_PRIORITIZED_MIMETYPE, prioritizedMimeType);
+            startActivityWithErrorToast(context, intent);
+        }
+
+        /**
+         * Trigger a dialog that lists the various methods of interacting with
+         * the requested {@link Contacts} entry. This may be based on available
+         * {@link ContactsContract.Data} rows under that contact, and may also
+         * include social status and presence details.
+         *
+         * @param context The parent {@link Context} that may be used as the
+         *            parent for this dialog.
+         * @param target Specific {@link Rect} that this dialog should be
+         *            centered around, in screen coordinates. In particular, if
+         *            the dialog has a "callout" arrow, it will be pointed and
+         *            centered around this {@link Rect}. If you are running at a
+         *            non-native density, you need to manually adjust using
+         *            {@link DisplayMetrics#density} before calling.
+         * @param lookupUri A
+         *            {@link ContactsContract.Contacts#CONTENT_LOOKUP_URI} style
+         *            {@link Uri} that describes a specific contact to feature
+         *            in this dialog.
+         * @param excludeMimes Optional list of {@link Data#MIMETYPE} MIME-types
+         *            to exclude when showing this dialog. For example, when
+         *            already viewing the contact details card, this can be used
+         *            to omit the details entry from the dialog.
+         * @param prioritizedMimeType This mimetype should be prioritized in the QuickContacts UI.
+         *             For example, passing the value
+         *             {@link CommonDataKinds.Phone#CONTENT_ITEM_TYPE} can cause phone numbers to be
+         *             displayed more prominently in QuickContacts.
+         */
+        public static void showQuickContact(Context context, Rect target, Uri lookupUri,
+                String[] excludeMimes, String prioritizedMimeType) {
+            // Use MODE_LARGE instead of accepting mode as a parameter. The different mode
+            // values defined in ContactsContract only affect very old implementations
+            // of QuickContacts.
+            Intent intent = composeQuickContactsIntent(context, target, lookupUri, MODE_LARGE,
+                    excludeMimes);
+            intent.putExtra(EXTRA_PRIORITIZED_MIMETYPE, prioritizedMimeType);
+            startActivityWithErrorToast(context, intent);
+        }
+
         private static void startActivityWithErrorToast(Context context, Intent intent) {
             try {
               context.startActivity(intent);
diff --git a/core/java/android/provider/DocumentsProvider.java b/core/java/android/provider/DocumentsProvider.java
index 1316471..6979bee 100644
--- a/core/java/android/provider/DocumentsProvider.java
+++ b/core/java/android/provider/DocumentsProvider.java
@@ -28,6 +28,7 @@
 import static android.provider.DocumentsContract.getTreeDocumentId;
 import static android.provider.DocumentsContract.isTreeUri;
 
+import android.annotation.CallSuper;
 import android.content.ContentProvider;
 import android.content.ContentResolver;
 import android.content.ContentValues;
@@ -541,6 +542,7 @@
      *
      * @see DocumentsContract#buildDocumentUriUsingTree(Uri, String)
      */
+    @CallSuper
     @Override
     public Uri canonicalize(Uri uri) {
         final Context context = getContext();
@@ -616,6 +618,7 @@
      * call the superclass. If the superclass returns {@code null}, the subclass
      * may implement custom behavior.
      */
+    @CallSuper
     @Override
     public Bundle call(String method, String arg, Bundle extras) {
         if (!method.startsWith("android:")) {
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index f084263..4c452aa 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -65,7 +65,6 @@
 import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
-import java.util.regex.Pattern;
 
 /**
  * The Settings provider contains global system-level device preferences.
@@ -2255,54 +2254,66 @@
         /**
          * Ringer volume. This is used internally, changing this value will not
          * change the volume. See AudioManager.
+         *
+         * @removed Not used by anything since API 2.
          */
         public static final String VOLUME_RING = "volume_ring";
 
         /**
          * System/notifications volume. This is used internally, changing this
          * value will not change the volume. See AudioManager.
+         *
+         * @removed Not used by anything since API 2.
          */
         public static final String VOLUME_SYSTEM = "volume_system";
 
         /**
          * Voice call volume. This is used internally, changing this value will
          * not change the volume. See AudioManager.
+         *
+         * @removed Not used by anything since API 2.
          */
         public static final String VOLUME_VOICE = "volume_voice";
 
         /**
          * Music/media/gaming volume. This is used internally, changing this
          * value will not change the volume. See AudioManager.
+         *
+         * @removed Not used by anything since API 2.
          */
         public static final String VOLUME_MUSIC = "volume_music";
 
         /**
          * Alarm volume. This is used internally, changing this
          * value will not change the volume. See AudioManager.
+         *
+         * @removed Not used by anything since API 2.
          */
         public static final String VOLUME_ALARM = "volume_alarm";
 
         /**
          * Notification volume. This is used internally, changing this
          * value will not change the volume. See AudioManager.
+         *
+         * @removed Not used by anything since API 2.
          */
         public static final String VOLUME_NOTIFICATION = "volume_notification";
 
         /**
          * Bluetooth Headset volume. This is used internally, changing this value will
          * not change the volume. See AudioManager.
+         *
+         * @removed Not used by anything since API 2.
          */
         public static final String VOLUME_BLUETOOTH_SCO = "volume_bluetooth_sco";
 
         /**
          * Master volume (float in the range 0.0f to 1.0f).
+         *
          * @hide
          */
         public static final String VOLUME_MASTER = "volume_master";
 
-        private static final Validator VOLUME_MASTER_VALIDATOR =
-                new InclusiveFloatRangeValidator(0, 1);
-
         /**
          * Master volume mute (int 1 = mute, 0 = not muted).
          *
@@ -2359,6 +2370,8 @@
 
         /**
          * The mapping of stream type (integer) to its setting.
+         *
+         * @removed  Not used by anything since API 2.
          */
         public static final String[] VOLUME_SETTINGS = {
             VOLUME_VOICE, VOLUME_SYSTEM, VOLUME_RING, VOLUME_MUSIC,
@@ -2369,6 +2382,8 @@
          * Appended to various volume related settings to record the previous
          * values before they the settings were affected by a silent/vibrate
          * ringer mode change.
+         *
+         * @removed  Not used by anything since API 2.
          */
         public static final String APPEND_FOR_LAST_AUDIBLE = "_last_audible";
 
@@ -2982,20 +2997,6 @@
             SCREEN_AUTO_BRIGHTNESS_ADJ,
             VIBRATE_INPUT_DEVICES,
             MODE_RINGER_STREAMS_AFFECTED,
-            VOLUME_VOICE,
-            VOLUME_SYSTEM,
-            VOLUME_RING,
-            VOLUME_MUSIC,
-            VOLUME_ALARM,
-            VOLUME_NOTIFICATION,
-            VOLUME_BLUETOOTH_SCO,
-            VOLUME_VOICE + APPEND_FOR_LAST_AUDIBLE,
-            VOLUME_SYSTEM + APPEND_FOR_LAST_AUDIBLE,
-            VOLUME_RING + APPEND_FOR_LAST_AUDIBLE,
-            VOLUME_MUSIC + APPEND_FOR_LAST_AUDIBLE,
-            VOLUME_ALARM + APPEND_FOR_LAST_AUDIBLE,
-            VOLUME_NOTIFICATION + APPEND_FOR_LAST_AUDIBLE,
-            VOLUME_BLUETOOTH_SCO + APPEND_FOR_LAST_AUDIBLE,
             TEXT_AUTO_REPLACE,
             TEXT_AUTO_CAPS,
             TEXT_AUTO_PUNCTUATE,
@@ -3168,7 +3169,6 @@
             VALIDATORS.put(ADVANCED_SETTINGS, ADVANCED_SETTINGS_VALIDATOR);
             VALIDATORS.put(SCREEN_AUTO_BRIGHTNESS_ADJ, SCREEN_AUTO_BRIGHTNESS_ADJ_VALIDATOR);
             VALIDATORS.put(VIBRATE_INPUT_DEVICES, VIBRATE_INPUT_DEVICES_VALIDATOR);
-            VALIDATORS.put(VOLUME_MASTER, VOLUME_MASTER_VALIDATOR);
             VALIDATORS.put(VOLUME_MASTER_MUTE, VOLUME_MASTER_MUTE_VALIDATOR);
             VALIDATORS.put(MICROPHONE_MUTE, MICROPHONE_MUTE_VALIDATOR);
             VALIDATORS.put(NOTIFICATIONS_USE_RING_VOLUME, NOTIFICATIONS_USE_RING_VOLUME_VALIDATOR);
@@ -7146,6 +7146,33 @@
         public static final String ENHANCED_4G_MODE_ENABLED = "volte_vt_enabled";
 
         /**
+         * Whether WFC is enabled
+         * <p>
+         * Type: int (0 for false, 1 for true)
+         *
+         * @hide
+         */
+        public static final String WFC_IMS_ENABLED = "wfc_ims_enabled";
+
+        /**
+         * WFC Mode.
+         * <p>
+         * Type: int - 2=Wi-Fi preferred, 1=Cellular preferred, 0=Wi-Fi only
+         *
+         * @hide
+         */
+        public static final String WFC_IMS_MODE = "wfc_ims_mode";
+
+        /**
+         * Whether WFC roaming is enabled
+         * <p>
+         * Type: int (0 for false, 1 for true)
+         *
+         * @hide
+         */
+        public static final String WFC_IMS_ROAMING_ENABLED = "wfc_ims_roaming_enabled";
+
+        /**
          * Global override to disable VoLTE (independent of user setting)
          * <p>
          * Type: int (1 for disable VoLTE, 0 to use user configuration)
diff --git a/core/java/android/provider/VoicemailContract.java b/core/java/android/provider/VoicemailContract.java
index d71ad03..0da4fd5 100644
--- a/core/java/android/provider/VoicemailContract.java
+++ b/core/java/android/provider/VoicemailContract.java
@@ -19,10 +19,18 @@
 import android.Manifest;
 import android.annotation.SdkConstant;
 import android.annotation.SdkConstant.SdkConstantType;
+import android.content.ContentResolver;
+import android.content.ContentValues;
+import android.content.Context;
 import android.content.Intent;
 import android.database.ContentObserver;
+import android.database.Cursor;
 import android.net.Uri;
 import android.provider.CallLog.Calls;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.Voicemail;
+
+import java.util.List;
 
 /**
  * The contract between the voicemail provider and applications. Contains
@@ -199,13 +207,100 @@
          */
         public static final String _DATA = "_data";
 
+        // Note: PHONE_ACCOUNT_* constant values are "subscription_*" due to a historic naming
+        // that was encoded into call log databases.
+
+        /**
+         * The component name of the account in string form.
+         * <P>Type: TEXT</P>
+         */
+        public static final String PHONE_ACCOUNT_COMPONENT_NAME = "subscription_component_name";
+
+        /**
+         * The identifier of a account that is unique to a specified component.
+         * <P>Type: TEXT</P>
+         */
+        public static final String PHONE_ACCOUNT_ID = "subscription_id";
+
+        /**
+         * Flag used to indicate that local, unsynced changes are present.
+         * Currently, this is used to indicate that the voicemail was read or deleted.
+         * The value will be 1 if dirty is true, 0 if false.
+         * <P>Type: INTEGER (boolean)</P>
+         */
+        public static final String DIRTY = "dirty";
+
+        /**
+         * Flag used to indicate that the voicemail was deleted but not synced to the server.
+         * A deleted row should be ignored.
+         * The value will be 1 if deleted is true, 0 if false.
+         * <P>Type: INTEGER (boolean)</P>
+         */
+        public static final String DELETED = "deleted";
+
         /**
          * A convenience method to build voicemail URI specific to a source package by appending
          * {@link VoicemailContract#PARAM_KEY_SOURCE_PACKAGE} param to the base URI.
          */
         public static Uri buildSourceUri(String packageName) {
             return Voicemails.CONTENT_URI.buildUpon()
-                    .appendQueryParameter(PARAM_KEY_SOURCE_PACKAGE, packageName).build();
+                    .appendQueryParameter(PARAM_KEY_SOURCE_PACKAGE, packageName)
+                    .build();
+        }
+
+        /**
+         * Inserts a new voicemail into the voicemail content provider.
+         *
+         * @param context The context of the app doing the inserting
+         * @param voicemail Data to be inserted
+         * @return {@link Uri} of the newly inserted {@link Voicemail}
+         */
+        public static Uri insert(Context context, Voicemail voicemail) {
+            ContentResolver contentResolver = context.getContentResolver();
+            ContentValues contentValues = getContentValues(voicemail);
+            return contentResolver.insert(Voicemails.CONTENT_URI, contentValues);
+        }
+
+        /**
+         * Inserts a list of voicemails into the voicemail content provider.
+         *
+         * @param context The context of the app doing the inserting
+         * @param voicemails Data to be inserted
+         * @return the number of voicemails inserted
+         */
+        public static int insert(Context context, List<Voicemail> voicemails) {
+            ContentResolver contentResolver = context.getContentResolver();
+            int count = voicemails.size();
+            for (int i = 0; i < count; i++) {
+                ContentValues contentValues = getContentValues(voicemails.get(i));
+                contentResolver.insert(Voicemails.CONTENT_URI, contentValues);
+            }
+            return count;
+        }
+
+        /**
+         * Clears all voicemails accessible to this voicemail content provider for the calling
+         * package. By default, a package only has permission to delete voicemails it inserted.
+         *
+         * @return the number of voicemails deleted
+         */
+        public static int deleteAll(Context context) {
+            return context.getContentResolver().delete(
+                    buildSourceUri(context.getPackageName()), "", new String[0]);
+        }
+
+        /**
+         * Maps structured {@link Voicemail} to {@link ContentValues} in content provider.
+         */
+        private static ContentValues getContentValues(Voicemail voicemail) {
+            ContentValues contentValues = new ContentValues();
+            contentValues.put(Voicemails.DATE, String.valueOf(voicemail.getTimestampMillis()));
+            contentValues.put(Voicemails.NUMBER, voicemail.getNumber());
+            contentValues.put(Voicemails.DURATION, String.valueOf(voicemail.getDuration()));
+            contentValues.put(Voicemails.SOURCE_PACKAGE, voicemail.getSourcePackage());
+            contentValues.put(Voicemails.SOURCE_DATA, voicemail.getSourceData());
+            contentValues.put(Voicemails.IS_READ, voicemail.isRead() ? 1 : 0);
+            return contentValues;
         }
     }
 
@@ -222,10 +317,27 @@
         private Status() {
         }
         /**
-         * The package name of the voicemail source. There can only be a one entry per source.
+         * The package name of the voicemail source. There can only be a one entry per account
+         * per source.
          * <P>Type: TEXT</P>
          */
         public static final String SOURCE_PACKAGE = SOURCE_PACKAGE_FIELD;
+
+        // Note: Multiple entries may exist for a single source if they are differentiated by the
+        // PHONE_ACCOUNT_* fields.
+
+        /**
+         * The component name of the account in string form.
+         * <P>Type: TEXT</P>
+         */
+        public static final String PHONE_ACCOUNT_COMPONENT_NAME = "phone_account_component_name";
+
+        /**
+         * The identifier of a account that is unique to a specified component.
+         * <P>Type: TEXT</P>
+         */
+        public static final String PHONE_ACCOUNT_ID = "phone_account_id";
+
         /**
          * The URI to call to invoke source specific voicemail settings screen. On a user request
          * to setup voicemail an intent with action VIEW with this URI will be fired by the system.
@@ -318,5 +430,50 @@
             return Status.CONTENT_URI.buildUpon()
                     .appendQueryParameter(PARAM_KEY_SOURCE_PACKAGE, packageName).build();
         }
+
+        /**
+         * A helper method to set the status of a voicemail source.
+         *
+         * @param context The context from the package calling the method. This will be the source.
+         * @param accountHandle The handle for the account the source is associated with.
+         * @param configurationState See {@link Status#CONFIGURATION_STATE}
+         * @param dataChannelState See {@link Status#DATA_CHANNEL_STATE}
+         * @param notificationChannelState See {@link Status#NOTIFICATION_CHANNEL_STATE}
+         */
+        public static void setStatus(Context context, PhoneAccountHandle accountHandle,
+                int configurationState, int dataChannelState, int notificationChannelState) {
+            ContentResolver contentResolver = context.getContentResolver();
+            Uri statusUri = buildSourceUri(context.getPackageName());
+            ContentValues values = new ContentValues();
+            values.put(Status.PHONE_ACCOUNT_COMPONENT_NAME,
+                    accountHandle.getComponentName().toString());
+            values.put(Status.PHONE_ACCOUNT_ID, accountHandle.getId());
+            values.put(Status.CONFIGURATION_STATE, configurationState);
+            values.put(Status.DATA_CHANNEL_STATE, dataChannelState);
+            values.put(Status.NOTIFICATION_CHANNEL_STATE, notificationChannelState);
+
+            if (isStatusPresent(contentResolver, statusUri)) {
+                contentResolver.update(statusUri, values, null, null);
+            } else {
+                contentResolver.insert(statusUri, values);
+            }
+        }
+
+        /**
+         * Determines if a voicemail source exists in the status table.
+         *
+         * @param contentResolver A content resolver constructed from the appropriate context.
+         * @param statusUri The content uri for the source.
+         * @return {@code true} if a status entry for this source exists
+         */
+        private static boolean isStatusPresent(ContentResolver contentResolver, Uri statusUri) {
+            Cursor cursor = null;
+            try {
+                cursor = contentResolver.query(statusUri, null, null, null, null);
+                return cursor != null && cursor.getCount() != 0;
+            } finally {
+                if (cursor != null) cursor.close();
+            }
+        }
     }
 }
diff --git a/core/java/android/security/keymaster/KeyCharacteristics.java b/core/java/android/security/keymaster/KeyCharacteristics.java
index b803a1b..0f1d422 100644
--- a/core/java/android/security/keymaster/KeyCharacteristics.java
+++ b/core/java/android/security/keymaster/KeyCharacteristics.java
@@ -19,8 +19,6 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 
-import java.util.List;
-
 /**
  * @hide
  */
diff --git a/core/java/android/security/keymaster/KeymasterBlobArgument.java b/core/java/android/security/keymaster/KeymasterBlobArgument.java
index 27f1153..9af4445 100644
--- a/core/java/android/security/keymaster/KeymasterBlobArgument.java
+++ b/core/java/android/security/keymaster/KeymasterBlobArgument.java
@@ -17,7 +17,6 @@
 package android.security.keymaster;
 
 import android.os.Parcel;
-import android.os.Parcelable;
 
 /**
  * @hide
diff --git a/core/java/android/security/keymaster/KeymasterBooleanArgument.java b/core/java/android/security/keymaster/KeymasterBooleanArgument.java
index 8e17db4..5481e8f 100644
--- a/core/java/android/security/keymaster/KeymasterBooleanArgument.java
+++ b/core/java/android/security/keymaster/KeymasterBooleanArgument.java
@@ -17,7 +17,6 @@
 package android.security.keymaster;
 
 import android.os.Parcel;
-import android.os.Parcelable;
 
 /**
  * @hide
diff --git a/core/java/android/security/keymaster/KeymasterDateArgument.java b/core/java/android/security/keymaster/KeymasterDateArgument.java
index e8f4055..310f546 100644
--- a/core/java/android/security/keymaster/KeymasterDateArgument.java
+++ b/core/java/android/security/keymaster/KeymasterDateArgument.java
@@ -17,8 +17,6 @@
 package android.security.keymaster;
 
 import android.os.Parcel;
-import android.os.Parcelable;
-
 import java.util.Date;
 
 /**
diff --git a/core/java/android/security/keymaster/KeymasterIntArgument.java b/core/java/android/security/keymaster/KeymasterIntArgument.java
index 71797ae..c3738d7 100644
--- a/core/java/android/security/keymaster/KeymasterIntArgument.java
+++ b/core/java/android/security/keymaster/KeymasterIntArgument.java
@@ -17,7 +17,6 @@
 package android.security.keymaster;
 
 import android.os.Parcel;
-import android.os.Parcelable;
 
 /**
  * @hide
diff --git a/core/java/android/security/keymaster/KeymasterLongArgument.java b/core/java/android/security/keymaster/KeymasterLongArgument.java
index 781b1ab..3c565b8 100644
--- a/core/java/android/security/keymaster/KeymasterLongArgument.java
+++ b/core/java/android/security/keymaster/KeymasterLongArgument.java
@@ -17,7 +17,6 @@
 package android.security.keymaster;
 
 import android.os.Parcel;
-import android.os.Parcelable;
 
 /**
  * @hide
diff --git a/core/java/android/security/keymaster/OperationResult.java b/core/java/android/security/keymaster/OperationResult.java
index ad54c96..4fc9d24 100644
--- a/core/java/android/security/keymaster/OperationResult.java
+++ b/core/java/android/security/keymaster/OperationResult.java
@@ -20,8 +20,6 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 
-import java.util.List;
-
 /**
  * Class for handling the parceling of return values from keymaster crypto operations
  * (begin/update/finish).
diff --git a/core/java/android/service/carrier/CarrierMessagingService.java b/core/java/android/service/carrier/CarrierMessagingService.java
index 3d6ebca..0592a84 100644
--- a/core/java/android/service/carrier/CarrierMessagingService.java
+++ b/core/java/android/service/carrier/CarrierMessagingService.java
@@ -23,11 +23,8 @@
 import android.content.Intent;
 import android.net.Uri;
 import android.os.IBinder;
-import android.os.Parcel;
-import android.os.Parcelable;
 import android.os.RemoteException;
 
-import java.util.ArrayList;
 import java.util.List;
 
 /**
diff --git a/core/java/android/service/chooser/ChooserTarget.aidl b/core/java/android/service/chooser/ChooserTarget.aidl
new file mode 100644
index 0000000..ca91bc8
--- /dev/null
+++ b/core/java/android/service/chooser/ChooserTarget.aidl
@@ -0,0 +1,19 @@
+/*
+ * 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.service.chooser;
+
+parcelable ChooserTarget;
diff --git a/core/java/android/service/chooser/ChooserTarget.java b/core/java/android/service/chooser/ChooserTarget.java
new file mode 100644
index 0000000..7fd1d10
--- /dev/null
+++ b/core/java/android/service/chooser/ChooserTarget.java
@@ -0,0 +1,248 @@
+/*
+ * 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.service.chooser;
+
+import android.app.PendingIntent;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.IntentSender;
+import android.graphics.Bitmap;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.util.Log;
+
+/**
+ * A ChooserTarget represents a deep-link into an application as returned by a
+ * {@link android.service.chooser.ChooserTargetService}.
+ */
+public final class ChooserTarget implements Parcelable {
+    private static final String TAG = "ChooserTarget";
+
+    /**
+     * The title of this target that will be shown to the user. The title may be truncated
+     * if it is too long to display in the space provided.
+     */
+    private CharSequence mTitle;
+
+    /**
+     * The icon that will be shown to the user to represent this target.
+     * The system may resize this icon as appropriate.
+     */
+    private Bitmap mIcon;
+
+    /**
+     * The IntentSender that will be used to deliver the intent to the target.
+     * It will be {@link android.content.Intent#fillIn(android.content.Intent, int)} filled in}
+     * by the real intent sent by the application.
+     */
+    private IntentSender mIntentSender;
+
+    /**
+     * The score given to this item. It can be normalized.
+     */
+    private float mScore;
+
+    /**
+     * Construct a deep link target for presentation by a chooser UI.
+     *
+     * <p>A target is composed of a title and an icon for presentation to the user.
+     * The UI presenting this target may truncate the title if it is too long to be presented
+     * in the available space, as well as crop, resize or overlay the supplied icon.</p>
+     *
+     * <p>The creator of a target may supply a ranking score. This score is assumed to be relative
+     * to the other targets supplied by the same
+     * {@link ChooserTargetService#onGetChooserTargets(ComponentName, IntentFilter) query}.
+     * Scores should be in the range from 0.0f (unlikely match) to 1.0f (very relevant match).</p>
+     *
+     * <p>Before being sent, the PendingIntent supplied will be
+     * {@link Intent#fillIn(Intent, int) filled in} by the Intent originally supplied
+     * to the chooser. When constructing a PendingIntent for use in a ChooserTarget, make sure
+     * that you permit the relevant fields to be filled in using the appropriate flags such as
+     * {@link Intent#FILL_IN_ACTION}, {@link Intent#FILL_IN_CATEGORIES},
+     * {@link Intent#FILL_IN_DATA} and {@link Intent#FILL_IN_CLIP_DATA}. Note that
+     * {@link Intent#FILL_IN_CLIP_DATA} is required to appropriately receive URI permission grants
+     * for {@link Intent#ACTION_SEND} intents.</p>
+     *
+     * <p>Take care not to place custom {@link android.os.Parcelable} types into
+     * the PendingIntent as extras, as the system will not be able to unparcel it to merge
+     * additional extras.</p>
+     *
+     * @param title title of this target that will be shown to a user
+     * @param icon icon to represent this target
+     * @param score ranking score for this target between 0.0f and 1.0f, inclusive
+     * @param pendingIntent PendingIntent to fill in and send if the user chooses this target
+     */
+    public ChooserTarget(CharSequence title, Bitmap icon, float score,
+            PendingIntent pendingIntent) {
+        this(title, icon, score, pendingIntent.getIntentSender());
+    }
+
+    /**
+     * Construct a deep link target for presentation by a chooser UI.
+     *
+     * <p>A target is composed of a title and an icon for presentation to the user.
+     * The UI presenting this target may truncate the title if it is too long to be presented
+     * in the available space, as well as crop, resize or overlay the supplied icon.</p>
+     *
+     * <p>The creator of a target may supply a ranking score. This score is assumed to be relative
+     * to the other targets supplied by the same
+     * {@link ChooserTargetService#onGetChooserTargets(ComponentName, IntentFilter) query}.
+     * Scores should be in the range from 0.0f (unlikely match) to 1.0f (very relevant match).</p>
+     *
+     * <p>Before being sent, the IntentSender supplied will be
+     * {@link Intent#fillIn(Intent, int) filled in} by the Intent originally supplied
+     * to the chooser. When constructing an IntentSender for use in a ChooserTarget, make sure
+     * that you permit the relevant fields to be filled in using the appropriate flags such as
+     * {@link Intent#FILL_IN_ACTION}, {@link Intent#FILL_IN_CATEGORIES},
+     * {@link Intent#FILL_IN_DATA} and {@link Intent#FILL_IN_CLIP_DATA}. Note that
+     * {@link Intent#FILL_IN_CLIP_DATA} is required to appropriately receive URI permission grants
+     * for {@link Intent#ACTION_SEND} intents.</p>
+     *
+     * <p>Take care not to place custom {@link android.os.Parcelable} types into
+     * the IntentSender as extras, as the system will not be able to unparcel it to merge
+     * additional extras.</p>
+     *
+     * @param title title of this target that will be shown to a user
+     * @param icon icon to represent this target
+     * @param score ranking score for this target between 0.0f and 1.0f, inclusive
+     * @param intentSender IntentSender to fill in and send if the user chooses this target
+     */
+    public ChooserTarget(CharSequence title, Bitmap icon, float score, IntentSender intentSender) {
+        mTitle = title;
+        mIcon = icon;
+        if (score > 1.f || score < 0.f) {
+            throw new IllegalArgumentException("Score " + score + " out of range; "
+                    + "must be between 0.0f and 1.0f");
+        }
+        mScore = score;
+        mIntentSender = intentSender;
+    }
+
+    ChooserTarget(Parcel in) {
+        mTitle = in.readCharSequence();
+        if (in.readInt() != 0) {
+            mIcon = Bitmap.CREATOR.createFromParcel(in);
+        } else {
+            mIcon = null;
+        }
+        mScore = in.readFloat();
+        mIntentSender = IntentSender.readIntentSenderOrNullFromParcel(in);
+    }
+
+    /**
+     * Returns the title of this target for display to a user. The UI displaying the title
+     * may truncate this title if it is too long to be displayed in full.
+     *
+     * @return the title of this target, intended to be shown to a user
+     */
+    public CharSequence getTitle() {
+        return mTitle;
+    }
+
+    /**
+     * Returns the icon representing this target for display to a user. The UI displaying the icon
+     * may crop, resize or overlay this icon.
+     *
+     * @return the icon representing this target, intended to be shown to a user
+     */
+    public Bitmap getIcon() {
+        return mIcon;
+    }
+
+    /**
+     * Returns the ranking score supplied by the creator of this ChooserTarget.
+     * Values are between 0.0f and 1.0f. The UI displaying the target may
+     * take this score into account when sorting and merging targets from multiple sources.
+     *
+     * @return the ranking score for this target between 0.0f and 1.0f, inclusive
+     */
+    public float getScore() {
+        return mScore;
+    }
+
+    /**
+     * Returns the raw IntentSender supplied by the ChooserTarget's creator.
+     *
+     * <p>To fill in and send the intent, see {@link #sendIntent(Context, Intent)}.</p>
+     *
+     * @return the IntentSender supplied by the ChooserTarget's creator
+     */
+    public IntentSender getIntentSender() {
+        return mIntentSender;
+    }
+
+    /**
+     * Fill in the IntentSender supplied by the ChooserTarget's creator and send it.
+     *
+     * @param context the sending Context; generally the Activity presenting the chooser UI
+     * @param fillInIntent the Intent provided to the Chooser to be sent to a selected target
+     * @return true if sending the Intent was successful
+     */
+    public boolean sendIntent(Context context, Intent fillInIntent) {
+        if (fillInIntent != null) {
+            fillInIntent.migrateExtraStreamToClipData();
+            fillInIntent.prepareToLeaveProcess();
+        }
+        try {
+            mIntentSender.sendIntent(context, 0, fillInIntent, null, null);
+            return true;
+        } catch (IntentSender.SendIntentException e) {
+            Log.e(TAG, "sendIntent " + this + " failed", e);
+            return false;
+        }
+    }
+
+    @Override
+    public String toString() {
+        return "ChooserTarget{" + mIntentSender.getCreatorPackage() + "'" + mTitle
+                + "', " + mScore + "}";
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeCharSequence(mTitle);
+        if (mIcon != null) {
+            dest.writeInt(1);
+            mIcon.writeToParcel(dest, 0);
+        } else {
+            dest.writeInt(0);
+        }
+        dest.writeFloat(mScore);
+        IntentSender.writeIntentSenderOrNullToParcel(mIntentSender, dest);
+    }
+
+    public static final Creator<ChooserTarget> CREATOR
+            = new Creator<ChooserTarget>() {
+        @Override
+        public ChooserTarget createFromParcel(Parcel source) {
+            return new ChooserTarget(source);
+        }
+
+        @Override
+        public ChooserTarget[] newArray(int size) {
+            return new ChooserTarget[size];
+        }
+    };
+}
diff --git a/core/java/android/service/chooser/ChooserTargetService.java b/core/java/android/service/chooser/ChooserTargetService.java
new file mode 100644
index 0000000..9188806
--- /dev/null
+++ b/core/java/android/service/chooser/ChooserTargetService.java
@@ -0,0 +1,130 @@
+/*
+ * 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.service.chooser;
+
+import android.annotation.SdkConstant;
+import android.app.Service;
+import android.content.ComponentName;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.IBinder;
+import android.os.RemoteException;
+
+import java.util.List;
+
+/**
+ * A service that receives calls from the system when the user is asked to choose
+ * a target for an intent explicitly by another app. The calling app must have invoked
+ * {@link android.content.Intent#ACTION_CHOOSER ACTION_CHOOSER} as handled by the system;
+ * applications do not have the ability to query a ChooserTargetService directly.
+ *
+ * <p>Which ChooserTargetServices are queried depends on a system-level policy decision
+ * made at the moment the chooser is invoked, including but not limited to user time
+ * spent with the app package or associated components in the foreground, recency of usage
+ * or frequency of usage. These will generally correlate with the order that app targets
+ * are shown in the list of intent handlers shown in the system chooser or resolver.</p>
+ *
+ * <p>To extend this class, you must declare the service in your manifest file with
+ * the {@link android.Manifest.permission#BIND_CHOOSER_TARGET_SERVICE} permission
+ * and include an intent filter with the {@link #SERVICE_INTERFACE} action. For example:</p>
+ * <pre>
+ *     &lt;service android:name=".ChooserTargetService"
+ *             android:label="&#64;string/service_name"
+ *             android:permission="android.permission.BIND_CHOOSER_TARGET_SERVICE">
+ *         &lt;intent-filter>
+ *             &lt;action android:name="android.service.chooser.ChooserTargetService" />
+ *         &lt;/intent-filter>
+ *     &lt;/service>
+ * </pre>
+ *
+ * <p>For the system to query your service, you must add a &lt;meta-data> element to the
+ * Activity in your manifest that can handle Intents that you would also like to provide
+ * optional deep links for. For example, a chat app might offer deep links to recent active
+ * conversations instead of invoking a generic picker after the app itself is chosen as a target.
+ * </p>
+ *
+ * <p>The meta-data element should have the name
+ * <code>android.service.chooser.chooser_target_service</code> and a value corresponding to
+ * the component name of your service. Example:</p>
+ * <pre>
+ *     &lt;activity android:name=".MyShareActivity"
+ *             android:label="&#64;string/share_activity_label">
+ *         &lt;intent-filter>
+ *             &lt;action android:name="android.intent.action.SEND" />
+ *         &lt;/intent-filter>
+ *         &lt;meta-data android:name="android.service.chooser.chooser_target_service"
+ *                 android:value=".ChooserTargetService" />
+ *     &lt;/activity>
+ * </pre>
+ */
+public abstract class ChooserTargetService extends Service {
+    // TAG = "ChooserTargetService[MySubclass]";
+    private final String TAG = ChooserTargetService.class.getSimpleName()
+            + '[' + getClass().getSimpleName() + ']';
+
+    @SdkConstant(SdkConstant.SdkConstantType.SERVICE_ACTION)
+    public static final String SERVICE_INTERFACE = "android.service.chooser.ChooserTargetService";
+
+    private IChooserTargetServiceWrapper mWrapper = null;
+
+    /**
+     * Called by the system to retrieve a set of deep-link {@link ChooserTarget targets} that
+     * can handle an intent.
+     *
+     * <p>The returned list should be sorted such that the most relevant targets appear first.
+     * Any PendingIntents used to construct the resulting ChooserTargets should always be prepared
+     * to have the relevant data fields filled in by the sender. See
+     * {@link ChooserTarget#ChooserTarget(CharSequence, android.graphics.Bitmap, float, android.app.PendingIntent) ChooserTarget}.</p>
+     *
+     * <p><em>Important:</em> Calls to this method from other applications will occur on
+     * a binder thread, not on your app's main thread. Make sure that access to relevant data
+     * within your app is thread-safe.</p>
+     *
+     * @param targetActivityName the ComponentName of the matched activity that referred the system
+     *                           to this ChooserTargetService
+     * @param matchedFilter the specific IntentFilter on the component that was matched
+     * @return a list of deep-link targets to fulfill the intent match, sorted by relevance
+     */
+    public abstract List<ChooserTarget> onGetChooserTargets(ComponentName targetActivityName,
+            IntentFilter matchedFilter);
+
+    @Override
+    public IBinder onBind(Intent intent) {
+        if (!SERVICE_INTERFACE.equals(intent.getAction())) {
+            return null;
+        }
+
+        if (mWrapper == null) {
+            mWrapper = new IChooserTargetServiceWrapper();
+        }
+        return mWrapper;
+    }
+
+    private class IChooserTargetServiceWrapper extends IChooserTargetService.Stub {
+        @Override
+        public void getChooserTargets(ComponentName targetComponentName,
+                IntentFilter matchedFilter, IChooserTargetResult result) throws RemoteException {
+            List<ChooserTarget> targets = null;
+            try {
+                targets = onGetChooserTargets(targetComponentName, matchedFilter);
+            } finally {
+                result.sendResult(targets);
+            }
+        }
+    }
+}
diff --git a/core/java/android/service/chooser/IChooserTargetResult.aidl b/core/java/android/service/chooser/IChooserTargetResult.aidl
new file mode 100644
index 0000000..dbd7cbd
--- /dev/null
+++ b/core/java/android/service/chooser/IChooserTargetResult.aidl
@@ -0,0 +1,27 @@
+/*
+ * 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.service.chooser;
+
+import android.service.chooser.ChooserTarget;
+
+/**
+ * @hide
+ */
+interface IChooserTargetResult
+{
+    void sendResult(in List<ChooserTarget> targets);
+}
diff --git a/core/java/android/service/chooser/IChooserTargetService.aidl b/core/java/android/service/chooser/IChooserTargetService.aidl
new file mode 100644
index 0000000..6cfa9a2
--- /dev/null
+++ b/core/java/android/service/chooser/IChooserTargetService.aidl
@@ -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.
+ */
+
+package android.service.chooser;
+
+import android.content.ComponentName;
+import android.content.IntentFilter;
+import android.service.chooser.IChooserTargetResult;
+
+/**
+ * @hide
+ */
+oneway interface IChooserTargetService
+{
+    void getChooserTargets(in ComponentName targetComponentName,
+            in IntentFilter matchedFilter, IChooserTargetResult result);
+}
\ No newline at end of file
diff --git a/core/java/android/service/dreams/DreamService.java b/core/java/android/service/dreams/DreamService.java
index df4d7e0..822bfcc 100644
--- a/core/java/android/service/dreams/DreamService.java
+++ b/core/java/android/service/dreams/DreamService.java
@@ -344,6 +344,13 @@
 
     /** {@inheritDoc} */
     @Override
+    public ActionMode onWindowStartingActionMode(
+            android.view.ActionMode.Callback callback, int type) {
+        return null;
+    }
+
+    /** {@inheritDoc} */
+    @Override
     public void onActionModeStarted(ActionMode mode) {
     }
 
diff --git a/core/java/android/service/fingerprint/FingerprintManager.java b/core/java/android/service/fingerprint/FingerprintManager.java
index 178cc8b..6375668 100644
--- a/core/java/android/service/fingerprint/FingerprintManager.java
+++ b/core/java/android/service/fingerprint/FingerprintManager.java
@@ -17,11 +17,8 @@
 package android.service.fingerprint;
 
 import android.app.ActivityManagerNative;
-import android.content.ComponentName;
 import android.content.ContentResolver;
 import android.content.Context;
-import android.content.Intent;
-import android.content.ServiceConnection;
 import android.os.Binder;
 import android.os.Handler;
 import android.os.IBinder;
@@ -31,6 +28,9 @@
 import android.util.Log;
 import android.util.Slog;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * A class that coordinates access to the fingerprint hardware.
  * @hide
@@ -97,6 +97,15 @@
         }
     };
 
+    public static final class FingerprintItem {
+        public CharSequence name;
+        public int id;
+        FingerprintItem(CharSequence name, int id) {
+            this.name = name;
+            this.id = id;
+        }
+    }
+
     /**
      * @hide
      */
@@ -248,4 +257,57 @@
     private void sendError(int msg, int arg1, int arg2) {
         mHandler.obtainMessage(msg, arg1, arg2);
     }
+
+    /**
+     * @return list of current fingerprint items
+     * @hide
+     */
+    public List<FingerprintItem> getEnrolledFingerprints() {
+        int[] ids = FingerprintUtils.getFingerprintIdsForUser(mContext.getContentResolver(),
+                getCurrentUserId());
+        List<FingerprintItem> result = new ArrayList<FingerprintItem>();
+        for (int i = 0; i < ids.length; i++) {
+            // TODO: persist names in Settings
+            FingerprintItem item = new FingerprintItem("Finger" + ids[i], ids[i]);
+            result.add(item);
+        }
+        return result;
+    }
+
+    /**
+     * Determine if fingerprint hardware is present and functional.
+     * @return true if hardware is present and functional, false otherwise.
+     * @hide
+     */
+    public boolean isHardwareDetected() {
+        if (mService != null) {
+            try {
+                return mService.isHardwareDetected();
+            } catch (RemoteException e) {
+                Log.v(TAG, "Remote exception in isFingerprintHardwareDetected(): ", e);
+            }
+        } else {
+            Log.w(TAG, "isFingerprintHardwareDetected(): Service not connected!");
+        }
+        return false;
+    }
+
+    /**
+     * Renames the given fingerprint template
+     * @param fpId the fingerprint id
+     * @param newName the new name
+     * @hide
+     */
+    public void rename(int fpId, String newName) {
+        // Renames the given fpId
+        if (mService != null) {
+            try {
+                mService.rename(fpId, newName);
+            } catch (RemoteException e) {
+                Log.v(TAG, "Remote exception in rename(): ", e);
+            }
+        } else {
+            Log.w(TAG, "rename(): Service not connected!");
+        }
+    }
 }
\ No newline at end of file
diff --git a/core/java/android/service/fingerprint/FingerprintUtils.java b/core/java/android/service/fingerprint/FingerprintUtils.java
index a4caf8e..cc17b99 100644
--- a/core/java/android/service/fingerprint/FingerprintUtils.java
+++ b/core/java/android/service/fingerprint/FingerprintUtils.java
@@ -21,7 +21,11 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import com.android.internal.util.ArrayUtils;
+
+import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.List;
 
 /**
  * Utility class for dealing with fingerprints and fingerprint settings.
@@ -32,34 +36,50 @@
     private static final boolean DEBUG = true;
     private static final String TAG = "FingerprintUtils";
 
+    private static int[] toIntArray(List<Integer> list) {
+        if (list == null) {
+            return null;
+        }
+        int[] arr = new int[list.size()];
+        int i = 0;
+        for (int elem : list) {
+            arr[i] = elem;
+            i++;
+        }
+        return arr;
+    }
+
     public static int[] getFingerprintIdsForUser(ContentResolver res, int userId) {
         String fingerIdsRaw = Settings.Secure.getStringForUser(res,
                 Settings.Secure.USER_FINGERPRINT_IDS, userId);
-
-        int result[] = {};
+        ArrayList<Integer> tmp = new ArrayList<Integer>();
         if (!TextUtils.isEmpty(fingerIdsRaw)) {
             String[] fingerStringIds = fingerIdsRaw.replace("[","").replace("]","").split(", ");
-            result = new int[fingerStringIds.length];
-            for (int i = 0; i < result.length; i++) {
+            int length = fingerStringIds.length;
+            for (int i = 0; i < length; i++) {
                 try {
-                    result[i] = Integer.decode(fingerStringIds[i]);
+                    tmp.add(Integer.decode(fingerStringIds[i]));
                 } catch (NumberFormatException e) {
-                    if (DEBUG) Log.d(TAG, "Error when parsing finger id " + fingerStringIds[i]);
+                    if (DEBUG) Log.w(TAG, "Error parsing finger id: '" + fingerStringIds[i] + "'");
                 }
             }
         }
-        return result;
+        return toIntArray(tmp);
     }
 
     public static void addFingerprintIdForUser(int fingerId, ContentResolver res, int userId) {
+        // FingerId 0 has special meaning.
+        if (fingerId == 0) {
+            Log.w(TAG, "Tried to add fingerId 0");
+            return;
+        }
+
         int[] fingerIds = getFingerprintIdsForUser(res, userId);
 
-        // FingerId 0 has special meaning.
-        if (fingerId == 0) return;
-
         // Don't allow dups
-        for (int i = 0; i < fingerIds.length; i++) {
-            if (fingerIds[i] == fingerId) return;
+        if (ArrayUtils.contains(fingerIds, fingerId)) {
+            Log.w(TAG, "finger already added " + fingerId);
+            return;
         }
         int[] newList = Arrays.copyOf(fingerIds, fingerIds.length + 1);
         newList[fingerIds.length] = fingerId;
@@ -72,19 +92,13 @@
         // FingerId 0 has special meaning. The HAL layer is supposed to remove each finger one
         // at a time and invoke notify() for each fingerId.  If we get called with 0 here, it means
         // something bad has happened.
-        if (fingerId == 0) throw new IllegalStateException("Bad fingerId");
+        if (fingerId == 0) throw new IllegalArgumentException("fingerId can't be 0");
 
-        int[] fingerIds = getFingerprintIdsForUser(res, userId);
-        int[] resultIds = Arrays.copyOf(fingerIds, fingerIds.length);
-        int resultCount = 0;
-        for (int i = 0; i < fingerIds.length; i++) {
-            if (fingerId != fingerIds[i]) {
-                resultIds[resultCount++] = fingerIds[i];
-            }
-        }
-        if (resultCount > 0) {
+        final int[] fingerIds = getFingerprintIdsForUser(res, userId);
+        if (ArrayUtils.contains(fingerIds, fingerId)) {
+            final int[] result = ArrayUtils.removeInt(fingerIds, fingerId);
             Settings.Secure.putStringForUser(res, Settings.Secure.USER_FINGERPRINT_IDS,
-                    Arrays.toString(Arrays.copyOf(resultIds, resultCount)), userId);
+                    Arrays.toString(result), userId);
             return true;
         }
         return false;
diff --git a/core/java/android/service/fingerprint/IFingerprintService.aidl b/core/java/android/service/fingerprint/IFingerprintService.aidl
index 43d5e9a..9b4750b 100644
--- a/core/java/android/service/fingerprint/IFingerprintService.aidl
+++ b/core/java/android/service/fingerprint/IFingerprintService.aidl
@@ -22,10 +22,10 @@
  * Communication channel from client to the fingerprint service.
  * @hide
  */
-oneway interface IFingerprintService {
+interface IFingerprintService {
     // Any errors resulting from this call will be returned to the listener
     void enroll(IBinder token, long timeout, int userId);
-    
+
     // Any errors resulting from this call will be returned to the listener
     void enrollCancel(IBinder token, int userId);
 
@@ -38,4 +38,10 @@
 
     // Stops listening for fingerprints
     void stopListening(IBinder token, int userId);
+
+    // Determine if HAL is loaded and ready
+    boolean isHardwareDetected();
+
+    // Rename the given fingerprint id
+    void rename(int fpId, String name);
 }
diff --git a/core/java/android/service/restrictions/RestrictionsReceiver.java b/core/java/android/service/restrictions/RestrictionsReceiver.java
index 7c6e1f6..b830cb1 100644
--- a/core/java/android/service/restrictions/RestrictionsReceiver.java
+++ b/core/java/android/service/restrictions/RestrictionsReceiver.java
@@ -21,7 +21,6 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.RestrictionsManager;
-import android.os.IBinder;
 import android.os.PersistableBundle;
 
 /**
diff --git a/core/java/android/service/trust/TrustAgentService.java b/core/java/android/service/trust/TrustAgentService.java
index 62fa978..a3178e2 100644
--- a/core/java/android/service/trust/TrustAgentService.java
+++ b/core/java/android/service/trust/TrustAgentService.java
@@ -25,13 +25,10 @@
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.pm.ServiceInfo;
-import android.os.Bundle;
 import android.os.Handler;
 import android.os.IBinder;
-import android.os.Message;
 import android.os.PersistableBundle;
 import android.os.RemoteException;
-import android.os.SystemClock;
 import android.util.Log;
 import android.util.Slog;
 
@@ -125,12 +122,14 @@
                 case MSG_CONFIGURE:
                     ConfigurationData data = (ConfigurationData) msg.obj;
                     boolean result = onConfigure(data.options);
-                    try {
-                        synchronized (mLock) {
-                            mCallback.onConfigureCompleted(result, data.token);
+                    if (data.token != null) {
+                        try {
+                            synchronized (mLock) {
+                                mCallback.onConfigureCompleted(result, data.token);
+                            }
+                        } catch (RemoteException e) {
+                            onError("calling onSetTrustAgentFeaturesEnabledCompleted()");
                         }
-                    } catch (RemoteException e) {
-                        onError("calling onSetTrustAgentFeaturesEnabledCompleted()");
                     }
                     break;
                 case MSG_TRUST_TIMEOUT:
@@ -206,7 +205,7 @@
      * PersistableBundle)}.
      * <p>Agents that support configuration options should overload this method and return 'true'.
      *
-     * @param options bundle containing all options or null if none.
+     * @param options The aggregated list of options or an empty list if no restrictions apply.
      * @return true if the {@link TrustAgentService} supports configuration options.
      */
     public boolean onConfigure(List<PersistableBundle> options) {
diff --git a/core/java/android/service/voice/IVoiceInteractionSession.aidl b/core/java/android/service/voice/IVoiceInteractionSession.aidl
index a8c0c4c..797457a 100644
--- a/core/java/android/service/voice/IVoiceInteractionSession.aidl
+++ b/core/java/android/service/voice/IVoiceInteractionSession.aidl
@@ -23,6 +23,8 @@
  * @hide
  */
 oneway interface IVoiceInteractionSession {
+    void show(in Bundle sessionArgs, int flags);
+    void hide();
     void handleAssist(in Bundle assistData);
     void taskStarted(in Intent intent, int taskId);
     void taskFinished(in Intent intent, int taskId);
diff --git a/core/java/android/service/voice/VoiceInteractionService.java b/core/java/android/service/voice/VoiceInteractionService.java
index 54a3a0a..0c01b25 100644
--- a/core/java/android/service/voice/VoiceInteractionService.java
+++ b/core/java/android/service/voice/VoiceInteractionService.java
@@ -71,7 +71,7 @@
     public static final String SERVICE_META_DATA = "android.voice_interaction";
 
     /**
-     * Flag for use with {@link #startSession}: request that the session be started with
+     * Flag for use with {@link #showSession: request that the session be started with
      * assist data from the currently focused activity.
      */
     public static final int START_WITH_ASSIST = 1<<0;
@@ -139,20 +139,25 @@
     }
 
     /**
-     * Initiate the execution of a new {@link android.service.voice.VoiceInteractionSession}.
+     * Request that the associated {@link android.service.voice.VoiceInteractionSession} be
+     * shown to the user, starting it if necessary.
      * @param args Arbitrary arguments that will be propagated to the session.
      */
-    public void startSession(Bundle args, int flags) {
+    public void showSession(Bundle args, int flags) {
         if (mSystemService == null) {
             throw new IllegalStateException("Not available until onReady() is called");
         }
         try {
-            mSystemService.startSession(mInterface, args, flags);
+            mSystemService.showSession(mInterface, args, flags);
         } catch (RemoteException e) {
         }
     }
 
     /** @hide */
+    public void startSession(Bundle args, int flags) {
+        showSession(args, flags);
+    }
+    /** @hide */
     public void startSession(Bundle args) {
         startSession(args, 0);
     }
@@ -174,7 +179,7 @@
     /**
      * Called during service initialization to tell you when the system is ready
      * to receive interaction from it. You should generally do initialization here
-     * rather than in {@link #onCreate}. Methods such as {@link #startSession} and
+     * rather than in {@link #onCreate}. Methods such as {@link #showSession} and
      * {@link #createAlwaysOnHotwordDetector}
      * will not be operational until this point.
      */
diff --git a/core/java/android/service/voice/VoiceInteractionSession.java b/core/java/android/service/voice/VoiceInteractionSession.java
index a3a2ca1..4cf0e4c 100644
--- a/core/java/android/service/voice/VoiceInteractionSession.java
+++ b/core/java/android/service/voice/VoiceInteractionSession.java
@@ -53,10 +53,9 @@
 
 /**
  * An active voice interaction session, providing a facility for the implementation
- * to interact with the user in the voice interaction layer.  This interface is no shown
- * by default, but you can request that it be shown with {@link #showWindow()}, which
- * will result in a later call to {@link #onCreateContentView()} in which the UI can be
- * built
+ * to interact with the user in the voice interaction layer.  The user interface is
+ * initially shown by default, and can be created be overriding {@link #onCreateContentView()}
+ * in which the UI can be built.
  *
  * <p>A voice interaction session can be self-contained, ultimately calling {@link #finish}
  * when done.  It can also initiate voice interactions with applications by calling
@@ -151,6 +150,17 @@
 
     final IVoiceInteractionSession mSession = new IVoiceInteractionSession.Stub() {
         @Override
+        public void show(Bundle sessionArgs, int flags) {
+            mHandlerCaller.sendMessage(mHandlerCaller.obtainMessageIO(MSG_SHOW,
+                    flags, sessionArgs));
+        }
+
+        @Override
+        public void hide() {
+            mHandlerCaller.sendMessage(mHandlerCaller.obtainMessage(MSG_HIDE));
+        }
+
+        @Override
         public void handleAssist(Bundle assistBundle) {
             mHandlerCaller.sendMessage(mHandlerCaller.obtainMessageO(MSG_HANDLE_ASSIST,
                     assistBundle));
@@ -284,6 +294,8 @@
     static final int MSG_CLOSE_SYSTEM_DIALOGS = 102;
     static final int MSG_DESTROY = 103;
     static final int MSG_HANDLE_ASSIST = 104;
+    static final int MSG_SHOW = 105;
+    static final int MSG_HIDE = 106;
 
     class MyCallbacks implements HandlerCaller.Callback, SoftInputWindow.Callback {
         @Override
@@ -324,9 +336,8 @@
                     args.arg1 = onGetSupportedCommands((Caller) args.arg1, (String[]) args.arg2);
                     break;
                 case MSG_CANCEL:
-                    args = (SomeArgs)msg.obj;
-                    if (DEBUG) Log.d(TAG, "onCancel: req=" + ((Request) args.arg1).mInterface);
-                    onCancel((Request)args.arg1);
+                    if (DEBUG) Log.d(TAG, "onCancel: req=" + ((Request)msg.obj));
+                    onCancel((Request)msg.obj);
                     break;
                 case MSG_TASK_STARTED:
                     if (DEBUG) Log.d(TAG, "onTaskStarted: intent=" + msg.obj
@@ -350,6 +361,15 @@
                     if (DEBUG) Log.d(TAG, "onHandleAssist: " + (Bundle)msg.obj);
                     onHandleAssist((Bundle) msg.obj);
                     break;
+                case MSG_SHOW:
+                    if (DEBUG) Log.d(TAG, "doShow: args=" + msg.obj
+                            + " flags=" + msg.arg1);
+                    doShow((Bundle) msg.obj, msg.arg1);
+                    break;
+                case MSG_HIDE:
+                    if (DEBUG) Log.d(TAG, "doHide");
+                    doHide();
+                    break;
             }
         }
 
@@ -457,6 +477,45 @@
         onCreate(args, startFlags);
     }
 
+    void doShow(Bundle args, int flags) {
+        if (DEBUG) Log.v(TAG, "Showing window: mWindowAdded=" + mWindowAdded
+                + " mWindowVisible=" + mWindowVisible);
+
+        if (mInShowWindow) {
+            Log.w(TAG, "Re-entrance in to showWindow");
+            return;
+        }
+
+        try {
+            mInShowWindow = true;
+            if (!mWindowVisible) {
+                if (!mWindowAdded) {
+                    mWindowAdded = true;
+                    View v = onCreateContentView();
+                    if (v != null) {
+                        setContentView(v);
+                    }
+                }
+            }
+            onShow(args, flags);
+            if (!mWindowVisible) {
+                mWindowVisible = true;
+                mWindow.show();
+            }
+        } finally {
+            mWindowWasVisible = true;
+            mInShowWindow = false;
+        }
+    }
+
+    void doHide() {
+        if (mWindowVisible) {
+            mWindow.hide();
+            mWindowVisible = false;
+            onHide();
+        }
+    }
+
     void doDestroy() {
         onDestroy();
         if (mInitialized) {
@@ -484,41 +543,28 @@
         mContentFrame = (FrameLayout)mRootView.findViewById(android.R.id.content);
     }
 
-    public void showWindow() {
-        if (DEBUG) Log.v(TAG, "Showing window: mWindowAdded=" + mWindowAdded
-                + " mWindowVisible=" + mWindowVisible);
-
-        if (mInShowWindow) {
-            Log.w(TAG, "Re-entrance in to showWindow");
-            return;
-        }
-
+    public void show() {
         try {
-            mInShowWindow = true;
-            if (!mWindowVisible) {
-                mWindowVisible = true;
-                if (!mWindowAdded) {
-                    mWindowAdded = true;
-                    View v = onCreateContentView();
-                    if (v != null) {
-                        setContentView(v);
-                    }
-                }
-                mWindow.show();
-            }
-        } finally {
-            mWindowWasVisible = true;
-            mInShowWindow = false;
+            mSystemService.showSessionFromSession(mToken, null, 0);
+        } catch (RemoteException e) {
         }
     }
 
-    public void hideWindow() {
-        if (mWindowVisible) {
-            mWindow.hide();
-            mWindowVisible = false;
+    public void hide() {
+        try {
+            mSystemService.hideSessionFromSession(mToken);
+        } catch (RemoteException e) {
         }
     }
 
+    /** TODO: remove */
+    public void showWindow() {
+    }
+
+    /** TODO: remove */
+    public void hideWindow() {
+    }
+
     /**
      * You can call this to customize the theme used by your IME's window.
      * This must be set before {@link #onCreate}, so you
@@ -611,15 +657,33 @@
     }
 
     /**
-     * Initiatize a new session.
+     * Initiatize a new session.  The given args and showFlags are the initial values
+     * passed to {@link VoiceInteractionService#showSession VoiceInteractionService.showSession},
+     * if possible.  Normally you should handle these in {@link #onShow}.
+     */
+    public void onCreate(Bundle args, int showFlags) {
+        onCreate(args);
+    }
+
+    /**
+     * Called when the session UI is going to be shown.  This is called after
+     * {@link #onCreateContentView} (if the session's content UI needed to be created) and
+     * immediately prior to the window being shown.  This may be called while the window
+     * is already shown, if a show request has come in while it is shown, to allow you to
+     * update the UI to match the new show arguments.
      *
      * @param args The arguments that were supplied to
-     * {@link VoiceInteractionService#startSession VoiceInteractionService.startSession}.
-     * @param startFlags The start flags originally provided to
-     * {@link VoiceInteractionService#startSession VoiceInteractionService.startSession}.
+     * {@link VoiceInteractionService#showSession VoiceInteractionService.showSession}.
+     * @param showFlags The show flags originally provided to
+     * {@link VoiceInteractionService#showSession VoiceInteractionService.showSession}.
      */
-    public void onCreate(Bundle args, int startFlags) {
-        onCreate(args);
+    public void onShow(Bundle args, int showFlags) {
+    }
+
+    /**
+     * Called immediately after stopping to show the session UI.
+     */
+    public void onHide() {
     }
 
     /**
@@ -663,7 +727,7 @@
     }
 
     public void onBackPressed() {
-        finish();
+        hide();
     }
 
     /**
@@ -672,7 +736,7 @@
      * calls {@link #finish}.
      */
     public void onCloseSystemDialogs() {
-        finish();
+        hide();
     }
 
     /**
@@ -717,7 +781,7 @@
      * @param taskId Unique ID of the finished task.
      */
     public void onTaskFinished(Intent intent, int taskId) {
-        finish();
+        hide();
     }
 
     /**
diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java
index 9496b53..4902a71 100644
--- a/core/java/android/service/wallpaper/WallpaperService.java
+++ b/core/java/android/service/wallpaper/WallpaperService.java
@@ -64,8 +64,6 @@
 import java.io.PrintWriter;
 import java.util.ArrayList;
 
-import static android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN;
-
 /**
  * A wallpaper service is responsible for showing a live wallpaper behind
  * applications that would like to sit on top of it.  This service object
diff --git a/core/java/android/speech/tts/AudioPlaybackQueueItem.java b/core/java/android/speech/tts/AudioPlaybackQueueItem.java
index b4ac429..d4fea53 100644
--- a/core/java/android/speech/tts/AudioPlaybackQueueItem.java
+++ b/core/java/android/speech/tts/AudioPlaybackQueueItem.java
@@ -17,7 +17,6 @@
 
 import android.content.Context;
 import android.media.AudioSystem;
-import android.media.AudioTrack;
 import android.media.MediaPlayer;
 import android.net.Uri;
 import android.os.ConditionVariable;
diff --git a/core/java/android/speech/tts/BlockingAudioTrack.java b/core/java/android/speech/tts/BlockingAudioTrack.java
index dc4e9d3..9920ea1 100644
--- a/core/java/android/speech/tts/BlockingAudioTrack.java
+++ b/core/java/android/speech/tts/BlockingAudioTrack.java
@@ -2,7 +2,6 @@
 
 package android.speech.tts;
 
-import android.media.AudioAttributes;
 import android.media.AudioFormat;
 import android.media.AudioTrack;
 import android.speech.tts.TextToSpeechService.AudioOutputParams;
diff --git a/core/java/android/speech/tts/TextToSpeech.java b/core/java/android/speech/tts/TextToSpeech.java
index f0ad951..668e028 100644
--- a/core/java/android/speech/tts/TextToSpeech.java
+++ b/core/java/android/speech/tts/TextToSpeech.java
@@ -38,7 +38,6 @@
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
diff --git a/core/java/android/speech/tts/TextToSpeechService.java b/core/java/android/speech/tts/TextToSpeechService.java
index 02c9a36..ba98f27 100644
--- a/core/java/android/speech/tts/TextToSpeechService.java
+++ b/core/java/android/speech/tts/TextToSpeechService.java
@@ -39,11 +39,9 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
-import java.util.Map;
 import java.util.MissingResourceException;
 import java.util.Set;
 
diff --git a/core/java/android/speech/tts/TtsEngines.java b/core/java/android/speech/tts/TtsEngines.java
index df6c010..412eba3 100644
--- a/core/java/android/speech/tts/TtsEngines.java
+++ b/core/java/android/speech/tts/TtsEngines.java
@@ -17,7 +17,6 @@
 
 import org.xmlpull.v1.XmlPullParserException;
 
-import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
diff --git a/core/java/android/text/DynamicLayout.java b/core/java/android/text/DynamicLayout.java
index 77ef1da..1bdaef0 100644
--- a/core/java/android/text/DynamicLayout.java
+++ b/core/java/android/text/DynamicLayout.java
@@ -270,22 +270,30 @@
         // generate new layout for affected text
 
         StaticLayout reflowed;
+        StaticLayout.Builder b;
 
         synchronized (sLock) {
             reflowed = sStaticLayout;
+            b = sBuilder;
             sStaticLayout = null;
+            sBuilder = null;
         }
 
+        // TODO: make sure reflowed is properly initialized
         if (reflowed == null) {
             reflowed = new StaticLayout(null);
-        } else {
-            reflowed.prepare();
+            b = StaticLayout.Builder.obtain();
         }
 
-        reflowed.generate(text, where, where + after,
-                getPaint(), getWidth(), getTextDirectionHeuristic(), getSpacingMultiplier(),
-                getSpacingAdd(), false,
-                true, mEllipsizedWidth, mEllipsizeAt);
+        b.setText(text, where, where + after)
+                .setPaint(getPaint())
+                .setWidth(getWidth())
+                .setTextDir(getTextDirectionHeuristic())
+                .setSpacingMult(getSpacingMultiplier())
+                .setSpacingAdd(getSpacingAdd())
+                .setEllipsizedWidth(mEllipsizedWidth)
+                .setEllipsize(mEllipsizeAt);
+        reflowed.generate(b, false, true);
         int n = reflowed.getLineCount();
 
         // If the new layout has a blank line at the end, but it is not
@@ -359,9 +367,10 @@
 
         updateBlocks(startline, endline - 1, n);
 
+        b.finish();
         synchronized (sLock) {
             sStaticLayout = reflowed;
-            reflowed.finish();
+            sBuilder = b;
         }
     }
 
@@ -720,7 +729,8 @@
 
     private int mTopPadding, mBottomPadding;
 
-    private static StaticLayout sStaticLayout = new StaticLayout(null);
+    private static StaticLayout sStaticLayout = null;
+    private static StaticLayout.Builder sBuilder = null;
 
     private static final Object[] sLock = new Object[0];
 
diff --git a/core/java/android/text/Layout.java b/core/java/android/text/Layout.java
index b84c3aa..fcf1828 100644
--- a/core/java/android/text/Layout.java
+++ b/core/java/android/text/Layout.java
@@ -1564,7 +1564,7 @@
         MeasuredText mt = MeasuredText.obtain();
         TextLine tl = TextLine.obtain();
         try {
-            mt.setPara(text, start, end, TextDirectionHeuristics.LTR);
+            mt.setPara(text, start, end, TextDirectionHeuristics.LTR, null);
             Directions directions;
             int dir;
             if (mt.mEasy) {
diff --git a/core/java/android/text/MeasuredText.java b/core/java/android/text/MeasuredText.java
index 2415b11..55df206 100644
--- a/core/java/android/text/MeasuredText.java
+++ b/core/java/android/text/MeasuredText.java
@@ -16,7 +16,6 @@
 
 package android.text;
 
-import android.graphics.Canvas;
 import android.graphics.Paint;
 import android.text.style.MetricAffectingSpan;
 import android.text.style.ReplacementSpan;
@@ -40,6 +39,7 @@
 
     private int mPos;
     private TextPaint mWorkPaint;
+    private StaticLayout.Builder mBuilder;
 
     private MeasuredText() {
         mWorkPaint = new TextPaint();
@@ -67,21 +67,29 @@
     }
 
     static MeasuredText recycle(MeasuredText mt) {
-        mt.mText = null;
-        if (mt.mLen < 1000) {
-            synchronized(sLock) {
-                for (int i = 0; i < sCached.length; ++i) {
-                    if (sCached[i] == null) {
-                        sCached[i] = mt;
-                        mt.mText = null;
-                        break;
-                    }
+        mt.finish();
+        synchronized(sLock) {
+            for (int i = 0; i < sCached.length; ++i) {
+                if (sCached[i] == null) {
+                    sCached[i] = mt;
+                    mt.mText = null;
+                    break;
                 }
             }
         }
         return null;
     }
 
+    void finish() {
+        mText = null;
+        mBuilder = null;
+        if (mLen > 1000) {
+            mWidths = null;
+            mChars = null;
+            mLevels = null;
+        }
+    }
+
     void setPos(int pos) {
         mPos = pos - mTextStart;
     }
@@ -89,7 +97,9 @@
     /**
      * Analyzes text for bidirectional runs.  Allocates working buffers.
      */
-    void setPara(CharSequence text, int start, int end, TextDirectionHeuristic textDir) {
+    void setPara(CharSequence text, int start, int end, TextDirectionHeuristic textDir,
+            StaticLayout.Builder builder) {
+        mBuilder = builder;
         mText = text;
         mTextStart = start;
 
@@ -158,9 +168,24 @@
         int p = mPos;
         mPos = p + len;
 
+        // try to do widths measurement in native code, but use Java if paint has been subclassed
+        // FIXME: may want to eliminate special case for subclass
+        float[] widths = null;
+        if (mBuilder == null || paint.getClass() != TextPaint.class) {
+            widths = mWidths;
+        }
         if (mEasy) {
             boolean isRtl = mDir != Layout.DIR_LEFT_TO_RIGHT;
-            return paint.getTextRunAdvances(mChars, p, len, p, len, isRtl, mWidths, p);
+            float width = 0;
+            if (widths != null) {
+                width = paint.getTextRunAdvances(mChars, p, len, p, len, isRtl, widths, p);
+                if (mBuilder != null) {
+                    mBuilder.addMeasuredRun(p, p + len, widths);
+                }
+            } else {
+                width = mBuilder.addStyleRun(paint, p, p + len, isRtl);
+            }
+            return width;
         }
 
         float totalAdvance = 0;
@@ -168,8 +193,15 @@
         for (int q = p, i = p + 1, e = p + len;; ++i) {
             if (i == e || mLevels[i] != level) {
                 boolean isRtl = (level & 0x1) != 0;
-                totalAdvance +=
-                        paint.getTextRunAdvances(mChars, q, i - q, q, i - q, isRtl, mWidths, q);
+                if (widths != null) {
+                    totalAdvance +=
+                            paint.getTextRunAdvances(mChars, q, i - q, q, i - q, isRtl, widths, q);
+                    if (mBuilder != null) {
+                        mBuilder.addMeasuredRun(q, i, widths);
+                    }
+                } else {
+                    totalAdvance += mBuilder.addStyleRun(paint, q, i, isRtl);
+                }
                 if (i == e) {
                     break;
                 }
@@ -205,10 +237,14 @@
             // Use original text.  Shouldn't matter.
             wid = replacement.getSize(workPaint, mText, mTextStart + mPos,
                     mTextStart + mPos + len, fm);
-            float[] w = mWidths;
-            w[mPos] = wid;
-            for (int i = mPos + 1, e = mPos + len; i < e; i++)
-                w[i] = 0;
+            if (mBuilder == null) {
+                float[] w = mWidths;
+                w[mPos] = wid;
+                for (int i = mPos + 1, e = mPos + len; i < e; i++)
+                    w[i] = 0;
+            } else {
+                mBuilder.addReplacementRun(mPos, mPos + len, wid);
+            }
             mPos += len;
         }
 
diff --git a/core/java/android/text/StaticLayout.java b/core/java/android/text/StaticLayout.java
index 2d4b4dc..ee39e27 100644
--- a/core/java/android/text/StaticLayout.java
+++ b/core/java/android/text/StaticLayout.java
@@ -16,7 +16,6 @@
 
 package android.text;
 
-import android.graphics.Bitmap;
 import android.graphics.Paint;
 import android.text.style.LeadingMarginSpan;
 import android.text.style.LeadingMarginSpan.LeadingMarginSpan2;
@@ -29,6 +28,7 @@
 import com.android.internal.util.GrowingArrayUtils;
 
 import java.util.Arrays;
+import java.util.Locale;
 
 /**
  * StaticLayout is a Layout for text that will not be edited after it
@@ -44,6 +44,209 @@
 
     static final String TAG = "StaticLayout";
 
+    /**
+     * Builder for static layouts. It would be better if this were a public
+     * API (as it would offer much greater flexibility for adding new options)
+     * but for the time being it's just internal.
+     *
+     * @hide
+     */
+    public final static class Builder {
+        private Builder() {
+            mNativePtr = nNewBuilder();
+        }
+
+        static Builder obtain() {
+            Builder b = null;
+            synchronized (sLock) {
+                for (int i = 0; i < sCached.length; i++) {
+                    if (sCached[i] != null) {
+                        b = sCached[i];
+                        sCached[i] = null;
+                        break;
+                    }
+                }
+            }
+            if (b == null) {
+                b = new Builder();
+            }
+
+            // set default initial values
+            b.mWidth = 0;
+            b.mTextDir = TextDirectionHeuristics.FIRSTSTRONG_LTR;
+            b.mSpacingMult = 1.0f;
+            b.mSpacingAdd = 0.0f;
+            b.mIncludePad = true;
+            b.mEllipsizedWidth = 0;
+            b.mEllipsize = null;
+            b.mMaxLines = Integer.MAX_VALUE;
+
+            b.mMeasuredText = MeasuredText.obtain();
+            return b;
+        }
+
+        static void recycle(Builder b) {
+            b.mPaint = null;
+            b.mText = null;
+            MeasuredText.recycle(b.mMeasuredText);
+            synchronized (sLock) {
+                for (int i = 0; i < sCached.length; i++) {
+                    if (sCached[i] == null) {
+                        sCached[i] = b;
+                        break;
+                    }
+                }
+            }
+        }
+
+        // release any expensive state
+        /* package */ void finish() {
+            nFinishBuilder(mNativePtr);
+            mMeasuredText.finish();
+        }
+
+        public Builder setText(CharSequence source) {
+            return setText(source, 0, source.length());
+        }
+
+        public Builder setText(CharSequence source, int start, int end) {
+            mText = source;
+            mStart = start;
+            mEnd = end;
+            return this;
+        }
+
+        public Builder setPaint(TextPaint paint) {
+            mPaint = paint;
+            return this;
+        }
+
+        public Builder setWidth(int width) {
+            mWidth = width;
+            if (mEllipsize == null) {
+                mEllipsizedWidth = width;
+            }
+            return this;
+        }
+
+        public Builder setTextDir(TextDirectionHeuristic textDir) {
+            mTextDir = textDir;
+            return this;
+        }
+
+        // TODO: combine the following, as they're almost always set together?
+        public Builder setSpacingMult(float spacingMult) {
+            mSpacingMult = spacingMult;
+            return this;
+        }
+
+        public Builder setSpacingAdd(float spacingAdd) {
+            mSpacingAdd = spacingAdd;
+            return this;
+        }
+
+        public Builder setIncludePad(boolean includePad) {
+            mIncludePad = includePad;
+            return this;
+        }
+
+        // TODO: combine the following?
+        public Builder setEllipsizedWidth(int ellipsizedWidth) {
+            mEllipsizedWidth = ellipsizedWidth;
+            return this;
+        }
+
+        public Builder setEllipsize(TextUtils.TruncateAt ellipsize) {
+            mEllipsize = ellipsize;
+            return this;
+        }
+
+        public Builder setMaxLines(int maxLines) {
+            mMaxLines = maxLines;
+            return this;
+        }
+
+        /**
+         * Measurement and break iteration is done in native code. The protocol for using
+         * the native code is as follows.
+         *
+         * For each paragraph, do a nSetText of the paragraph text. Then, for each run within the
+         * paragraph:
+         *  - setLocale (this must be done at least for the first run, optional afterwards)
+         *  - one of the following, depending on the type of run:
+         *    + addStyleRun (a text run, to be measured in native code)
+         *    + addMeasuredRun (a run already measured in Java, passed into native code)
+         *    + addReplacementRun (a replacement run, width is given)
+         *
+         * After measurement, nGetWidths() is valid if the widths are needed (eg for ellipsis).
+         * Run nComputeLineBreaks() to obtain line breaks for the paragraph.
+         *
+         * After all paragraphs, call finish() to release expensive buffers.
+         */
+
+        private void setLocale(Locale locale) {
+            if (!locale.equals(mLocale)) {
+                nSetLocale(mNativePtr, locale.toLanguageTag());
+                mLocale = locale;
+            }
+        }
+
+        /* package */ float addStyleRun(TextPaint paint, int start, int end, boolean isRtl) {
+            return nAddStyleRun(mNativePtr, paint.getNativeInstance(), paint.mNativeTypeface,
+                    start, end, isRtl);
+        }
+
+        /* package */ void addMeasuredRun(int start, int end, float[] widths) {
+            nAddMeasuredRun(mNativePtr, start, end, widths);
+        }
+
+        /* package */ void addReplacementRun(int start, int end, float width) {
+            nAddReplacementRun(mNativePtr, start, end, width);
+        }
+
+        public StaticLayout build() {
+            // TODO: can optimize based on whether ellipsis is needed
+            StaticLayout result = new StaticLayout(mText);
+            result.generate(this, this.mIncludePad, this.mIncludePad);
+            recycle(this);
+            return result;
+        }
+
+        @Override
+        protected void finalize() throws Throwable {
+            try {
+                nFreeBuilder(mNativePtr);
+            } finally {
+                super.finalize();
+            }
+        }
+
+        /* package */ long mNativePtr;
+
+        CharSequence mText;
+        int mStart;
+        int mEnd;
+        TextPaint mPaint;
+        int mWidth;
+        TextDirectionHeuristic mTextDir;
+        float mSpacingMult;
+        float mSpacingAdd;
+        boolean mIncludePad;
+        int mEllipsizedWidth;
+        TextUtils.TruncateAt mEllipsize;
+        int mMaxLines;
+
+        Paint.FontMetricsInt mFontMetricsInt = new Paint.FontMetricsInt();
+
+        // This will go away and be subsumed by native builder code
+        MeasuredText mMeasuredText;
+
+        Locale mLocale;
+
+        private static final Object sLock = new Object();
+        private static final Builder[] sCached = new Builder[3];
+    }
+
     public StaticLayout(CharSequence source, TextPaint paint,
                         int width,
                         Alignment align, float spacingmult, float spacingadd,
@@ -111,6 +314,17 @@
                     : new Ellipsizer(source),
               paint, outerwidth, align, textDir, spacingmult, spacingadd);
 
+        Builder b = Builder.obtain();
+        b.setText(source, bufstart, bufend)
+            .setPaint(paint)
+            .setWidth(outerwidth)
+            .setTextDir(textDir)
+            .setSpacingMult(spacingmult)
+            .setSpacingAdd(spacingadd)
+            .setIncludePad(includepad)
+            .setEllipsizedWidth(ellipsizedWidth)
+            .setEllipsize(ellipsize)
+            .setMaxLines(maxLines);
         /*
          * This is annoying, but we can't refer to the layout until
          * superclass construction is finished, and the superclass
@@ -137,14 +351,9 @@
         mLines = new int[mLineDirections.length];
         mMaximumVisibleLineCount = maxLines;
 
-        mMeasured = MeasuredText.obtain();
+        generate(b, b.mIncludePad, b.mIncludePad);
 
-        generate(source, bufstart, bufend, paint, outerwidth, textDir, spacingmult,
-                 spacingadd, includepad, includepad, ellipsizedWidth,
-                 ellipsize);
-
-        mMeasured = MeasuredText.recycle(mMeasured);
-        mFontMetricsInt = null;
+        Builder.recycle(b);
     }
 
     /* package */ StaticLayout(CharSequence text) {
@@ -153,33 +362,36 @@
         mColumns = COLUMNS_ELLIPSIZE;
         mLineDirections = ArrayUtils.newUnpaddedArray(Directions.class, 2 * mColumns);
         mLines = new int[mLineDirections.length];
-        // FIXME This is never recycled
-        mMeasured = MeasuredText.obtain();
     }
 
-    /* package */ void generate(CharSequence source, int bufStart, int bufEnd,
-                        TextPaint paint, int outerWidth,
-                        TextDirectionHeuristic textDir, float spacingmult,
-                        float spacingadd, boolean includepad,
-                        boolean trackpad, float ellipsizedWidth,
-                        TextUtils.TruncateAt ellipsize) {
-        LineBreaks lineBreaks = new LineBreaks();
+    /* package */ void generate(Builder b, boolean includepad, boolean trackpad) {
+        CharSequence source = b.mText;
+        int bufStart = b.mStart;
+        int bufEnd = b.mEnd;
+        TextPaint paint = b.mPaint;
+        int outerWidth = b.mWidth;
+        TextDirectionHeuristic textDir = b.mTextDir;
+        float spacingmult = b.mSpacingMult;
+        float spacingadd = b.mSpacingAdd;
+        float ellipsizedWidth = b.mEllipsizedWidth;
+        TextUtils.TruncateAt ellipsize = b.mEllipsize;
+        LineBreaks lineBreaks = new LineBreaks();  // TODO: move to builder to avoid allocation costs
         // store span end locations
         int[] spanEndCache = new int[4];
         // store fontMetrics per span range
         // must be a multiple of 4 (and > 0) (store top, bottom, ascent, and descent per range)
         int[] fmCache = new int[4 * 4];
-        final String localeLanguageTag = paint.getTextLocale().toLanguageTag();
+        b.setLocale(paint.getTextLocale());  // TODO: also respect LocaleSpan within the text
 
         mLineCount = 0;
 
         int v = 0;
         boolean needMultiply = (spacingmult != 1 || spacingadd != 0);
 
-        Paint.FontMetricsInt fm = mFontMetricsInt;
+        Paint.FontMetricsInt fm = b.mFontMetricsInt;
         int[] chooseHtv = null;
 
-        MeasuredText measured = mMeasured;
+        MeasuredText measured = b.mMeasuredText;
 
         Spanned spanned = null;
         if (source instanceof Spanned)
@@ -241,12 +453,13 @@
                 }
             }
 
-            measured.setPara(source, paraStart, paraEnd, textDir);
+            measured.setPara(source, paraStart, paraEnd, textDir, b);
             char[] chs = measured.mChars;
             float[] widths = measured.mWidths;
             byte[] chdirs = measured.mLevels;
             int dir = measured.mDir;
             boolean easy = measured.mEasy;
+            nSetText(b.mNativePtr, chs, paraEnd - paraStart);
 
             // measurement has to be done before performing line breaking
             // but we don't want to recompute fontmetrics or span ranges the
@@ -307,7 +520,8 @@
                 }
             }
 
-            int breakCount = nComputeLineBreaks(localeLanguageTag, chs, widths, paraEnd - paraStart, firstWidth,
+            nGetWidths(b.mNativePtr, widths);
+            int breakCount = nComputeLineBreaks(b.mNativePtr, paraEnd - paraStart, firstWidth,
                     firstWidthLineCount, restWidth, variableTabStops, TAB_INCREMENT, false, lineBreaks,
                     lineBreaks.breaks, lineBreaks.widths, lineBreaks.flags, lineBreaks.breaks.length);
 
@@ -354,7 +568,7 @@
                 while (breakIndex < breakCount && paraStart + breaks[breakIndex] <= spanEnd) {
                     int endPos = paraStart + breaks[breakIndex];
 
-                    boolean moreChars = (endPos < paraEnd); // XXX is this the right way to calculate this?
+                    boolean moreChars = (endPos < bufEnd);
 
                     v = out(source, here, endPos,
                             fmAscent, fmDescent, fmTop, fmBottom,
@@ -390,7 +604,7 @@
                 mLineCount < mMaximumVisibleLineCount) {
             // Log.e("text", "output last " + bufEnd);
 
-            measured.setPara(source, bufEnd, bufEnd, textDir);
+            measured.setPara(source, bufEnd, bufEnd, textDir, b);
 
             paint.getFontMetricsInt(fm);
 
@@ -747,20 +961,29 @@
         return mEllipsizedWidth;
     }
 
-    void prepare() {
-        mMeasured = MeasuredText.obtain();
-    }
-    
-    void finish() {
-        mMeasured = MeasuredText.recycle(mMeasured);
-    }
+    private static native long nNewBuilder();
+    private static native void nFreeBuilder(long nativePtr);
+    private static native void nFinishBuilder(long nativePtr);
+    private static native void nSetLocale(long nativePtr, String locale);
+
+    private static native void nSetText(long nativePtr, char[] text, int length);
+
+    private static native float nAddStyleRun(long nativePtr, long nativePaint,
+            long nativeTypeface, int start, int end, boolean isRtl);
+
+    private static native void nAddMeasuredRun(long nativePtr,
+            int start, int end, float[] widths);
+
+    private static native void nAddReplacementRun(long nativePtr, int start, int end, float width);
+
+    private static native void nGetWidths(long nativePtr, float[] widths);
 
     // populates LineBreaks and returns the number of breaks found
     //
     // the arrays inside the LineBreaks objects are passed in as well
     // to reduce the number of JNI calls in the common case where the
     // arrays do not have to be resized
-    private static native int nComputeLineBreaks(String locale, char[] text, float[] widths,
+    private static native int nComputeLineBreaks(long nativePtr,
             int length, float firstWidth, int firstWidthLineCount, float restWidth,
             int[] variableTabStops, int defaultTabStop, boolean optimize, LineBreaks recycle,
             int[] recycleBreaks, float[] recycleWidths, boolean[] recycleFlags, int recycleLength);
@@ -794,12 +1017,6 @@
 
     private static final double EXTRA_ROUNDING = 0.5;
 
-    /*
-     * This is reused across calls to generate()
-     */
-    private MeasuredText mMeasured;
-    private Paint.FontMetricsInt mFontMetricsInt = new Paint.FontMetricsInt();
-
     // This is used to return three arrays from a single JNI call when
     // performing line breaking
     /*package*/ static class LineBreaks {
diff --git a/core/java/android/text/TextPaint.java b/core/java/android/text/TextPaint.java
index 0447117..4f8cff0 100644
--- a/core/java/android/text/TextPaint.java
+++ b/core/java/android/text/TextPaint.java
@@ -16,6 +16,7 @@
 
 package android.text;
 
+import android.annotation.ColorInt;
 import android.graphics.Paint;
 
 /**
@@ -25,8 +26,10 @@
 public class TextPaint extends Paint {
 
     // Special value 0 means no background paint
+    @ColorInt
     public int bgColor;
     public int baselineShift;
+    @ColorInt
     public int linkColor;
     public int[] drawableState;
     public float density = 1.0f;
@@ -34,6 +37,7 @@
      * Special value 0 means no custom underline
      * @hide
      */
+    @ColorInt
     public int underlineColor = 0;
     /**
      * Defined as a multiplier of the default underline thickness. Use 1.0f for default thickness.
diff --git a/core/java/android/text/TextUtils.java b/core/java/android/text/TextUtils.java
index 1bb35f6..676986d 100644
--- a/core/java/android/text/TextUtils.java
+++ b/core/java/android/text/TextUtils.java
@@ -1259,7 +1259,7 @@
                     }
 
                     // XXX this is probably ok, but need to look at it more
-                    tempMt.setPara(format, 0, format.length(), textDir);
+                    tempMt.setPara(format, 0, format.length(), textDir, null);
                     float moreWid = tempMt.addStyleRun(p, tempMt.mLen, null);
 
                     if (w + moreWid <= avail) {
@@ -1281,7 +1281,7 @@
     private static float setPara(MeasuredText mt, TextPaint paint,
             CharSequence text, int start, int end, TextDirectionHeuristic textDir) {
 
-        mt.setPara(text, start, end, textDir);
+        mt.setPara(text, start, end, textDir, null);
 
         float width;
         Spanned sp = text instanceof Spanned ? (Spanned) text : null;
diff --git a/core/java/android/text/format/DateFormat.java b/core/java/android/text/format/DateFormat.java
index c03f7a6..3ed37b36 100755
--- a/core/java/android/text/format/DateFormat.java
+++ b/core/java/android/text/format/DateFormat.java
@@ -23,8 +23,6 @@
 import android.text.Spanned;
 import android.text.SpannedString;
 
-import com.android.internal.R;
-
 import java.util.Calendar;
 import java.util.Date;
 import java.util.GregorianCalendar;
diff --git a/core/java/android/text/style/ForegroundColorSpan.java b/core/java/android/text/style/ForegroundColorSpan.java
index c9e09bd..f167aab 100644
--- a/core/java/android/text/style/ForegroundColorSpan.java
+++ b/core/java/android/text/style/ForegroundColorSpan.java
@@ -16,6 +16,7 @@
 
 package android.text.style;
 
+import android.annotation.ColorInt;
 import android.os.Parcel;
 import android.text.ParcelableSpan;
 import android.text.TextPaint;
@@ -26,7 +27,7 @@
 
     private final int mColor;
 
-    public ForegroundColorSpan(int color) {
+    public ForegroundColorSpan(@ColorInt int color) {
         mColor = color;
     }
 
@@ -46,6 +47,7 @@
         dest.writeInt(mColor);
     }
 
+    @ColorInt
     public int getForegroundColor() {
         return mColor;
     }
diff --git a/core/java/android/text/style/QuoteSpan.java b/core/java/android/text/style/QuoteSpan.java
index 29dd273..17748ca 100644
--- a/core/java/android/text/style/QuoteSpan.java
+++ b/core/java/android/text/style/QuoteSpan.java
@@ -16,6 +16,7 @@
 
 package android.text.style;
 
+import android.annotation.ColorInt;
 import android.graphics.Paint;
 import android.graphics.Canvas;
 import android.os.Parcel;
@@ -34,7 +35,7 @@
         mColor = 0xff0000ff;
     }
     
-    public QuoteSpan(int color) {
+    public QuoteSpan(@ColorInt int color) {
         super();
         mColor = color;
     }
@@ -55,6 +56,7 @@
         dest.writeInt(mColor);
     }
 
+    @ColorInt
     public int getColor() {
         return mColor;
     }
diff --git a/core/java/android/transition/CircularPropagation.java b/core/java/android/transition/CircularPropagation.java
index 1e44cfa..c9faa0f 100644
--- a/core/java/android/transition/CircularPropagation.java
+++ b/core/java/android/transition/CircularPropagation.java
@@ -16,7 +16,6 @@
 package android.transition;
 
 import android.graphics.Rect;
-import android.util.Log;
 import android.view.View;
 import android.view.ViewGroup;
 
diff --git a/core/java/android/transition/SidePropagation.java b/core/java/android/transition/SidePropagation.java
index 5dd1fff..b10f6a0 100644
--- a/core/java/android/transition/SidePropagation.java
+++ b/core/java/android/transition/SidePropagation.java
@@ -16,7 +16,6 @@
 package android.transition;
 
 import android.graphics.Rect;
-import android.util.Log;
 import android.view.Gravity;
 import android.view.View;
 import android.view.ViewGroup;
diff --git a/core/java/android/transition/TransitionManager.java b/core/java/android/transition/TransitionManager.java
index 80245ef..0b70fdb 100644
--- a/core/java/android/transition/TransitionManager.java
+++ b/core/java/android/transition/TransitionManager.java
@@ -181,24 +181,27 @@
     private static void changeScene(Scene scene, Transition transition) {
 
         final ViewGroup sceneRoot = scene.getSceneRoot();
+        if (!sPendingTransitions.contains(sceneRoot)) {
+            sPendingTransitions.add(sceneRoot);
 
-        Transition transitionClone = null;
-        if (transition != null) {
-            transitionClone = transition.clone();
-            transitionClone.setSceneRoot(sceneRoot);
+            Transition transitionClone = null;
+            if (transition != null) {
+                transitionClone = transition.clone();
+                transitionClone.setSceneRoot(sceneRoot);
+            }
+
+            Scene oldScene = Scene.getCurrentScene(sceneRoot);
+            if (oldScene != null && transitionClone != null &&
+                    oldScene.isCreatedFromLayoutResource()) {
+                transitionClone.setCanRemoveViews(true);
+            }
+
+            sceneChangeSetup(sceneRoot, transitionClone);
+
+            scene.enter();
+
+            sceneChangeRunTransition(sceneRoot, transitionClone);
         }
-
-        Scene oldScene = Scene.getCurrentScene(sceneRoot);
-        if (oldScene != null && transitionClone != null &&
-                oldScene.isCreatedFromLayoutResource()) {
-            transitionClone.setCanRemoveViews(true);
-        }
-
-        sceneChangeSetup(sceneRoot, transitionClone);
-
-        scene.enter();
-
-        sceneChangeRunTransition(sceneRoot, transitionClone);
     }
 
     private static ArrayMap<ViewGroup, ArrayList<Transition>> getRunningTransitions() {
diff --git a/core/java/android/transition/TransitionPropagation.java b/core/java/android/transition/TransitionPropagation.java
index 9a481c2..b831038 100644
--- a/core/java/android/transition/TransitionPropagation.java
+++ b/core/java/android/transition/TransitionPropagation.java
@@ -15,7 +15,6 @@
  */
 package android.transition;
 
-import android.graphics.Rect;
 import android.view.ViewGroup;
 
 /**
diff --git a/core/java/android/transition/Visibility.java b/core/java/android/transition/Visibility.java
index 26dca43..cd68fd1 100644
--- a/core/java/android/transition/Visibility.java
+++ b/core/java/android/transition/Visibility.java
@@ -22,9 +22,6 @@
 import android.animation.AnimatorListenerAdapter;
 import android.content.Context;
 import android.content.res.TypedArray;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.drawable.BitmapDrawable;
 import android.util.AttributeSet;
 import android.view.View;
 import android.view.ViewGroup;
diff --git a/core/java/android/util/ArraySet.java b/core/java/android/util/ArraySet.java
index 68f725e..7da3941 100644
--- a/core/java/android/util/ArraySet.java
+++ b/core/java/android/util/ArraySet.java
@@ -475,6 +475,26 @@
     }
 
     /**
+     * Perform a {@link #remove(Object)} of all values in <var>array</var>
+     * @param array The array whose contents are to be removed.
+     */
+    public boolean removeAll(ArraySet<? extends E> array) {
+        // TODO: If array is sufficiently large, a marking approach might be beneficial. In a first
+        //       pass, use the property that the sets are sorted by hash to make this linear passes
+        //       (except for hash collisions, which means worst case still n*m), then do one
+        //       collection pass into a new array. This avoids binary searches and excessive memcpy.
+        final int N = array.mSize;
+
+        // Note: ArraySet does not make thread-safety guarantees. So instead of OR-ing together all
+        //       the single results, compare size before and after.
+        final int originalSize = mSize;
+        for (int i = 0; i < N; i++) {
+            remove(array.valueAt(i));
+        }
+        return originalSize != mSize;
+    }
+
+    /**
      * Return the number of items in this array map.
      */
     @Override
diff --git a/core/java/android/util/DebugUtils.java b/core/java/android/util/DebugUtils.java
index f607207..84d9ce8 100644
--- a/core/java/android/util/DebugUtils.java
+++ b/core/java/android/util/DebugUtils.java
@@ -16,6 +16,7 @@
 
 package android.util;
 
+import java.io.PrintWriter;
 import java.lang.reflect.Method;
 import java.lang.reflect.InvocationTargetException;
 import java.util.Locale;
@@ -123,4 +124,83 @@
         }
     }
 
+    /** @hide */
+    public static void printSizeValue(PrintWriter pw, long number) {
+        float result = number;
+        String suffix = "";
+        if (result > 900) {
+            suffix = "KB";
+            result = result / 1024;
+        }
+        if (result > 900) {
+            suffix = "MB";
+            result = result / 1024;
+        }
+        if (result > 900) {
+            suffix = "GB";
+            result = result / 1024;
+        }
+        if (result > 900) {
+            suffix = "TB";
+            result = result / 1024;
+        }
+        if (result > 900) {
+            suffix = "PB";
+            result = result / 1024;
+        }
+        String value;
+        if (result < 1) {
+            value = String.format("%.2f", result);
+        } else if (result < 10) {
+            value = String.format("%.1f", result);
+        } else if (result < 100) {
+            value = String.format("%.0f", result);
+        } else {
+            value = String.format("%.0f", result);
+        }
+        pw.print(value);
+        pw.print(suffix);
+    }
+
+    /** @hide */
+    public static String sizeValueToString(long number, StringBuilder outBuilder) {
+        if (outBuilder == null) {
+            outBuilder = new StringBuilder(32);
+        }
+        float result = number;
+        String suffix = "";
+        if (result > 900) {
+            suffix = "KB";
+            result = result / 1024;
+        }
+        if (result > 900) {
+            suffix = "MB";
+            result = result / 1024;
+        }
+        if (result > 900) {
+            suffix = "GB";
+            result = result / 1024;
+        }
+        if (result > 900) {
+            suffix = "TB";
+            result = result / 1024;
+        }
+        if (result > 900) {
+            suffix = "PB";
+            result = result / 1024;
+        }
+        String value;
+        if (result < 1) {
+            value = String.format("%.2f", result);
+        } else if (result < 10) {
+            value = String.format("%.1f", result);
+        } else if (result < 100) {
+            value = String.format("%.0f", result);
+        } else {
+            value = String.format("%.0f", result);
+        }
+        outBuilder.append(value);
+        outBuilder.append(suffix);
+        return outBuilder.toString();
+    }
 }
diff --git a/core/java/android/util/LocalLog.java b/core/java/android/util/LocalLog.java
index e49b8c3..cab5d19 100644
--- a/core/java/android/util/LocalLog.java
+++ b/core/java/android/util/LocalLog.java
@@ -16,8 +16,6 @@
 
 package android.util;
 
-import android.text.format.Time;
-
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 import java.util.Calendar;
diff --git a/core/java/android/view/DisplayListCanvas.java b/core/java/android/view/DisplayListCanvas.java
new file mode 100644
index 0000000..90e1f86
--- /dev/null
+++ b/core/java/android/view/DisplayListCanvas.java
@@ -0,0 +1,298 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.annotation.NonNull;
+import android.graphics.Bitmap;
+import android.graphics.CanvasProperty;
+import android.graphics.NinePatch;
+import android.graphics.Paint;
+import android.graphics.Path;
+import android.graphics.Picture;
+import android.graphics.Rect;
+import android.graphics.RectF;
+import android.util.Pools.SynchronizedPool;
+
+/**
+ * An implementation of a GL canvas that records drawing operations.
+ * This is intended for use with a DisplayList. This class keeps a list of all the Paint and
+ * Bitmap objects that it draws, preventing the backing memory of Bitmaps from being freed while
+ * the DisplayList is still holding a native reference to the memory.
+ */
+class DisplayListCanvas extends HardwareCanvas {
+    // The recording canvas pool should be large enough to handle a deeply nested
+    // view hierarchy because display lists are generated recursively.
+    private static final int POOL_LIMIT = 25;
+
+    private static final SynchronizedPool<DisplayListCanvas> sPool =
+            new SynchronizedPool<DisplayListCanvas>(POOL_LIMIT);
+
+    RenderNode mNode;
+    private int mWidth;
+    private int mHeight;
+
+
+    static DisplayListCanvas obtain(@NonNull RenderNode node) {
+        if (node == null) throw new IllegalArgumentException("node cannot be null");
+        DisplayListCanvas canvas = sPool.acquire();
+        if (canvas == null) {
+            canvas = new DisplayListCanvas();
+        }
+        canvas.mNode = node;
+        return canvas;
+    }
+
+    void recycle() {
+        mNode = null;
+        sPool.release(this);
+    }
+
+    long finishRecording() {
+        return nFinishRecording(mNativeCanvasWrapper);
+    }
+
+    @Override
+    public boolean isRecordingFor(Object o) {
+        return o == mNode;
+    }
+
+    ///////////////////////////////////////////////////////////////////////////
+    // JNI
+    ///////////////////////////////////////////////////////////////////////////
+
+    private static native boolean nIsAvailable();
+    private static boolean sIsAvailable = nIsAvailable();
+
+    static boolean isAvailable() {
+        return sIsAvailable;
+    }
+
+    ///////////////////////////////////////////////////////////////////////////
+    // Constructors
+    ///////////////////////////////////////////////////////////////////////////
+
+
+    private DisplayListCanvas() {
+        super(nCreateDisplayListRenderer());
+    }
+
+    private static native long nCreateDisplayListRenderer();
+
+    public static void setProperty(String name, String value) {
+        nSetProperty(name, value);
+    }
+
+    private static native void nSetProperty(String name, String value);
+
+    ///////////////////////////////////////////////////////////////////////////
+    // Canvas management
+    ///////////////////////////////////////////////////////////////////////////
+
+    @Override
+    public boolean isOpaque() {
+        return false;
+    }
+
+    @Override
+    public int getWidth() {
+        return mWidth;
+    }
+
+    @Override
+    public int getHeight() {
+        return mHeight;
+    }
+
+    @Override
+    public int getMaximumBitmapWidth() {
+        return nGetMaximumTextureWidth();
+    }
+
+    @Override
+    public int getMaximumBitmapHeight() {
+        return nGetMaximumTextureHeight();
+    }
+
+    private static native int nGetMaximumTextureWidth();
+    private static native int nGetMaximumTextureHeight();
+
+    /**
+     * Returns the native OpenGLRenderer object.
+     */
+    long getRenderer() {
+        return mNativeCanvasWrapper;
+    }
+
+    ///////////////////////////////////////////////////////////////////////////
+    // Setup
+    ///////////////////////////////////////////////////////////////////////////
+
+    @Override
+    public void setViewport(int width, int height) {
+        mWidth = width;
+        mHeight = height;
+
+        nSetViewport(mNativeCanvasWrapper, width, height);
+    }
+
+    private static native void nSetViewport(long renderer,
+            int width, int height);
+
+    @Override
+    public void setHighContrastText(boolean highContrastText) {
+        nSetHighContrastText(mNativeCanvasWrapper, highContrastText);
+    }
+
+    private static native void nSetHighContrastText(long renderer, boolean highContrastText);
+
+    @Override
+    public void insertReorderBarrier() {
+        nInsertReorderBarrier(mNativeCanvasWrapper, true);
+    }
+
+    @Override
+    public void insertInorderBarrier() {
+        nInsertReorderBarrier(mNativeCanvasWrapper, false);
+    }
+
+    private static native void nInsertReorderBarrier(long renderer, boolean enableReorder);
+
+    @Override
+    public void onPreDraw(Rect dirty) {
+        if (dirty != null) {
+            nPrepareDirty(mNativeCanvasWrapper, dirty.left, dirty.top, dirty.right, dirty.bottom);
+        } else {
+            nPrepare(mNativeCanvasWrapper);
+        }
+    }
+
+    private static native void nPrepare(long renderer);
+    private static native void nPrepareDirty(long renderer, int left, int top, int right, int bottom);
+
+    @Override
+    public void onPostDraw() {
+        nFinish(mNativeCanvasWrapper);
+    }
+
+    private static native void nFinish(long renderer);
+
+    ///////////////////////////////////////////////////////////////////////////
+    // Functor
+    ///////////////////////////////////////////////////////////////////////////
+
+    @Override
+    public void callDrawGLFunction2(long drawGLFunction) {
+        nCallDrawGLFunction(mNativeCanvasWrapper, drawGLFunction);
+    }
+
+    private static native void nCallDrawGLFunction(long renderer, long drawGLFunction);
+
+    ///////////////////////////////////////////////////////////////////////////
+    // Display list
+    ///////////////////////////////////////////////////////////////////////////
+
+    protected static native long nFinishRecording(long renderer);
+
+    @Override
+    public void drawRenderNode(RenderNode renderNode, int flags) {
+        nDrawRenderNode(mNativeCanvasWrapper, renderNode.getNativeDisplayList(), flags);
+    }
+
+    private static native void nDrawRenderNode(long renderer, long renderNode,
+            int flags);
+
+    ///////////////////////////////////////////////////////////////////////////
+    // Hardware layer
+    ///////////////////////////////////////////////////////////////////////////
+
+    void drawHardwareLayer(HardwareLayer layer, float x, float y, Paint paint) {
+        layer.setLayerPaint(paint);
+        nDrawLayer(mNativeCanvasWrapper, layer.getLayerHandle(), x, y);
+    }
+
+    private static native void nDrawLayer(long renderer, long layer, float x, float y);
+
+    ///////////////////////////////////////////////////////////////////////////
+    // Drawing
+    ///////////////////////////////////////////////////////////////////////////
+
+    // TODO: move to Canvas.java
+    @Override
+    public void drawPatch(NinePatch patch, Rect dst, Paint paint) {
+        Bitmap bitmap = patch.getBitmap();
+        throwIfCannotDraw(bitmap);
+        final long nativePaint = paint == null ? 0 : paint.getNativeInstance();
+        nDrawPatch(mNativeCanvasWrapper, bitmap.getSkBitmap(), patch.mNativeChunk,
+                dst.left, dst.top, dst.right, dst.bottom, nativePaint);
+    }
+
+    // TODO: move to Canvas.java
+    @Override
+    public void drawPatch(NinePatch patch, RectF dst, Paint paint) {
+        Bitmap bitmap = patch.getBitmap();
+        throwIfCannotDraw(bitmap);
+        final long nativePaint = paint == null ? 0 : paint.getNativeInstance();
+        nDrawPatch(mNativeCanvasWrapper, bitmap.getSkBitmap(), patch.mNativeChunk,
+                dst.left, dst.top, dst.right, dst.bottom, nativePaint);
+    }
+
+    private static native void nDrawPatch(long renderer, long bitmap, long chunk,
+            float left, float top, float right, float bottom, long paint);
+
+    @Override
+    public void drawCircle(CanvasProperty<Float> cx, CanvasProperty<Float> cy,
+            CanvasProperty<Float> radius, CanvasProperty<Paint> paint) {
+        nDrawCircle(mNativeCanvasWrapper, cx.getNativeContainer(), cy.getNativeContainer(),
+                radius.getNativeContainer(), paint.getNativeContainer());
+    }
+
+    private static native void nDrawCircle(long renderer, long propCx,
+            long propCy, long propRadius, long propPaint);
+
+    @Override
+    public void drawRoundRect(CanvasProperty<Float> left, CanvasProperty<Float> top,
+            CanvasProperty<Float> right, CanvasProperty<Float> bottom, CanvasProperty<Float> rx,
+            CanvasProperty<Float> ry, CanvasProperty<Paint> paint) {
+        nDrawRoundRect(mNativeCanvasWrapper, left.getNativeContainer(), top.getNativeContainer(),
+                right.getNativeContainer(), bottom.getNativeContainer(),
+                rx.getNativeContainer(), ry.getNativeContainer(),
+                paint.getNativeContainer());
+    }
+
+    private static native void nDrawRoundRect(long renderer, long propLeft, long propTop,
+            long propRight, long propBottom, long propRx, long propRy, long propPaint);
+
+    // TODO: move this optimization to Canvas.java
+    @Override
+    public void drawPath(Path path, Paint paint) {
+        if (path.isSimplePath) {
+            if (path.rects != null) {
+                nDrawRects(mNativeCanvasWrapper, path.rects.mNativeRegion, paint.getNativeInstance());
+            }
+        } else {
+            super.drawPath(path, paint);
+        }
+    }
+
+    private static native void nDrawRects(long renderer, long region, long paint);
+
+    @Override
+    public void drawPicture(Picture picture) {
+        picture.endRecording();
+        // TODO: Implement rendering
+    }
+}
diff --git a/core/java/android/view/FrameStats.java b/core/java/android/view/FrameStats.java
index b3ac1db..3fbe6fe 100644
--- a/core/java/android/view/FrameStats.java
+++ b/core/java/android/view/FrameStats.java
@@ -16,9 +16,6 @@
 
 package android.view;
 
-import android.os.Parcel;
-import android.os.Parcelable;
-
 /**
  * This is the base class for frame statistics.
  */
diff --git a/core/java/android/view/GLES20Canvas.java b/core/java/android/view/GLES20Canvas.java
deleted file mode 100644
index 3cb4666..0000000
--- a/core/java/android/view/GLES20Canvas.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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;
-
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.CanvasProperty;
-import android.graphics.Matrix;
-import android.graphics.NinePatch;
-import android.graphics.Paint;
-import android.graphics.Path;
-import android.graphics.Picture;
-import android.graphics.Rect;
-import android.graphics.RectF;
-import android.text.GraphicsOperations;
-import android.text.SpannableString;
-import android.text.SpannedString;
-import android.text.TextUtils;
-
-/**
- * An implementation of Canvas on top of OpenGL ES 2.0.
- */
-class GLES20Canvas extends HardwareCanvas {
-    private int mWidth;
-    private int mHeight;
-
-    private float[] mPoint;
-    private float[] mLine;
-
-    private Rect mClipBounds;
-    private RectF mPathBounds;
-
-    ///////////////////////////////////////////////////////////////////////////
-    // JNI
-    ///////////////////////////////////////////////////////////////////////////
-
-    private static native boolean nIsAvailable();
-    private static boolean sIsAvailable = nIsAvailable();
-
-    static boolean isAvailable() {
-        return sIsAvailable;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Constructors
-    ///////////////////////////////////////////////////////////////////////////
-
-    // TODO: Merge with GLES20RecordingCanvas
-    protected GLES20Canvas() {
-        super(nCreateDisplayListRenderer());
-    }
-
-    private static native long nCreateDisplayListRenderer();
-
-    public static void setProperty(String name, String value) {
-        nSetProperty(name, value);
-    }
-
-    private static native void nSetProperty(String name, String value);
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Canvas management
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    public boolean isOpaque() {
-        return false;
-    }
-
-    @Override
-    public int getWidth() {
-        return mWidth;
-    }
-
-    @Override
-    public int getHeight() {
-        return mHeight;
-    }
-
-    @Override
-    public int getMaximumBitmapWidth() {
-        return nGetMaximumTextureWidth();
-    }
-
-    @Override
-    public int getMaximumBitmapHeight() {
-        return nGetMaximumTextureHeight();
-    }
-
-    private static native int nGetMaximumTextureWidth();
-    private static native int nGetMaximumTextureHeight();
-
-    /**
-     * Returns the native OpenGLRenderer object.
-     */
-    long getRenderer() {
-        return mNativeCanvasWrapper;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Setup
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    public void setViewport(int width, int height) {
-        mWidth = width;
-        mHeight = height;
-
-        nSetViewport(mNativeCanvasWrapper, width, height);
-    }
-
-    private static native void nSetViewport(long renderer,
-            int width, int height);
-
-    @Override
-    public void setHighContrastText(boolean highContrastText) {
-        nSetHighContrastText(mNativeCanvasWrapper, highContrastText);
-    }
-
-    private static native void nSetHighContrastText(long renderer, boolean highContrastText);
-
-    @Override
-    public void insertReorderBarrier() {
-        nInsertReorderBarrier(mNativeCanvasWrapper, true);
-    }
-
-    @Override
-    public void insertInorderBarrier() {
-        nInsertReorderBarrier(mNativeCanvasWrapper, false);
-    }
-
-    private static native void nInsertReorderBarrier(long renderer, boolean enableReorder);
-
-    @Override
-    public void onPreDraw(Rect dirty) {
-        if (dirty != null) {
-            nPrepareDirty(mNativeCanvasWrapper, dirty.left, dirty.top, dirty.right, dirty.bottom);
-        } else {
-            nPrepare(mNativeCanvasWrapper);
-        }
-    }
-
-    private static native void nPrepare(long renderer);
-    private static native void nPrepareDirty(long renderer, int left, int top, int right, int bottom);
-
-    @Override
-    public void onPostDraw() {
-        nFinish(mNativeCanvasWrapper);
-    }
-
-    private static native void nFinish(long renderer);
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Functor
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    public void callDrawGLFunction2(long drawGLFunction) {
-        nCallDrawGLFunction(mNativeCanvasWrapper, drawGLFunction);
-    }
-
-    private static native void nCallDrawGLFunction(long renderer, long drawGLFunction);
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Display list
-    ///////////////////////////////////////////////////////////////////////////
-
-    protected static native long nFinishRecording(long renderer);
-
-    @Override
-    public void drawRenderNode(RenderNode renderNode, int flags) {
-        nDrawRenderNode(mNativeCanvasWrapper, renderNode.getNativeDisplayList(), flags);
-    }
-
-    private static native void nDrawRenderNode(long renderer, long renderNode,
-            int flags);
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Hardware layer
-    ///////////////////////////////////////////////////////////////////////////
-
-    void drawHardwareLayer(HardwareLayer layer, float x, float y, Paint paint) {
-        layer.setLayerPaint(paint);
-        nDrawLayer(mNativeCanvasWrapper, layer.getLayerHandle(), x, y);
-    }
-
-    private static native void nDrawLayer(long renderer, long layer, float x, float y);
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Drawing
-    ///////////////////////////////////////////////////////////////////////////
-
-    // TODO: move to Canvas.java
-    @Override
-    public void drawPatch(NinePatch patch, Rect dst, Paint paint) {
-        Bitmap bitmap = patch.getBitmap();
-        throwIfCannotDraw(bitmap);
-        final long nativePaint = paint == null ? 0 : paint.getNativeInstance();
-        nDrawPatch(mNativeCanvasWrapper, bitmap.mNativeBitmap, patch.mNativeChunk,
-                dst.left, dst.top, dst.right, dst.bottom, nativePaint);
-    }
-
-    // TODO: move to Canvas.java
-    @Override
-    public void drawPatch(NinePatch patch, RectF dst, Paint paint) {
-        Bitmap bitmap = patch.getBitmap();
-        throwIfCannotDraw(bitmap);
-        final long nativePaint = paint == null ? 0 : paint.getNativeInstance();
-        nDrawPatch(mNativeCanvasWrapper, bitmap.mNativeBitmap, patch.mNativeChunk,
-                dst.left, dst.top, dst.right, dst.bottom, nativePaint);
-    }
-
-    private static native void nDrawPatch(long renderer, long bitmap, long chunk,
-            float left, float top, float right, float bottom, long paint);
-
-    @Override
-    public void drawCircle(CanvasProperty<Float> cx, CanvasProperty<Float> cy,
-            CanvasProperty<Float> radius, CanvasProperty<Paint> paint) {
-        nDrawCircle(mNativeCanvasWrapper, cx.getNativeContainer(), cy.getNativeContainer(),
-                radius.getNativeContainer(), paint.getNativeContainer());
-    }
-
-    private static native void nDrawCircle(long renderer, long propCx,
-            long propCy, long propRadius, long propPaint);
-
-    @Override
-    public void drawRoundRect(CanvasProperty<Float> left, CanvasProperty<Float> top,
-            CanvasProperty<Float> right, CanvasProperty<Float> bottom, CanvasProperty<Float> rx,
-            CanvasProperty<Float> ry, CanvasProperty<Paint> paint) {
-        nDrawRoundRect(mNativeCanvasWrapper, left.getNativeContainer(), top.getNativeContainer(),
-                right.getNativeContainer(), bottom.getNativeContainer(),
-                rx.getNativeContainer(), ry.getNativeContainer(),
-                paint.getNativeContainer());
-    }
-
-    private static native void nDrawRoundRect(long renderer, long propLeft, long propTop,
-            long propRight, long propBottom, long propRx, long propRy, long propPaint);
-
-    // TODO: move this optimization to Canvas.java
-    @Override
-    public void drawPath(Path path, Paint paint) {
-        if (path.isSimplePath) {
-            if (path.rects != null) {
-                nDrawRects(mNativeCanvasWrapper, path.rects.mNativeRegion, paint.getNativeInstance());
-            }
-        } else {
-            super.drawPath(path, paint);
-        }
-    }
-
-    private static native void nDrawRects(long renderer, long region, long paint);
-
-    @Override
-    public void drawPicture(Picture picture) {
-        picture.endRecording();
-        // TODO: Implement rendering
-    }
-}
diff --git a/core/java/android/view/GLES20RecordingCanvas.java b/core/java/android/view/GLES20RecordingCanvas.java
deleted file mode 100644
index 5ca5626..0000000
--- a/core/java/android/view/GLES20RecordingCanvas.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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;
-
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.util.Pools.SynchronizedPool;
-
-/**
- * An implementation of a GL canvas that records drawing operations.
- * This is intended for use with a DisplayList. This class keeps a list of all the Paint and
- * Bitmap objects that it draws, preventing the backing memory of Bitmaps from being freed while
- * the DisplayList is still holding a native reference to the memory.
- */
-class GLES20RecordingCanvas extends GLES20Canvas {
-    // The recording canvas pool should be large enough to handle a deeply nested
-    // view hierarchy because display lists are generated recursively.
-    private static final int POOL_LIMIT = 25;
-
-    private static final SynchronizedPool<GLES20RecordingCanvas> sPool =
-            new SynchronizedPool<GLES20RecordingCanvas>(POOL_LIMIT);
-
-    RenderNode mNode;
-
-    private GLES20RecordingCanvas() {
-        super();
-    }
-
-    static GLES20RecordingCanvas obtain(@NonNull RenderNode node) {
-        if (node == null) throw new IllegalArgumentException("node cannot be null");
-        GLES20RecordingCanvas canvas = sPool.acquire();
-        if (canvas == null) {
-            canvas = new GLES20RecordingCanvas();
-        }
-        canvas.mNode = node;
-        return canvas;
-    }
-
-    void recycle() {
-        mNode = null;
-        sPool.release(this);
-    }
-
-    long finishRecording() {
-        return nFinishRecording(mNativeCanvasWrapper);
-    }
-
-    @Override
-    public boolean isRecordingFor(Object o) {
-        return o == mNode;
-    }
-}
diff --git a/core/java/android/view/HardwareCanvas.java b/core/java/android/view/HardwareCanvas.java
index cdb350f..fc2b55b 100644
--- a/core/java/android/view/HardwareCanvas.java
+++ b/core/java/android/view/HardwareCanvas.java
@@ -119,6 +119,6 @@
             CanvasProperty<Paint> paint);
 
     public static void setProperty(String name, String value) {
-        GLES20Canvas.setProperty(name, value);
+        DisplayListCanvas.setProperty(name, value);
     }
 }
diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java
index aa61885..afa7f51 100644
--- a/core/java/android/view/HardwareRenderer.java
+++ b/core/java/android/view/HardwareRenderer.java
@@ -19,7 +19,6 @@
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.Rect;
-import android.util.DisplayMetrics;
 import android.view.Surface.OutOfResourcesException;
 
 import java.io.File;
@@ -206,7 +205,7 @@
      *         false otherwise
      */
     public static boolean isAvailable() {
-        return GLES20Canvas.isAvailable();
+        return DisplayListCanvas.isAvailable();
     }
 
     /**
@@ -424,7 +423,7 @@
      */
     static HardwareRenderer create(Context context, boolean translucent) {
         HardwareRenderer renderer = null;
-        if (GLES20Canvas.isAvailable()) {
+        if (DisplayListCanvas.isAvailable()) {
             renderer = new ThreadedRenderer(context, translucent);
         }
         return renderer;
diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java
index 243a0fc..779560c 100644
--- a/core/java/android/view/KeyEvent.java
+++ b/core/java/android/view/KeyEvent.java
@@ -20,7 +20,6 @@
 import android.os.Parcelable;
 import android.text.method.MetaKeyKeyListener;
 import android.util.Log;
-import android.util.SparseArray;
 import android.util.SparseIntArray;
 import android.view.KeyCharacterMap;
 import android.view.KeyCharacterMap.KeyData;
diff --git a/core/java/android/view/LayoutInflater.java b/core/java/android/view/LayoutInflater.java
index 1014573..1a07aee 100644
--- a/core/java/android/view/LayoutInflater.java
+++ b/core/java/android/view/LayoutInflater.java
@@ -532,10 +532,10 @@
                 InflateException ex = new InflateException(e.getMessage());
                 ex.initCause(e);
                 throw ex;
-            } catch (IOException e) {
+            } catch (Exception e) {
                 InflateException ex = new InflateException(
                         parser.getPositionDescription()
-                        + ": " + e.getMessage());
+                                + ": " + e.getMessage());
                 ex.initCause(e);
                 throw ex;
             } finally {
diff --git a/core/java/android/view/MenuInflater.java b/core/java/android/view/MenuInflater.java
index 3492aa0..b49a59e 100644
--- a/core/java/android/view/MenuInflater.java
+++ b/core/java/android/view/MenuInflater.java
@@ -25,8 +25,11 @@
 import android.app.Activity;
 import android.content.Context;
 import android.content.ContextWrapper;
+import android.content.res.ColorStateList;
 import android.content.res.TypedArray;
 import android.content.res.XmlResourceParser;
+import android.graphics.PorterDuff;
+import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
 import android.util.Log;
 import android.util.Xml;
@@ -334,6 +337,11 @@
         
         private ActionProvider itemActionProvider;
 
+        private ColorStateList itemIconTintList;
+        private boolean itemIconTintListSet;
+        private PorterDuff.Mode itemIconTintMode;
+        private boolean itemIconTintModeSet;
+
         private static final int defaultGroupId = NO_ID;
         private static final int defaultItemId = NO_ID;
         private static final int defaultItemCategory = 0;
@@ -424,6 +432,23 @@
                 itemActionProvider = null;
             }
 
+            if (a.hasValueOrEmpty(com.android.internal.R.styleable.MenuItem_iconTint)) {
+                itemIconTintList = a.getColorStateList(
+                        com.android.internal.R.styleable.MenuItem_iconTint);
+                itemIconTintListSet = true;
+            } else {
+                itemIconTintList = null;
+                itemIconTintListSet = false;
+            }
+            if (a.hasValueOrEmpty(com.android.internal.R.styleable.MenuItem_iconTintMode)) {
+                itemIconTintMode = Drawable.parseTintMode(
+                        a.getInt(com.android.internal.R.styleable.MenuItem_iconTintMode, -1), null);
+                itemIconTintModeSet = true;
+            } else {
+                itemIconTintMode = null;
+                itemIconTintModeSet = false;
+            }
+
             a.recycle();
 
             itemAdded = false;
@@ -486,6 +511,13 @@
             if (itemActionProvider != null) {
                 item.setActionProvider(itemActionProvider);
             }
+
+            if (itemIconTintListSet) {
+                item.setIconTintList(itemIconTintList);
+            }
+            if (itemIconTintModeSet) {
+                item.setIconTintMode(itemIconTintMode);
+            }
         }
 
         public MenuItem addItem() {
diff --git a/core/java/android/view/MenuItem.java b/core/java/android/view/MenuItem.java
index 9e8b97e..2948007 100644
--- a/core/java/android/view/MenuItem.java
+++ b/core/java/android/view/MenuItem.java
@@ -21,6 +21,8 @@
 import android.annotation.StringRes;
 import android.app.Activity;
 import android.content.Intent;
+import android.content.res.ColorStateList;
+import android.graphics.PorterDuff;
 import android.graphics.drawable.Drawable;
 import android.view.ContextMenu.ContextMenuInfo;
 import android.view.View.OnCreateContextMenuListener;
@@ -599,4 +601,26 @@
      * @return This menu item instance for call chaining
      */
     public MenuItem setOnActionExpandListener(OnActionExpandListener listener);
+
+    /**
+     * Applies a tint to the icon drawable. Does not modify the current tint
+     * mode, which is {@link PorterDuff.Mode#SRC_IN} by default.
+     * <p>
+     * Subsequent calls to {@link android.view.MenuItem#setIcon(android.graphics.drawable.Drawable)}
+     * will automatically mutate the drawable and apply the specified tint and tint mode.
+     *
+     * @param tint the tint to apply, may be {@code null} to clear tint
+     * @return This menu item instance for call chaining
+     */
+    public MenuItem setIconTintList(ColorStateList tint);
+
+    /**
+     * Specifies the blending mode used to apply the tint specified by {@link
+     * #setIconTintList(ColorStateList)} to the icon drawable. The default mode is {@link
+     * PorterDuff.Mode#SRC_IN}.
+     *
+     * @param tintMode the blending mode used to apply the tint, may be {@code null} to clear tint
+     * @return This menu item instance for call chaining
+     */
+    public MenuItem setIconTintMode(PorterDuff.Mode tintMode);
 }
diff --git a/core/java/android/view/PhoneWindow.java b/core/java/android/view/PhoneWindow.java
index 0814101..8aef18a 100644
--- a/core/java/android/view/PhoneWindow.java
+++ b/core/java/android/view/PhoneWindow.java
@@ -28,7 +28,6 @@
 import android.os.UserHandle;
 
 import com.android.internal.R;
-import com.android.internal.view.ActionModeWrapper;
 import com.android.internal.view.RootViewSurfaceTaker;
 import com.android.internal.view.StandaloneActionMode;
 import com.android.internal.view.menu.ContextMenuBuilder;
@@ -938,7 +937,7 @@
 
             final PanelFeatureState st = getPanelState(featureId, false);
 
-            if (event.isCanceled() || (mDecor != null && mDecor.mActionMode != null) ||
+            if (event.isCanceled() || (mDecor != null && mDecor.mPrimaryActionMode != null) ||
                     (st == null)) {
                 return;
             }
@@ -2172,10 +2171,11 @@
         private boolean mWatchingForMenu;
         private int mDownY;
 
-        private ActionMode mActionMode;
-        private ActionBarContextView mActionModeView;
-        private PopupWindow mActionModePopup;
-        private Runnable mShowActionModePopup;
+        private ActionMode mPrimaryActionMode;
+        private ActionMode mFloatingActionMode;
+        private ActionBarContextView mPrimaryActionModeView;
+        private PopupWindow mPrimaryActionModePopup;
+        private Runnable mShowPrimaryActionModePopup;
 
         // View added at runtime to draw under the status bar area
         private View mStatusGuard;
@@ -2338,9 +2338,9 @@
             if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
                 final int action = event.getAction();
                 // Back cancels action modes first.
-                if (mActionMode != null) {
+                if (mPrimaryActionMode != null) {
                     if (action == KeyEvent.ACTION_UP) {
-                        mActionMode.finish();
+                        mPrimaryActionMode.finish();
                     }
                     return true;
                 }
@@ -2675,44 +2675,65 @@
         }
 
         @Override
-        public ActionMode startActionMode(ActionMode.Callback callback) {
-            if (mActionMode != null) {
-                mActionMode.finish();
-            }
+        public ActionMode startActionModeForChild(
+                View child, ActionMode.Callback callback, int type) {
+            // originalView can be used here to be sure that we don't obscure
+            // relevant content with the context mode UI.
+            return startActionMode(callback, type);
+        }
 
-            final ActionMode.Callback wrappedCallback = new ActionModeCallbackWrapper(callback);
+        @Override
+        public ActionMode startActionMode(ActionMode.Callback callback) {
+            return startActionMode(callback, ActionMode.TYPE_PRIMARY);
+        }
+
+        @Override
+        public ActionMode startActionMode(ActionMode.Callback callback, int type) {
+            ActionMode.Callback wrappedCallback = new ActionModeCallbackWrapper(callback);
             ActionMode mode = null;
             if (getCallback() != null && !isDestroyed()) {
                 try {
-                    mode = getCallback().onWindowStartingActionMode(wrappedCallback);
+                    mode = getCallback().onWindowStartingActionMode(wrappedCallback, type);
                 } catch (AbstractMethodError ame) {
                     // Older apps might not implement this callback method.
                 }
             }
             if (mode != null) {
-                mActionMode = mode;
-            } else {
-                if (mActionModeView != null) {
-                    mActionModeView.killMode();
-                }
-                ActionModeWrapper wrapperMode = new ActionModeWrapper(
-                        mContext, wrappedCallback, new StandaloneActionModeProvider());
-                if (callback.onCreateActionMode(wrapperMode, wrapperMode.getMenu())) {
-                    mActionMode = wrapperMode;
-                    wrapperMode.lockType();
-                    mActionMode.invalidate();
+                if (mode.getType() == ActionMode.TYPE_PRIMARY) {
+                    cleanupPrimaryActionMode();
+                    mPrimaryActionMode = mode;
                 } else {
-                    mActionMode = null;
+                    mFloatingActionMode = mode;
+                }
+            } else {
+                if (type == ActionMode.TYPE_PRIMARY) {
+                    cleanupPrimaryActionMode();
+                    mode = createStandaloneActionMode(wrappedCallback);
+                    if (mode != null && callback.onCreateActionMode(mode, mode.getMenu())) {
+                        setHandledPrimaryActionMode(mode);
+                    } else {
+                        mode = null;
+                    }
                 }
             }
-            if (mActionMode != null && getCallback() != null && !isDestroyed()) {
+            if (mode != null && getCallback() != null && !isDestroyed()) {
                 try {
-                    getCallback().onActionModeStarted(mActionMode);
+                    getCallback().onActionModeStarted(mode);
                 } catch (AbstractMethodError ame) {
                     // Older apps might not implement this callback method.
                 }
             }
-            return mActionMode;
+            return mode;
+        }
+
+        private void cleanupPrimaryActionMode() {
+            if (mPrimaryActionMode != null) {
+                mPrimaryActionMode.finish();
+                mPrimaryActionMode = null;
+            }
+            if (mPrimaryActionModeView != null) {
+                mPrimaryActionModeView.killMode();
+            }
         }
 
         public void startChanging() {
@@ -2936,13 +2957,13 @@
         private WindowInsets updateStatusGuard(WindowInsets insets) {
             boolean showStatusGuard = false;
             // Show the status guard when the non-overlay contextual action bar is showing
-            if (mActionModeView != null) {
-                if (mActionModeView.getLayoutParams() instanceof MarginLayoutParams) {
+            if (mPrimaryActionModeView != null) {
+                if (mPrimaryActionModeView.getLayoutParams() instanceof MarginLayoutParams) {
                     // Insets are magic!
                     final MarginLayoutParams mlp = (MarginLayoutParams)
-                            mActionModeView.getLayoutParams();
+                            mPrimaryActionModeView.getLayoutParams();
                     boolean mlpChanged = false;
-                    if (mActionModeView.isShown()) {
+                    if (mPrimaryActionModeView.isShown()) {
                         if (mTempRect == null) {
                             mTempRect = new Rect();
                         }
@@ -2993,7 +3014,7 @@
                         }
                     }
                     if (mlpChanged) {
-                        mActionModeView.setLayoutParams(mlp);
+                        mPrimaryActionModeView.setLayoutParams(mlp);
                     }
                 }
             }
@@ -3150,12 +3171,12 @@
                 mDecorContentParent.dismissPopups();
             }
 
-            if (mActionModePopup != null) {
-                removeCallbacks(mShowActionModePopup);
-                if (mActionModePopup.isShowing()) {
-                    mActionModePopup.dismiss();
+            if (mPrimaryActionModePopup != null) {
+                removeCallbacks(mShowPrimaryActionModePopup);
+                if (mPrimaryActionModePopup.isShowing()) {
+                    mPrimaryActionModePopup.dismiss();
                 }
-                mActionModePopup = null;
+                mPrimaryActionModePopup = null;
             }
 
             PanelFeatureState st = getPanelState(FEATURE_OPTIONS_PANEL, false);
@@ -3198,80 +3219,75 @@
             updateColorViewTranslations();
         }
 
-        /**
-         * Encapsulates the view creation for {@link StandaloneActionMode}.
-         */
-        private class StandaloneActionModeProvider
-                implements ActionModeWrapper.ActionModeProvider {
+        private ActionMode createStandaloneActionMode(ActionMode.Callback callback) {
+            if (mPrimaryActionModeView == null) {
+                if (isFloating()) {
+                    // Use the action bar theme.
+                    final TypedValue outValue = new TypedValue();
+                    final Theme baseTheme = mContext.getTheme();
+                    baseTheme.resolveAttribute(R.attr.actionBarTheme, outValue, true);
 
-            @Override
-            public ActionMode createActionMode(android.view.ActionMode.Callback callback,
-                    MenuBuilder menuBuilder) {
-                if (mActionModeView == null) {
-                    if (isFloating()) {
-                        // Use the action bar theme.
-                        final TypedValue outValue = new TypedValue();
-                        final Theme baseTheme = mContext.getTheme();
-                        baseTheme.resolveAttribute(R.attr.actionBarTheme, outValue, true);
+                    final Context actionBarContext;
+                    if (outValue.resourceId != 0) {
+                        final Theme actionBarTheme = mContext.getResources().newTheme();
+                        actionBarTheme.setTo(baseTheme);
+                        actionBarTheme.applyStyle(outValue.resourceId, true);
 
-                        final Context actionBarContext;
-                        if (outValue.resourceId != 0) {
-                            final Theme actionBarTheme = mContext.getResources().newTheme();
-                            actionBarTheme.setTo(baseTheme);
-                            actionBarTheme.applyStyle(outValue.resourceId, true);
-
-                            actionBarContext = new ContextThemeWrapper(mContext, 0);
-                            actionBarContext.getTheme().setTo(actionBarTheme);
-                        } else {
-                            actionBarContext = mContext;
-                        }
-
-                        mActionModeView = new ActionBarContextView(actionBarContext);
-                        mActionModePopup = new PopupWindow(actionBarContext, null,
-                                R.attr.actionModePopupWindowStyle);
-                        mActionModePopup.setWindowLayoutType(
-                                WindowManager.LayoutParams.TYPE_APPLICATION);
-                        mActionModePopup.setContentView(mActionModeView);
-                        mActionModePopup.setWidth(MATCH_PARENT);
-
-                        actionBarContext.getTheme().resolveAttribute(
-                                R.attr.actionBarSize, outValue, true);
-                        final int height = TypedValue.complexToDimensionPixelSize(outValue.data,
-                                actionBarContext.getResources().getDisplayMetrics());
-                        mActionModeView.setContentHeight(height);
-                        mActionModePopup.setHeight(WRAP_CONTENT);
-                        mShowActionModePopup = new Runnable() {
-                            public void run() {
-                                mActionModePopup.showAtLocation(
-                                        mActionModeView.getApplicationWindowToken(),
-                                        Gravity.TOP | Gravity.FILL_HORIZONTAL, 0, 0);
-                            }
-                        };
+                        actionBarContext = new ContextThemeWrapper(mContext, 0);
+                        actionBarContext.getTheme().setTo(actionBarTheme);
                     } else {
-                        ViewStub stub = (ViewStub) findViewById(
-                                R.id.action_mode_bar_stub);
-                        if (stub != null) {
-                            mActionModeView = (ActionBarContextView) stub.inflate();
-                        }
+                        actionBarContext = mContext;
                     }
-                }
-                if (mActionModeView != null) {
-                    ActionMode mode = new StandaloneActionMode(
-                            mActionModeView.getContext(), mActionModeView,
-                            callback, mActionModePopup == null, menuBuilder);
-                    mActionModeView.killMode();
-                    mActionModeView.initForMode(mode);
-                    mActionModeView.setVisibility(View.VISIBLE);
-                    if (mActionModePopup != null) {
-                        post(mShowActionModePopup);
-                    }
-                    mActionModeView.sendAccessibilityEvent(
-                            AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
-                    return mode;
-                }
-                return null;
-            }
 
+                    mPrimaryActionModeView = new ActionBarContextView(actionBarContext);
+                    mPrimaryActionModePopup = new PopupWindow(actionBarContext, null,
+                            R.attr.actionModePopupWindowStyle);
+                    mPrimaryActionModePopup.setWindowLayoutType(
+                            WindowManager.LayoutParams.TYPE_APPLICATION);
+                    mPrimaryActionModePopup.setContentView(mPrimaryActionModeView);
+                    mPrimaryActionModePopup.setWidth(MATCH_PARENT);
+
+                    actionBarContext.getTheme().resolveAttribute(
+                            R.attr.actionBarSize, outValue, true);
+                    final int height = TypedValue.complexToDimensionPixelSize(outValue.data,
+                            actionBarContext.getResources().getDisplayMetrics());
+                    mPrimaryActionModeView.setContentHeight(height);
+                    mPrimaryActionModePopup.setHeight(WRAP_CONTENT);
+                    mShowPrimaryActionModePopup = new Runnable() {
+                        public void run() {
+                            mPrimaryActionModePopup.showAtLocation(
+                                    mPrimaryActionModeView.getApplicationWindowToken(),
+                                    Gravity.TOP | Gravity.FILL_HORIZONTAL, 0, 0);
+                        }
+                    };
+                } else {
+                    ViewStub stub = (ViewStub) findViewById(
+                            R.id.action_mode_bar_stub);
+                    if (stub != null) {
+                        mPrimaryActionModeView = (ActionBarContextView) stub.inflate();
+                    }
+                }
+            }
+            if (mPrimaryActionModeView != null) {
+                mPrimaryActionModeView.killMode();
+                ActionMode mode = new StandaloneActionMode(
+                        mPrimaryActionModeView.getContext(), mPrimaryActionModeView,
+                        callback, mPrimaryActionModePopup == null);
+                return mode;
+            }
+            return null;
+        }
+
+        private void setHandledPrimaryActionMode(ActionMode mode) {
+            mPrimaryActionMode = mode;
+            mPrimaryActionMode.invalidate();
+            mPrimaryActionModeView.initForMode(mPrimaryActionMode);
+            mPrimaryActionModeView.setVisibility(View.VISIBLE);
+            if (mPrimaryActionModePopup != null) {
+                post(mShowPrimaryActionModePopup);
+            }
+            mPrimaryActionModeView.sendAccessibilityEvent(
+                    AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
         }
 
         /**
@@ -3299,23 +3315,27 @@
 
             public void onDestroyActionMode(ActionMode mode) {
                 mWrapped.onDestroyActionMode(mode);
-                if (mActionModePopup != null) {
-                    removeCallbacks(mShowActionModePopup);
-                    mActionModePopup.dismiss();
-                } else if (mActionModeView != null) {
-                    mActionModeView.setVisibility(GONE);
-                }
-                if (mActionModeView != null) {
-                    mActionModeView.removeAllViews();
+                if (mode == mPrimaryActionMode) {
+                    if (mPrimaryActionModePopup != null) {
+                        removeCallbacks(mShowPrimaryActionModePopup);
+                        mPrimaryActionModePopup.dismiss();
+                    } else if (mPrimaryActionModeView != null) {
+                        mPrimaryActionModeView.setVisibility(GONE);
+                    }
+                    if (mPrimaryActionModeView != null) {
+                        mPrimaryActionModeView.removeAllViews();
+                    }
+                    mPrimaryActionMode = null;
+                } else if (mode == mFloatingActionMode) {
+                    mFloatingActionMode = null;
                 }
                 if (getCallback() != null && !isDestroyed()) {
                     try {
-                        getCallback().onActionModeFinished(mActionMode);
+                        getCallback().onActionModeFinished(mode);
                     } catch (AbstractMethodError ame) {
                         // Older apps might not implement this callback method.
                     }
                 }
-                mActionMode = null;
                 requestFitSystemWindows();
             }
         }
@@ -4147,7 +4167,7 @@
                 & Configuration.UI_MODE_TYPE_MASK) == Configuration.UI_MODE_TYPE_TELEVISION) {
             // On TVs, if the app doesn't implement search, we want to launch assist.
             return ((SearchManager)getContext().getSystemService(Context.SEARCH_SERVICE))
-                    .launchAssistAction(0, null, UserHandle.myUserId());
+                    .launchAssistAction(null, UserHandle.myUserId());
         }
         return result;
     }
diff --git a/core/java/android/view/RenderNode.java b/core/java/android/view/RenderNode.java
index 09eb486..38867a8 100644
--- a/core/java/android/view/RenderNode.java
+++ b/core/java/android/view/RenderNode.java
@@ -225,7 +225,7 @@
      * @see #isValid()
      */
     public HardwareCanvas start(int width, int height) {
-        HardwareCanvas canvas = GLES20RecordingCanvas.obtain(this);
+        HardwareCanvas canvas = DisplayListCanvas.obtain(this);
         canvas.setViewport(width, height);
         // The dirty rect should always be null for a display list
         canvas.onPreDraw(null);
@@ -241,11 +241,11 @@
      * @see #isValid()
      */
     public void end(HardwareCanvas endCanvas) {
-        if (!(endCanvas instanceof GLES20RecordingCanvas)) {
+        if (!(endCanvas instanceof DisplayListCanvas)) {
             throw new IllegalArgumentException("Passed an invalid canvas to end!");
         }
 
-        GLES20RecordingCanvas canvas = (GLES20RecordingCanvas) endCanvas;
+        DisplayListCanvas canvas = (DisplayListCanvas) endCanvas;
         canvas.onPostDraw();
         long renderNodeData = canvas.finishRecording();
         nSetDisplayListData(mNativeRenderNode, renderNodeData);
diff --git a/core/java/android/view/RenderNodeAnimator.java b/core/java/android/view/RenderNodeAnimator.java
index 7b35a3b..379796d 100644
--- a/core/java/android/view/RenderNodeAnimator.java
+++ b/core/java/android/view/RenderNodeAnimator.java
@@ -283,10 +283,10 @@
     }
 
     public void setTarget(Canvas canvas) {
-        if (!(canvas instanceof GLES20RecordingCanvas)) {
+        if (!(canvas instanceof DisplayListCanvas)) {
             throw new IllegalArgumentException("Not a GLES20RecordingCanvas");
         }
-        final GLES20RecordingCanvas recordingCanvas = (GLES20RecordingCanvas) canvas;
+        final DisplayListCanvas recordingCanvas = (DisplayListCanvas) canvas;
         setTarget(recordingCanvas.mNode);
     }
 
diff --git a/core/java/android/view/ThreadedRenderer.java b/core/java/android/view/ThreadedRenderer.java
index df0838f..51fefe9 100644
--- a/core/java/android/view/ThreadedRenderer.java
+++ b/core/java/android/view/ThreadedRenderer.java
@@ -102,7 +102,6 @@
     private final float mLightRadius;
     private final int mAmbientShadowAlpha;
     private final int mSpotShadowAlpha;
-    private final float mDensity;
 
     private long mNativeProxy;
     private boolean mInitialized = false;
@@ -119,7 +118,6 @@
                 (int) (255 * a.getFloat(R.styleable.Lighting_ambientShadowAlpha, 0) + 0.5f);
         mSpotShadowAlpha = (int) (255 * a.getFloat(R.styleable.Lighting_spotShadowAlpha, 0) + 0.5f);
         a.recycle();
-        mDensity = context.getResources().getDisplayMetrics().density;
 
         long rootNodePtr = nCreateRootRenderNode();
         mRootNode = RenderNode.adopt(rootNodePtr);
@@ -128,10 +126,6 @@
 
         AtlasInitializer.sInstance.init(context, mNativeProxy);
 
-        // Setup timing
-        mChoreographer = Choreographer.getInstance();
-        nSetFrameInterval(mNativeProxy, mChoreographer.getFrameIntervalNanos());
-
         loadSystemProperties();
     }
 
@@ -224,7 +218,7 @@
         mRootNode.setLeftTopRightBottom(-mInsetLeft, -mInsetTop, mSurfaceWidth, mSurfaceHeight);
         nSetup(mNativeProxy, mSurfaceWidth, mSurfaceHeight,
                 lightX, mLightY, mLightZ, mLightRadius,
-                mAmbientShadowAlpha, mSpotShadowAlpha, mDensity);
+                mAmbientShadowAlpha, mSpotShadowAlpha);
     }
 
     @Override
@@ -364,7 +358,7 @@
     @Override
     boolean copyLayerInto(final HardwareLayer layer, final Bitmap bitmap) {
         return nCopyLayerInto(mNativeProxy,
-                layer.getDeferredLayerUpdater(), bitmap.mNativeBitmap);
+                layer.getDeferredLayerUpdater(), bitmap.getSkBitmap());
     }
 
     @Override
@@ -379,6 +373,7 @@
 
     @Override
     void setName(String name) {
+        nSetName(mNativeProxy, name);
     }
 
     @Override
@@ -465,7 +460,7 @@
             for (int i = 0; i < count; i++) {
                 drawables.valueAt(i).addAtlasableBitmaps(tmpList);
                 for (int j = 0; j < tmpList.size(); j++) {
-                    preloadedPointers.add(tmpList.get(j).mNativeBitmap);
+                    preloadedPointers.add(tmpList.get(j).getSkBitmap());
                 }
                 tmpList.clear();
             }
@@ -487,15 +482,15 @@
     private static native long nCreateProxy(boolean translucent, long rootRenderNode);
     private static native void nDeleteProxy(long nativeProxy);
 
-    private static native void nSetFrameInterval(long nativeProxy, long frameIntervalNanos);
     private static native boolean nLoadSystemProperties(long nativeProxy);
+    private static native void nSetName(long nativeProxy, String name);
 
     private static native boolean nInitialize(long nativeProxy, Surface window);
     private static native void nUpdateSurface(long nativeProxy, Surface window);
     private static native boolean nPauseSurface(long nativeProxy, Surface window);
     private static native void nSetup(long nativeProxy, int width, int height,
             float lightX, float lightY, float lightZ, float lightRadius,
-            int ambientShadowAlpha, int spotShadowAlpha, float density);
+            int ambientShadowAlpha, int spotShadowAlpha);
     private static native void nSetOpaque(long nativeProxy, boolean opaque);
     private static native int nSyncAndDrawFrame(long nativeProxy, long[] frameInfo, int size);
     private static native void nDestroy(long nativeProxy);
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 502d5ee..3927096 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -16,15 +16,17 @@
 
 package android.view;
 
-import android.animation.Animator;
 import android.animation.AnimatorInflater;
-import android.animation.ObjectAnimator;
 import android.animation.StateListAnimator;
+import android.annotation.CallSuper;
+import android.annotation.ColorInt;
 import android.annotation.DrawableRes;
+import android.annotation.FloatRange;
 import android.annotation.IdRes;
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.Size;
 import android.content.ClipData;
 import android.content.Context;
 import android.content.res.ColorStateList;
@@ -34,6 +36,7 @@
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.Insets;
+import android.graphics.Interpolator;
 import android.graphics.LinearGradient;
 import android.graphics.Matrix;
 import android.graphics.Outline;
@@ -4325,7 +4328,9 @@
      * @hide This is the real method; the public one is shimmed to be safe to call from apps.
      */
     protected void initializeFadingEdgeInternal(TypedArray a) {
-        getScrollCache().fadingEdgeLength = a.getDimensionPixelSize(
+        initScrollCache();
+
+        mScrollCache.fadingEdgeLength = a.getDimensionPixelSize(
                 R.styleable.View_fadingEdgeLength,
                 ViewConfiguration.get(mContext).getScaledFadingEdgeLength());
     }
@@ -4359,7 +4364,8 @@
      *        content in this view is visible.
      */
     public void setFadingEdgeLength(int length) {
-        getScrollCache().fadingEdgeLength = length;
+        initScrollCache();
+        mScrollCache.fadingEdgeLength = length;
     }
 
     /**
@@ -4463,7 +4469,10 @@
      * @hide
      */
     protected void initializeScrollbarsInternal(TypedArray a) {
-        final ScrollabilityCache scrollabilityCache = getScrollCache();
+        initScrollCache();
+
+        final ScrollabilityCache scrollabilityCache = mScrollCache;
+
         if (scrollabilityCache.scrollBar == null) {
             scrollabilityCache.scrollBar = new ScrollBarDrawable();
             scrollabilityCache.scrollBar.setCallback(this);
@@ -4471,16 +4480,23 @@
         }
 
         final boolean fadeScrollbars = a.getBoolean(R.styleable.View_fadeScrollbars, true);
-        scrollabilityCache.setFadingEnabled(fadeScrollbars);
+
+        if (!fadeScrollbars) {
+            scrollabilityCache.state = ScrollabilityCache.ON;
+        }
+        scrollabilityCache.fadeScrollBars = fadeScrollbars;
+
 
         scrollabilityCache.scrollBarFadeDuration = a.getInt(
-                R.styleable.View_scrollbarFadeDuration,
-                ViewConfiguration.getScrollBarFadeDuration());
+                R.styleable.View_scrollbarFadeDuration, ViewConfiguration
+                        .getScrollBarFadeDuration());
         scrollabilityCache.scrollBarDefaultDelayBeforeFade = a.getInt(
                 R.styleable.View_scrollbarDefaultDelayBeforeFade,
                 ViewConfiguration.getScrollDefaultDelay());
+
+
         scrollabilityCache.scrollBarSize = a.getDimensionPixelSize(
-                R.styleable.View_scrollbarSize,
+                com.android.internal.R.styleable.View_scrollbarSize,
                 ViewConfiguration.get(mContext).getScaledScrollBarSize());
 
         Drawable track = a.getDrawable(R.styleable.View_scrollbarTrackHorizontal);
@@ -4525,12 +4541,18 @@
     }
 
     /**
-     * Returns the scrollability cache, initializing a new cache if necessary.
+     * <p>
+     * Initalizes the scrollability cache if necessary.
+     * </p>
      */
-    private ScrollabilityCache getScrollCache() {
+    private void initScrollCache() {
         if (mScrollCache == null) {
-            mScrollCache = new ScrollabilityCache(this);
+            mScrollCache = new ScrollabilityCache(ViewConfiguration.get(mContext), this);
         }
+    }
+
+    private ScrollabilityCache getScrollCache() {
+        initScrollCache();
         return mScrollCache;
     }
 
@@ -4822,17 +4844,36 @@
     }
 
     /**
-     * Start an action mode.
+     * Start an action mode with the default type {@link ActionMode#TYPE_PRIMARY}.
      *
      * @param callback Callback that will control the lifecycle of the action mode
      * @return The new action mode if it is started, null otherwise
      *
      * @see ActionMode
+     * @see #startActionMode(android.view.ActionMode.Callback, int)
      */
     public ActionMode startActionMode(ActionMode.Callback callback) {
+        return startActionMode(callback, ActionMode.TYPE_PRIMARY);
+    }
+
+    /**
+     * Start an action mode with the given type.
+     *
+     * @param callback Callback that will control the lifecycle of the action mode
+     * @param type One of {@link ActionMode#TYPE_PRIMARY} or {@link ActionMode#TYPE_FLOATING}.
+     * @return The new action mode if it is started, null otherwise
+     *
+     * @see ActionMode
+     */
+    public ActionMode startActionMode(ActionMode.Callback callback, int type) {
         ViewParent parent = getParent();
         if (parent == null) return null;
-        return parent.startActionModeForChild(this, callback);
+        try {
+            return parent.startActionModeForChild(this, callback, type);
+        } catch (AbstractMethodError ame) {
+            // Older implementations of custom views might not implement this.
+            return parent.startActionModeForChild(this, callback);
+        }
     }
 
     /**
@@ -5130,6 +5171,7 @@
      *        passed in as finer grained information about where the focus is coming
      *        from (in addition to direction).  Will be <code>null</code> otherwise.
      */
+    @CallSuper
     protected void onFocusChanged(boolean gainFocus, @FocusDirection int direction,
             @Nullable Rect previouslyFocusedRect) {
         if (gainFocus) {
@@ -5352,6 +5394,7 @@
      * @see #sendAccessibilityEvent(int)
      * @see #dispatchPopulateAccessibilityEvent(AccessibilityEvent)
      */
+    @CallSuper
     public void onPopulateAccessibilityEvent(AccessibilityEvent event) {
         if (mAccessibilityDelegate != null) {
             mAccessibilityDelegate.onPopulateAccessibilityEvent(this, event);
@@ -5396,6 +5439,7 @@
      * @see #sendAccessibilityEvent(int)
      * @see #dispatchPopulateAccessibilityEvent(AccessibilityEvent)
      */
+    @CallSuper
     public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
         if (mAccessibilityDelegate != null) {
             mAccessibilityDelegate.onInitializeAccessibilityEvent(this, event);
@@ -5510,6 +5554,7 @@
      *
      * @param info The instance to initialize.
      */
+    @CallSuper
     public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
         if (mAccessibilityDelegate != null) {
             mAccessibilityDelegate.onInitializeAccessibilityNodeInfo(this, info);
@@ -5594,12 +5639,12 @@
     }
 
     /**
-     * Called when assist data is being retrieved from a view as part of
+     * Called when assist structure is being retrieved from a view as part of
      * {@link android.app.Activity#onProvideAssistData Activity.onProvideAssistData}.
-     * @param data
-     * @param extras
+     * @param structure Additional standard structured view structure to supply.
+     * @param extras Non-standard extensions.
      */
-    public void onProvideAssistData(ViewAssistData data, Bundle extras) {
+    public void onProvideAssistStructure(ViewAssistStructure structure, Bundle extras) {
     }
 
     /**
@@ -5831,7 +5876,7 @@
      *
      * @see AccessibilityDelegate
      */
-    public void setAccessibilityDelegate(AccessibilityDelegate delegate) {
+    public void setAccessibilityDelegate(@Nullable AccessibilityDelegate delegate) {
         mAccessibilityDelegate = delegate;
     }
 
@@ -6071,6 +6116,7 @@
      *
      * @hide pending API council approval
      */
+    @CallSuper
     protected void onFocusLost() {
         resetPressedState();
     }
@@ -6537,6 +6583,19 @@
     }
 
     /**
+     * Provide original WindowInsets that are dispatched to the view hierarchy. The insets are
+     * only available if the view is attached.
+     *
+     * @return WindowInsets from the top of the view hierarchy or null if View is detached
+     */
+    public WindowInsets getRootWindowInsets() {
+        if (mAttachInfo != null) {
+            return mAttachInfo.mViewRootImpl.getWindowInsets(false /* forceConstruct */);
+        }
+        return null;
+    }
+
+    /**
      * @hide Compute the insets that should be consumed by this view and the ones
      * that should propagate to those under it.
      */
@@ -10047,6 +10106,10 @@
      *
      * @return The measured width of this view as a bit mask.
      */
+    @ViewDebug.ExportedProperty(category = "measurement", flagMapping = {
+            @ViewDebug.FlagToString(mask = MEASURED_STATE_MASK, equals = MEASURED_STATE_TOO_SMALL,
+                    name = "MEASURED_STATE_TOO_SMALL"),
+    })
     public final int getMeasuredWidthAndState() {
         return mMeasuredWidth;
     }
@@ -10071,6 +10134,10 @@
      *
      * @return The measured width of this view as a bit mask.
      */
+    @ViewDebug.ExportedProperty(category = "measurement", flagMapping = {
+            @ViewDebug.FlagToString(mask = MEASURED_STATE_MASK, equals = MEASURED_STATE_TOO_SMALL,
+                    name = "MEASURED_STATE_TOO_SMALL"),
+    })
     public final int getMeasuredHeightAndState() {
         return mMeasuredHeight;
     }
@@ -10547,7 +10614,7 @@
      *
      * @attr ref android.R.styleable#View_alpha
      */
-    public void setAlpha(float alpha) {
+    public void setAlpha(@FloatRange(from=0.0, to=1.0) float alpha) {
         ensureTransformationInfo();
         if (mTransformationInfo.mAlpha != alpha) {
             mTransformationInfo.mAlpha = alpha;
@@ -11551,30 +11618,31 @@
      * @see #setVerticalScrollBarEnabled(boolean)
      */
     protected boolean awakenScrollBars() {
-        return mScrollCache != null
-                && awakenScrollBars(mScrollCache.scrollBarDefaultDelayBeforeFade, true);
+        return mScrollCache != null &&
+                awakenScrollBars(mScrollCache.scrollBarDefaultDelayBeforeFade, true);
     }
 
     /**
      * Trigger the scrollbars to draw.
-     * <p>
      * This method differs from awakenScrollBars() only in its default duration.
      * initialAwakenScrollBars() will show the scroll bars for longer than
      * usual to give the user more of a chance to notice them.
      *
      * @return true if the animation is played, false otherwise.
-     * @see #awakenScrollBars()
      */
     private boolean initialAwakenScrollBars() {
-        return mScrollCache != null
-                && awakenScrollBars(mScrollCache.scrollBarDelayBeforeInitialFade, true);
+        return mScrollCache != null &&
+                awakenScrollBars(mScrollCache.scrollBarDefaultDelayBeforeFade * 4, true);
     }
 
     /**
+     * <p>
      * Trigger the scrollbars to draw. When invoked this method starts an
      * animation to fade the scrollbars out after a fixed delay. If a subclass
      * provides animated scrolling, the start delay should equal the duration of
      * the scrolling animation.
+     * </p>
+     *
      * <p>
      * The animation starts only if at least one of the scrollbars is enabled,
      * as specified by {@link #isHorizontalScrollBarEnabled()} and
@@ -11582,14 +11650,18 @@
      * this method returns true, and false otherwise. If the animation is
      * started, this method calls {@link #invalidate()}; in that case the caller
      * should not call {@link #invalidate()}.
+     * </p>
+     *
      * <p>
      * This method should be invoked every time a subclass directly updates the
      * scroll parameters.
+     * </p>
      *
-     * @param fadeOutDelay the delay in milliseconds before the fade out
-     *                     animation should start, or 0 to start the animation
-     *                     immediately
+     * @param startDelay the delay, in milliseconds, after which the animation
+     *        should start; when the delay is 0, the animation starts
+     *        immediately
      * @return true if the animation is played, false otherwise
+     *
      * @see #scrollBy(int, int)
      * @see #scrollTo(int, int)
      * @see #isHorizontalScrollBarEnabled()
@@ -11597,15 +11669,18 @@
      * @see #setHorizontalScrollBarEnabled(boolean)
      * @see #setVerticalScrollBarEnabled(boolean)
      */
-    protected boolean awakenScrollBars(int fadeOutDelay) {
-        return awakenScrollBars(fadeOutDelay, true);
+    protected boolean awakenScrollBars(int startDelay) {
+        return awakenScrollBars(startDelay, true);
     }
 
     /**
+     * <p>
      * Trigger the scrollbars to draw. When invoked this method starts an
      * animation to fade the scrollbars out after a fixed delay. If a subclass
      * provides animated scrolling, the start delay should equal the duration of
      * the scrolling animation.
+     * </p>
+     *
      * <p>
      * The animation starts only if at least one of the scrollbars is enabled,
      * as specified by {@link #isHorizontalScrollBarEnabled()} and
@@ -11614,18 +11689,21 @@
      * started, this method calls {@link #invalidate()} if the invalidate parameter
      * is set to true; in that case the caller
      * should not call {@link #invalidate()}.
+     * </p>
+     *
      * <p>
      * This method should be invoked every time a subclass directly updates the
      * scroll parameters.
-     * <p>
-     * <strong>Note:</strong> If the view has not explicitly requested
-     * scrollbars prior calling this method, this is a no-op.
+     * </p>
      *
-     * @param fadeOutDelay the delay in milliseconds before the fade out
-     *                     animation should start, or 0 to start the animation
-     *                     immediately
-     * @param invalidate whether this method should call invalidate
+     * @param startDelay the delay, in milliseconds, after which the animation
+     *        should start; when the delay is 0, the animation starts
+     *        immediately
+     *
+     * @param invalidate Whether this method should call invalidate
+     *
      * @return true if the animation is played, false otherwise
+     *
      * @see #scrollBy(int, int)
      * @see #scrollTo(int, int)
      * @see #isHorizontalScrollBarEnabled()
@@ -11633,15 +11711,50 @@
      * @see #setHorizontalScrollBarEnabled(boolean)
      * @see #setVerticalScrollBarEnabled(boolean)
      */
-    protected boolean awakenScrollBars(int fadeOutDelay, boolean invalidate) {
-        if (mScrollCache == null
-                || (!isHorizontalScrollBarEnabled() && !isVerticalScrollBarEnabled())) {
-            // We're not supposed to show scroll bars right now.
+    protected boolean awakenScrollBars(int startDelay, boolean invalidate) {
+        final ScrollabilityCache scrollCache = mScrollCache;
+
+        if (scrollCache == null || !scrollCache.fadeScrollBars) {
             return false;
         }
 
-        mScrollCache.awakenScrollBars(fadeOutDelay);
-        return true;
+        if (scrollCache.scrollBar == null) {
+            scrollCache.scrollBar = new ScrollBarDrawable();
+            scrollCache.scrollBar.setCallback(this);
+            scrollCache.scrollBar.setState(getDrawableState());
+        }
+
+        if (isHorizontalScrollBarEnabled() || isVerticalScrollBarEnabled()) {
+
+            if (invalidate) {
+                // Invalidate to show the scrollbars
+                postInvalidateOnAnimation();
+            }
+
+            if (scrollCache.state == ScrollabilityCache.OFF) {
+                // FIXME: this is copied from WindowManagerService.
+                // We should get this value from the system when it
+                // is possible to do so.
+                final int KEY_REPEAT_FIRST_DELAY = 750;
+                startDelay = Math.max(KEY_REPEAT_FIRST_DELAY, startDelay);
+            }
+
+            // Tell mScrollCache when we should start fading. This may
+            // extend the fade start time if one was already scheduled
+            long fadeStartTime = AnimationUtils.currentAnimationTimeMillis() + startDelay;
+            scrollCache.fadeStartTime = fadeStartTime;
+            scrollCache.state = ScrollabilityCache.ON;
+
+            // Schedule our fader to run, unscheduling any old ones first
+            if (mAttachInfo != null) {
+                mAttachInfo.mHandler.removeCallbacks(scrollCache);
+                mAttachInfo.mHandler.postAtTime(scrollCache, fadeStartTime);
+            }
+
+            return true;
+        }
+
+        return false;
     }
 
     /**
@@ -12322,7 +12435,7 @@
     public void setHorizontalFadingEdgeEnabled(boolean horizontalFadingEdgeEnabled) {
         if (isHorizontalFadingEdgeEnabled() != horizontalFadingEdgeEnabled) {
             if (horizontalFadingEdgeEnabled) {
-                getScrollCache();
+                initScrollCache();
             }
 
             mViewFlags ^= FADING_EDGE_HORIZONTAL;
@@ -12359,7 +12472,7 @@
     public void setVerticalFadingEdgeEnabled(boolean verticalFadingEdgeEnabled) {
         if (isVerticalFadingEdgeEnabled() != verticalFadingEdgeEnabled) {
             if (verticalFadingEdgeEnabled) {
-                getScrollCache();
+                initScrollCache();
             }
 
             mViewFlags ^= FADING_EDGE_VERTICAL;
@@ -12499,7 +12612,14 @@
      * @attr ref android.R.styleable#View_fadeScrollbars
      */
     public void setScrollbarFadingEnabled(boolean fadeScrollbars) {
-        getScrollCache().setFadingEnabled(fadeScrollbars);
+        initScrollCache();
+        final ScrollabilityCache scrollabilityCache = mScrollCache;
+        scrollabilityCache.fadeScrollBars = fadeScrollbars;
+        if (fadeScrollbars) {
+            scrollabilityCache.state = ScrollabilityCache.OFF;
+        } else {
+            scrollabilityCache.state = ScrollabilityCache.ON;
+        }
     }
 
     /**
@@ -12511,7 +12631,7 @@
      * @attr ref android.R.styleable#View_fadeScrollbars
      */
     public boolean isScrollbarFadingEnabled() {
-        return mScrollCache != null && mScrollCache.isFadingEnabled();
+        return mScrollCache != null && mScrollCache.fadeScrollBars;
     }
 
     /**
@@ -12793,85 +12913,129 @@
     }
 
     /**
-     * Request the drawing of the horizontal and the vertical scrollbar. The
-     * scrollbars are painted only if they have been awakened first.
+     * <p>Request the drawing of the horizontal and the vertical scrollbar. The
+     * scrollbars are painted only if they have been awakened first.</p>
      *
      * @param canvas the canvas on which to draw the scrollbars
+     *
      * @see #awakenScrollBars(int)
      */
     protected final void onDrawScrollBars(Canvas canvas) {
+        // scrollbars are drawn only when the animation is running
         final ScrollabilityCache cache = mScrollCache;
-        if (cache == null) {
-            // This view does not currently support scrolling.
-            return;
-        }
+        if (cache != null) {
 
-        final int viewFlags = mViewFlags;
-        final boolean drawHorizontalScrollBar =
-            (viewFlags & SCROLLBARS_HORIZONTAL) == SCROLLBARS_HORIZONTAL;
-        final boolean drawVerticalScrollBar =
-            (viewFlags & SCROLLBARS_VERTICAL) == SCROLLBARS_VERTICAL
-            && !isVerticalScrollBarHidden();
-        if (!drawVerticalScrollBar && !drawHorizontalScrollBar) {
-            // This view does not currently draw scrollbars.
-            return;
-        }
+            int state = cache.state;
 
-        final ScrollBarDrawable scrollBar = cache.scrollBar;
-        final int width = mRight - mLeft;
-        final int height = mBottom - mTop;
-        final int scrollX = mScrollX;
-        final int scrollY = mScrollY;
-        final int inside = (viewFlags & SCROLLBARS_OUTSIDE_MASK) == 0 ? ~0 : 0;
-
-        if (drawHorizontalScrollBar) {
-            int size = scrollBar.getSize(false);
-            if (size <= 0) {
-                size = cache.scrollBarSize;
+            if (state == ScrollabilityCache.OFF) {
+                return;
             }
 
-            scrollBar.setParameters(computeHorizontalScrollRange(), computeHorizontalScrollOffset(),
-                    computeHorizontalScrollExtent(), false);
-            final int verticalScrollBarGap = drawVerticalScrollBar ?
-                    getVerticalScrollbarWidth() : 0;
+            boolean invalidate = false;
 
-            final int left = scrollX + (mPaddingLeft & inside);
-            final int right = scrollX + width - (mUserPaddingRight & inside) - verticalScrollBarGap;
-            final int top = scrollY + height - size - (mUserPaddingBottom & inside);
-            final int bottom = top + size;
+            if (state == ScrollabilityCache.FADING) {
+                // We're fading -- get our fade interpolation
+                if (cache.interpolatorValues == null) {
+                    cache.interpolatorValues = new float[1];
+                }
 
-            onDrawHorizontalScrollBar(canvas, scrollBar, left, top, right, bottom);
-        }
+                float[] values = cache.interpolatorValues;
 
-        if (drawVerticalScrollBar) {
-            int size = scrollBar.getSize(true);
-            if (size <= 0) {
-                size = cache.scrollBarSize;
-            }
+                // Stops the animation if we're done
+                if (cache.scrollBarInterpolator.timeToValues(values) ==
+                        Interpolator.Result.FREEZE_END) {
+                    cache.state = ScrollabilityCache.OFF;
+                } else {
+                    cache.scrollBar.mutate().setAlpha(Math.round(values[0]));
+                }
 
-            scrollBar.setParameters(computeVerticalScrollRange(), computeVerticalScrollOffset(),
-                    computeVerticalScrollExtent(), true);
-
-            final int verticalScrollbarPosition;
-            if (mVerticalScrollbarPosition == SCROLLBAR_POSITION_DEFAULT) {
-                verticalScrollbarPosition = isLayoutRtl() ?
-                        SCROLLBAR_POSITION_LEFT : SCROLLBAR_POSITION_RIGHT;
+                // This will make the scroll bars inval themselves after
+                // drawing. We only want this when we're fading so that
+                // we prevent excessive redraws
+                invalidate = true;
             } else {
-                verticalScrollbarPosition = mVerticalScrollbarPosition;
+                // We're just on -- but we may have been fading before so
+                // reset alpha
+                cache.scrollBar.mutate().setAlpha(255);
             }
 
-            final int left;
-            if (verticalScrollbarPosition == SCROLLBAR_POSITION_LEFT) {
-                left = scrollX + (mUserPaddingLeft & inside);
-            } else {
-                left = scrollX + width - size - (mUserPaddingRight & inside);
+
+            final int viewFlags = mViewFlags;
+
+            final boolean drawHorizontalScrollBar =
+                (viewFlags & SCROLLBARS_HORIZONTAL) == SCROLLBARS_HORIZONTAL;
+            final boolean drawVerticalScrollBar =
+                (viewFlags & SCROLLBARS_VERTICAL) == SCROLLBARS_VERTICAL
+                && !isVerticalScrollBarHidden();
+
+            if (drawVerticalScrollBar || drawHorizontalScrollBar) {
+                final int width = mRight - mLeft;
+                final int height = mBottom - mTop;
+
+                final ScrollBarDrawable scrollBar = cache.scrollBar;
+
+                final int scrollX = mScrollX;
+                final int scrollY = mScrollY;
+                final int inside = (viewFlags & SCROLLBARS_OUTSIDE_MASK) == 0 ? ~0 : 0;
+
+                int left;
+                int top;
+                int right;
+                int bottom;
+
+                if (drawHorizontalScrollBar) {
+                    int size = scrollBar.getSize(false);
+                    if (size <= 0) {
+                        size = cache.scrollBarSize;
+                    }
+
+                    scrollBar.setParameters(computeHorizontalScrollRange(),
+                                            computeHorizontalScrollOffset(),
+                                            computeHorizontalScrollExtent(), false);
+                    final int verticalScrollBarGap = drawVerticalScrollBar ?
+                            getVerticalScrollbarWidth() : 0;
+                    top = scrollY + height - size - (mUserPaddingBottom & inside);
+                    left = scrollX + (mPaddingLeft & inside);
+                    right = scrollX + width - (mUserPaddingRight & inside) - verticalScrollBarGap;
+                    bottom = top + size;
+                    onDrawHorizontalScrollBar(canvas, scrollBar, left, top, right, bottom);
+                    if (invalidate) {
+                        invalidate(left, top, right, bottom);
+                    }
+                }
+
+                if (drawVerticalScrollBar) {
+                    int size = scrollBar.getSize(true);
+                    if (size <= 0) {
+                        size = cache.scrollBarSize;
+                    }
+
+                    scrollBar.setParameters(computeVerticalScrollRange(),
+                                            computeVerticalScrollOffset(),
+                                            computeVerticalScrollExtent(), true);
+                    int verticalScrollbarPosition = mVerticalScrollbarPosition;
+                    if (verticalScrollbarPosition == SCROLLBAR_POSITION_DEFAULT) {
+                        verticalScrollbarPosition = isLayoutRtl() ?
+                                SCROLLBAR_POSITION_LEFT : SCROLLBAR_POSITION_RIGHT;
+                    }
+                    switch (verticalScrollbarPosition) {
+                        default:
+                        case SCROLLBAR_POSITION_RIGHT:
+                            left = scrollX + width - size - (mUserPaddingRight & inside);
+                            break;
+                        case SCROLLBAR_POSITION_LEFT:
+                            left = scrollX + (mUserPaddingLeft & inside);
+                            break;
+                    }
+                    top = scrollY + (mPaddingTop & inside);
+                    right = left + size;
+                    bottom = scrollY + height - (mUserPaddingBottom & inside);
+                    onDrawVerticalScrollBar(canvas, scrollBar, left, top, right, bottom);
+                    if (invalidate) {
+                        invalidate(left, top, right, bottom);
+                    }
+                }
             }
-
-            final int top = scrollY + (mPaddingTop & inside);
-            final int right = left + size;
-            final int bottom = scrollY + height - (mUserPaddingBottom & inside);
-
-            onDrawVerticalScrollBar(canvas, scrollBar, left, top, right, bottom);
         }
     }
 
@@ -12957,6 +13121,7 @@
      *
      * @see #onDetachedFromWindow()
      */
+    @CallSuper
     protected void onAttachedToWindow() {
         if ((mPrivateFlags & PFLAG_REQUEST_TRANSPARENT_REGIONS) != 0) {
             mParent.requestTransparentRegion(this);
@@ -12978,7 +13143,9 @@
 
         if (isFocused()) {
             InputMethodManager imm = InputMethodManager.peekInstance();
-            imm.focusIn(this);
+            if (imm != null) {
+                imm.focusIn(this);
+            }
         }
     }
 
@@ -13287,6 +13454,7 @@
      *
      * @see #onAttachedToWindow()
      */
+    @CallSuper
     protected void onDetachedFromWindow() {
     }
 
@@ -13300,6 +13468,7 @@
      *
      * @hide
      */
+    @CallSuper
     protected void onDetachedFromWindowInternal() {
         mPrivateFlags &= ~PFLAG_CANCEL_NEXT_UP_EVENT;
         mPrivateFlags3 &= ~PFLAG3_IS_LAID_OUT;
@@ -13606,6 +13775,7 @@
      * @see #dispatchSaveInstanceState(android.util.SparseArray)
      * @see #setSaveEnabled(boolean)
      */
+    @CallSuper
     protected Parcelable onSaveInstanceState() {
         mPrivateFlags |= PFLAG_SAVE_STATE_CALLED;
         return BaseSavedState.EMPTY_STATE;
@@ -13664,6 +13834,7 @@
      * @see #restoreHierarchyState(android.util.SparseArray)
      * @see #dispatchRestoreInstanceState(android.util.SparseArray)
      */
+    @CallSuper
     protected void onRestoreInstanceState(Parcelable state) {
         mPrivateFlags |= PFLAG_SAVE_STATE_CALLED;
         if (state != BaseSavedState.EMPTY_STATE && state != null) {
@@ -13914,6 +14085,7 @@
      *
      * @hide
      */
+    @CallSuper
     protected void destroyHardwareResources() {
         // Although the Layer will be destroyed by RenderNode, we want to release
         // the staging display list, which is also a signal to RenderNode that it's
@@ -14186,7 +14358,7 @@
      * @see #buildDrawingCache()
      * @see #getDrawingCache()
      */
-    public void setDrawingCacheBackgroundColor(int color) {
+    public void setDrawingCacheBackgroundColor(@ColorInt int color) {
         if (color != mDrawingCacheBackgroundColor) {
             mDrawingCacheBackgroundColor = color;
             mPrivateFlags &= ~PFLAG_DRAWING_CACHE_VALID;
@@ -14198,6 +14370,7 @@
      *
      * @return The background color to used for the drawing cache's bitmap
      */
+    @ColorInt
     public int getDrawingCacheBackgroundColor() {
         return mDrawingCacheBackgroundColor;
     }
@@ -15102,6 +15275,7 @@
      *
      * @param canvas The Canvas to which the View is rendered.
      */
+    @CallSuper
     public void draw(Canvas canvas) {
         final int privateFlags = mPrivateFlags;
         final boolean dirtyOpaque = (privateFlags & PFLAG_DIRTY_MASK) == PFLAG_DIRTY_OPAQUE &&
@@ -15235,7 +15409,7 @@
                 canvas.saveLayer(right - length, top, right, bottom, null, flags);
             }
         } else {
-            scrollabilityCache.setFadingEdgeColor(solidColor);
+            scrollabilityCache.setFadeColor(solidColor);
         }
 
         // Step 3, draw the content
@@ -15245,9 +15419,9 @@
         dispatchDraw(canvas);
 
         // Step 5, draw the fade effect and restore layers
-        final Paint p = scrollabilityCache.fadingEdgePaint;
+        final Paint p = scrollabilityCache.paint;
         final Matrix matrix = scrollabilityCache.matrix;
-        final Shader fade = scrollabilityCache.fadingEdgeShader;
+        final Shader fade = scrollabilityCache.shader;
 
         if (drawTop) {
             matrix.setScale(1, fadeHeight * topFadeStrength);
@@ -15411,6 +15585,7 @@
      * @return The known solid color background for this view, or 0 if the color may vary
      */
     @ViewDebug.ExportedProperty(category = "drawing")
+    @ColorInt
     public int getSolidColor() {
         return 0;
     }
@@ -15703,6 +15878,7 @@
      * <p>Even if the subclass overrides onFinishInflate, they should always be
      * sure to call the super method, so that we get called.
      */
+    @CallSuper
     protected void onFinishInflate() {
     }
 
@@ -15868,6 +16044,7 @@
      * @see #unscheduleDrawable(android.graphics.drawable.Drawable)
      * @see #drawableStateChanged()
      */
+    @CallSuper
     protected boolean verifyDrawable(Drawable who) {
         return who == mBackground || (mScrollCache != null && mScrollCache.scrollBar == who);
     }
@@ -15883,6 +16060,7 @@
      *
      * @see Drawable#setState(int[])
      */
+    @CallSuper
     protected void drawableStateChanged() {
         final int[] state = getDrawableState();
 
@@ -15915,6 +16093,7 @@
      * @param x hotspot x coordinate
      * @param y hotspot y coordinate
      */
+    @CallSuper
     public void drawableHotspotChanged(float x, float y) {
         if (mBackground != null) {
             mBackground.setHotspot(x, y);
@@ -16097,7 +16276,7 @@
      * @param color the color of the background
      */
     @RemotableViewMethod
-    public void setBackgroundColor(int color) {
+    public void setBackgroundColor(@ColorInt int color) {
         if (mBackground instanceof ColorDrawable) {
             ((ColorDrawable) mBackground.mutate()).setColor(color);
             computeOpaqueFlags();
@@ -16113,6 +16292,7 @@
      *
      * @return The color of the ColorDrawable background, if set, otherwise 0.
      */
+    @ColorInt
     public int getBackgroundColor() {
         if (mBackground instanceof ColorDrawable) {
             return ((ColorDrawable) mBackground).getColor();
@@ -16886,7 +17066,7 @@
      *
      * @param location an array of two integers in which to hold the coordinates
      */
-    public void getLocationOnScreen(int[] location) {
+    public void getLocationOnScreen(@Size(2) int[] location) {
         getLocationInWindow(location);
 
         final AttachInfo info = mAttachInfo;
@@ -16903,7 +17083,7 @@
      *
      * @param location an array of two integers in which to hold the coordinates
      */
-    public void getLocationInWindow(int[] location) {
+    public void getLocationInWindow(@Size(2) int[] location) {
         if (location == null || location.length < 2) {
             throw new IllegalArgumentException("location must be an array of two integers");
         }
@@ -17387,6 +17567,7 @@
      * <p>Subclasses which override this method should call the superclass method to
      * handle possible request-during-layout errors correctly.</p>
      */
+    @CallSuper
     public void requestLayout() {
         if (mMeasureCache != null) mMeasureCache.clear();
 
@@ -17842,6 +18023,7 @@
      * @see #setAnimation(android.view.animation.Animation)
      * @see #getAnimation()
      */
+    @CallSuper
     protected void onAnimationStart() {
         mPrivateFlags |= PFLAG_ANIMATION_STARTED;
     }
@@ -17854,6 +18036,7 @@
      * @see #setAnimation(android.view.animation.Animation)
      * @see #getAnimation()
      */
+    @CallSuper
     protected void onAnimationEnd() {
         mPrivateFlags &= ~PFLAG_ANIMATION_STARTED;
     }
@@ -18746,7 +18929,7 @@
      * @see #dispatchNestedPreScroll(int, int, int[], int[])
      */
     public boolean dispatchNestedScroll(int dxConsumed, int dyConsumed,
-            int dxUnconsumed, int dyUnconsumed, int[] offsetInWindow) {
+            int dxUnconsumed, int dyUnconsumed, @Nullable @Size(2) int[] offsetInWindow) {
         if (isNestedScrollingEnabled() && mNestedScrollingParent != null) {
             if (dxConsumed != 0 || dyConsumed != 0 || dxUnconsumed != 0 || dyUnconsumed != 0) {
                 int startX = 0;
@@ -18794,7 +18977,8 @@
      * @return true if the parent consumed some or all of the scroll delta
      * @see #dispatchNestedScroll(int, int, int, int, int[])
      */
-    public boolean dispatchNestedPreScroll(int dx, int dy, int[] consumed, int[] offsetInWindow) {
+    public boolean dispatchNestedPreScroll(int dx, int dy,
+            @Nullable @Size(2) int[] consumed, @Nullable @Size(2) int[] offsetInWindow) {
         if (isNestedScrollingEnabled() && mNestedScrollingParent != null) {
             if (dx != 0 || dy != 0) {
                 int startX = 0;
@@ -20507,164 +20691,121 @@
     }
 
     /**
-     * ScrollabilityCache holds various fields used by a View when scrolling
+     * <p>ScrollabilityCache holds various fields used by a View when scrolling
      * is supported. This avoids keeping too many unused fields in most
-     * instances of View.
+     * instances of View.</p>
      */
-    private static class ScrollabilityCache {
-        public final Paint fadingEdgePaint = new Paint();
-        public final Matrix matrix = new Matrix();
-
-        /** The view that owns this cache. */
-        private final View mHost;
+    private static class ScrollabilityCache implements Runnable {
 
         /**
-         * Minimum delay in milliseconds before the fade-out animation begins.
-         * Only used if the scrollbar was previously invisible.
+         * Scrollbars are not visible
          */
-        private static final int MIN_FADE_DELAY_FROM_OFF = 750;
+        public static final int OFF = 0;
 
         /**
-         * Default delay in milliseconds before the fade-out animation begins.
+         * Scrollbars are visible
          */
+        public static final int ON = 1;
+
+        /**
+         * Scrollbars are fading away
+         */
+        public static final int FADING = 2;
+
+        public boolean fadeScrollBars;
+
+        public int fadingEdgeLength;
         public int scrollBarDefaultDelayBeforeFade;
-
-        /**
-         * Delay in milliseconds before the fade-out animation begins. Only
-         * used if the scrollbar is being shown to the user for the first time.
-         */
-        public int scrollBarDelayBeforeInitialFade;
-
-        /** Duration in milliseconds of the fade-out animation. */
         public int scrollBarFadeDuration;
 
-        public ScrollBarDrawable scrollBar;
-        public Shader fadingEdgeShader;
-        public int fadingEdgeLength;
         public int scrollBarSize;
+        public ScrollBarDrawable scrollBar;
+        public float[] interpolatorValues;
+        public View host;
+
+        public final Paint paint;
+        public final Matrix matrix;
+        public Shader shader;
+
+        public final Interpolator scrollBarInterpolator = new Interpolator(1, 2);
+
+        private static final float[] OPAQUE = { 255 };
+        private static final float[] TRANSPARENT = { 0.0f };
 
         /**
-         * Whether scrollbar fading is enabled. If false, scrollbars are always
-         * visible.
+         * When fading should start. This time moves into the future every time
+         * a new scroll happens. Measured based on SystemClock.uptimeMillis()
          */
-        private boolean mIsFadingEnabled;
+        public long fadeStartTime;
 
-        private Animator mFadeAnim;
-        private int mFadingEdgeLastColor;
 
-        public ScrollabilityCache(View host) {
-            mHost = host;
+        /**
+         * The current state of the scrollbars: ON, OFF, or FADING
+         */
+        public int state = OFF;
 
-            scrollBarFadeDuration = ViewConfiguration.getScrollBarFadeDuration();
-            scrollBarDefaultDelayBeforeFade = ViewConfiguration.getScrollDefaultDelay();
-            scrollBarDelayBeforeInitialFade = ViewConfiguration.getScrollDefaultInitialDelay();
+        private int mLastColor;
 
-            final ViewConfiguration configuration = ViewConfiguration.get(host.getContext());
-            scrollBarSize = configuration.getScaledScrollBarSize();
+        public ScrollabilityCache(ViewConfiguration configuration, View host) {
             fadingEdgeLength = configuration.getScaledFadingEdgeLength();
+            scrollBarSize = configuration.getScaledScrollBarSize();
+            scrollBarDefaultDelayBeforeFade = ViewConfiguration.getScrollDefaultDelay();
+            scrollBarFadeDuration = ViewConfiguration.getScrollBarFadeDuration();
 
-            // Force the fading edge color to change.
-            mFadingEdgeLastColor = -1;
-            setFadingEdgeColor(0);
+            paint = new Paint();
+            matrix = new Matrix();
+            // use use a height of 1, and then wack the matrix each time we
+            // actually use it.
+            shader = new LinearGradient(0, 0, 0, 1, 0xFF000000, 0, Shader.TileMode.CLAMP);
+            paint.setShader(shader);
+            paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT));
+
+            this.host = host;
         }
 
-        public void setFadingEdgeColor(int color) {
-            if (mFadingEdgeLastColor != color) {
-                mFadingEdgeLastColor = color;
+        public void setFadeColor(int color) {
+            if (color != mLastColor) {
+                mLastColor = color;
 
-                final int color0;
-                final int color1;
-                final PorterDuffXfermode xfermode;
                 if (color != 0) {
-                    color0 = color | 0xFF000000;
-                    color1 = color & 0x00FFFFFF;
-                    xfermode = null;
+                    shader = new LinearGradient(0, 0, 0, 1, color | 0xFF000000,
+                            color & 0x00FFFFFF, Shader.TileMode.CLAMP);
+                    paint.setShader(shader);
+                    // Restore the default transfer mode (src_over)
+                    paint.setXfermode(null);
                 } else {
-                    color0 = 0xFF000000;
-                    color1 = 0;
-                    xfermode = new PorterDuffXfermode(PorterDuff.Mode.DST_OUT);
+                    shader = new LinearGradient(0, 0, 0, 1, 0xFF000000, 0, Shader.TileMode.CLAMP);
+                    paint.setShader(shader);
+                    paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT));
                 }
-
-                // Use a height of 1 and then whack the matrix each time we
-                // actually use it.
-                fadingEdgeShader = new LinearGradient(
-                        0, 0, 0, 1, color0, color1, Shader.TileMode.CLAMP);
-                fadingEdgePaint.setShader(fadingEdgeShader);
-                fadingEdgePaint.setXfermode(xfermode);
             }
         }
 
-        public void setFadingEnabled(boolean enabled) {
-            if (mIsFadingEnabled != enabled) {
-                mIsFadingEnabled = enabled;
+        public void run() {
+            long now = AnimationUtils.currentAnimationTimeMillis();
+            if (now >= fadeStartTime) {
 
-                setFadingAlpha(enabled ? 0 : 255);
+                // the animation fades the scrollbars out by changing
+                // the opacity (alpha) from fully opaque to fully
+                // transparent
+                int nextFrame = (int) now;
+                int framesCount = 0;
+
+                Interpolator interpolator = scrollBarInterpolator;
+
+                // Start opaque
+                interpolator.setKeyFrame(framesCount++, nextFrame, OPAQUE);
+
+                // End transparent
+                nextFrame += scrollBarFadeDuration;
+                interpolator.setKeyFrame(framesCount, nextFrame, TRANSPARENT);
+
+                state = FADING;
+
+                // Kick off the fade animation
+                host.invalidate(true);
             }
         }
-
-        public boolean isFadingEnabled() {
-            return mIsFadingEnabled;
-        }
-
-        /**
-         * Cancels any ongoing or pending fade animations and immediately sets
-         * the scroll bar alpha value.
-         *
-         * @param alpha the scrollbar alpha value
-         */
-        public void setFadingAlpha(int alpha) {
-            if (mFadeAnim != null) {
-                mFadeAnim.cancel();
-                mFadeAnim = null;
-            }
-            mHost.removeCallbacks(mFadeOutRunnable);
-
-            scrollBar.setAlpha(alpha);
-        }
-
-        /**
-         * If fading is enabled, cancels any ongoing or pending fade animations
-         * and immediately sets the scroll bar alpha value to the maximum, then
-         * posts a delayed fade-out animation.
-         *
-         * @param fadeOutDelay the delay before the fade-out animation starts
-         * @return {@code true} if the scroll bars changed, false otherwise
-         */
-        public boolean awakenScrollBars(int fadeOutDelay) {
-            if (!mIsFadingEnabled) {
-                return false;
-            }
-
-            if (scrollBar == null) {
-                scrollBar = new ScrollBarDrawable();
-                scrollBar.setCallback(mHost);
-                scrollBar.setState(mHost.getDrawableState());
-            }
-
-            // Removes pending callbacks.
-            setFadingAlpha(255);
-
-            final int startingAlpha = scrollBar.getAlpha();
-            if (startingAlpha == 0) {
-                fadeOutDelay = Math.max(ScrollabilityCache.MIN_FADE_DELAY_FROM_OFF, fadeOutDelay);
-            }
-
-            mHost.postDelayed(mFadeOutRunnable, fadeOutDelay);
-
-            return true;
-        }
-
-        private final Runnable mFadeOutRunnable = new Runnable() {
-            @Override
-            public void run() {
-                final ObjectAnimator anim = ObjectAnimator.ofInt(
-                        scrollBar, ScrollBarDrawable.ALPHA, 0);
-                anim.setDuration(scrollBarFadeDuration);
-                anim.start();
-
-                mFadeAnim = anim;
-            }
-        };
     }
 
     /**
diff --git a/core/java/android/view/ViewAssistData.java b/core/java/android/view/ViewAssistData.java
deleted file mode 100644
index 74436ea..0000000
--- a/core/java/android/view/ViewAssistData.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * 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.view;
-
-/**
- * Container for storing data generated by {@link View#onProvideAssistData
- * View.onProvideAssistData}.
- */
-public abstract class ViewAssistData {
-    public abstract void setText(CharSequence text);
-    public abstract void setText(CharSequence text, int selectionStart, int selectionEnd);
-    public abstract void setHint(CharSequence hint);
-
-    public abstract CharSequence getText();
-    public abstract int getTextSelectionStart();
-    public abstract int getTextSelectionEnd();
-    public abstract CharSequence getHint();
-}
diff --git a/core/java/android/view/ViewAssistStructure.java b/core/java/android/view/ViewAssistStructure.java
new file mode 100644
index 0000000..5132bb9
--- /dev/null
+++ b/core/java/android/view/ViewAssistStructure.java
@@ -0,0 +1,35 @@
+/*
+ * 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.view;
+
+import android.text.TextPaint;
+
+/**
+ * Container for storing additional per-view data generated by {@link View#onProvideAssistStructure
+ * View.onProvideAssistStructure}.
+ */
+public abstract class ViewAssistStructure {
+    public abstract void setText(CharSequence text);
+    public abstract void setText(CharSequence text, int selectionStart, int selectionEnd);
+    public abstract void setTextPaint(TextPaint paint);
+    public abstract void setHint(CharSequence hint);
+
+    public abstract CharSequence getText();
+    public abstract int getTextSelectionStart();
+    public abstract int getTextSelectionEnd();
+    public abstract CharSequence getHint();
+}
diff --git a/core/java/android/view/ViewConfiguration.java b/core/java/android/view/ViewConfiguration.java
index d733513..4e91ad4 100644
--- a/core/java/android/view/ViewConfiguration.java
+++ b/core/java/android/view/ViewConfiguration.java
@@ -47,12 +47,6 @@
     private static final int SCROLL_BAR_DEFAULT_DELAY = 300;
 
     /**
-     * Default delay before the scrollbars fade in milliseconds for the first
-     * time they are shown to the user.
-     */
-    private static final int SCROLL_BAR_DEFAULT_INITIAL_DELAY = 1500;
-
-    /**
      * Defines the length of the fading edges in dips
      */
     private static final int FADING_EDGE_LENGTH = 12;
@@ -401,23 +395,13 @@
     }
 
     /**
-     * @return Default delay in milliseconds before the scrollbars fade out
-     *         after they have been awoken.
+     * @return Default delay before the scrollbars fade in milliseconds
      */
     public static int getScrollDefaultDelay() {
         return SCROLL_BAR_DEFAULT_DELAY;
     }
 
     /**
-     * @return Default delay in milliseconds before the scrollbars fade out
-     *         after they are initially shown to the user.
-     * @hide Pending cleanup of ViewConfiguration values.
-     */
-    public static int getScrollDefaultInitialDelay() {
-        return SCROLL_BAR_DEFAULT_INITIAL_DELAY;
-    }
-
-    /**
      * @return the length of the fading edges in dips
      *
      * @deprecated Use {@link #getScaledFadingEdgeLength()} instead.
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index a49d8c3..87f3e94 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -53,11 +53,8 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.NoSuchElementException;
-
 import static android.os.Build.VERSION_CODES.JELLY_BEAN_MR1;
 
 /**
@@ -372,6 +369,26 @@
     static final int FLAG_TOUCHSCREEN_BLOCKS_FOCUS = 0x4000000;
 
     /**
+     * When true, indicates that a call to startActionModeForChild was made with the type parameter
+     * and should not be ignored. This helps in backwards compatibility with the existing method
+     * without a type.
+     *
+     * @see #startActionModeForChild(View, android.view.ActionMode.Callback)
+     * @see #startActionModeForChild(View, android.view.ActionMode.Callback, int)
+     */
+    private static final int FLAG_START_ACTION_MODE_FOR_CHILD_IS_TYPED = 0x8000000;
+
+    /**
+     * When true, indicates that a call to startActionModeForChild was made without the type
+     * parameter. This helps in backwards compatibility with the existing method
+     * without a type.
+     *
+     * @see #startActionModeForChild(View, android.view.ActionMode.Callback)
+     * @see #startActionModeForChild(View, android.view.ActionMode.Callback, int)
+     */
+    private static final int FLAG_START_ACTION_MODE_FOR_CHILD_IS_NOT_TYPED = 0x10000000;
+
+    /**
      * Indicates which types of drawing caches are to be kept in memory.
      * This field should be made private, so it is hidden from the SDK.
      * {@hide}
@@ -482,6 +499,60 @@
      */
     private int mNestedScrollAxes;
 
+    /**
+     * Empty ActionMode used as a sentinel in recursive entries to startActionModeForChild.
+     *
+     * @see #startActionModeForChild(View, android.view.ActionMode.Callback)
+     * @see #startActionModeForChild(View, android.view.ActionMode.Callback, int)
+     */
+    private static final ActionMode SENTINEL_ACTION_MODE = new ActionMode() {
+        @Override
+        public void setTitle(CharSequence title) {}
+
+        @Override
+        public void setTitle(int resId) {}
+
+        @Override
+        public void setSubtitle(CharSequence subtitle) {}
+
+        @Override
+        public void setSubtitle(int resId) {}
+
+        @Override
+        public void setCustomView(View view) {}
+
+        @Override
+        public void invalidate() {}
+
+        @Override
+        public void finish() {}
+
+        @Override
+        public Menu getMenu() {
+            return null;
+        }
+
+        @Override
+        public CharSequence getTitle() {
+            return null;
+        }
+
+        @Override
+        public CharSequence getSubtitle() {
+            return null;
+        }
+
+        @Override
+        public View getCustomView() {
+            return null;
+        }
+
+        @Override
+        public MenuInflater getMenuInflater() {
+            return null;
+        }
+    };
+
     public ViewGroup(Context context) {
         this(context, null);
     }
@@ -697,8 +768,49 @@
     /**
      * {@inheritDoc}
      */
+    @Override
     public ActionMode startActionModeForChild(View originalView, ActionMode.Callback callback) {
-        return mParent != null ? mParent.startActionModeForChild(originalView, callback) : null;
+        if ((mGroupFlags & FLAG_START_ACTION_MODE_FOR_CHILD_IS_TYPED) == 0) {
+            // This is the original call.
+            try {
+                mGroupFlags |= FLAG_START_ACTION_MODE_FOR_CHILD_IS_NOT_TYPED;
+                return startActionModeForChild(originalView, callback, ActionMode.TYPE_PRIMARY);
+            } finally {
+                mGroupFlags &= ~FLAG_START_ACTION_MODE_FOR_CHILD_IS_NOT_TYPED;
+            }
+        } else {
+            // We are being called from the new method with type.
+            return SENTINEL_ACTION_MODE;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public ActionMode startActionModeForChild(
+            View originalView, ActionMode.Callback callback, int type) {
+        if ((mGroupFlags & FLAG_START_ACTION_MODE_FOR_CHILD_IS_NOT_TYPED) == 0) {
+            ActionMode mode;
+            try {
+                mGroupFlags |= FLAG_START_ACTION_MODE_FOR_CHILD_IS_TYPED;
+                mode = startActionModeForChild(originalView, callback);
+            } finally {
+                mGroupFlags &= ~FLAG_START_ACTION_MODE_FOR_CHILD_IS_TYPED;
+            }
+            if (mode != SENTINEL_ACTION_MODE) {
+                return mode;
+            }
+        }
+        if (mParent != null) {
+            try {
+                return mParent.startActionModeForChild(originalView, callback, type);
+            } catch (AbstractMethodError ame) {
+                // Custom view parents might not implement this method.
+                return mParent.startActionModeForChild(originalView, callback);
+            }
+        }
+        return null;
     }
 
     /**
diff --git a/core/java/android/view/ViewParent.java b/core/java/android/view/ViewParent.java
index 035871d..15b86d1 100644
--- a/core/java/android/view/ViewParent.java
+++ b/core/java/android/view/ViewParent.java
@@ -190,7 +190,8 @@
     public void createContextMenu(ContextMenu menu);
 
     /**
-     * Start an action mode for the specified view.
+     * Start an action mode for the specified view with the default type
+     * {@link ActionMode#TYPE_PRIMARY}.
      *
      * <p>In most cases, a subclass does not need to override this. However, if the
      * subclass is added directly to the window manager (for example,
@@ -200,17 +201,35 @@
      * @param originalView The source view where the action mode was first invoked
      * @param callback The callback that will handle lifecycle events for the action mode
      * @return The new action mode if it was started, null otherwise
+     *
+     * @see #startActionModeForChild(View, android.view.ActionMode.Callback, int)
      */
     public ActionMode startActionModeForChild(View originalView, ActionMode.Callback callback);
 
     /**
+     * Start an action mode of a specific type for the specified view.
+     *
+     * <p>In most cases, a subclass does not need to override this. However, if the
+     * subclass is added directly to the window manager (for example,
+     * {@link ViewManager#addView(View, android.view.ViewGroup.LayoutParams)})
+     * then it should override this and start the action mode.</p>
+     *
+     * @param originalView The source view where the action mode was first invoked
+     * @param callback The callback that will handle lifecycle events for the action mode
+     * @param type One of {@link ActionMode#TYPE_PRIMARY} or {@link ActionMode#TYPE_FLOATING}.
+     * @return The new action mode if it was started, null otherwise
+     */
+    public ActionMode startActionModeForChild(
+            View originalView, ActionMode.Callback callback, int type);
+
+    /**
      * This method is called on the parent when a child's drawable state
      * has changed.
      *
      * @param child The child whose drawable state has changed.
      */
     public void childDrawableStateChanged(View child);
-    
+
     /**
      * Called when a child does not want this parent and its ancestors to
      * intercept touch events with
diff --git a/core/java/android/view/ViewPropertyAnimator.java b/core/java/android/view/ViewPropertyAnimator.java
index b73b9fa..f18b7ac 100644
--- a/core/java/android/view/ViewPropertyAnimator.java
+++ b/core/java/android/view/ViewPropertyAnimator.java
@@ -19,8 +19,6 @@
 import android.animation.Animator;
 import android.animation.ValueAnimator;
 import android.animation.TimeInterpolator;
-import android.os.Build;
-
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Set;
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index a5fa5ed..1473806 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -47,7 +47,6 @@
 import android.os.Looper;
 import android.os.Message;
 import android.os.ParcelFileDescriptor;
-import android.os.PowerManager;
 import android.os.Process;
 import android.os.RemoteException;
 import android.os.SystemClock;
@@ -266,6 +265,8 @@
     final Rect mDispatchContentInsets = new Rect();
     final Rect mDispatchStableInsets = new Rect();
 
+    private WindowInsets mLastWindowInsets;
+
     final Configuration mLastConfiguration = new Configuration();
     final Configuration mPendingConfiguration = new Configuration();
 
@@ -551,6 +552,11 @@
                 mPendingContentInsets.set(mAttachInfo.mContentInsets);
                 mPendingStableInsets.set(mAttachInfo.mStableInsets);
                 mPendingVisibleInsets.set(0, 0, 0, 0);
+                try {
+                    relayoutWindow(attrs, getHostVisibility(), false);
+                } catch (RemoteException e) {
+                    if (DEBUG_LAYOUT) Log.e(TAG, "failed to relayoutWindow", e);
+                }
                 if (DEBUG_LAYOUT) Log.v(TAG, "Added window " + mWindow);
                 if (res < WindowManagerGlobal.ADD_OKAY) {
                     mAttachInfo.mRootView = null;
@@ -1050,7 +1056,7 @@
     void scheduleTraversals() {
         if (!mTraversalScheduled) {
             mTraversalScheduled = true;
-            mTraversalBarrier = mHandler.getLooper().postSyncBarrier();
+            mTraversalBarrier = mHandler.getLooper().getQueue().postSyncBarrier();
             mChoreographer.postCallback(
                     Choreographer.CALLBACK_TRAVERSAL, mTraversalRunnable, null);
             if (!mUnbufferedInputDispatch) {
@@ -1064,7 +1070,7 @@
     void unscheduleTraversals() {
         if (mTraversalScheduled) {
             mTraversalScheduled = false;
-            mHandler.getLooper().removeSyncBarrier(mTraversalBarrier);
+            mHandler.getLooper().getQueue().removeSyncBarrier(mTraversalBarrier);
             mChoreographer.removeCallbacks(
                     Choreographer.CALLBACK_TRAVERSAL, mTraversalRunnable, null);
         }
@@ -1073,7 +1079,7 @@
     void doTraversal() {
         if (mTraversalScheduled) {
             mTraversalScheduled = false;
-            mHandler.getLooper().removeSyncBarrier(mTraversalBarrier);
+            mHandler.getLooper().getQueue().removeSyncBarrier(mTraversalBarrier);
 
             if (mProfile) {
                 Debug.startMethodTracing("ViewAncestor");
@@ -1228,13 +1234,29 @@
         m.postTranslate(-mAttachInfo.mWindowLeft, -mAttachInfo.mWindowTop);
     }
 
+    /* package */ WindowInsets getWindowInsets(boolean forceConstruct) {
+        if (mLastWindowInsets == null || forceConstruct) {
+            mDispatchContentInsets.set(mAttachInfo.mContentInsets);
+            mDispatchStableInsets.set(mAttachInfo.mStableInsets);
+            Rect contentInsets = mDispatchContentInsets;
+            Rect stableInsets = mDispatchStableInsets;
+            // For dispatch we preserve old logic, but for direct requests from Views we allow to
+            // immediately use pending insets.
+            if (!forceConstruct
+                    && (!mPendingContentInsets.equals(contentInsets) ||
+                        !mPendingStableInsets.equals(stableInsets))) {
+                contentInsets = mPendingContentInsets;
+                stableInsets = mPendingStableInsets;
+            }
+            final boolean isRound = (mIsEmulator && mIsCircularEmulator) || mWindowIsRound;
+            mLastWindowInsets = new WindowInsets(contentInsets,
+                    null /* windowDecorInsets */, stableInsets, isRound);
+        }
+        return mLastWindowInsets;
+    }
+
     void dispatchApplyInsets(View host) {
-        mDispatchContentInsets.set(mAttachInfo.mContentInsets);
-        mDispatchStableInsets.set(mAttachInfo.mStableInsets);
-        final boolean isRound = (mIsEmulator && mIsCircularEmulator) || mWindowIsRound;
-        host.dispatchApplyWindowInsets(new WindowInsets(
-                mDispatchContentInsets, null /* windowDecorInsets */,
-                mDispatchStableInsets, isRound));
+        host.dispatchApplyWindowInsets(getWindowInsets(true /* forceConstruct */));
     }
 
     private void performTraversals() {
@@ -6205,6 +6227,12 @@
     }
 
     @Override
+    public ActionMode startActionModeForChild(
+            View originalView, ActionMode.Callback callback, int type) {
+        return null;
+    }
+
+    @Override
     public void createContextMenu(ContextMenu menu) {
     }
 
diff --git a/core/java/android/view/Window.java b/core/java/android/view/Window.java
index e332135..f36fd5a 100644
--- a/core/java/android/view/Window.java
+++ b/core/java/android/view/Window.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.ColorInt;
 import android.annotation.DrawableRes;
 import android.annotation.IdRes;
 import android.annotation.LayoutRes;
@@ -415,7 +416,9 @@
          * Called when an action mode is being started for this window. Gives the
          * callback an opportunity to handle the action mode in its own unique and
          * beautiful way. If this method returns null the system can choose a way
-         * to present the mode or choose not to start the mode at all.
+         * to present the mode or choose not to start the mode at all. This is equivalent
+         * to {@link #onWindowStartingActionMode(android.view.ActionMode.Callback, int)}
+         * with type {@link ActionMode#TYPE_PRIMARY}.
          *
          * @param callback Callback to control the lifecycle of this action mode
          * @return The ActionMode that was started, or null if the system should present it
@@ -424,6 +427,19 @@
         public ActionMode onWindowStartingActionMode(ActionMode.Callback callback);
 
         /**
+         * Called when an action mode is being started for this window. Gives the
+         * callback an opportunity to handle the action mode in its own unique and
+         * beautiful way. If this method returns null the system can choose a way
+         * to present the mode or choose not to start the mode at all.
+         *
+         * @param callback Callback to control the lifecycle of this action mode
+         * @param type One of {@link ActionMode#TYPE_PRIMARY} or {@link ActionMode#TYPE_FLOATING}.
+         * @return The ActionMode that was started, or null if the system should present it
+         */
+        @Nullable
+        public ActionMode onWindowStartingActionMode(ActionMode.Callback callback, int type);
+
+        /**
          * Called when an action mode has been started. The appropriate mode callback
          * method will have already been invoked.
          *
@@ -1069,7 +1085,7 @@
     public abstract void setTitle(CharSequence title);
 
     @Deprecated
-    public abstract void setTitleColor(int textColor);
+    public abstract void setTitleColor(@ColorInt int textColor);
 
     public abstract void openPanel(int featureId, KeyEvent event);
 
@@ -1835,6 +1851,7 @@
     /**
      * @return the color of the status bar.
      */
+    @ColorInt
     public abstract int getStatusBarColor();
 
     /**
@@ -1852,11 +1869,12 @@
      * The transitionName for the view background will be "android:status:background".
      * </p>
      */
-    public abstract void setStatusBarColor(int color);
+    public abstract void setStatusBarColor(@ColorInt int color);
 
     /**
      * @return the color of the navigation bar.
      */
+    @ColorInt
     public abstract int getNavigationBarColor();
 
     /**
@@ -1874,7 +1892,7 @@
      * The transitionName for the view background will be "android:navigation:background".
      * </p>
      */
-    public abstract void setNavigationBarColor(int color);
+    public abstract void setNavigationBarColor(@ColorInt int color);
 
 
 }
diff --git a/core/java/android/view/WindowCallbackWrapper.java b/core/java/android/view/WindowCallbackWrapper.java
index 35a6a76..979ee95 100644
--- a/core/java/android/view/WindowCallbackWrapper.java
+++ b/core/java/android/view/WindowCallbackWrapper.java
@@ -132,6 +132,11 @@
     }
 
     @Override
+    public ActionMode onWindowStartingActionMode(ActionMode.Callback callback, int type) {
+        return mWrapped.onWindowStartingActionMode(callback, type);
+    }
+
+    @Override
     public void onActionModeStarted(ActionMode mode) {
         mWrapped.onActionModeStarted(mode);
     }
diff --git a/core/java/android/view/accessibility/AccessibilityInteractionClient.java b/core/java/android/view/accessibility/AccessibilityInteractionClient.java
index cefd34d..db78ec5 100644
--- a/core/java/android/view/accessibility/AccessibilityInteractionClient.java
+++ b/core/java/android/view/accessibility/AccessibilityInteractionClient.java
@@ -17,7 +17,6 @@
 package android.view.accessibility;
 
 import android.accessibilityservice.IAccessibilityServiceConnection;
-import android.graphics.Point;
 import android.os.Binder;
 import android.os.Build;
 import android.os.Bundle;
diff --git a/core/java/android/view/animation/Animation.java b/core/java/android/view/animation/Animation.java
index 85d77cb..a5524d8 100644
--- a/core/java/android/view/animation/Animation.java
+++ b/core/java/android/view/animation/Animation.java
@@ -16,6 +16,7 @@
 
 package android.view.animation;
 
+import android.annotation.ColorInt;
 import android.content.Context;
 import android.content.res.TypedArray;
 import android.graphics.RectF;
@@ -622,7 +623,7 @@
      * @param bg The background color.  If 0, no background.  Currently must
      * be black, with any desired alpha level.
      */
-    public void setBackgroundColor(int bg) {
+    public void setBackgroundColor(@ColorInt int bg) {
         mBackgroundColor = bg;
     }
 
@@ -753,6 +754,7 @@
     /**
      * Returns the background color behind the animation.
      */
+    @ColorInt
     public int getBackgroundColor() {
         return mBackgroundColor;
     }
diff --git a/core/java/android/view/animation/Transformation.java b/core/java/android/view/animation/Transformation.java
index 30c12ed..8eb5b5c 100644
--- a/core/java/android/view/animation/Transformation.java
+++ b/core/java/android/view/animation/Transformation.java
@@ -16,6 +16,7 @@
 
 package android.view.animation;
 
+import android.annotation.FloatRange;
 import android.graphics.Matrix;
 import android.graphics.Rect;
 
@@ -163,7 +164,7 @@
      * Sets the degree of transparency
      * @param alpha 1.0 means fully opaqe and 0.0 means fully transparent
      */
-    public void setAlpha(float alpha) {
+    public void setAlpha(@FloatRange(from=0.0, to=1.0) float alpha) {
         mAlpha = alpha;
     }
 
diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java
index 325ffdd..0996810 100644
--- a/core/java/android/view/inputmethod/InputMethodManager.java
+++ b/core/java/android/view/inputmethod/InputMethodManager.java
@@ -27,7 +27,6 @@
 import android.content.Context;
 import android.graphics.Matrix;
 import android.graphics.Rect;
-import android.graphics.RectF;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.IBinder;
diff --git a/core/java/android/view/inputmethod/InputMethodSubtypeArray.java b/core/java/android/view/inputmethod/InputMethodSubtypeArray.java
index 3ff099a..6a748ce 100644
--- a/core/java/android/view/inputmethod/InputMethodSubtypeArray.java
+++ b/core/java/android/view/inputmethod/InputMethodSubtypeArray.java
@@ -17,15 +17,10 @@
 package android.view.inputmethod;
 
 import android.os.Parcel;
-import android.os.Parcelable;
-import android.util.AndroidRuntimeException;
 import android.util.Slog;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
 import java.util.List;
 import java.util.zip.GZIPInputStream;
 import java.util.zip.GZIPOutputStream;
diff --git a/core/java/android/webkit/CookieSyncManager.java b/core/java/android/webkit/CookieSyncManager.java
index d9546ca..eda8d36 100644
--- a/core/java/android/webkit/CookieSyncManager.java
+++ b/core/java/android/webkit/CookieSyncManager.java
@@ -17,7 +17,6 @@
 package android.webkit;
 
 import android.content.Context;
-import android.util.Log;
 
 
 /**
diff --git a/core/java/android/webkit/WebBackForwardList.java b/core/java/android/webkit/WebBackForwardList.java
index e671376..6f763dc 100644
--- a/core/java/android/webkit/WebBackForwardList.java
+++ b/core/java/android/webkit/WebBackForwardList.java
@@ -16,7 +16,6 @@
 
 package android.webkit;
 
-import android.annotation.SystemApi;
 import java.io.Serializable;
 
 /**
diff --git a/core/java/android/webkit/WebMessage.java b/core/java/android/webkit/WebMessage.java
new file mode 100644
index 0000000..7683a40
--- /dev/null
+++ b/core/java/android/webkit/WebMessage.java
@@ -0,0 +1,62 @@
+/*
+ * 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.webkit;
+
+/**
+ * The Java representation of the HTML5 PostMessage event. See
+ * https://html.spec.whatwg.org/multipage/comms.html#the-messageevent-interfaces
+ * for definition of a MessageEvent in HTML5.
+ *
+ */
+public class WebMessage {
+
+    private String mData;
+    private WebMessagePort[] mPorts;
+
+    /**
+     * Creates a WebMessage.
+     * @param data  the data of the message.
+     */
+    public WebMessage(String data) {
+        mData = data;
+    }
+
+    /**
+     * Creates a WebMessage.
+     * @param data  the data of the message.
+     * @param ports  the ports that are sent with the message.
+     */
+    public WebMessage(String data, WebMessagePort[] ports) {
+        mData = data;
+        mPorts = ports;
+    }
+
+    /**
+     * Returns the data of the message.
+     */
+    public String getData() {
+        return mData;
+    }
+
+    /**
+     * Returns the ports that are sent with the message, or null if no port
+     * is sent.
+     */
+    public WebMessagePort[] getPorts() {
+        return mPorts;
+    }
+}
diff --git a/core/java/android/webkit/WebMessagePort.java b/core/java/android/webkit/WebMessagePort.java
new file mode 100644
index 0000000..eab27bd
--- /dev/null
+++ b/core/java/android/webkit/WebMessagePort.java
@@ -0,0 +1,86 @@
+/*
+ * 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.webkit;
+
+import android.os.Handler;
+
+/**
+ * The Java representation of the HTML5 Message Port. See
+ * https://html.spec.whatwg.org/multipage/comms.html#messageport
+ * for definition of MessagePort in HTML5.
+ *
+ * A Message port represents one endpoint of a Message Channel. In Android
+ * webview, there is no separate Message Channel object. When a message channel
+ * is created, both ports are tangled to each other and started, and then
+ * returned in a MessagePort array, see {@link WebView#createWebMessageChannel}
+ * for creating a message channel.
+ *
+ * When a message port is first created or received via transfer, it does not
+ * have a WebMessageCallback to receive web messages. The messages are queued until
+ * a WebMessageCallback is set.
+ */
+public abstract class WebMessagePort {
+
+    /**
+     * The listener for handling MessagePort events. The message callback
+     * methods are called on the main thread. If the embedder application
+     * wants to receive the messages on a different thread, it can do this
+     * by passing a Handler in
+     *  {@link WebMessagePort#setWebMessageCallback(WebMessageCallback, Handler)}.
+     * In the latter case, the application should be extra careful for thread safety
+     * since WebMessagePort methods should be called on main thread.
+     */
+    public static abstract class WebMessageCallback {
+        /**
+         * Message callback for receiving onMessage events.
+         *
+         * @param port  the WebMessagePort that the message is destined for
+         * @param message  the message from the entangled port.
+         */
+        public void onMessage(WebMessagePort port, WebMessage message) { }
+    }
+
+    /**
+     * Post a WebMessage to the entangled port.
+     *
+     * @param message  the message from Java to JS.
+     *
+     * @throws IllegalStateException If message port is already transferred or closed.
+     */
+    public abstract void postMessage(WebMessage message);
+
+    /**
+     * Close the message port and free any resources associated with it.
+     */
+    public abstract void close();
+
+    /**
+     * Sets a callback to receive message events on the main thread.
+     *
+     * @param callback  the message callback.
+     */
+    public abstract void setWebMessageCallback(WebMessageCallback callback);
+
+    /**
+     * Sets a callback to receive message events on the handler that is provided
+     * by the application.
+     *
+     * @param callback  the message callback.
+     * @param handler   the handler to receive the message messages.
+     */
+    public abstract void setWebMessageCallback(WebMessageCallback callback, Handler handler);
+}
diff --git a/core/java/android/webkit/WebResourceError.java b/core/java/android/webkit/WebResourceError.java
new file mode 100644
index 0000000..080d174
--- /dev/null
+++ b/core/java/android/webkit/WebResourceError.java
@@ -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.
+ */
+
+package android.webkit;
+
+/**
+ * Encapsulates information about errors occured during loading of web resources. See
+ * {@link WebViewClient#onReceivedError(WebView, WebResourceRequest, WebResourceError) WebViewClient.onReceivedError(WebView, WebResourceRequest, WebResourceError)}
+ */
+public abstract class WebResourceError {
+    /**
+     * Gets the error code of the error. The code corresponds to one
+     * of the ERROR_* constants in {@link WebViewClient}.
+     *
+     * @return The error code of the error
+     */
+    public abstract int getErrorCode();
+
+    /**
+     * Gets the string describing the error. Descriptions are localized,
+     * and thus can be used for communicating the problem to the user.
+     *
+     * @return The description of the error
+     */
+    public abstract String getDescription();
+}
diff --git a/core/java/android/webkit/WebResourceRequest.java b/core/java/android/webkit/WebResourceRequest.java
index 07402b3..0760d2b 100644
--- a/core/java/android/webkit/WebResourceRequest.java
+++ b/core/java/android/webkit/WebResourceRequest.java
@@ -18,7 +18,6 @@
 
 import android.net.Uri;
 
-import java.io.InputStream;
 import java.util.Map;
 
 /**
diff --git a/core/java/android/webkit/WebResourceResponse.java b/core/java/android/webkit/WebResourceResponse.java
index f487a4e..a42aaa7 100644
--- a/core/java/android/webkit/WebResourceResponse.java
+++ b/core/java/android/webkit/WebResourceResponse.java
@@ -25,7 +25,7 @@
  * class from {@link WebViewClient#shouldInterceptRequest} to provide a custom
  * response when the WebView requests a particular resource.
  */
-public class WebResourceResponse {
+public class WebResourceResponse extends WebResourceResponseBase {
     private String mMimeType;
     private String mEncoding;
     private int mStatusCode;
@@ -75,38 +75,36 @@
     }
 
     /**
-     * Sets the resource response's MIME type, for example text/html.
+     * Sets the resource response's MIME type, for example &quot;text/html&quot;.
      *
-     * @param mimeType the resource response's MIME type
+     * @param mimeType The resource response's MIME type
      */
     public void setMimeType(String mimeType) {
         mMimeType = mimeType;
     }
 
     /**
-     * Gets the resource response's MIME type.
-     *
-     * @return the resource response's MIME type
+     * {@inheritDoc}
      */
+    @Override
     public String getMimeType() {
         return mMimeType;
     }
 
     /**
-     * Sets the resource response's encoding, for example UTF-8. This is used
+     * Sets the resource response's encoding, for example &quot;UTF-8&quot;. This is used
      * to decode the data from the input stream.
      *
-     * @param encoding the resource response's encoding
+     * @param encoding The resource response's encoding
      */
     public void setEncoding(String encoding) {
         mEncoding = encoding;
     }
 
     /**
-     * Gets the resource response's encoding.
-     *
-     * @return the resource response's encoding
+     * {@inheritDoc}
      */
+    @Override
     public String getEncoding() {
         return mEncoding;
     }
@@ -142,19 +140,17 @@
     }
 
     /**
-     * Gets the resource response's status code.
-     *
-     * @return the resource response's status code.
+     * {@inheritDoc}
      */
+    @Override
     public int getStatusCode() {
         return mStatusCode;
     }
 
     /**
-     * Gets the description of the resource response's status code.
-     *
-     * @return the description of the resource response's status code.
+     * {@inheritDoc}
      */
+    @Override
     public String getReasonPhrase() {
         return mReasonPhrase;
     }
@@ -162,17 +158,16 @@
     /**
      * Sets the headers for the resource response.
      *
-     * @param headers mapping of header name -> header value.
+     * @param headers Mapping of header name -> header value.
      */
     public void setResponseHeaders(Map<String, String> headers) {
         mResponseHeaders = headers;
     }
 
     /**
-     * Gets the headers for the resource response.
-     *
-     * @return the headers for the resource response.
+     * {@inheritDoc}
      */
+    @Override
     public Map<String, String> getResponseHeaders() {
         return mResponseHeaders;
     }
@@ -190,15 +185,13 @@
             throw new IllegalArgumentException("StringBufferInputStream is deprecated and must " +
                 "not be passed to a WebResourceResponse");
         }
-
         mInputStream = data;
     }
 
     /**
-     * Gets the input stream that provides the resource response's data.
-     *
-     * @return the input stream that provides the resource response's data
+     * {@inheritDoc}
      */
+    @Override
     public InputStream getData() {
         return mInputStream;
     }
diff --git a/core/java/android/webkit/WebResourceResponseBase.java b/core/java/android/webkit/WebResourceResponseBase.java
new file mode 100644
index 0000000..cffde82
--- /dev/null
+++ b/core/java/android/webkit/WebResourceResponseBase.java
@@ -0,0 +1,68 @@
+/*
+ * 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.webkit;
+
+import java.io.InputStream;
+import java.util.Map;
+
+/**
+ * Encapsulates a resource response received from the server.
+ * This is an abstract class used by WebView callbacks.
+ */
+public abstract class WebResourceResponseBase {
+    /**
+     * Gets the resource response's MIME type.
+     *
+     * @return The resource response's MIME type
+     */
+    public abstract String getMimeType();
+
+    /**
+     * Gets the resource response's encoding.
+     *
+     * @return The resource response's encoding
+     */
+    public abstract String getEncoding();
+
+    /**
+     * Gets the resource response's status code.
+     *
+     * @return The resource response's status code.
+     */
+    public abstract int getStatusCode();
+
+    /**
+     * Gets the description of the resource response's status code.
+     *
+     * @return The description of the resource response's status code.
+     */
+    public abstract String getReasonPhrase();
+
+    /**
+     * Gets the headers for the resource response.
+     *
+     * @return The headers for the resource response.
+     */
+    public abstract Map<String, String> getResponseHeaders();
+
+    /**
+     * Gets the input stream that provides the resource response's data.
+     *
+     * @return The input stream that provides the resource response's data
+     */
+    public abstract InputStream getData();
+}
diff --git a/core/java/android/webkit/WebSettings.java b/core/java/android/webkit/WebSettings.java
index 1d2c311..943beb0 100644
--- a/core/java/android/webkit/WebSettings.java
+++ b/core/java/android/webkit/WebSettings.java
@@ -1285,7 +1285,7 @@
      * strongly discouraged.
      *
      * @param mode The mixed content mode to use. One of {@link #MIXED_CONTENT_NEVER_ALLOW},
-     *     {@link #MIXED_CONTENT_NEVER_ALLOW} or {@link #MIXED_CONTENT_COMPATIBILITY_MODE}.
+     *     {@link #MIXED_CONTENT_ALWAYS_ALLOW} or {@link #MIXED_CONTENT_COMPATIBILITY_MODE}.
      */
     public abstract void setMixedContentMode(int mode);
 
@@ -1293,7 +1293,7 @@
      * Gets the current behavior of the WebView with regard to loading insecure content from a
      * secure origin.
      * @return The current setting, one of {@link #MIXED_CONTENT_NEVER_ALLOW},
-     *     {@link #MIXED_CONTENT_NEVER_ALLOW} or {@link #MIXED_CONTENT_COMPATIBILITY_MODE}.
+     *     {@link #MIXED_CONTENT_ALWAYS_ALLOW} or {@link #MIXED_CONTENT_COMPATIBILITY_MODE}.
      */
     public abstract int getMixedContentMode();
 
@@ -1330,4 +1330,25 @@
      */
     @SystemApi
     public abstract boolean getVideoOverlayForEmbeddedEncryptedVideoEnabled();
+
+    /**
+     * Sets whether this WebView should raster tiles when it is
+     * offscreen but attached to a window. Turning this on can avoid
+     * rendering artifacts when animating an offscreen WebView on-screen.
+     * Offscreen WebViews in this mode use more memory. The default value is
+     * false.
+     * Please follow these guidelines to limit memory usage:
+     * - WebView size should be not be larger than the device screen size.
+     * - Limit use of this mode to a small number of WebViews. Use it for
+     *   visible WebViews and WebViews about to be animated to visible.
+     */
+    public abstract void setOffscreenPreRaster(boolean enabled);
+
+    /**
+     * Gets whether this WebView should raster tiles when it is
+     * offscreen but attached to a window.
+     * @return true if this WebView will raster tiles when it is
+     * offscreen but attached to a window.
+     */
+    public abstract boolean getOffscreenPreRaster();
 }
diff --git a/core/java/android/webkit/WebSyncManager.java b/core/java/android/webkit/WebSyncManager.java
index 402394f..801be12 100644
--- a/core/java/android/webkit/WebSyncManager.java
+++ b/core/java/android/webkit/WebSyncManager.java
@@ -17,11 +17,6 @@
 package android.webkit;
 
 import android.content.Context;
-import android.os.Handler;
-import android.os.Looper;
-import android.os.Message;
-import android.os.Process;
-import android.util.Log;
 
 /*
  * @deprecated The WebSyncManager no longer does anything.
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 01a506c..67ad642 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -27,6 +27,7 @@
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.net.http.SslCertificate;
+import android.net.Uri;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.Looper;
@@ -1825,6 +1826,37 @@
     }
 
     /**
+     * Creates a message channel to communicate with JS and returns the message
+     * ports that represent the endpoints of this message channel. The HTML5 message
+     * channel functionality is described here:
+     * https://html.spec.whatwg.org/multipage/comms.html#messagechannel
+     *
+     * The returned message channels are entangled and already in started state.
+     *
+     * @return the two message ports that form the message channel.
+     */
+    public WebMessagePort[] createWebMessageChannel() {
+        checkThread();
+        if (TRACE) Log.d(LOGTAG, "createWebMessageChannel");
+        return mProvider.createWebMessageChannel();
+    }
+
+    /**
+     * Post a message to main frame. The embedded application can restrict the
+     * messages to a certain target origin. See
+     *    https://html.spec.whatwg.org/multipage/comms.html#posting-messages
+     * for how target origin can be used.
+     *
+     * @param message the WebMessage
+     * @param targetOrigin the target origin.
+     */
+    public void postMessageToMainFrame(WebMessage message, Uri targetOrigin) {
+        checkThread();
+        if (TRACE) Log.d(LOGTAG, "postMessageToMainFrame. TargetOrigin=" + targetOrigin);
+        mProvider.postMessageToMainFrame(message, targetOrigin);
+    }
+
+    /**
      * Gets the WebSettings object used to control the settings for this
      * WebView.
      *
diff --git a/core/java/android/webkit/WebViewClient.java b/core/java/android/webkit/WebViewClient.java
index 1cc899d..34b8cf6 100644
--- a/core/java/android/webkit/WebViewClient.java
+++ b/core/java/android/webkit/WebViewClient.java
@@ -23,8 +23,6 @@
 import android.view.KeyEvent;
 import android.view.ViewRootImpl;
 
-import java.security.Principal;
-
 public class WebViewClient {
 
     /**
@@ -176,6 +174,8 @@
     public static final int ERROR_FILE_NOT_FOUND = -14;
     /** Too many requests during this load */
     public static final int ERROR_TOO_MANY_REQUESTS = -15;
+    /** Request blocked by the browser */
+    public static final int ERROR_BLOCKED = -16;
 
     /**
      * Report an error to the host application. These errors are unrecoverable
@@ -185,12 +185,45 @@
      * @param errorCode The error code corresponding to an ERROR_* value.
      * @param description A String describing the error.
      * @param failingUrl The url that failed to load.
+     * @deprecated Use {@link #onReceivedError(WebView, WebResourceRequest, WebResourceError)
+     *             onReceivedError(WebView, WebResourceRequest, WebResourceError)} instead.
      */
+    @Deprecated
     public void onReceivedError(WebView view, int errorCode,
             String description, String failingUrl) {
     }
 
     /**
+     * Report web resource loading error to the host application. These errors usually indicate
+     * inability to connect to the server. Note that unlike the deprecated version of the callback,
+     * the new version will be called for any resource (iframe, image, etc), not just for the main
+     * page. Thus, it is recommended to perform minimum required work in this callback.
+     * @param view The WebView that is initiating the callback.
+     * @param request The originating request.
+     * @param error Information about the error occured.
+     */
+    public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
+        if (request.isForMainFrame()) {
+            onReceivedError(view,
+                    error.getErrorCode(), error.getDescription(), request.getUrl().toString());
+        }
+    }
+
+    /**
+     * Notify the host application that an HTTP error has been received from the server while
+     * loading a resource.  HTTP errors have status codes &gt;= 400.  This callback will be called
+     * for any resource (iframe, image, etc), not just for the main page. Thus, it is recommended to
+     * perform minimum required work in this callback. Note that the content of the server
+     * response may not be provided within the <b>errorResponse</b> parameter.
+     * @param view The WebView that is initiating the callback.
+     * @param request The originating request.
+     * @param errorResponse Information about the error occured.
+     */
+    public void onReceivedHttpError(
+            WebView view, WebResourceRequest request, WebResourceResponseBase errorResponse) {
+    }
+
+    /**
      * As the host application if the browser should resend data as the
      * requested page was a result of a POST. The default is to not resend the
      * data.
diff --git a/core/java/android/webkit/WebViewDatabase.java b/core/java/android/webkit/WebViewDatabase.java
index bfea481..cdff416 100644
--- a/core/java/android/webkit/WebViewDatabase.java
+++ b/core/java/android/webkit/WebViewDatabase.java
@@ -16,7 +16,6 @@
 
 package android.webkit;
 
-import android.annotation.SystemApi;
 import android.content.Context;
 
 /**
diff --git a/core/java/android/webkit/WebViewProvider.java b/core/java/android/webkit/WebViewProvider.java
index 2aee57b..0cdb875 100644
--- a/core/java/android/webkit/WebViewProvider.java
+++ b/core/java/android/webkit/WebViewProvider.java
@@ -24,8 +24,8 @@
 import android.graphics.Picture;
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
-import android.net.Uri;
 import android.net.http.SslCertificate;
+import android.net.Uri;
 import android.os.Bundle;
 import android.os.Message;
 import android.print.PrintDocumentAdapter;
@@ -228,6 +228,10 @@
 
     public void removeJavascriptInterface(String interfaceName);
 
+    public WebMessagePort[] createWebMessageChannel();
+
+    public void postMessageToMainFrame(WebMessage message, Uri targetOrigin);
+
     public WebSettings getSettings();
 
     public void setMapTrackballToArrowKeys(boolean setMap);
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index 164283d..168066a 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -16,12 +16,12 @@
 
 package android.widget;
 
+import android.annotation.ColorInt;
 import android.annotation.DrawableRes;
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.TypedArray;
 import android.graphics.Canvas;
-import android.graphics.PointF;
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.TransitionDrawable;
@@ -5983,7 +5983,7 @@
      *
      * @param color The background color
      */
-    public void setCacheColorHint(int color) {
+    public void setCacheColorHint(@ColorInt int color) {
         if (color != mCacheColorHint) {
             mCacheColorHint = color;
             int count = getChildCount();
@@ -6001,6 +6001,7 @@
      * @return The cache color hint
      */
     @ViewDebug.ExportedProperty(category = "drawing")
+    @ColorInt
     public int getCacheColorHint() {
         return mCacheColorHint;
     }
diff --git a/core/java/android/widget/AbsSeekBar.java b/core/java/android/widget/AbsSeekBar.java
index 79ad6e3..d6f9f78 100644
--- a/core/java/android/widget/AbsSeekBar.java
+++ b/core/java/android/widget/AbsSeekBar.java
@@ -31,7 +31,6 @@
 import android.view.KeyEvent;
 import android.view.MotionEvent;
 import android.view.ViewConfiguration;
-import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityNodeInfo;
 
 import com.android.internal.R;
@@ -403,23 +402,26 @@
     }
 
     private void updateThumbAndTrackPos(int w, int h) {
+        final int paddedHeight = h - mPaddingTop - mPaddingBottom;
         final Drawable track = getCurrentDrawable();
         final Drawable thumb = mThumb;
 
         // The max height does not incorporate padding, whereas the height
         // parameter does.
-        final int trackHeight = Math.min(mMaxHeight, h - mPaddingTop - mPaddingBottom);
+        final int trackHeight = Math.min(mMaxHeight, paddedHeight);
         final int thumbHeight = thumb == null ? 0 : thumb.getIntrinsicHeight();
 
         // Apply offset to whichever item is taller.
         final int trackOffset;
         final int thumbOffset;
         if (thumbHeight > trackHeight) {
-            trackOffset = (thumbHeight - trackHeight) / 2;
-            thumbOffset = 0;
+            final int offsetHeight = (paddedHeight - thumbHeight) / 2;
+            trackOffset = offsetHeight + (thumbHeight - trackHeight) / 2;
+            thumbOffset = offsetHeight + 0;
         } else {
-            trackOffset = 0;
-            thumbOffset = (trackHeight - thumbHeight) / 2;
+            final int offsetHeight = (paddedHeight - trackHeight) / 2;
+            trackOffset = offsetHeight + 0;
+            thumbOffset = offsetHeight + (trackHeight - thumbHeight) / 2;
         }
 
         if (track != null) {
diff --git a/core/java/android/widget/AbsSpinner.java b/core/java/android/widget/AbsSpinner.java
index e432747..1cb7f2a 100644
--- a/core/java/android/widget/AbsSpinner.java
+++ b/core/java/android/widget/AbsSpinner.java
@@ -28,8 +28,6 @@
 import android.util.SparseArray;
 import android.view.View;
 import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 
 /**
  * An abstract base class for spinner widgets. SDK users will probably not
diff --git a/core/java/android/widget/ActionMenuPresenter.java b/core/java/android/widget/ActionMenuPresenter.java
index 94827dd..4fadc19 100644
--- a/core/java/android/widget/ActionMenuPresenter.java
+++ b/core/java/android/widget/ActionMenuPresenter.java
@@ -17,10 +17,10 @@
 package android.widget;
 
 import android.content.Context;
+import android.content.res.ColorStateList;
 import android.content.res.Configuration;
 import android.content.res.Resources;
-import android.graphics.Matrix;
-import android.graphics.Rect;
+import android.graphics.PorterDuff;
 import android.graphics.drawable.Drawable;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -55,7 +55,7 @@
         implements ActionProvider.SubUiVisibilityListener {
     private static final String TAG = "ActionMenuPresenter";
 
-    private View mOverflowButton;
+    private OverflowMenuButton mOverflowButton;
     private boolean mReserveOverflow;
     private boolean mReserveOverflowSet;
     private int mWidthLimit;
@@ -79,6 +79,8 @@
     private OpenOverflowRunnable mPostedOpenRunnable;
     private ActionMenuPopupCallback mPopupCallback;
 
+    private TintInfo mOverflowTintInfo;
+
     final PopupPresenterCallback mPopupPresenterCallback = new PopupPresenterCallback();
     int mOpenSubMenuId;
 
@@ -113,6 +115,7 @@
                 mOverflowButton = new OverflowMenuButton(mSystemContext);
                 final int spec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
                 mOverflowButton.measure(spec, spec);
+                applyOverflowTint();
             }
             width -= mOverflowButton.getMeasuredWidth();
         } else {
@@ -236,6 +239,7 @@
         if (hasOverflow) {
             if (mOverflowButton == null) {
                 mOverflowButton = new OverflowMenuButton(mSystemContext);
+                applyOverflowTint();
             }
             ViewGroup parent = (ViewGroup) mOverflowButton.getParent();
             if (parent != mMenuView) {
@@ -550,6 +554,40 @@
         menuView.initialize(mMenu);
     }
 
+    public void setOverflowTintList(ColorStateList tint) {
+        if (mOverflowTintInfo == null) {
+            mOverflowTintInfo = new TintInfo();
+        }
+        mOverflowTintInfo.mTintList = tint;
+        mOverflowTintInfo.mHasTintList = true;
+
+        applyOverflowTint();
+    }
+
+    public void setOverflowTintMode(PorterDuff.Mode tintMode) {
+        if (mOverflowTintInfo == null) {
+            mOverflowTintInfo = new TintInfo();
+        }
+        mOverflowTintInfo.mTintMode = tintMode;
+        mOverflowTintInfo.mHasTintMode = true;
+
+        applyOverflowTint();
+    }
+
+    private void applyOverflowTint() {
+        final TintInfo tintInfo = mOverflowTintInfo;
+        if (tintInfo != null && (tintInfo.mHasTintList || tintInfo.mHasTintMode)) {
+            if (mOverflowButton != null) {
+                if (tintInfo.mHasTintList) {
+                    mOverflowButton.setImageTintList(tintInfo.mTintList);
+                }
+                if (tintInfo.mHasTintMode) {
+                    mOverflowButton.setImageTintMode(tintInfo.mTintMode);
+                }
+            }
+        }
+    }
+
     private static class SavedState implements Parcelable {
         public int openSubMenuId;
 
@@ -774,4 +812,11 @@
             return mActionButtonPopup != null ? mActionButtonPopup.getPopup() : null;
         }
     }
+
+    private static class TintInfo {
+        ColorStateList mTintList;
+        PorterDuff.Mode mTintMode;
+        boolean mHasTintMode;
+        boolean mHasTintList;
+    }
 }
diff --git a/core/java/android/widget/ActionMenuView.java b/core/java/android/widget/ActionMenuView.java
index 403e4ac..9d3a5dc 100644
--- a/core/java/android/widget/ActionMenuView.java
+++ b/core/java/android/widget/ActionMenuView.java
@@ -16,7 +16,9 @@
 package android.widget;
 
 import android.content.Context;
+import android.content.res.ColorStateList;
 import android.content.res.Configuration;
+import android.graphics.PorterDuff;
 import android.util.AttributeSet;
 import android.view.ContextThemeWrapper;
 import android.view.Gravity;
@@ -546,6 +548,31 @@
         mReserveOverflow = reserveOverflow;
     }
 
+    /**
+     * Applies a tint to the overflow drawable. Does not modify the current tint
+     * mode, which is {@link PorterDuff.Mode#SRC_IN} by default.
+     *
+     * @param tint the tint to apply, may be {@code null} to clear tint
+     */
+    public void setOverflowTintList(ColorStateList tint) {
+        if (mPresenter != null) {
+            mPresenter.setOverflowTintList(tint);
+        }
+    }
+
+    /**
+     * Specifies the blending mode used to apply the tint specified by {@link
+     * #setOverflowTintList(ColorStateList)} to the overflow drawable.
+     * The default mode is {@link PorterDuff.Mode#SRC_IN}.
+     *
+     * @param tintMode the blending mode used to apply the tint, may be {@code null} to clear tint
+     */
+    public void setOverflowTintMode(PorterDuff.Mode tintMode) {
+        if (mPresenter != null) {
+            mPresenter.setOverflowTintMode(tintMode);
+        }
+    }
+
     @Override
     protected LayoutParams generateDefaultLayoutParams() {
         LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,
diff --git a/core/java/android/widget/AdapterView.java b/core/java/android/widget/AdapterView.java
index 9b977fa..72cb0b5 100644
--- a/core/java/android/widget/AdapterView.java
+++ b/core/java/android/widget/AdapterView.java
@@ -16,6 +16,7 @@
 
 package android.widget;
 
+import android.annotation.Nullable;
 import android.content.Context;
 import android.database.DataSetObserver;
 import android.os.Parcelable;
@@ -276,7 +277,7 @@
      *
      * @param listener The callback that will be invoked.
      */
-    public void setOnItemClickListener(OnItemClickListener listener) {
+    public void setOnItemClickListener(@Nullable OnItemClickListener listener) {
         mOnItemClickListener = listener;
     }
 
@@ -284,6 +285,7 @@
      * @return The callback to be invoked with an item in this AdapterView has
      *         been clicked, or null id no callback has been set.
      */
+    @Nullable
     public final OnItemClickListener getOnItemClickListener() {
         return mOnItemClickListener;
     }
@@ -394,10 +396,11 @@
      *
      * @param listener The callback that will run
      */
-    public void setOnItemSelectedListener(OnItemSelectedListener listener) {
+    public void setOnItemSelectedListener(@Nullable OnItemSelectedListener listener) {
         mOnItemSelectedListener = listener;
     }
 
+    @Nullable
     public final OnItemSelectedListener getOnItemSelectedListener() {
         return mOnItemSelectedListener;
     }
diff --git a/core/java/android/widget/AdapterViewAnimator.java b/core/java/android/widget/AdapterViewAnimator.java
index a242175..932b354 100644
--- a/core/java/android/widget/AdapterViewAnimator.java
+++ b/core/java/android/widget/AdapterViewAnimator.java
@@ -29,8 +29,6 @@
 import android.view.View;
 import android.view.ViewConfiguration;
 import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.RemoteViews.OnClickHandler;
 
 import java.util.ArrayList;
diff --git a/core/java/android/widget/AdapterViewFlipper.java b/core/java/android/widget/AdapterViewFlipper.java
index 01b6530..a105b40 100644
--- a/core/java/android/widget/AdapterViewFlipper.java
+++ b/core/java/android/widget/AdapterViewFlipper.java
@@ -26,8 +26,6 @@
 import android.util.AttributeSet;
 import android.util.Log;
 import android.view.RemotableViewMethod;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.RemoteViews.RemoteView;
 
 /**
diff --git a/core/java/android/widget/Button.java b/core/java/android/widget/Button.java
index 9b0d0dd..154cc33 100644
--- a/core/java/android/widget/Button.java
+++ b/core/java/android/widget/Button.java
@@ -18,8 +18,6 @@
 
 import android.content.Context;
 import android.util.AttributeSet;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.RemoteViews.RemoteView;
 
 
diff --git a/core/java/android/widget/CalendarView.java b/core/java/android/widget/CalendarView.java
index 47fb8a7..5bc16cb 100644
--- a/core/java/android/widget/CalendarView.java
+++ b/core/java/android/widget/CalendarView.java
@@ -16,6 +16,7 @@
 
 package android.widget;
 
+import android.annotation.ColorInt;
 import android.annotation.DrawableRes;
 import android.annotation.Widget;
 import android.content.Context;
@@ -24,9 +25,6 @@
 import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
 import android.util.Log;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
-
 import com.android.internal.R;
 
 import java.text.DateFormat;
@@ -143,7 +141,7 @@
      *
      * @attr ref android.R.styleable#CalendarView_selectedWeekBackgroundColor
      */
-    public void setSelectedWeekBackgroundColor(int color) {
+    public void setSelectedWeekBackgroundColor(@ColorInt int color) {
         mDelegate.setSelectedWeekBackgroundColor(color);
     }
 
@@ -154,6 +152,7 @@
      *
      * @attr ref android.R.styleable#CalendarView_selectedWeekBackgroundColor
      */
+    @ColorInt
     public int getSelectedWeekBackgroundColor() {
         return mDelegate.getSelectedWeekBackgroundColor();
     }
@@ -165,7 +164,7 @@
      *
      * @attr ref android.R.styleable#CalendarView_focusedMonthDateColor
      */
-    public void setFocusedMonthDateColor(int color) {
+    public void setFocusedMonthDateColor(@ColorInt int color) {
         mDelegate.setFocusedMonthDateColor(color);
     }
 
@@ -176,6 +175,7 @@
      *
      * @attr ref android.R.styleable#CalendarView_focusedMonthDateColor
      */
+    @ColorInt
     public int getFocusedMonthDateColor() {
         return mDelegate.getFocusedMonthDateColor();
     }
@@ -187,7 +187,7 @@
      *
      * @attr ref android.R.styleable#CalendarView_unfocusedMonthDateColor
      */
-    public void setUnfocusedMonthDateColor(int color) {
+    public void setUnfocusedMonthDateColor(@ColorInt int color) {
         mDelegate.setUnfocusedMonthDateColor(color);
     }
 
@@ -198,6 +198,7 @@
      *
      * @attr ref android.R.styleable#CalendarView_unfocusedMonthDateColor
      */
+    @ColorInt
     public int getUnfocusedMonthDateColor() {
         return mDelegate.getUnfocusedMonthDateColor();
     }
@@ -209,7 +210,7 @@
      *
      * @attr ref android.R.styleable#CalendarView_weekNumberColor
      */
-    public void setWeekNumberColor(int color) {
+    public void setWeekNumberColor(@ColorInt int color) {
         mDelegate.setWeekNumberColor(color);
     }
 
@@ -220,6 +221,7 @@
      *
      * @attr ref android.R.styleable#CalendarView_weekNumberColor
      */
+    @ColorInt
     public int getWeekNumberColor() {
         return mDelegate.getWeekNumberColor();
     }
@@ -231,7 +233,7 @@
      *
      * @attr ref android.R.styleable#CalendarView_weekSeparatorLineColor
      */
-    public void setWeekSeparatorLineColor(int color) {
+    public void setWeekSeparatorLineColor(@ColorInt int color) {
         mDelegate.setWeekSeparatorLineColor(color);
     }
 
@@ -242,6 +244,7 @@
      *
      * @attr ref android.R.styleable#CalendarView_weekSeparatorLineColor
      */
+    @ColorInt
     public int getWeekSeparatorLineColor() {
         return mDelegate.getWeekSeparatorLineColor();
     }
diff --git a/core/java/android/widget/CheckBox.java b/core/java/android/widget/CheckBox.java
index 5a7d585..15bbdd2 100644
--- a/core/java/android/widget/CheckBox.java
+++ b/core/java/android/widget/CheckBox.java
@@ -18,8 +18,6 @@
 
 import android.content.Context;
 import android.util.AttributeSet;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 
 
 /**
diff --git a/core/java/android/widget/Chronometer.java b/core/java/android/widget/Chronometer.java
index 019d475..a15080e 100644
--- a/core/java/android/widget/Chronometer.java
+++ b/core/java/android/widget/Chronometer.java
@@ -24,8 +24,6 @@
 import android.text.format.DateUtils;
 import android.util.AttributeSet;
 import android.util.Log;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.RemoteViews.RemoteView;
 
 import java.util.Formatter;
diff --git a/core/java/android/widget/CompoundButton.java b/core/java/android/widget/CompoundButton.java
index dbf82b6..f2afeeb 100644
--- a/core/java/android/widget/CompoundButton.java
+++ b/core/java/android/widget/CompoundButton.java
@@ -21,7 +21,6 @@
 import android.graphics.PorterDuff;
 import com.android.internal.R;
 
-import android.annotation.DrawableRes;
 import android.content.Context;
 import android.content.res.ColorStateList;
 import android.content.res.TypedArray;
diff --git a/core/java/android/widget/CursorAdapter.java b/core/java/android/widget/CursorAdapter.java
index 8e318fd..30c74c0 100644
--- a/core/java/android/widget/CursorAdapter.java
+++ b/core/java/android/widget/CursorAdapter.java
@@ -24,7 +24,6 @@
 import android.os.Handler;
 import android.util.Log;
 import android.view.ContextThemeWrapper;
-import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
diff --git a/core/java/android/widget/DatePicker.java b/core/java/android/widget/DatePicker.java
index 7c6055a..45998f7 100644
--- a/core/java/android/widget/DatePicker.java
+++ b/core/java/android/widget/DatePicker.java
@@ -33,7 +33,6 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.inputmethod.EditorInfo;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.NumberPicker.OnValueChangeListener;
diff --git a/core/java/android/widget/DatePickerCalendarDelegate.java b/core/java/android/widget/DatePickerCalendarDelegate.java
old mode 100644
new mode 100755
index a053901..0e3ec7f
--- a/core/java/android/widget/DatePickerCalendarDelegate.java
+++ b/core/java/android/widget/DatePickerCalendarDelegate.java
@@ -30,7 +30,6 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.animation.AlphaAnimation;
 import android.view.animation.Animation;
 
@@ -112,8 +111,8 @@
         mTempDate = getCalendarForLocale(mMaxDate, locale);
         mCurrentDate = getCalendarForLocale(mCurrentDate, locale);
 
-        mMinDate.set(DEFAULT_START_YEAR, 1, 1);
-        mMaxDate.set(DEFAULT_END_YEAR, 12, 31);
+        mMinDate.set(DEFAULT_START_YEAR, Calendar.JANUARY, 1);
+        mMaxDate.set(DEFAULT_END_YEAR, Calendar.DECEMBER, 31);
 
         final Resources res = mDelegator.getResources();
         final TypedArray a = mContext.obtainStyledAttributes(attrs,
@@ -154,34 +153,23 @@
 
         dateLayout.setBackground(a.getDrawable(R.styleable.DatePicker_headerBackground));
 
-        final int headerSelectedTextColor = a.getColor(
-                R.styleable.DatePicker_headerSelectedTextColor, defaultHighlightColor);
         final int monthTextAppearanceResId = a.getResourceId(
                 R.styleable.DatePicker_headerMonthTextAppearance, 0);
         if (monthTextAppearanceResId != 0) {
             mHeaderMonthTextView.setTextAppearance(context, monthTextAppearanceResId);
         }
-        mHeaderMonthTextView.setTextColor(ColorStateList.addFirstIfMissing(
-                mHeaderMonthTextView.getTextColors(), R.attr.state_selected,
-                headerSelectedTextColor));
 
         final int dayOfMonthTextAppearanceResId = a.getResourceId(
                 R.styleable.DatePicker_headerDayOfMonthTextAppearance, 0);
         if (dayOfMonthTextAppearanceResId != 0) {
             mHeaderDayOfMonthTextView.setTextAppearance(context, dayOfMonthTextAppearanceResId);
         }
-        mHeaderDayOfMonthTextView.setTextColor(ColorStateList.addFirstIfMissing(
-                mHeaderDayOfMonthTextView.getTextColors(), R.attr.state_selected,
-                headerSelectedTextColor));
 
         final int headerYearTextAppearanceResId = a.getResourceId(
                 R.styleable.DatePicker_headerYearTextAppearance, 0);
         if (headerYearTextAppearanceResId != 0) {
             mHeaderYearTextView.setTextAppearance(context, headerYearTextAppearanceResId);
         }
-        mHeaderYearTextView.setTextColor(ColorStateList.addFirstIfMissing(
-                mHeaderYearTextView.getTextColors(), R.attr.state_selected,
-                headerSelectedTextColor));
 
         mDayPickerView = new DayPickerView(mContext);
         mDayPickerView.setFirstDayOfWeek(mFirstDayOfWeek);
diff --git a/core/java/android/widget/DateTimeView.java b/core/java/android/widget/DateTimeView.java
index db17df7..0b5824a 100644
--- a/core/java/android/widget/DateTimeView.java
+++ b/core/java/android/widget/DateTimeView.java
@@ -21,17 +21,14 @@
 import android.content.IntentFilter;
 import android.content.BroadcastReceiver;
 import android.database.ContentObserver;
-import android.net.Uri;
 import android.os.Handler;
 import android.text.format.Time;
 import android.util.AttributeSet;
 import android.util.Log;
-import android.provider.Settings;
 import android.widget.TextView;
 import android.widget.RemoteViews.RemoteView;
 
 import java.text.DateFormat;
-import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 
diff --git a/core/java/android/widget/DigitalClock.java b/core/java/android/widget/DigitalClock.java
index b936a5b..9e442f9 100644
--- a/core/java/android/widget/DigitalClock.java
+++ b/core/java/android/widget/DigitalClock.java
@@ -23,9 +23,6 @@
 import android.provider.Settings;
 import android.text.format.DateFormat;
 import android.util.AttributeSet;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
-
 import java.util.Calendar;
 
 /**
diff --git a/core/java/android/widget/EdgeEffect.java b/core/java/android/widget/EdgeEffect.java
index 391347e..9019f31 100644
--- a/core/java/android/widget/EdgeEffect.java
+++ b/core/java/android/widget/EdgeEffect.java
@@ -16,6 +16,7 @@
 
 package android.widget;
 
+import android.annotation.ColorInt;
 import android.content.res.TypedArray;
 import android.graphics.Paint;
 import android.graphics.PorterDuff;
@@ -292,7 +293,7 @@
      *
      * @param color Color in argb
      */
-    public void setColor(int color) {
+    public void setColor(@ColorInt int color) {
         mPaint.setColor(color);
     }
 
@@ -300,6 +301,7 @@
      * Return the color of this edge effect in argb.
      * @return The color of this edge effect in argb
      */
+    @ColorInt
     public int getColor() {
         return mPaint.getColor();
     }
diff --git a/core/java/android/widget/EditText.java b/core/java/android/widget/EditText.java
index 24cc2d8..d21a5f7 100644
--- a/core/java/android/widget/EditText.java
+++ b/core/java/android/widget/EditText.java
@@ -25,7 +25,6 @@
 import android.text.method.ArrowKeyMovementMethod;
 import android.text.method.MovementMethod;
 import android.util.AttributeSet;
-import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityNodeInfo;
 
 
diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java
index 1ba11da..d93b212 100644
--- a/core/java/android/widget/Editor.java
+++ b/core/java/android/widget/Editor.java
@@ -23,8 +23,6 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.InputFilter;
-import android.text.SpannableString;
-
 import com.android.internal.util.ArrayUtils;
 import com.android.internal.util.GrowingArrayUtils;
 import com.android.internal.view.menu.MenuBuilder;
@@ -130,7 +128,8 @@
     // Each Editor manages its own undo stack.
     private final UndoManager mUndoManager = new UndoManager();
     private UndoOwner mUndoOwner = mUndoManager.getOwner(UNDO_OWNER_TAG, this);
-    final InputFilter mUndoInputFilter = new UndoInputFilter(this);
+    final UndoInputFilter mUndoInputFilter = new UndoInputFilter(this);
+    boolean mAllowUndo = true;
 
     // Cursor Controllers.
     InsertionPointCursorController mInsertionPointCursorController;
@@ -218,6 +217,12 @@
     WordIterator mWordIterator;
     SpellChecker mSpellChecker;
 
+    // This word iterator is set with text and used to determine word boundaries
+    // when a user is selecting text.
+    private WordIterator mWordIteratorWithText;
+    // Indicate that the text in the word iterator needs to be updated.
+    private boolean mUpdateWordIteratorText;
+
     private Rect mTempRect;
 
     private TextView mTextView;
@@ -241,22 +246,37 @@
         mUndoOwner = mUndoManager.getOwner(UNDO_OWNER_TAG, this);
     }
 
+    /**
+     * Forgets all undo and redo operations for this Editor.
+     */
+    void forgetUndoRedo() {
+        UndoOwner[] owners = { mUndoOwner };
+        mUndoManager.forgetUndos(owners, -1 /* all */);
+        mUndoManager.forgetRedos(owners, -1 /* all */);
+    }
+
     boolean canUndo() {
         UndoOwner[] owners = { mUndoOwner };
-        return mUndoManager.countUndos(owners) > 0;
+        return mAllowUndo && mUndoManager.countUndos(owners) > 0;
     }
 
     boolean canRedo() {
         UndoOwner[] owners = { mUndoOwner };
-        return mUndoManager.countRedos(owners) > 0;
+        return mAllowUndo && mUndoManager.countRedos(owners) > 0;
     }
 
     void undo() {
+        if (!mAllowUndo) {
+            return;
+        }
         UndoOwner[] owners = { mUndoOwner };
         mUndoManager.undo(owners, 1);  // Undo 1 action.
     }
 
     void redo() {
+        if (!mAllowUndo) {
+            return;
+        }
         UndoOwner[] owners = { mUndoOwner };
         mUndoManager.redo(owners, 1);  // Redo 1 action.
     }
@@ -684,9 +704,52 @@
         return mTextView.getTransformationMethod() instanceof PasswordTransformationMethod;
     }
 
+    private int getWordStart(int offset) {
+        // FIXME - For this and similar methods we're not doing anything to check if there's
+        // a LocaleSpan in the text, this may be something we should try handling or checking for.
+        int retOffset = getWordIteratorWithText().getBeginning(offset);
+        if (retOffset == BreakIterator.DONE) retOffset = offset;
+        return retOffset;
+    }
+
+    private int getWordEnd(int offset, boolean includePunctuation) {
+        int retOffset = getWordIteratorWithText().getEnd(offset);
+        if (retOffset == BreakIterator.DONE) {
+            retOffset = offset;
+        } else if (includePunctuation) {
+            retOffset = handlePunctuation(retOffset);
+        }
+        return retOffset;
+    }
+
+    private boolean isEndBoundary(int offset) {
+        int thisEnd = getWordEnd(offset, false);
+        return offset == thisEnd;
+    }
+
+    private boolean isStartBoundary(int offset) {
+        int thisStart = getWordStart(offset);
+        return thisStart == offset;
+    }
+
+    private int handlePunctuation(int offset) {
+        // FIXME - Check with UX how repeated ending punctuation should be handled.
+        // FIXME - Check with UX if / how we would handle non sentence ending characters.
+        // FIXME - Consider punctuation in different languages.
+        CharSequence text = mTextView.getText();
+        if (offset < text.length()) {
+            int c = Character.codePointAt(text, offset);
+            if (c == 0x002e /* period */|| c == 0x003f /* question mark */
+                    || c == 0x0021 /* exclamation mark */) {
+                offset = Character.offsetByCodePoints(text, offset, 1);
+            }
+        }
+        return offset;
+    }
+
     /**
-     * Adjusts selection to the word under last touch offset.
-     * Return true if the operation was successfully performed.
+     * Adjusts selection to the word under last touch offset. Return true if the operation was
+     * successfully performed.
      */
     private boolean selectCurrentWord() {
         if (!canSelectText()) {
@@ -733,6 +796,8 @@
             selectionStart = ((Spanned) mTextView.getText()).getSpanStart(urlSpan);
             selectionEnd = ((Spanned) mTextView.getText()).getSpanEnd(urlSpan);
         } else {
+            // FIXME - We should check if there's a LocaleSpan in the text, this may be
+            // something we should try handling or checking for.
             final WordIterator wordIterator = getWordIterator();
             wordIterator.setCharSequence(mTextView.getText(), minOffset, maxOffset);
 
@@ -755,6 +820,7 @@
     void onLocaleChanged() {
         // Will be re-created on demand in getWordIterator with the proper new locale
         mWordIterator = null;
+        mWordIteratorWithText = null;
     }
 
     /**
@@ -767,6 +833,23 @@
         return mWordIterator;
     }
 
+    private WordIterator getWordIteratorWithText() {
+        if (mWordIteratorWithText == null) {
+            mWordIteratorWithText = new WordIterator(mTextView.getTextServicesLocale());
+            mUpdateWordIteratorText = true;
+        }
+        if (mUpdateWordIteratorText) {
+            // FIXME - Shouldn't copy all of the text as only the area of the text relevant
+            // to the user's selection is needed. A possible solution would be to
+            // copy some number N of characters near the selection and then when the
+            // user approaches N then we'd do another copy of the next N characters.
+            CharSequence text = mTextView.getText();
+            mWordIteratorWithText.setCharSequence(text, 0, text.length());
+            mUpdateWordIteratorText = false;
+        }
+        return mWordIteratorWithText;
+    }
+
     private long getCharRange(int offset) {
         final int textLength = mTextView.getText().length();
         if (offset + 1 < textLength) {
@@ -915,9 +998,8 @@
                 mTextView.startDrag(data, getTextThumbnailBuilder(selectedText), localState, 0);
                 stopSelectionActionMode();
             } else {
-                getSelectionController().hide();
-                selectCurrentWord();
-                getSelectionController().show();
+                stopSelectionActionMode();
+                startSelectionActionMode();
             }
             handled = true;
         }
@@ -1053,6 +1135,9 @@
     void sendOnTextChanged(int start, int after) {
         updateSpellCheckSpans(start, start + after, false);
 
+        // Flip flag to indicate the word iterator needs to have the text reset.
+        mUpdateWordIteratorText = true;
+
         // Hide the controllers as soon as text is modified (typing, procedural...)
         // We do not hide the span controllers, since they can be added when a new text is
         // inserted into the text view (voice IME).
@@ -1138,6 +1223,7 @@
                     ims.mChangedEnd = EXTRACT_UNKNOWN;
                     ims.mContentChanged = false;
                 }
+                mUndoInputFilter.beginBatchEdit();
                 mTextView.onBeginBatchEdit();
             }
         }
@@ -1164,6 +1250,7 @@
 
     void finishBatchEdit(final InputMethodState ims) {
         mTextView.onEndBatchEdit();
+        mUndoInputFilter.endBatchEdit();
 
         if (ims.mContentChanged || ims.mSelectionModeChanged) {
             mTextView.updateAfterEdit();
@@ -1608,6 +1695,9 @@
             }
         }
 
+        if (selectionStarted) {
+            getSelectionController().enterDrag();
+        }
         return selectionStarted;
     }
 
@@ -2879,6 +2969,12 @@
                                 MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
             }
 
+            if (mTextView.isSuggestionsEnabled() && isCursorInsideSuggestionSpan()) {
+                menu.add(0, TextView.ID_REPLACE, 0, com.android.internal.R.string.replace).
+                        setShowAsAction(
+                                MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
+            }
+
             styledAttributes.recycle();
 
             if (mCustomSelectionActionModeCallback != null) {
@@ -2889,7 +2985,6 @@
             }
 
             if (menu.hasVisibleItems() || mode.getCustomView() != null) {
-                getSelectionController().show();
                 mTextView.setHasTransientState(true);
                 return true;
             } else {
@@ -2911,6 +3006,10 @@
                  mCustomSelectionActionModeCallback.onActionItemClicked(mode, item)) {
                 return true;
             }
+            if (item.getItemId() == TextView.ID_REPLACE) {
+                onReplace();
+                return true;
+            }
             return mTextView.onTextContextMenuItem(item.getItemId());
         }
 
@@ -2939,6 +3038,13 @@
         }
     }
 
+    private void onReplace() {
+        int middle = (mTextView.getSelectionStart() + mTextView.getSelectionEnd()) / 2;
+        stopSelectionActionMode();
+        Selection.setSelection((Spannable) mTextView.getText(), middle);
+        showSuggestions();
+    }
+
     private class ActionPopupWindow extends PinnedPopupWindow implements OnClickListener {
         private static final int POPUP_TEXT_LAYOUT =
                 com.android.internal.R.layout.text_edit_action_popup_text;
@@ -2997,10 +3103,7 @@
                 mTextView.onTextContextMenuItem(TextView.ID_PASTE);
                 hide();
             } else if (view == mReplaceTextView) {
-                int middle = (mTextView.getSelectionStart() + mTextView.getSelectionEnd()) / 2;
-                stopSelectionActionMode();
-                Selection.setSelection((Spannable) mTextView.getText(), middle);
-                showSuggestions();
+                onReplace();
             }
         }
 
@@ -3227,6 +3330,8 @@
         private Runnable mActionPopupShower;
         // Minimum touch target size for handles
         private int mMinSize;
+        // Indicates the line of text that the handle is on.
+        protected int mLine = -1;
 
         public HandleView(Drawable drawableLtr, Drawable drawableRtl) {
             super(mTextView.getContext());
@@ -3235,6 +3340,8 @@
             mContainer.setSplitTouchEnabled(true);
             mContainer.setClippingEnabled(false);
             mContainer.setWindowLayoutType(WindowManager.LayoutParams.TYPE_APPLICATION_SUB_PANEL);
+            mContainer.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
+            mContainer.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
             mContainer.setContentView(this);
 
             mDrawableLtr = drawableLtr;
@@ -3402,6 +3509,7 @@
                     addPositionToTouchUpFilter(offset);
                 }
                 final int line = layout.getLineForOffset(offset);
+                mLine = line;
 
                 mPositionX = (int) (layout.getPrimaryHorizontal(offset) - 0.5f - mHotspotX -
                         getHorizontalOffset() + getCursorOffset());
@@ -3451,6 +3559,30 @@
             }
         }
 
+        public void showAtLocation(int offset) {
+            // TODO - investigate if there's a better way to show the handles
+            // after the drag accelerator has occured.
+            int[] tmpCords = new int[2];
+            mTextView.getLocationInWindow(tmpCords);
+
+            Layout layout = mTextView.getLayout();
+            int posX = tmpCords[0];
+            int posY = tmpCords[1];
+
+            final int line = layout.getLineForOffset(offset);
+
+            int startX = (int) (layout.getPrimaryHorizontal(offset) - 0.5f
+                    - mHotspotX - getHorizontalOffset() + getCursorOffset());
+            int startY = layout.getLineBottom(line);
+
+            // Take TextView's padding and scroll into account.
+            startX += mTextView.viewportToContentHorizontalOffset();
+            startY += mTextView.viewportToContentVerticalOffset();
+
+            mContainer.showAtLocation(mTextView, Gravity.NO_GRAVITY,
+                    startX + posX, startY + posY);
+        }
+
         @Override
         protected void onDraw(Canvas c) {
             final int drawWidth = mDrawable.getIntrinsicWidth();
@@ -3689,6 +3821,12 @@
     }
 
     private class SelectionStartHandleView extends HandleView {
+        // The previous offset this handle was at.
+        private int mPrevOffset;
+        // Indicates whether the cursor is making adjustments within a word.
+        private boolean mInWord = false;
+        // Offset to track difference between touch and word boundary.
+        protected int mTouchWordOffset;
 
         public SelectionStartHandleView(Drawable drawableLtr, Drawable drawableRtl) {
             super(drawableLtr, drawableRtl);
@@ -3696,11 +3834,7 @@
 
         @Override
         protected int getHotspotX(Drawable drawable, boolean isRtlRun) {
-            if (isRtlRun) {
-                return drawable.getIntrinsicWidth() / 4;
-            } else {
-                return (drawable.getIntrinsicWidth() * 3) / 4;
-            }
+            return isRtlRun ? 0 : drawable.getIntrinsicWidth();
         }
 
         @Override
@@ -3722,21 +3856,81 @@
 
         @Override
         public void updatePosition(float x, float y) {
-            int offset = mTextView.getOffsetForPosition(x, y);
+            final int trueOffset = mTextView.getOffsetForPosition(x, y);
+            final int currLine = mTextView.getLineAtCoordinate(y);
+            int offset = trueOffset;
+            boolean positionCursor = false;
 
-            // Handles can not cross and selection is at least one character
-            final int selectionEnd = mTextView.getSelectionEnd();
-            if (offset >= selectionEnd) offset = Math.max(0, selectionEnd - 1);
+            int end = getWordEnd(offset, true);
+            int start = getWordStart(offset);
 
-            positionAtCursorOffset(offset, false);
+            if (offset < mPrevOffset) {
+                // User is increasing the selection.
+                if (!mInWord || currLine < mLine) {
+                    // We're not in a word, or we're on a different line so we'll expand by
+                    // word. First ensure the user has at least entered the next word.
+                    int offsetToWord = Math.min((end - start) / 2, 2);
+                    if (offset <= end - offsetToWord || currLine < mLine) {
+                        offset = start;
+                    } else {
+                        offset = mPrevOffset;
+                    }
+                }
+                mPrevOffset = offset;
+                mTouchWordOffset = Math.max(trueOffset - offset, 0);
+                mInWord = !isStartBoundary(offset);
+                positionCursor = true;
+            } else if (offset - mTouchWordOffset > mPrevOffset) {
+                // User is shrinking the selection.
+                if (currLine > mLine) {
+                    // We're on a different line, so we'll snap to word boundaries.
+                    offset = end;
+                }
+                offset -= mTouchWordOffset;
+                mPrevOffset = offset;
+                mInWord = !isEndBoundary(offset);
+                positionCursor = true;
+            }
+
+            // Handles can not cross and selection is at least one character.
+            if (positionCursor) {
+                final int selectionEnd = mTextView.getSelectionEnd();
+                if (offset >= selectionEnd) {
+                    // We can't cross the handles so let's just constrain the Y value.
+                    int alteredOffset = mTextView.getOffsetAtCoordinate(mLine, x);
+                    if (alteredOffset >= selectionEnd) {
+                        // Can't pass the other drag handle.
+                        offset = Math.max(0, selectionEnd - 1);
+                    } else {
+                        offset = alteredOffset;
+                    }
+                }
+                positionAtCursorOffset(offset, false);
+            }
         }
 
         public ActionPopupWindow getActionPopupWindow() {
             return mActionPopupWindow;
         }
+
+        @Override
+        public boolean onTouchEvent(MotionEvent event) {
+            boolean superResult = super.onTouchEvent(event);
+            if (event.getActionMasked() == MotionEvent.ACTION_UP) {
+                // Reset the touch word offset when the user has lifted their finger.
+                mTouchWordOffset = 0;
+            }
+            return superResult;
+        }
     }
 
     private class SelectionEndHandleView extends HandleView {
+        // The previous offset this handle was at.
+        private int mPrevOffset;
+        // Indicates whether the cursor is making adjustments within a word.
+        private boolean mInWord = false;
+        // Offset to track difference between touch and word boundary.
+        protected int mTouchWordOffset;
 
         public SelectionEndHandleView(Drawable drawableLtr, Drawable drawableRtl) {
             super(drawableLtr, drawableRtl);
@@ -3744,11 +3938,7 @@
 
         @Override
         protected int getHotspotX(Drawable drawable, boolean isRtlRun) {
-            if (isRtlRun) {
-                return (drawable.getIntrinsicWidth() * 3) / 4;
-            } else {
-                return drawable.getIntrinsicWidth() / 4;
-            }
+            return isRtlRun ? drawable.getIntrinsicWidth() : 0;
         }
 
         @Override
@@ -3770,20 +3960,72 @@
 
         @Override
         public void updatePosition(float x, float y) {
-            int offset = mTextView.getOffsetForPosition(x, y);
+            final int trueOffset = mTextView.getOffsetForPosition(x, y);
+            final int currLine = mTextView.getLineAtCoordinate(y);
+            int offset = trueOffset;
+            boolean positionCursor = false;
 
-            // Handles can not cross and selection is at least one character
-            final int selectionStart = mTextView.getSelectionStart();
-            if (offset <= selectionStart) {
-                offset = Math.min(selectionStart + 1, mTextView.getText().length());
+            int end = getWordEnd(offset, true);
+            int start = getWordStart(offset);
+
+            if (offset > mPrevOffset) {
+                // User is increasing the selection.
+                if (!mInWord || currLine > mLine) {
+                    // We're not in a word, or we're on a different line so we'll expand by
+                    // word. First ensure the user has at least entered the next word.
+                    int midPoint = Math.min((end - start) / 2, 2);
+                    if (offset >= start + midPoint || currLine > mLine) {
+                        offset = end;
+                    } else {
+                        offset = mPrevOffset;
+                    }
+                }
+                mPrevOffset = offset;
+                mTouchWordOffset = Math.max(offset - trueOffset, 0);
+                mInWord = !isEndBoundary(offset);
+                positionCursor = true;
+            } else if (offset + mTouchWordOffset < mPrevOffset) {
+                // User is shrinking the selection.
+                if (currLine > mLine) {
+                    // We're on a different line, so we'll snap to word boundaries.
+                    offset = getWordStart(offset);
+                }
+                offset += mTouchWordOffset;
+                mPrevOffset = offset;
+                positionCursor = true;
+                mInWord = !isStartBoundary(offset);
             }
 
-            positionAtCursorOffset(offset, false);
+            if (positionCursor) {
+                final int selectionStart = mTextView.getSelectionStart();
+                if (offset <= selectionStart) {
+                    // We can't cross the handles so let's just constrain the Y value.
+                    int alteredOffset = mTextView.getOffsetAtCoordinate(mLine, x);
+                    int length = mTextView.getText().length();
+                    if (alteredOffset <= selectionStart) {
+                        // Can't pass the other drag handle.
+                        offset = Math.min(selectionStart + 1, length);
+                    } else {
+                        offset = Math.min(alteredOffset, length);
+                    }
+                }
+                positionAtCursorOffset(offset, false);
+            }
         }
 
         public void setActionPopupWindow(ActionPopupWindow actionPopupWindow) {
             mActionPopupWindow = actionPopupWindow;
         }
+
+        @Override
+        public boolean onTouchEvent(MotionEvent event) {
+            boolean superResult = super.onTouchEvent(event);
+            if (event.getActionMasked() == MotionEvent.ACTION_UP) {
+                // Reset the touch word offset when the user has lifted their finger.
+                mTouchWordOffset = 0;
+            }
+            return superResult;
+        }
     }
 
     /**
@@ -3866,6 +4108,11 @@
         private float mDownPositionX, mDownPositionY;
         private boolean mGestureStayedInTapRegion;
 
+        // Where the user first starts the drag motion.
+        private int mStartOffset = -1;
+        // Indicates whether the user is selecting text and using the drag accelerator.
+        private boolean mDragAcceleratorActive;
+
         SelectionModifierCursorController() {
             resetTouchOffsets();
         }
@@ -3915,6 +4162,22 @@
             if (mEndHandle != null) mEndHandle.hide();
         }
 
+        public void enterDrag() {
+            // Just need to init the handles / hide insertion cursor.
+            show();
+            mDragAcceleratorActive = true;
+            // Start location of selection.
+            mStartOffset = mTextView.getOffsetForPosition(mLastDownPositionX,
+                    mLastDownPositionY);
+            // Don't show the handles until user has lifted finger.
+            hide();
+
+            // This stops scrolling parents from intercepting the touch event, allowing
+            // the user to continue dragging across the screen to select text; TextView will
+            // scroll as necessary.
+            mTextView.getParent().requestDisallowInterceptTouchEvent(true);
+        }
+
         public void onTouchEvent(MotionEvent event) {
             // This is done even when the View does not have focus, so that long presses can start
             // selection and tap can move cursor from this tap position.
@@ -3923,7 +4186,7 @@
                     final float x = event.getX();
                     final float y = event.getY();
 
-                    // Remember finger down position, to be able to start selection from there
+                    // Remember finger down position, to be able to start selection from there.
                     mMinTouchOffset = mMaxTouchOffset = mTextView.getOffsetForPosition(x, y);
 
                     // Double tap detection
@@ -3962,23 +4225,112 @@
                     break;
 
                 case MotionEvent.ACTION_MOVE:
+                    final ViewConfiguration viewConfiguration = ViewConfiguration.get(
+                            mTextView.getContext());
+
                     if (mGestureStayedInTapRegion) {
                         final float deltaX = event.getX() - mDownPositionX;
                         final float deltaY = event.getY() - mDownPositionY;
                         final float distanceSquared = deltaX * deltaX + deltaY * deltaY;
 
-                        final ViewConfiguration viewConfiguration = ViewConfiguration.get(
-                                mTextView.getContext());
                         int doubleTapTouchSlop = viewConfiguration.getScaledDoubleTapTouchSlop();
 
                         if (distanceSquared > doubleTapTouchSlop * doubleTapTouchSlop) {
                             mGestureStayedInTapRegion = false;
                         }
                     }
+
+                    if (mStartHandle != null && mStartHandle.isShowing()) {
+                        // Don't do the drag if the handles are showing already.
+                        break;
+                    }
+
+                    if (mStartOffset != -1) {
+                        final int rawOffset = mTextView.getOffsetForPosition(event.getX(),
+                                event.getY());
+                        int offset = rawOffset;
+
+                        // We don't start "dragging" until the user is past the initial word that
+                        // gets selected on long press.
+                        int firstWordStart = getWordStart(mStartOffset);
+                        int firstWordEnd = getWordEnd(mStartOffset, false);
+                        if (offset > firstWordEnd || offset < firstWordStart) {
+
+                            // Basically the goal in the below code is to have the highlight be
+                            // offset so that your finger isn't covering the end point.
+                            int fingerOffset = viewConfiguration.getScaledTouchSlop();
+                            float mx = event.getX();
+                            float my = event.getY();
+                            if (mx > fingerOffset) mx -= fingerOffset;
+                            if (my > fingerOffset) my -= fingerOffset;
+                            offset = mTextView.getOffsetForPosition(mx, my);
+
+                            // Perform the check for closeness at edge of view, if we're very close
+                            // don't adjust the offset to be in front of the finger - otherwise the
+                            // user can't select words at the edge.
+                            if (mTextView.getWidth() - fingerOffset > mx) {
+                                // We're going by word, so we need to make sure that the offset
+                                // that we get is within this, so we'll get the previous boundary.
+                                final WordIterator wordIterator = getWordIteratorWithText();
+
+                                final int precedingOffset = wordIterator.preceding(offset);
+                                if (mStartOffset < offset) {
+                                    // Expanding with bottom handle, in this case the selection end
+                                    // is before the finger.
+                                    offset = Math.max(precedingOffset - 1, 0);
+                                } else {
+                                    // Expand with the start handle, in this case the selection
+                                    // start is before the finger.
+                                    if (precedingOffset == WordIterator.DONE) {
+                                        offset = 0;
+                                    } else {
+                                        offset = wordIterator.preceding(precedingOffset);
+                                    }
+                                }
+                            }
+                            if (offset == WordIterator.DONE)
+                                offset = rawOffset;
+
+                            // Need to adjust start offset based on direction of movement.
+                            int newStart = mStartOffset < offset ? getWordStart(mStartOffset)
+                                    : getWordEnd(mStartOffset, true);
+                            Selection.setSelection((Spannable) mTextView.getText(), newStart,
+                                    offset);
+                        }
+                    }
                     break;
 
                 case MotionEvent.ACTION_UP:
                     mPreviousTapUpTime = SystemClock.uptimeMillis();
+                    if (mDragAcceleratorActive) {
+                        // No longer dragging to select text, let the parent intercept events.
+                        mTextView.getParent().requestDisallowInterceptTouchEvent(false);
+
+                        show();
+                        int startOffset = mTextView.getSelectionStart();
+                        int endOffset = mTextView.getSelectionEnd();
+
+                        // Since we don't let drag handles pass once they're visible, we need to
+                        // make sure the start / end locations are correct because the user *can*
+                        // switch directions during the initial drag.
+                        if (endOffset < startOffset) {
+                            int tmp = endOffset;
+                            endOffset = startOffset;
+                            startOffset = tmp;
+
+                            // Also update the selection with the right offsets in this case.
+                            Selection.setSelection((Spannable) mTextView.getText(),
+                                    startOffset, endOffset);
+                        }
+
+                        // Need to do this to display the handles.
+                        mStartHandle.showAtLocation(startOffset);
+                        mEndHandle.showAtLocation(endOffset);
+
+                        // No longer the first dragging motion, reset.
+                        mDragAcceleratorActive = false;
+                        mStartOffset = -1;
+                    }
                     break;
             }
         }
@@ -4005,6 +4357,8 @@
 
         public void resetTouchOffsets() {
             mMinTouchOffset = mMaxTouchOffset = -1;
+            mStartOffset = -1;
+            mDragAcceleratorActive = false;
         }
 
         /**
@@ -4014,6 +4368,13 @@
             return mStartHandle != null && mStartHandle.isDragging();
         }
 
+        /**
+         * @return true if the user is selecting text using the drag accelerator.
+         */
+        public boolean isDragAcceleratorActive() {
+            return mDragAcceleratorActive;
+        }
+
         public void onTouchModeChanged(boolean isInTouchMode) {
             if (!isInTouchMode) {
                 hide();
@@ -4212,10 +4573,30 @@
     public static class UndoInputFilter implements InputFilter {
         private final Editor mEditor;
 
+        // Whether the current filter pass is directly caused by an end-user text edit.
+        private boolean mIsUserEdit;
+
+        // Whether this is the first pass through the filter for a given end-user text edit.
+        private boolean mFirstFilterPass;
+
         public UndoInputFilter(Editor editor) {
             mEditor = editor;
         }
 
+        /**
+         * Signals that a user-triggered edit is starting.
+         */
+        public void beginBatchEdit() {
+            if (DEBUG_UNDO) Log.d(TAG, "beginBatchEdit");
+            mIsUserEdit = true;
+            mFirstFilterPass = true;
+        }
+
+        public void endBatchEdit() {
+            if (DEBUG_UNDO) Log.d(TAG, "endBatchEdit");
+            mIsUserEdit = false;
+        }
+
         @Override
         public CharSequence filter(CharSequence source, int start, int end,
                 Spanned dest, int dstart, int dend) {
@@ -4223,31 +4604,25 @@
                 Log.d(TAG, "filter: source=" + source + " (" + start + "-" + end + ") " +
                         "dest=" + dest + " (" + dstart + "-" + dend + ")");
             }
-            final UndoManager um = mEditor.mUndoManager;
-            if (um.isInUndo()) {
-                if (DEBUG_UNDO) Log.d(TAG, "filter: skipping, currently performing undo/redo");
+
+            // Check to see if this edit should be tracked for undo.
+            if (!canUndoEdit(source, start, end, dest, dstart, dend)) {
                 return null;
             }
 
-            // Text filters run before input operations are applied. However, some input operations
-            // are invalid and will throw exceptions when applied. This is common in tests. Don't
-            // attempt to undo invalid operations.
-            if (!isValidRange(source, start, end) || !isValidRange(dest, dstart, dend)) {
-                if (DEBUG_UNDO) Log.d(TAG, "filter: invalid op");
-                return null;
-            }
-
-            // Earlier filters can rewrite input to be a no-op, for example due to a length limit
-            // on an input field. Skip no-op changes.
-            if (start == end && dstart == dend) {
-                if (DEBUG_UNDO) Log.d(TAG, "filter: skipping no-op");
-                return null;
-            }
+            // An application may install a TextWatcher to provide additional modifications after
+            // the initial input filters run (e.g. a credit card formatter that adds spaces to a
+            // string). This results in multiple filter() calls for what the user considers to be
+            // a single operation. Always undo the whole set of changes in one step.
+            final boolean forceMerge = !mFirstFilterPass;
+            mFirstFilterPass = false;
 
             // Build a new operation with all the information from this edit.
-            EditOperation edit = new EditOperation(mEditor, source, start, end, dest, dstart, dend);
+            EditOperation edit = new EditOperation(mEditor, forceMerge,
+                    source, start, end, dest, dstart, dend);
 
             // Fetch the last edit operation and attempt to merge in the new edit.
+            final UndoManager um = mEditor.mUndoManager;
             um.beginUpdate("Edit text");
             EditOperation lastEdit = um.getLastOperation(
                   EditOperation.class, mEditor.mUndoOwner, UndoManager.MERGE_MODE_UNIQUE);
@@ -4255,6 +4630,12 @@
                 // Add this as the first edit.
                 if (DEBUG_UNDO) Log.d(TAG, "filter: adding first op " + edit);
                 um.addOperation(edit, UndoManager.MERGE_MODE_NONE);
+            } else if (!mIsUserEdit) {
+                // An application directly modified the Editable outside of a text edit. Treat this
+                // as a new change and don't attempt to merge.
+                if (DEBUG_UNDO) Log.d(TAG, "non-user edit, new op " + edit);
+                um.commitState(mEditor.mUndoOwner);
+                um.addOperation(edit, UndoManager.MERGE_MODE_NONE);
             } else if (lastEdit.mergeWith(edit)) {
                 // Merge succeeded, nothing else to do.
                 if (DEBUG_UNDO) Log.d(TAG, "filter: merge succeeded, created " + lastEdit);
@@ -4267,6 +4648,36 @@
             um.endUpdate();
             return null;  // Text not changed.
         }
+
+        private boolean canUndoEdit(CharSequence source, int start, int end,
+                Spanned dest, int dstart, int dend) {
+            if (!mEditor.mAllowUndo) {
+                if (DEBUG_UNDO) Log.d(TAG, "filter: undo is disabled");
+                return false;
+            }
+
+            if (mEditor.mUndoManager.isInUndo()) {
+                if (DEBUG_UNDO) Log.d(TAG, "filter: skipping, currently performing undo/redo");
+                return false;
+            }
+
+            // Text filters run before input operations are applied. However, some input operations
+            // are invalid and will throw exceptions when applied. This is common in tests. Don't
+            // attempt to undo invalid operations.
+            if (!isValidRange(source, start, end) || !isValidRange(dest, dstart, dend)) {
+                if (DEBUG_UNDO) Log.d(TAG, "filter: invalid op");
+                return false;
+            }
+
+            // Earlier filters can rewrite input to be a no-op, for example due to a length limit
+            // on an input field. Skip no-op changes.
+            if (start == end && dstart == dend) {
+                if (DEBUG_UNDO) Log.d(TAG, "filter: skipping no-op");
+                return false;
+            }
+
+            return true;
+        }
     }
 
     /**
@@ -4278,6 +4689,7 @@
         private static final int TYPE_REPLACE = 2;
 
         private int mType;
+        private boolean mForceMerge;
         private String mOldText;
         private int mOldTextStart;
         private String mNewText;
@@ -4289,10 +4701,12 @@
         /**
          * Constructs an edit operation from a text input operation that replaces the range
          * (dstart, dend) of dest with (start, end) of source. See {@link InputFilter#filter}.
+         * If forceMerge is true then always forcibly merge this operation with any previous one.
          */
-        public EditOperation(Editor editor, CharSequence source, int start, int end,
-                Spanned dest, int dstart, int dend) {
+        public EditOperation(Editor editor, boolean forceMerge,
+                CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
             super(editor.mUndoOwner);
+            mForceMerge = forceMerge;
 
             mOldText = dest.subSequence(dstart, dend).toString();
             mNewText = source.subSequence(start, end).toString();
@@ -4320,6 +4734,7 @@
         public EditOperation(Parcel src, ClassLoader loader) {
             super(src, loader);
             mType = src.readInt();
+            mForceMerge = src.readInt() != 0;
             mOldText = src.readString();
             mOldTextStart = src.readInt();
             mNewText = src.readString();
@@ -4331,6 +4746,7 @@
         @Override
         public void writeToParcel(Parcel dest, int flags) {
             dest.writeInt(mType);
+            dest.writeInt(mForceMerge ? 1 : 0);
             dest.writeString(mOldText);
             dest.writeInt(mOldTextStart);
             dest.writeString(mNewText);
@@ -4339,6 +4755,14 @@
             dest.writeInt(mNewCursorPos);
         }
 
+        private int getNewTextEnd() {
+            return mNewTextStart + mNewText.length();
+        }
+
+        private int getOldTextEnd() {
+            return mOldTextStart + mOldText.length();
+        }
+
         @Override
         public void commit() {
         }
@@ -4347,14 +4771,20 @@
         public void undo() {
             if (DEBUG_UNDO) Log.d(TAG, "undo");
             // Remove the new text and insert the old.
-            modifyText(mNewTextStart, getNewTextEnd(), mOldText, mOldTextStart, mOldCursorPos);
+            Editor editor = getOwnerData();
+            Editable text = (Editable) editor.mTextView.getText();
+            modifyText(text, mNewTextStart, getNewTextEnd(), mOldText, mOldTextStart,
+                    mOldCursorPos);
         }
 
         @Override
         public void redo() {
             if (DEBUG_UNDO) Log.d(TAG, "redo");
             // Remove the old text and insert the new.
-            modifyText(mOldTextStart, getOldTextEnd(), mNewText, mNewTextStart, mNewCursorPos);
+            Editor editor = getOwnerData();
+            Editable text = (Editable) editor.mTextView.getText();
+            modifyText(text, mOldTextStart, getOldTextEnd(), mNewText, mNewTextStart,
+                    mNewCursorPos);
         }
 
         /**
@@ -4364,6 +4794,14 @@
          * object unchanged.
          */
         private boolean mergeWith(EditOperation edit) {
+            if (DEBUG_UNDO) {
+                Log.d(TAG, "mergeWith old " + this);
+                Log.d(TAG, "mergeWith new " + edit);
+            }
+            if (edit.mForceMerge) {
+                forceMergeWith(edit);
+                return true;
+            }
             switch (mType) {
                 case TYPE_INSERT:
                     return mergeInsertWith(edit);
@@ -4377,7 +4815,6 @@
         }
 
         private boolean mergeInsertWith(EditOperation edit) {
-            if (DEBUG_UNDO) Log.d(TAG, "mergeInsertWith " + edit);
             // Only merge continuous insertions.
             if (edit.mType != TYPE_INSERT) {
                 return false;
@@ -4393,7 +4830,6 @@
 
         // TODO: Support forward delete.
         private boolean mergeDeleteWith(EditOperation edit) {
-            if (DEBUG_UNDO) Log.d(TAG, "mergeDeleteWith " + edit);
             // Only merge continuous deletes.
             if (edit.mType != TYPE_DELETE) {
                 return false;
@@ -4409,11 +4845,8 @@
         }
 
         private boolean mergeReplaceWith(EditOperation edit) {
-            if (DEBUG_UNDO) Log.d(TAG, "mergeReplaceWith " + edit);
-            // Replacements can merge only with adjacent inserts and adjacent replacements.
-            if (edit.mType == TYPE_DELETE ||
-                    getNewTextEnd() != edit.mOldTextStart ||
-                    edit.mOldTextStart != edit.mNewTextStart) {
+            // Replacements can merge only with adjacent inserts.
+            if (edit.mType != TYPE_INSERT || getNewTextEnd() != edit.mNewTextStart) {
                 return false;
             }
             mOldText += edit.mOldText;
@@ -4422,18 +4855,42 @@
             return true;
         }
 
-        private int getNewTextEnd() {
-            return mNewTextStart + mNewText.length();
-        }
-
-        private int getOldTextEnd() {
-            return mOldTextStart + mOldText.length();
-        }
-
-        private void modifyText(int deleteFrom, int deleteTo, CharSequence newText,
-                int newTextInsertAt, int newCursorPos) {
+        /**
+         * Forcibly creates a single merged edit operation by simulating the entire text
+         * contents being replaced.
+         */
+        private void forceMergeWith(EditOperation edit) {
+            if (DEBUG_UNDO) Log.d(TAG, "forceMerge");
             Editor editor = getOwnerData();
-            Editable text = (Editable) editor.mTextView.getText();
+
+            // Copy the text of the current field.
+            // NOTE: Using StringBuilder instead of SpannableStringBuilder would be somewhat faster,
+            // but would require two parallel implementations of modifyText() because Editable and
+            // StringBuilder do not share an interface for replace/delete/insert.
+            Editable editable = (Editable) editor.mTextView.getText();
+            Editable originalText = new SpannableStringBuilder(editable.toString());
+
+            // Roll back the last operation.
+            modifyText(originalText, mNewTextStart, getNewTextEnd(), mOldText, mOldTextStart,
+                    mOldCursorPos);
+
+            // Clone the text again and apply the new operation.
+            Editable finalText = new SpannableStringBuilder(editable.toString());
+            modifyText(finalText, edit.mOldTextStart, edit.getOldTextEnd(), edit.mNewText,
+                    edit.mNewTextStart, edit.mNewCursorPos);
+
+            // Convert this operation into a non-mergeable replacement of the entire string.
+            mType = TYPE_REPLACE;
+            mNewText = finalText.toString();
+            mNewTextStart = 0;
+            mOldText = originalText.toString();
+            mOldTextStart = 0;
+            mNewCursorPos = edit.mNewCursorPos;
+            // mOldCursorPos is unchanged.
+        }
+
+        private static void modifyText(Editable text, int deleteFrom, int deleteTo,
+                CharSequence newText, int newTextInsertAt, int newCursorPos) {
             // Apply the edit if it is still valid.
             if (isValidRange(text, deleteFrom, deleteTo) &&
                     newTextInsertAt <= text.length() - (deleteTo - deleteFrom)) {
@@ -4444,17 +4901,30 @@
                     text.insert(newTextInsertAt, newText);
                 }
             }
-            // Restore the cursor position.
+            // Restore the cursor position. If there wasn't an old cursor (newCursorPos == -1) then
+            // don't explicitly set it and rely on SpannableStringBuilder to position it.
             // TODO: Select all the text that was undone.
-            if (newCursorPos <= text.length()) {
+            if (0 <= newCursorPos && newCursorPos <= text.length()) {
                 Selection.setSelection(text, newCursorPos);
             }
         }
 
+        private String getTypeString() {
+            switch (mType) {
+                case TYPE_INSERT:
+                    return "insert";
+                case TYPE_DELETE:
+                    return "delete";
+                case TYPE_REPLACE:
+                    return "replace";
+                default:
+                    return "";
+            }
+        }
+
         @Override
         public String toString() {
-            return "EditOperation: [" +
-                    "mType=" + mType + ", " +
+            return "[mType=" + getTypeString() + ", " +
                     "mOldText=" + mOldText + ", " +
                     "mOldTextStart=" + mOldTextStart + ", " +
                     "mNewText=" + mNewText + ", " +
diff --git a/core/java/android/widget/ExpandableListView.java b/core/java/android/widget/ExpandableListView.java
index 323ddb6..fac36c5 100644
--- a/core/java/android/widget/ExpandableListView.java
+++ b/core/java/android/widget/ExpandableListView.java
@@ -30,8 +30,6 @@
 import android.view.SoundEffectConstants;
 import android.view.View;
 import android.view.ContextMenu.ContextMenuInfo;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.ExpandableListConnector.PositionMetadata;
 
 import java.util.ArrayList;
diff --git a/core/java/android/widget/FrameLayout.java b/core/java/android/widget/FrameLayout.java
index 57bbc42..f6d198b 100644
--- a/core/java/android/widget/FrameLayout.java
+++ b/core/java/android/widget/FrameLayout.java
@@ -30,12 +30,9 @@
 import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
 import android.view.Gravity;
-import android.view.RemotableViewMethod;
 import android.view.View;
 import android.view.ViewDebug;
 import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.RemoteViews.RemoteView;
 
 import com.android.internal.R;
@@ -104,15 +101,16 @@
         super(context);
     }
     
-    public FrameLayout(Context context, AttributeSet attrs) {
+    public FrameLayout(Context context, @Nullable AttributeSet attrs) {
         this(context, attrs, 0);
     }
 
-    public FrameLayout(Context context, AttributeSet attrs, int defStyleAttr) {
+    public FrameLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
         this(context, attrs, defStyleAttr, 0);
     }
 
-    public FrameLayout(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+    public FrameLayout(
+            Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
         super(context, attrs, defStyleAttr, defStyleRes);
 
         final TypedArray a = context.obtainStyledAttributes(
diff --git a/core/java/android/widget/Gallery.java b/core/java/android/widget/Gallery.java
index ac19e6d..af5a8bf 100644
--- a/core/java/android/widget/Gallery.java
+++ b/core/java/android/widget/Gallery.java
@@ -33,7 +33,6 @@
 import android.view.View;
 import android.view.ViewConfiguration;
 import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.animation.Transformation;
 
diff --git a/core/java/android/widget/GridLayout.java b/core/java/android/widget/GridLayout.java
index 41ddc98..6cc4bda 100644
--- a/core/java/android/widget/GridLayout.java
+++ b/core/java/android/widget/GridLayout.java
@@ -31,8 +31,6 @@
 import android.view.Gravity;
 import android.view.View;
 import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.RemoteViews.RemoteView;
 import com.android.internal.R;
 
@@ -143,7 +141,9 @@
  * view was alone in a column, that column would itself collapse to zero width if and only if
  * no gravity was defined on the view. If gravity was defined, then the gone-marked
  * view has no effect on the layout and the container should be laid out as if the view
- * had never been added to it.
+ * had never been added to it. GONE views are taken to have zero weight during excess space
+ * distribution.
+ * <p>
  * These statements apply equally to rows as well as columns, and to groups of rows or columns.
  *
  * <p>
@@ -1012,12 +1012,10 @@
             LayoutParams lp = getLayoutParams(c);
             if (firstPass) {
                 measureChildWithMargins2(c, widthSpec, heightSpec, lp.width, lp.height);
-                mHorizontalAxis.recordOriginalMeasurement(i);
-                mVerticalAxis.recordOriginalMeasurement(i);
             } else {
                 boolean horizontal = (mOrientation == HORIZONTAL);
                 Spec spec = horizontal ? lp.columnSpec : lp.rowSpec;
-                if (spec.alignment == FILL) {
+                if (spec.getAbsoluteAlignment(horizontal) == FILL) {
                     Interval span = spec.span;
                     Axis axis = horizontal ? mHorizontalAxis : mVerticalAxis;
                     int[] locations = axis.getLocations();
@@ -1093,11 +1091,6 @@
         invalidateValues();
     }
 
-    final Alignment getAlignment(Alignment alignment, boolean horizontal) {
-        return (alignment != UNDEFINED_ALIGNMENT) ? alignment :
-                (horizontal ? START : BASELINE);
-    }
-
     // Layout container
 
     /**
@@ -1152,8 +1145,8 @@
             int pWidth = getMeasurement(c, true);
             int pHeight = getMeasurement(c, false);
 
-            Alignment hAlign = getAlignment(columnSpec.alignment, true);
-            Alignment vAlign = getAlignment(rowSpec.alignment, false);
+            Alignment hAlign = columnSpec.getAbsoluteAlignment(true);
+            Alignment vAlign = rowSpec.getAbsoluteAlignment(false);
 
             Bounds boundsX = mHorizontalAxis.getGroupBounds().getValue(i);
             Bounds boundsY = mVerticalAxis.getGroupBounds().getValue(i);
@@ -1236,7 +1229,6 @@
 
         public boolean hasWeights;
         public boolean hasWeightsValid = false;
-        public int[] originalMeasurements;
         public int[] deltas;
 
         boolean orderPreserved = DEFAULT_ORDER_PRESERVED;
@@ -1299,7 +1291,7 @@
                 // we must include views that are GONE here, see introductory javadoc
                 LayoutParams lp = getLayoutParams(c);
                 Spec spec = horizontal ? lp.columnSpec : lp.rowSpec;
-                Bounds bounds = getAlignment(spec.alignment, horizontal).getBounds();
+                Bounds bounds = spec.getAbsoluteAlignment(horizontal).getBounds();
                 assoc.put(spec, bounds);
             }
             return assoc.pack();
@@ -1315,9 +1307,8 @@
                 // we must include views that are GONE here, see introductory javadoc
                 LayoutParams lp = getLayoutParams(c);
                 Spec spec = horizontal ? lp.columnSpec : lp.rowSpec;
-                int size = (spec.weight == 0) ?
-                        getMeasurementIncludingMargin(c, horizontal) :
-                        getOriginalMeasurements()[i] + getDeltas()[i];
+                int size = getMeasurementIncludingMargin(c, horizontal) +
+                        ((spec.weight == 0) ? 0 : getDeltas()[i]);
                 groupBounds.getValue(i).include(GridLayout.this, c, spec, this, size);
             }
         }
@@ -1705,7 +1696,11 @@
 
         private boolean computeHasWeights() {
             for (int i = 0, N = getChildCount(); i < N; i++) {
-                LayoutParams lp = getLayoutParams(getChildAt(i));
+                final View child = getChildAt(i);
+                if (child.getVisibility() == View.GONE) {
+                    continue;
+                }
+                LayoutParams lp = getLayoutParams(child);
                 Spec spec = horizontal ? lp.columnSpec : lp.rowSpec;
                 if (spec.weight != 0) {
                     return true;
@@ -1722,19 +1717,6 @@
             return hasWeights;
         }
 
-        public int[] getOriginalMeasurements() {
-            if (originalMeasurements == null) {
-                originalMeasurements = new int[getChildCount()];
-            }
-            return originalMeasurements;
-        }
-
-        private void recordOriginalMeasurement(int i) {
-            if (hasWeights()) {
-                getOriginalMeasurements()[i] = getMeasurementIncludingMargin(getChildAt(i), horizontal);
-            }
-        }
-
         public int[] getDeltas() {
             if (deltas == null) {
                 deltas = new int[getChildCount()];
@@ -1745,7 +1727,10 @@
         private void shareOutDelta(int totalDelta, float totalWeight) {
             Arrays.fill(deltas, 0);
             for (int i = 0, N = getChildCount(); i < N; i++) {
-                View c = getChildAt(i);
+                final View c = getChildAt(i);
+                if (c.getVisibility() == View.GONE) {
+                    continue;
+                }
                 LayoutParams lp = getLayoutParams(c);
                 Spec spec = horizontal ? lp.columnSpec : lp.rowSpec;
                 float weight = spec.weight;
@@ -1798,6 +1783,9 @@
             float totalWeight = 0f;
             for (int i = 0, N = getChildCount(); i < N; i++) {
                 View c = getChildAt(i);
+                if (c.getVisibility() == View.GONE) {
+                    continue;
+                }
                 LayoutParams lp = getLayoutParams(c);
                 Spec spec = horizontal ? lp.columnSpec : lp.rowSpec;
                 totalWeight += spec.weight;
@@ -1893,7 +1881,6 @@
 
             locations = null;
 
-            originalMeasurements = null;
             deltas = null;
             hasWeightsValid = false;
 
@@ -2013,7 +2000,6 @@
                 R.styleable.ViewGroup_MarginLayout_layout_marginRight;
         private static final int BOTTOM_MARGIN =
                 R.styleable.ViewGroup_MarginLayout_layout_marginBottom;
-
         private static final int COLUMN = R.styleable.GridLayout_Layout_layout_column;
         private static final int COLUMN_SPAN = R.styleable.GridLayout_Layout_layout_columnSpan;
         private static final int COLUMN_WEIGHT = R.styleable.GridLayout_Layout_layout_columnWeight;
@@ -2407,7 +2393,7 @@
         protected final void include(GridLayout gl, View c, Spec spec, Axis axis, int size) {
             this.flexibility &= spec.getFlexibility();
             boolean horizontal = axis.horizontal;
-            Alignment alignment = gl.getAlignment(spec.alignment, horizontal);
+            Alignment alignment = spec.getAbsoluteAlignment(axis.horizontal);
             // todo test this works correctly when the returned value is UNDEFINED
             int before = alignment.getAlignmentValue(c, size, gl.getLayoutMode());
             include(before, size - before);
@@ -2558,6 +2544,16 @@
             this(startDefined, new Interval(start, start + size), alignment, weight);
         }
 
+        private Alignment getAbsoluteAlignment(boolean horizontal) {
+            if (alignment != UNDEFINED_ALIGNMENT) {
+                return alignment;
+            }
+            if (weight == 0f) {
+                return horizontal ? START : BASELINE;
+            }
+            return FILL;
+        }
+
         final Spec copyWriteSpan(Interval span) {
             return new Spec(startDefined, span, alignment, weight);
         }
diff --git a/core/java/android/widget/GridView.java b/core/java/android/widget/GridView.java
index 8b2217c..c6e3dc8 100644
--- a/core/java/android/widget/GridView.java
+++ b/core/java/android/widget/GridView.java
@@ -31,7 +31,6 @@
 import android.view.ViewDebug;
 import android.view.ViewGroup;
 import android.view.ViewRootImpl;
-import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.accessibility.AccessibilityNodeProvider;
 import android.view.accessibility.AccessibilityNodeInfo.CollectionInfo;
diff --git a/core/java/android/widget/HorizontalScrollView.java b/core/java/android/widget/HorizontalScrollView.java
index b37495f..324c2aa 100644
--- a/core/java/android/widget/HorizontalScrollView.java
+++ b/core/java/android/widget/HorizontalScrollView.java
@@ -20,7 +20,6 @@
 import android.content.res.TypedArray;
 import android.graphics.Canvas;
 import android.graphics.Rect;
-import android.graphics.RectF;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.Parcel;
diff --git a/core/java/android/widget/ImageButton.java b/core/java/android/widget/ImageButton.java
index 22f9c10..332b158 100644
--- a/core/java/android/widget/ImageButton.java
+++ b/core/java/android/widget/ImageButton.java
@@ -18,8 +18,6 @@
 
 import android.content.Context;
 import android.util.AttributeSet;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.RemoteViews.RemoteView;
 
 /**
diff --git a/core/java/android/widget/ImageSwitcher.java b/core/java/android/widget/ImageSwitcher.java
index 81636a7..08f21a2 100644
--- a/core/java/android/widget/ImageSwitcher.java
+++ b/core/java/android/widget/ImageSwitcher.java
@@ -21,8 +21,6 @@
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.util.AttributeSet;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 
 public class ImageSwitcher extends ViewSwitcher
 {
diff --git a/core/java/android/widget/ImageView.java b/core/java/android/widget/ImageView.java
index 9831dca..041796b 100644
--- a/core/java/android/widget/ImageView.java
+++ b/core/java/android/widget/ImageView.java
@@ -44,7 +44,6 @@
 import android.view.View;
 import android.view.ViewDebug;
 import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.RemoteViews.RemoteView;
 
 import com.android.internal.R;
diff --git a/core/java/android/widget/LinearLayout.java b/core/java/android/widget/LinearLayout.java
index c0f63d2..da15302 100644
--- a/core/java/android/widget/LinearLayout.java
+++ b/core/java/android/widget/LinearLayout.java
@@ -19,6 +19,7 @@
 import com.android.internal.R;
 
 import android.annotation.IntDef;
+import android.annotation.Nullable;
 import android.content.Context;
 import android.content.res.TypedArray;
 import android.graphics.Canvas;
@@ -28,8 +29,6 @@
 import android.view.View;
 import android.view.ViewDebug;
 import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.RemoteViews.RemoteView;
 
 import java.lang.annotation.Retention;
@@ -188,11 +187,11 @@
         this(context, null);
     }
 
-    public LinearLayout(Context context, AttributeSet attrs) {
+    public LinearLayout(Context context, @Nullable AttributeSet attrs) {
         this(context, attrs, 0);
     }
     
-    public LinearLayout(Context context, AttributeSet attrs, int defStyleAttr) {
+    public LinearLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
         this(context, attrs, defStyleAttr, 0);
     }
 
diff --git a/core/java/android/widget/ListView.java b/core/java/android/widget/ListView.java
index f9c7faa..ee2c055 100644
--- a/core/java/android/widget/ListView.java
+++ b/core/java/android/widget/ListView.java
@@ -41,7 +41,6 @@
 import android.view.ViewGroup;
 import android.view.ViewParent;
 import android.view.ViewRootImpl;
-import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.accessibility.AccessibilityNodeInfo.CollectionInfo;
 import android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo;
diff --git a/core/java/android/widget/MediaController.java b/core/java/android/widget/MediaController.java
index 0b63843..2375089 100644
--- a/core/java/android/widget/MediaController.java
+++ b/core/java/android/widget/MediaController.java
@@ -33,8 +33,6 @@
 import android.view.ViewGroup;
 import android.view.Window;
 import android.view.WindowManager;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.SeekBar.OnSeekBarChangeListener;
 
 import java.util.Formatter;
diff --git a/core/java/android/widget/MultiAutoCompleteTextView.java b/core/java/android/widget/MultiAutoCompleteTextView.java
index c10e581..2152e43 100644
--- a/core/java/android/widget/MultiAutoCompleteTextView.java
+++ b/core/java/android/widget/MultiAutoCompleteTextView.java
@@ -23,8 +23,6 @@
 import android.text.TextUtils;
 import android.text.method.QwertyKeyListener;
 import android.util.AttributeSet;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 
 /**
  * An editable text view, extending {@link AutoCompleteTextView}, that
diff --git a/core/java/android/widget/PopupWindow.java b/core/java/android/widget/PopupWindow.java
index a929f3d..f676254 100644
--- a/core/java/android/widget/PopupWindow.java
+++ b/core/java/android/widget/PopupWindow.java
@@ -29,6 +29,8 @@
 import android.os.IBinder;
 import android.transition.Transition;
 import android.transition.Transition.EpicenterCallback;
+import android.transition.Transition.TransitionListener;
+import android.transition.Transition.TransitionListenerAdapter;
 import android.transition.TransitionInflater;
 import android.transition.TransitionManager;
 import android.transition.TransitionSet;
@@ -39,12 +41,13 @@
 import android.view.View;
 import android.view.View.OnTouchListener;
 import android.view.ViewGroup;
+import android.view.ViewParent;
 import android.view.ViewTreeObserver;
+import android.view.ViewTreeObserver.OnGlobalLayoutListener;
 import android.view.ViewTreeObserver.OnScrollChangedListener;
 import android.view.WindowManager;
 
 import java.lang.ref.WeakReference;
-import java.util.List;
 
 /**
  * <p>A popup window that can be used to display an arbitrary view. The popup
@@ -96,14 +99,12 @@
     private WindowManager mWindowManager;
 
     private boolean mIsShowing;
+    private boolean mIsTransitioningToDismiss;
     private boolean mIsDropdown;
 
     /** View that handles event dispatch and content transitions. */
     private PopupDecorView mDecorView;
 
-    /** View that holds the popup background. May be the content view. */
-    private View mBackgroundView;
-
     /** The contents of the popup. */
     private View mContentView;
 
@@ -160,14 +161,14 @@
     private final EpicenterCallback mEpicenterCallback = new EpicenterCallback() {
         @Override
         public Rect onGetEpicenter(Transition transition) {
-            final View anchor = mAnchor.get();
+            final View anchor = mAnchor != null ? mAnchor.get() : null;
             final View decor = mDecorView;
             if (anchor == null || decor == null) {
                 return null;
             }
 
             final Rect anchorBounds = mAnchorBounds;
-            final int[] anchorLocation = mAnchor.get().getLocationOnScreen();
+            final int[] anchorLocation = anchor.getLocationOnScreen();
             final int[] popupLocation = mDecorView.getLocationOnScreen();
 
             // Compute the position of the anchor relative to the popup.
@@ -1183,23 +1184,30 @@
                     + "calling setContentView() before attempting to show the popup.");
         }
 
-        // When a background is available, we embed the content view within
-        // another view that owns the background drawable.
-        if (mBackground != null) {
-            mBackgroundView = createBackgroundView(mContentView);
-            mBackgroundView.setBackground(mBackground);
-        } else {
-            mBackgroundView = mContentView;
+        // The old decor view may be transitioning out. Make sure it finishes
+        // and cleans up before we try to create another one.
+        if (mDecorView != null) {
+            mDecorView.cancelTransitions();
         }
 
-        mDecorView = createDecorView(mBackgroundView);
+        // When a background is available, we embed the content view within
+        // another view that owns the background drawable.
+        final View backgroundView;
+        if (mBackground != null) {
+            backgroundView = createBackgroundView(mContentView);
+            backgroundView.setBackground(mBackground);
+        } else {
+            backgroundView = mContentView;
+        }
+
+        mDecorView = createDecorView(backgroundView);
 
         // The background owner should be elevated so that it casts a shadow.
-        mBackgroundView.setElevation(mElevation);
+        backgroundView.setElevation(mElevation);
 
         // We may wrap that in another view, so we'll need to manually specify
         // the surface insets.
-        final int surfaceInset = (int) Math.ceil(mBackgroundView.getZ() * 2);
+        final int surfaceInset = (int) Math.ceil(backgroundView.getZ() * 2);
         p.surfaceInsets.set(surfaceInset, surfaceInset, surfaceInset, surfaceInset);
         p.hasManualSurfaceInsets = true;
 
@@ -1268,26 +1276,13 @@
             p.packageName = mContext.getPackageName();
         }
 
-        final View rootView = mContentView.getRootView();
-        rootView.setFitsSystemWindows(mLayoutInsetDecor);
+        final PopupDecorView decorView = mDecorView;
+        decorView.setFitsSystemWindows(mLayoutInsetDecor);
+        decorView.requestEnterTransition(mEnterTransition);
+
         setLayoutDirectionFromAnchor();
 
-        mWindowManager.addView(rootView, p);
-
-        // Postpone enter transition until the scene root has been laid out.
-        if (mEnterTransition != null) {
-            mEnterTransition.addTarget(mBackgroundView);
-            mEnterTransition.addListener(new Transition.TransitionListenerAdapter() {
-                @Override
-                public void onTransitionEnd(Transition transition) {
-                    transition.removeListener(this);
-                    transition.removeTarget(mBackgroundView);
-                }
-            });
-
-            mDecorView.getViewTreeObserver().addOnGlobalLayoutListener(
-                    new PostLayoutTransitionListener(mDecorView, mEnterTransition));
-        }
+        mWindowManager.addView(decorView, p);
     }
 
     private void setLayoutDirectionFromAnchor() {
@@ -1591,35 +1586,38 @@
      * @see #showAsDropDown(android.view.View)
      */
     public void dismiss() {
-        if (!isShowing()) {
+        if (!isShowing() || mIsTransitioningToDismiss) {
             return;
         }
 
+        final PopupDecorView decorView = mDecorView;
+        final View contentView = mContentView;
+
+        final ViewGroup contentHolder;
+        final ViewParent contentParent = contentView.getParent();
+        if (contentParent instanceof ViewGroup) {
+            contentHolder = ((ViewGroup) contentParent);
+        } else {
+            contentHolder = null;
+        }
+
+        // Ensure any ongoing or pending transitions are canceled.
+        decorView.cancelTransitions();
+
         unregisterForScrollChanged();
 
         mIsShowing = false;
+        mIsTransitioningToDismiss = true;
 
-        if (mExitTransition != null) {
-            // Cache the content view, since it may change without notice.
-            final View contentView = mContentView;
-
-            mExitTransition.addTarget(mBackgroundView);
-            mExitTransition.addListener(new Transition.TransitionListenerAdapter() {
+        if (mExitTransition != null && decorView.isLaidOut()) {
+            decorView.startExitTransition(mExitTransition, new TransitionListenerAdapter() {
                 @Override
                 public void onTransitionEnd(Transition transition) {
-                    transition.removeListener(this);
-                    transition.removeTarget(mBackgroundView);
-
-                    dismissImmediate(contentView);
+                    dismissImmediate(decorView, contentHolder, contentView);
                 }
             });
-
-            TransitionManager.beginDelayedTransition(mDecorView, mExitTransition);
-
-            // Transition to invisible.
-            mBackgroundView.setVisibility(View.INVISIBLE);
         } else {
-            dismissImmediate(mContentView);
+            dismissImmediate(decorView, contentHolder, contentView);
         }
 
         if (mOnDismissListener != null) {
@@ -1631,18 +1629,22 @@
      * Removes the popup from the window manager and tears down the supporting
      * view hierarchy, if necessary.
      */
-    private void dismissImmediate(View contentView) {
-        try {
-            mWindowManager.removeViewImmediate(mDecorView);
-        } finally {
-            mDecorView.removeView(mBackgroundView);
-            mDecorView = null;
-
-            if (mBackgroundView != contentView) {
-                ((ViewGroup) mBackgroundView).removeView(contentView);
-            }
-            mBackgroundView = null;
+    private void dismissImmediate(View decorView, ViewGroup contentHolder, View contentView) {
+        // If this method gets called and the decor view doesn't have a parent,
+        // then it was either never added or was already removed. That should
+        // never happen, but it's worth checking to avoid potential crashes.
+        if (decorView.getParent() != null) {
+            mWindowManager.removeViewImmediate(decorView);
         }
+
+        if (contentHolder != null) {
+            contentHolder.removeView(contentView);
+        }
+
+        // This needs to stay until after all transitions have ended since we
+        // need the reference to cancel transitions in preparePopup().
+        mDecorView = null;
+        mIsTransitioningToDismiss = false;
     }
 
     /**
@@ -1903,47 +1905,9 @@
         mAnchoredGravity = gravity;
     }
 
-    /**
-     * Layout listener used to run a transition immediately after a view is
-     * laid out. Forces the view to transition from invisible to visible.
-     */
-    private static class PostLayoutTransitionListener implements
-            ViewTreeObserver.OnGlobalLayoutListener {
-        private final ViewGroup mSceneRoot;
-        private final Transition mTransition;
-
-        public PostLayoutTransitionListener(ViewGroup sceneRoot, Transition transition) {
-            mSceneRoot = sceneRoot;
-            mTransition = transition;
-        }
-
-        @Override
-        public void onGlobalLayout() {
-            final ViewTreeObserver observer = mSceneRoot.getViewTreeObserver();
-            if (observer == null) {
-                // View has been detached.
-                return;
-            }
-
-            observer.removeOnGlobalLayoutListener(this);
-
-            // Set all targets to be initially invisible.
-            final List<View> targets = mTransition.getTargets();
-            final int N = targets.size();
-            for (int i = 0; i < N; i++) {
-                targets.get(i).setVisibility(View.INVISIBLE);
-            }
-
-            TransitionManager.beginDelayedTransition(mSceneRoot, mTransition);
-
-            // Transition targets to visible.
-            for (int i = 0; i < N; i++) {
-                targets.get(i).setVisibility(View.VISIBLE);
-            }
-        }
-    }
-
     private class PopupDecorView extends FrameLayout {
+        private TransitionListenerAdapter mPendingExitListener;
+
         public PopupDecorView(Context context) {
             super(context);
         }
@@ -1998,6 +1962,100 @@
                 return super.onTouchEvent(event);
             }
         }
+
+        /**
+         * Requests that an enter transition run after the next layout pass.
+         */
+        public void requestEnterTransition(Transition transition) {
+            final ViewTreeObserver observer = getViewTreeObserver();
+            if (observer != null && transition != null) {
+                final Transition enterTransition = transition.clone();
+
+                // Postpone the enter transition after the first layout pass.
+                observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
+                    @Override
+                    public void onGlobalLayout() {
+                        final ViewTreeObserver observer = getViewTreeObserver();
+                        if (observer != null) {
+                            observer.removeOnGlobalLayoutListener(this);
+                        }
+
+                        startEnterTransition(enterTransition);
+                    }
+                });
+            }
+        }
+
+        /**
+         * Starts the pending enter transition, if one is set.
+         */
+        private void startEnterTransition(Transition enterTransition) {
+            final int count = getChildCount();
+            for (int i = 0; i < count; i++) {
+                final View child = getChildAt(i);
+                enterTransition.addTarget(child);
+                child.setVisibility(View.INVISIBLE);
+            }
+
+            TransitionManager.beginDelayedTransition(this, enterTransition);
+
+            for (int i = 0; i < count; i++) {
+                final View child = getChildAt(i);
+                child.setVisibility(View.VISIBLE);
+            }
+        }
+
+        /**
+         * Starts an exit transition immediately.
+         * <p>
+         * <strong>Note:</strong> The transition listener is guaranteed to have
+         * its {@code onTransitionEnd} method called even if the transition
+         * never starts; however, it may be called with a {@code null} argument.
+         */
+        public void startExitTransition(Transition transition, final TransitionListener listener) {
+            if (transition == null) {
+                return;
+            }
+
+            // The exit listener MUST be called for cleanup, even if the
+            // transition never starts or ends. Stash it for later.
+            mPendingExitListener = new TransitionListenerAdapter() {
+                @Override
+                public void onTransitionEnd(Transition transition) {
+                    listener.onTransitionEnd(transition);
+
+                    // The listener was called. Our job here is done.
+                    mPendingExitListener = null;
+                }
+            };
+
+            final Transition exitTransition = transition.clone();
+            exitTransition.addListener(mPendingExitListener);
+
+            final int count = getChildCount();
+            for (int i = 0; i < count; i++) {
+                final View child = getChildAt(i);
+                exitTransition.addTarget(child);
+            }
+
+            TransitionManager.beginDelayedTransition(this, exitTransition);
+
+            for (int i = 0; i < count; i++) {
+                final View child = getChildAt(i);
+                child.setVisibility(View.INVISIBLE);
+            }
+        }
+
+        /**
+         * Cancels all pending or current transitions.
+         */
+        public void cancelTransitions() {
+            TransitionManager.endTransitions(this);
+
+            if (mPendingExitListener != null) {
+                mPendingExitListener.onTransitionEnd(null);
+            }
+        }
     }
 
     private class PopupBackgroundView extends FrameLayout {
diff --git a/core/java/android/widget/ProgressBar.java b/core/java/android/widget/ProgressBar.java
index 03878fc..50d701a 100644
--- a/core/java/android/widget/ProgressBar.java
+++ b/core/java/android/widget/ProgressBar.java
@@ -28,7 +28,6 @@
 import android.graphics.Bitmap;
 import android.graphics.BitmapShader;
 import android.graphics.Canvas;
-import android.graphics.PorterDuff.Mode;
 import android.graphics.Rect;
 import android.graphics.Shader;
 import android.graphics.drawable.Animatable;
@@ -51,7 +50,6 @@
 import android.view.ViewDebug;
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityManager;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.animation.AlphaAnimation;
 import android.view.animation.Animation;
 import android.view.animation.AnimationUtils;
@@ -1235,24 +1233,6 @@
         }
     }
 
-    private void setDrawableTint(int id, ColorStateList tint, Mode tintMode, boolean fallback) {
-        Drawable layer = null;
-
-        // We expect a layer drawable, so try to find the target ID.
-        final Drawable d = mCurrentDrawable;
-        if (d instanceof LayerDrawable) {
-            layer = ((LayerDrawable) d).findDrawableByLayerId(id);
-        }
-
-        if (fallback && layer == null) {
-            layer = d;
-        }
-
-        layer.mutate();
-        layer.setTintList(tint);
-        layer.setTintMode(tintMode);
-    }
-
     private synchronized void doRefreshProgress(int id, int progress, boolean fromUser,
             boolean callBackToApp) {
         float scale = mMax > 0 ? (float) progress / (float) mMax : 0;
diff --git a/core/java/android/widget/QuickContactBadge.java b/core/java/android/widget/QuickContactBadge.java
index 3068de9..25b301f 100644
--- a/core/java/android/widget/QuickContactBadge.java
+++ b/core/java/android/widget/QuickContactBadge.java
@@ -37,8 +37,6 @@
 import android.util.AttributeSet;
 import android.view.View;
 import android.view.View.OnClickListener;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 
 /**
  * Widget used to show an image with the standard QuickContact badge
@@ -52,6 +50,7 @@
     private QueryHandler mQueryHandler;
     private Drawable mDefaultAvatar;
     private Bundle mExtras = null;
+    private String mPrioritizedMimeType;
 
     protected String[] mExcludeMimes = null;
 
@@ -126,6 +125,15 @@
     public void setMode(int size) {
     }
 
+    /**
+     * Set which mimetype should be prioritized in the QuickContacts UI. For example, passing the
+     * value {@link Email#CONTENT_ITEM_TYPE} can cause emails to be displayed more prominently in
+     * QuickContacts.
+     */
+    public void setPrioritizedMimeType(String prioritizedMimeType) {
+        mPrioritizedMimeType = prioritizedMimeType;
+    }
+
     @Override
     protected void onDraw(Canvas canvas) {
         super.onDraw(canvas);
@@ -287,7 +295,7 @@
         final Bundle extras = (mExtras == null) ? new Bundle() : mExtras;
         if (mContactUri != null) {
             QuickContact.showQuickContact(getContext(), QuickContactBadge.this, mContactUri,
-                    QuickContact.MODE_LARGE, mExcludeMimes);
+                    mExcludeMimes, mPrioritizedMimeType);
         } else if (mContactEmail != null && mQueryHandler != null) {
             extras.putString(EXTRA_URI_CONTENT, mContactEmail);
             mQueryHandler.startQuery(TOKEN_EMAIL_LOOKUP_AND_TRIGGER, extras,
@@ -370,10 +378,10 @@
             mContactUri = lookupUri;
             onContactUriChanged();
 
-            if (trigger && lookupUri != null) {
+            if (trigger && mContactUri != null) {
                 // Found contact, so trigger QuickContact
-                QuickContact.showQuickContact(getContext(), QuickContactBadge.this, lookupUri,
-                        QuickContact.MODE_LARGE, mExcludeMimes);
+                QuickContact.showQuickContact(getContext(), QuickContactBadge.this, mContactUri,
+                        mExcludeMimes, mPrioritizedMimeType);
             } else if (createUri != null) {
                 // Prompt user to add this person to contacts
                 final Intent intent = new Intent(Intents.SHOW_OR_CREATE_CONTACT, createUri);
diff --git a/core/java/android/widget/RadialTimePickerView.java b/core/java/android/widget/RadialTimePickerView.java
index dc4d932..28b4db2 100644
--- a/core/java/android/widget/RadialTimePickerView.java
+++ b/core/java/android/widget/RadialTimePickerView.java
@@ -157,6 +157,7 @@
     private boolean mIsOnInnerCircle;
 
     private int mSelectorRadius;
+    private int mSelectorStroke;
     private int mSelectorDotRadius;
     private int mCenterDotRadius;
 
@@ -377,6 +378,7 @@
         mPaintBackground.setAntiAlias(true);
 
         mSelectorRadius = res.getDimensionPixelSize(R.dimen.timepicker_selector_radius);
+        mSelectorStroke = res.getDimensionPixelSize(R.dimen.timepicker_selector_stroke);
         mSelectorDotRadius = res.getDimensionPixelSize(R.dimen.timepicker_selector_dot_radius);
         mCenterDotRadius = res.getDimensionPixelSize(R.dimen.timepicker_center_dot_radius);
 
@@ -772,6 +774,7 @@
         alpha = (int) (mAlphaSelector[index % 2][SELECTOR_LINE].getValue() * alphaMod + 0.5f);
         paint = mPaintSelector[index % 2][SELECTOR_LINE];
         paint.setColor(color);
+        paint.setStrokeWidth(mSelectorStroke);
         paint.setAlpha(getMultipliedAlpha(color, alpha));
         canvas.drawLine(mXCenter, mYCenter, pointX, pointY, paint);
     }
diff --git a/core/java/android/widget/RadioButton.java b/core/java/android/widget/RadioButton.java
index aebc1b6..d44fbd7 100644
--- a/core/java/android/widget/RadioButton.java
+++ b/core/java/android/widget/RadioButton.java
@@ -18,8 +18,6 @@
 
 import android.content.Context;
 import android.util.AttributeSet;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 
 
 /**
diff --git a/core/java/android/widget/RadioGroup.java b/core/java/android/widget/RadioGroup.java
index 6586d11..065feb8 100644
--- a/core/java/android/widget/RadioGroup.java
+++ b/core/java/android/widget/RadioGroup.java
@@ -24,8 +24,6 @@
 import android.util.AttributeSet;
 import android.view.View;
 import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 
 
 /**
diff --git a/core/java/android/widget/RatingBar.java b/core/java/android/widget/RatingBar.java
index f18e372..b538334 100644
--- a/core/java/android/widget/RatingBar.java
+++ b/core/java/android/widget/RatingBar.java
@@ -21,9 +21,6 @@
 import android.graphics.drawable.shapes.RectShape;
 import android.graphics.drawable.shapes.Shape;
 import android.util.AttributeSet;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
-
 import com.android.internal.R;
 
 /**
diff --git a/core/java/android/widget/RelativeLayout.java b/core/java/android/widget/RelativeLayout.java
index fef56b8..d12739f 100644
--- a/core/java/android/widget/RelativeLayout.java
+++ b/core/java/android/widget/RelativeLayout.java
@@ -37,7 +37,6 @@
 import android.view.ViewDebug;
 import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.RemoteViews.RemoteView;
 
 import static android.os.Build.VERSION_CODES.JELLY_BEAN_MR1;
@@ -516,6 +515,23 @@
             }
         }
 
+        // Use the top-start-most laid out view as the baseline. RTL offsets are
+        // applied later, so we can use the left-most edge as the starting edge.
+        View baselineView = null;
+        LayoutParams baselineParams = null;
+        for (int i = 0; i < count; i++) {
+            final View child = getChildAt(i);
+            if (child.getVisibility() != GONE) {
+                final LayoutParams childParams = (LayoutParams) child.getLayoutParams();
+                if (baselineView == null || baselineParams == null
+                        || compareLayoutPosition(childParams, baselineParams) < 0) {
+                    baselineView = child;
+                    baselineParams = childParams;
+                }
+            }
+        }
+        mBaselineView = baselineView;
+
         if (isWrapContentWidth) {
             // Width already has left padding in it since it was calculated by looking at
             // the right of each child view
@@ -617,25 +633,24 @@
             }
         }
 
-        // Use the bottom-most laid out view as the baseline.
-        View baselineView = null;
-        int baseline = 0;
-        for (int i = 0; i < count; i++) {
-            final View child = getChildAt(i);
-            if (child.getVisibility() != GONE) {
-                final int childBaseline = child.getBaseline();
-                if (childBaseline >= baseline) {
-                    baselineView = child;
-                    baseline = childBaseline;
-                }
-            }
-        }
-        mBaselineView = baselineView;
-
         setMeasuredDimension(width, height);
     }
 
     /**
+     * @return a negative number if the top of {@code p1} is above the top of
+     *         {@code p2} or if they have identical top values and the left of
+     *         {@code p1} is to the left of {@code p2}, or a positive number
+     *         otherwise
+     */
+    private int compareLayoutPosition(LayoutParams p1, LayoutParams p2) {
+        final int topDiff = p1.mTop - p2.mTop;
+        if (topDiff != 0) {
+            return topDiff;
+        }
+        return p1.mLeft - p2.mLeft;
+    }
+
+    /**
      * Measure a child. The child should have left, top, right and bottom information
      * stored in its LayoutParams. If any of these values is VALUE_NOT_SET it means
      * that the view can extend up to the corresponding edge.
@@ -1358,6 +1373,7 @@
          *        {@link android.widget.RelativeLayout RelativeLayout}, such as
          *        ALIGN_WITH_PARENT_LEFT.
          * @see #addRule(int, int)
+         * @see #getRule(int)
          */
         public void addRule(int verb) {
             mRules[verb] = TRUE;
@@ -1378,6 +1394,7 @@
          *        for true or 0 for false).  For verbs that don't refer to another sibling
          *        (for example, ALIGN_WITH_PARENT_BOTTOM) just use -1.
          * @see #addRule(int)
+         * @see #getRule(int)
          */
         public void addRule(int verb, int anchor) {
             mRules[verb] = anchor;
@@ -1393,6 +1410,7 @@
          *         ALIGN_WITH_PARENT_LEFT.
          * @see #addRule(int)
          * @see #addRule(int, int)
+         * @see #getRule(int)
          */
         public void removeRule(int verb) {
             mRules[verb] = 0;
@@ -1400,6 +1418,22 @@
             mRulesChanged = true;
         }
 
+        /**
+         * Returns the layout rule associated with a specific verb.
+         *
+         * @param verb one of the verbs defined by {@link RelativeLayout}, such
+         *             as ALIGN_WITH_PARENT_LEFT
+         * @return the id of another view to use as an anchor, a boolean value
+         *         (represented as {@link RelativeLayout#TRUE} for true
+         *         or 0 for false), or -1 for verbs that don't refer to another
+         *         sibling (for example, ALIGN_WITH_PARENT_BOTTOM)
+         * @see #addRule(int)
+         * @see #addRule(int, int)
+         */
+        public int getRule(int verb) {
+            return mRules[verb];
+        }
+
         private boolean hasRelativeRules() {
             return (mInitialRules[START_OF] != 0 || mInitialRules[END_OF] != 0 ||
                     mInitialRules[ALIGN_START] != 0 || mInitialRules[ALIGN_END] != 0 ||
diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java
index dd7fa18..a10be11 100644
--- a/core/java/android/widget/RemoteViews.java
+++ b/core/java/android/widget/RemoteViews.java
@@ -16,6 +16,7 @@
 
 package android.widget;
 
+import android.annotation.ColorInt;
 import android.app.ActivityOptions;
 import android.app.ActivityThread;
 import android.app.Application;
@@ -2263,7 +2264,7 @@
      * @param color Sets the text color for all the states (normal, selected,
      *            focused) to be this color.
      */
-    public void setTextColor(int viewId, int color) {
+    public void setTextColor(int viewId, @ColorInt int color) {
         setInt(viewId, "setTextColor", color);
     }
 
diff --git a/core/java/android/widget/RemoteViewsAdapter.java b/core/java/android/widget/RemoteViewsAdapter.java
index 56bdb9b..349f3f0 100644
--- a/core/java/android/widget/RemoteViewsAdapter.java
+++ b/core/java/android/widget/RemoteViewsAdapter.java
@@ -26,14 +26,12 @@
 import android.appwidget.AppWidgetManager;
 import android.content.Context;
 import android.content.Intent;
-import android.content.pm.PackageManager;
 import android.os.Handler;
 import android.os.HandlerThread;
 import android.os.IBinder;
 import android.os.Looper;
 import android.os.Message;
 import android.os.RemoteException;
-import android.os.UserHandle;
 import android.util.Log;
 import android.util.Slog;
 import android.view.LayoutInflater;
diff --git a/core/java/android/widget/ScrollBarDrawable.java b/core/java/android/widget/ScrollBarDrawable.java
index 6fd90c3..91d6232 100644
--- a/core/java/android/widget/ScrollBarDrawable.java
+++ b/core/java/android/widget/ScrollBarDrawable.java
@@ -339,21 +339,21 @@
     }
 
     @Override
-    public void setColorFilter(ColorFilter cf) {
-        mColorFilter = cf;
+    public void setColorFilter(ColorFilter colorFilter) {
+        mColorFilter = colorFilter;
         mHasSetColorFilter = true;
 
         if (mVerticalTrack != null) {
-            mVerticalTrack.setColorFilter(cf);
+            mVerticalTrack.setColorFilter(colorFilter);
         }
         if (mVerticalThumb != null) {
-            mVerticalThumb.setColorFilter(cf);
+            mVerticalThumb.setColorFilter(colorFilter);
         }
         if (mHorizontalTrack != null) {
-            mHorizontalTrack.setColorFilter(cf);
+            mHorizontalTrack.setColorFilter(colorFilter);
         }
         if (mHorizontalThumb != null) {
-            mHorizontalThumb.setColorFilter(cf);
+            mHorizontalThumb.setColorFilter(colorFilter);
         }
     }
 
diff --git a/core/java/android/widget/SearchView.java b/core/java/android/widget/SearchView.java
index 8846421..bbf120a 100644
--- a/core/java/android/widget/SearchView.java
+++ b/core/java/android/widget/SearchView.java
@@ -49,8 +49,6 @@
 import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.inputmethod.EditorInfo;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.AdapterView.OnItemClickListener;
diff --git a/core/java/android/widget/SeekBar.java b/core/java/android/widget/SeekBar.java
index fc070e7..d010122 100644
--- a/core/java/android/widget/SeekBar.java
+++ b/core/java/android/widget/SeekBar.java
@@ -18,8 +18,6 @@
 
 import android.content.Context;
 import android.util.AttributeSet;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 
 
 
diff --git a/core/java/android/widget/SlidingDrawer.java b/core/java/android/widget/SlidingDrawer.java
index 272f4b0..9c44236 100644
--- a/core/java/android/widget/SlidingDrawer.java
+++ b/core/java/android/widget/SlidingDrawer.java
@@ -32,7 +32,6 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 
 /**
  * SlidingDrawer hides content out of the screen and allows the user to drag a handle
diff --git a/core/java/android/widget/SpellChecker.java b/core/java/android/widget/SpellChecker.java
index 3592687..e7031fe 100644
--- a/core/java/android/widget/SpellChecker.java
+++ b/core/java/android/widget/SpellChecker.java
@@ -727,14 +727,10 @@
                 }
             }
 
-            if (scheduleOtherSpellCheck && wordStart <= end) {
+            if (scheduleOtherSpellCheck && wordStart != BreakIterator.DONE && wordStart <= end) {
                 // Update range span: start new spell check from last wordStart
                 setRangeSpan(editable, wordStart, end);
             } else {
-                if (DBG && scheduleOtherSpellCheck) {
-                    Log.w(TAG, "Trying to schedule spellcheck for invalid region, from "
-                            + wordStart + " to " + end);
-                }
                 removeRangeSpan(editable);
             }
 
diff --git a/core/java/android/widget/Spinner.java b/core/java/android/widget/Spinner.java
index f0bc303..3746ec6 100644
--- a/core/java/android/widget/Spinner.java
+++ b/core/java/android/widget/Spinner.java
@@ -42,7 +42,6 @@
 import android.view.ViewGroup;
 import android.view.ViewTreeObserver;
 import android.view.ViewTreeObserver.OnGlobalLayoutListener;
-import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.ListPopupWindow.ForwardingListener;
 import android.widget.PopupWindow.OnDismissListener;
diff --git a/core/java/android/widget/StackView.java b/core/java/android/widget/StackView.java
index 803ba4b..2bd3143 100644
--- a/core/java/android/widget/StackView.java
+++ b/core/java/android/widget/StackView.java
@@ -41,7 +41,6 @@
 import android.view.View;
 import android.view.ViewConfiguration;
 import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.animation.LinearInterpolator;
 import android.widget.RemoteViews.RemoteView;
diff --git a/core/java/android/widget/Switch.java b/core/java/android/widget/Switch.java
index ce1834e..bb290e7 100644
--- a/core/java/android/widget/Switch.java
+++ b/core/java/android/widget/Switch.java
@@ -46,7 +46,7 @@
 import android.view.MotionEvent;
 import android.view.SoundEffectConstants;
 import android.view.VelocityTracker;
-import android.view.ViewAssistData;
+import android.view.ViewAssistStructure;
 import android.view.ViewConfiguration;
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityNodeInfo;
@@ -1363,18 +1363,19 @@
     }
 
     @Override
-    public void onProvideAssistData(ViewAssistData data, Bundle extras) {
-        super.onProvideAssistData(data, extras);
+    public void onProvideAssistStructure(ViewAssistStructure structure, Bundle extras) {
+        super.onProvideAssistStructure(structure, extras);
         CharSequence switchText = isChecked() ? mTextOn : mTextOff;
         if (!TextUtils.isEmpty(switchText)) {
-            CharSequence oldText = data.getText();
+            CharSequence oldText = structure.getText();
             if (TextUtils.isEmpty(oldText)) {
-                data.setText(switchText);
+                structure.setText(switchText);
             } else {
                 StringBuilder newText = new StringBuilder();
                 newText.append(oldText).append(' ').append(switchText);
-                data.setText(newText);
+                structure.setText(newText);
             }
+            structure.setTextPaint(mTextPaint);
         }
     }
 
diff --git a/core/java/android/widget/TabHost.java b/core/java/android/widget/TabHost.java
index bf35cf9..110d79b0 100644
--- a/core/java/android/widget/TabHost.java
+++ b/core/java/android/widget/TabHost.java
@@ -33,9 +33,6 @@
 import android.view.ViewGroup;
 import android.view.ViewTreeObserver;
 import android.view.Window;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
-
 import java.util.ArrayList;
 import java.util.List;
 
diff --git a/core/java/android/widget/TabWidget.java b/core/java/android/widget/TabWidget.java
index f90a0a7..9496e62 100644
--- a/core/java/android/widget/TabWidget.java
+++ b/core/java/android/widget/TabWidget.java
@@ -19,7 +19,6 @@
 import android.R;
 import android.annotation.DrawableRes;
 import android.content.Context;
-import android.content.res.Resources;
 import android.content.res.TypedArray;
 import android.graphics.Canvas;
 import android.graphics.Rect;
@@ -30,7 +29,6 @@
 import android.view.View.OnFocusChangeListener;
 import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 
 /**
  *
diff --git a/core/java/android/widget/TableLayout.java b/core/java/android/widget/TableLayout.java
index c825d17..093bdcf 100644
--- a/core/java/android/widget/TableLayout.java
+++ b/core/java/android/widget/TableLayout.java
@@ -24,9 +24,6 @@
 import android.util.SparseBooleanArray;
 import android.view.View;
 import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
-
 import java.util.regex.Pattern;
 
 /**
diff --git a/core/java/android/widget/TableRow.java b/core/java/android/widget/TableRow.java
index 72fce3f..faf5b84 100644
--- a/core/java/android/widget/TableRow.java
+++ b/core/java/android/widget/TableRow.java
@@ -24,8 +24,6 @@
 import android.view.View;
 import android.view.ViewDebug;
 import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 
 
 /**
diff --git a/core/java/android/widget/TextSwitcher.java b/core/java/android/widget/TextSwitcher.java
index 22822b1..ecd9a8c 100644
--- a/core/java/android/widget/TextSwitcher.java
+++ b/core/java/android/widget/TextSwitcher.java
@@ -21,8 +21,6 @@
 import android.util.AttributeSet;
 import android.view.View;
 import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 
 /**
  * Specialized {@link android.widget.ViewSwitcher} that contains
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 2d0a9cb..447e9ac 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -17,6 +17,7 @@
 package android.widget;
 
 import android.R;
+import android.annotation.ColorInt;
 import android.annotation.DrawableRes;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
@@ -114,7 +115,7 @@
 import android.view.MenuItem;
 import android.view.MotionEvent;
 import android.view.View;
-import android.view.ViewAssistData;
+import android.view.ViewAssistStructure;
 import android.view.ViewConfiguration;
 import android.view.ViewDebug;
 import android.view.ViewGroup.LayoutParams;
@@ -637,16 +638,17 @@
         this(context, null);
     }
 
-    public TextView(Context context, AttributeSet attrs) {
+    public TextView(Context context, @Nullable AttributeSet attrs) {
         this(context, attrs, com.android.internal.R.attr.textViewStyle);
     }
 
-    public TextView(Context context, AttributeSet attrs, int defStyleAttr) {
+    public TextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
         this(context, attrs, defStyleAttr, 0);
     }
 
     @SuppressWarnings("deprecation")
-    public TextView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+    public TextView(
+            Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
         super(context, attrs, defStyleAttr, defStyleRes);
 
         mText = "";
@@ -1055,6 +1057,11 @@
                 inputType = a.getInt(attr, EditorInfo.TYPE_NULL);
                 break;
 
+            case com.android.internal.R.styleable.TextView_allowUndo:
+                createEditorIfNeeded();
+                mEditor.mAllowUndo = a.getBoolean(attr, true);
+                break;
+
             case com.android.internal.R.styleable.TextView_imeOptions:
                 createEditorIfNeeded();
                 mEditor.createInputContentTypeIfNeeded();
@@ -2991,7 +2998,7 @@
      * @attr ref android.R.styleable#TextView_textColor
      */
     @android.view.RemotableViewMethod
-    public void setTextColor(int color) {
+    public void setTextColor(@ColorInt int color) {
         mTextColor = ColorStateList.valueOf(color);
         updateTextColors();
     }
@@ -3032,6 +3039,7 @@
      *
      * @return Returns the current text color.
      */
+    @ColorInt
     public final int getCurrentTextColor() {
         return mCurTextColor;
     }
@@ -3042,7 +3050,7 @@
      * @attr ref android.R.styleable#TextView_textColorHighlight
      */
     @android.view.RemotableViewMethod
-    public void setHighlightColor(int color) {
+    public void setHighlightColor(@ColorInt int color) {
         if (mHighlightColor != color) {
             mHighlightColor = color;
             invalidate();
@@ -3056,6 +3064,7 @@
      *
      * @attr ref android.R.styleable#TextView_textColorHighlight
      */
+    @ColorInt
     public int getHighlightColor() {
         return mHighlightColor;
     }
@@ -3150,6 +3159,7 @@
      *
      * @attr ref android.R.styleable#TextView_shadowColor
      */
+    @ColorInt
     public int getShadowColor() {
         return mShadowColor;
     }
@@ -3225,7 +3235,7 @@
      * @attr ref android.R.styleable#TextView_textColorHint
      */
     @android.view.RemotableViewMethod
-    public final void setHintTextColor(int color) {
+    public final void setHintTextColor(@ColorInt int color) {
         mHintTextColor = ColorStateList.valueOf(color);
         updateTextColors();
     }
@@ -3264,6 +3274,7 @@
      *
      * @return Returns the current hint text color.
      */
+    @ColorInt
     public final int getCurrentHintTextColor() {
         return mHintTextColor != null ? mCurHintTextColor : mCurTextColor;
     }
@@ -3277,7 +3288,7 @@
      * @attr ref android.R.styleable#TextView_textColorLink
      */
     @android.view.RemotableViewMethod
-    public final void setLinkTextColor(int color) {
+    public final void setLinkTextColor(@ColorInt int color) {
         mLinkTextColor = ColorStateList.valueOf(color);
         updateTextColors();
     }
@@ -4114,6 +4125,7 @@
         if (type == BufferType.EDITABLE || getKeyListener() != null ||
                 needEditableForNotification) {
             createEditorIfNeeded();
+            mEditor.forgetUndoRedo();
             Editable t = mEditableFactory.newEditable(text);
             text = t;
             setFilters(t, mFilters);
@@ -8093,7 +8105,14 @@
     public boolean onTouchEvent(MotionEvent event) {
         final int action = event.getActionMasked();
 
-        if (mEditor != null) mEditor.onTouchEvent(event);
+        if (mEditor != null) {
+            mEditor.onTouchEvent(event);
+
+            if (mEditor.mSelectionModifierCursorController != null &&
+                    mEditor.mSelectionModifierCursorController.isDragAcceleratorActive()) {
+                return true;
+            }
+        }
 
         final boolean superResult = super.onTouchEvent(event);
 
@@ -8561,13 +8580,14 @@
     }
 
     @Override
-    public void onProvideAssistData(ViewAssistData data, Bundle extras) {
-        super.onProvideAssistData(data, extras);
+    public void onProvideAssistStructure(ViewAssistStructure structure, Bundle extras) {
+        super.onProvideAssistStructure(structure, extras);
         final boolean isPassword = hasPasswordTransformationMethod();
         if (!isPassword) {
-            data.setText(getText(), getSelectionStart(), getSelectionEnd());
+            structure.setText(getText(), getSelectionStart(), getSelectionEnd());
+            structure.setTextPaint(mTextPaint);
         }
-        data.setHint(getHint());
+        structure.setHint(getHint());
     }
 
     /** @hide */
@@ -8799,6 +8819,7 @@
     static final int ID_COPY = android.R.id.copy;
     static final int ID_PASTE = android.R.id.paste;
     static final int ID_PASTE_AS_PLAIN_TEXT = android.R.id.pasteAsPlainText;
+    static final int ID_REPLACE = android.R.id.replaceText;
 
     /**
      * Called when a context menu option for the text view is selected.  Currently
@@ -9099,7 +9120,7 @@
         return getLayout().getLineForVertical((int) y);
     }
 
-    private int getOffsetAtCoordinate(int line, float x) {
+    int getOffsetAtCoordinate(int line, float x) {
         x = convertToLocalHorizontalCoordinate(x);
         return getLayout().getOffsetForHorizontal(line, x);
     }
@@ -9721,4 +9742,4 @@
             TextView.this.spanChange(buf, what, s, -1, e, -1);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/core/java/android/widget/TimePicker.java b/core/java/android/widget/TimePicker.java
index 9df8a21..944b491 100644
--- a/core/java/android/widget/TimePicker.java
+++ b/core/java/android/widget/TimePicker.java
@@ -24,8 +24,6 @@
 import android.os.Parcelable;
 import android.util.AttributeSet;
 import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
-
 import com.android.internal.R;
 
 import java.util.Locale;
diff --git a/core/java/android/widget/TimePickerClockDelegate.java b/core/java/android/widget/TimePickerClockDelegate.java
index ed052af..9fdd718 100644
--- a/core/java/android/widget/TimePickerClockDelegate.java
+++ b/core/java/android/widget/TimePickerClockDelegate.java
@@ -17,7 +17,6 @@
 package android.widget;
 
 import android.content.Context;
-import android.content.res.ColorStateList;
 import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.content.res.TypedArray;
@@ -34,7 +33,6 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View.AccessibilityDelegate;
-import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
@@ -132,19 +130,19 @@
         mPmText = amPmStrings[1];
 
         final int layoutResourceId = a.getResourceId(R.styleable.TimePicker_internalLayout,
-                R.layout.time_picker_holo);
+                R.layout.time_picker_material);
         final View mainView = inflater.inflate(layoutResourceId, delegator);
 
         mHeaderView = mainView.findViewById(R.id.time_header);
         mHeaderView.setBackground(a.getDrawable(R.styleable.TimePicker_headerBackground));
 
         // Set up hour/minute labels.
-        mHourView = (TextView) mHeaderView.findViewById(R.id.hours);
+        mHourView = (TextView) mainView.findViewById(R.id.hours);
         mHourView.setOnClickListener(mClickListener);
         mHourView.setAccessibilityDelegate(
                 new ClickActionDelegate(context, R.string.select_hours));
-        mSeparatorView = (TextView) mHeaderView.findViewById(R.id.separator);
-        mMinuteView = (TextView) mHeaderView.findViewById(R.id.minutes);
+        mSeparatorView = (TextView) mainView.findViewById(R.id.separator);
+        mMinuteView = (TextView) mainView.findViewById(R.id.minutes);
         mMinuteView.setOnClickListener(mClickListener);
         mMinuteView.setAccessibilityDelegate(
                 new ClickActionDelegate(context, R.string.select_minutes));
@@ -162,17 +160,8 @@
         mHourView.setMinWidth(computeStableWidth(mHourView, 24));
         mMinuteView.setMinWidth(computeStableWidth(mMinuteView, 60));
 
-        // TODO: This can be removed once we support themed color state lists.
-        final int headerSelectedTextColor = a.getColor(
-                R.styleable.TimePicker_headerSelectedTextColor,
-                res.getColor(R.color.timepicker_default_selector_color_material));
-        mHourView.setTextColor(ColorStateList.addFirstIfMissing(mHourView.getTextColors(),
-                R.attr.state_selected, headerSelectedTextColor));
-        mMinuteView.setTextColor(ColorStateList.addFirstIfMissing(mMinuteView.getTextColors(),
-                R.attr.state_selected, headerSelectedTextColor));
-
         // Set up AM/PM labels.
-        mAmPmLayout = mHeaderView.findViewById(R.id.ampm_layout);
+        mAmPmLayout = mainView.findViewById(R.id.ampm_layout);
         mAmLabel = (CheckedTextView) mAmPmLayout.findViewById(R.id.am_label);
         mAmLabel.setText(amPmStrings[0]);
         mAmLabel.setOnClickListener(mClickListener);
@@ -304,12 +293,15 @@
 
             final RelativeLayout.LayoutParams params =
                     (RelativeLayout.LayoutParams) mAmPmLayout.getLayoutParams();
-            if (isAmPmAtStart) {
-                params.removeRule(RelativeLayout.RIGHT_OF);
-                params.addRule(RelativeLayout.LEFT_OF, mHourView.getId());
-            } else {
-                params.removeRule(RelativeLayout.LEFT_OF);
-                params.addRule(RelativeLayout.RIGHT_OF, mMinuteView.getId());
+            if (params.getRule(RelativeLayout.RIGHT_OF) != 0 ||
+                    params.getRule(RelativeLayout.LEFT_OF) != 0) {
+                if (isAmPmAtStart) {
+                    params.removeRule(RelativeLayout.RIGHT_OF);
+                    params.addRule(RelativeLayout.LEFT_OF, mHourView.getId());
+                } else {
+                    params.removeRule(RelativeLayout.LEFT_OF);
+                    params.addRule(RelativeLayout.RIGHT_OF, mMinuteView.getId());
+                }
             }
 
             mAmPmLayout.setLayoutParams(params);
@@ -613,11 +605,11 @@
     private void updateAmPmLabelStates(int amOrPm) {
         final boolean isAm = amOrPm == AM;
         mAmLabel.setChecked(isAm);
-        mAmLabel.setAlpha(isAm ? 1 : mDisabledAlpha);
+        mAmLabel.setSelected(isAm);
 
         final boolean isPm = amOrPm == PM;
         mPmLabel.setChecked(isPm);
-        mPmLabel.setAlpha(isPm ? 1 : mDisabledAlpha);
+        mPmLabel.setSelected(isPm);
     }
 
     /**
diff --git a/core/java/android/widget/TimePickerSpinnerDelegate.java b/core/java/android/widget/TimePickerSpinnerDelegate.java
index af69110..513c55b 100644
--- a/core/java/android/widget/TimePickerSpinnerDelegate.java
+++ b/core/java/android/widget/TimePickerSpinnerDelegate.java
@@ -28,12 +28,10 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.inputmethod.EditorInfo;
 import android.view.inputmethod.InputMethodManager;
 import com.android.internal.R;
 
-import java.text.DateFormatSymbols;
 import java.util.Calendar;
 import java.util.Locale;
 
diff --git a/core/java/android/widget/ToggleButton.java b/core/java/android/widget/ToggleButton.java
index 4f8342b..6a8449e 100644
--- a/core/java/android/widget/ToggleButton.java
+++ b/core/java/android/widget/ToggleButton.java
@@ -21,8 +21,6 @@
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.LayerDrawable;
 import android.util.AttributeSet;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 
 /**
  * Displays checked/unchecked states as a button
diff --git a/core/java/android/widget/Toolbar.java b/core/java/android/widget/Toolbar.java
index c5325c4..d2430bc 100644
--- a/core/java/android/widget/Toolbar.java
+++ b/core/java/android/widget/Toolbar.java
@@ -16,12 +16,14 @@
 
 package android.widget;
 
+import android.annotation.ColorInt;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.ActionBar;
 import android.content.Context;
+import android.content.res.ColorStateList;
 import android.content.res.TypedArray;
-import android.graphics.RectF;
+import android.graphics.PorterDuff;
 import android.graphics.drawable.Drawable;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -104,6 +106,9 @@
     private ImageButton mNavButtonView;
     private ImageView mLogoView;
 
+    private TintInfo mOverflowTintInfo;
+    private TintInfo mNavTintInfo;
+
     private Drawable mCollapseIcon;
     private CharSequence mCollapseDescription;
     private ImageButton mCollapseButtonView;
@@ -266,6 +271,21 @@
         if (!TextUtils.isEmpty(navDesc)) {
             setNavigationContentDescription(navDesc);
         }
+
+        if (a.hasValue(R.styleable.Toolbar_overflowTint)) {
+            setOverflowTintList(a.getColorStateList(R.styleable.Toolbar_overflowTint));
+        }
+        if (a.hasValue(R.styleable.Toolbar_overflowTintMode)) {
+            setOverflowTintMode(Drawable.parseTintMode(
+                    a.getInt(R.styleable.Toolbar_overflowTintMode, -1), null));
+        }
+        if (a.hasValue(R.styleable.Toolbar_navigationTint)) {
+            setNavigationTintList(a.getColorStateList(R.styleable.Toolbar_navigationTint));
+        }
+        if (a.hasValue(R.styleable.Toolbar_navigationTintMode)) {
+            setNavigationTintMode(Drawable.parseTintMode(
+                    a.getInt(R.styleable.Toolbar_navigationTintMode, -1), null));
+        }
         a.recycle();
     }
 
@@ -666,7 +686,7 @@
      *
      * @param color The new text color in 0xAARRGGBB format
      */
-    public void setTitleTextColor(int color) {
+    public void setTitleTextColor(@ColorInt int color) {
         mTitleTextColor = color;
         if (mTitleTextView != null) {
             mTitleTextView.setTextColor(color);
@@ -678,7 +698,7 @@
      *
      * @param color The new text color in 0xAARRGGBB format
      */
-    public void setSubtitleTextColor(int color) {
+    public void setSubtitleTextColor(@ColorInt int color) {
         mSubtitleTextColor = color;
         if (mSubtitleTextView != null) {
             mSubtitleTextView.setTextColor(color);
@@ -806,6 +826,91 @@
     }
 
     /**
+     * Applies a tint to the icon drawable. Does not modify the current tint
+     * mode, which is {@link PorterDuff.Mode#SRC_IN} by default.
+     * <p>
+     * Subsequent calls to {@link #setNavigationIcon(Drawable)} will automatically mutate
+     * the drawable and apply the specified tint and tint mode.
+     *
+     * @param tint the tint to apply, may be {@code null} to clear tint
+     *
+     * @attr ref android.R.styleable#Toolbar_navigationTint
+     */
+    public void setNavigationTintList(ColorStateList tint) {
+        if (mNavTintInfo == null) {
+            mNavTintInfo = new TintInfo();
+        }
+        mNavTintInfo.mTintList = tint;
+        mNavTintInfo.mHasTintList = true;
+
+        applyNavigationTint();
+    }
+
+    /**
+     * Specifies the blending mode used to apply the tint specified by {@link
+     * #setNavigationTintList(ColorStateList)} to the navigation drawable.
+     * The default mode is {@link PorterDuff.Mode#SRC_IN}.
+     *
+     * @param tintMode the blending mode used to apply the tint, may be {@code null} to clear tint
+     *
+     * @attr ref android.R.styleable#Toolbar_navigationTintMode
+     */
+    public void setNavigationTintMode(PorterDuff.Mode tintMode) {
+        if (mNavTintInfo == null) {
+            mNavTintInfo = new TintInfo();
+        }
+        mNavTintInfo.mTintMode = tintMode;
+        mNavTintInfo.mHasTintMode = true;
+
+        applyNavigationTint();
+    }
+
+    /**
+     * Applies a tint to the overflow drawable. Does not modify the current tint
+     * mode, which is {@link PorterDuff.Mode#SRC_IN} by default.
+     *
+     * @param tint the tint to apply, may be {@code null} to clear tint
+     *
+     * @attr ref android.R.styleable#Toolbar_overflowTint
+     */
+    public void setOverflowTintList(ColorStateList tint) {
+        if (mMenuView != null) {
+            // If the menu view is available, directly set the tint
+            mMenuView.setOverflowTintList(tint);
+        } else {
+            // Otherwise we will record the value
+            if (mOverflowTintInfo == null) {
+                mOverflowTintInfo = new TintInfo();
+            }
+            mOverflowTintInfo.mTintList = tint;
+            mOverflowTintInfo.mHasTintList = true;
+        }
+    }
+
+    /**
+     * Specifies the blending mode used to apply the tint specified by {@link
+     * #setOverflowTintList(ColorStateList)} to the overflow drawable.
+     * The default mode is {@link PorterDuff.Mode#SRC_IN}.
+     *
+     * @param tintMode the blending mode used to apply the tint, may be {@code null} to clear tint
+     *
+     * @attr ref android.R.styleable#Toolbar_overflowTintMode
+     */
+    public void setOverflowTintMode(PorterDuff.Mode tintMode) {
+        if (mMenuView != null) {
+            // If the menu view is available, directly set the tint mode
+            mMenuView.setOverflowTintMode(tintMode);
+        } else {
+            // Otherwise we will record the value
+            if (mOverflowTintInfo == null) {
+                mOverflowTintInfo = new TintInfo();
+            }
+            mOverflowTintInfo.mTintMode = tintMode;
+            mOverflowTintInfo.mHasTintMode = true;
+        }
+    }
+
+    /**
      * Return the Menu shown in the toolbar.
      *
      * <p>Applications that wish to populate the toolbar's menu can do so from here. To use
@@ -841,6 +946,17 @@
             lp.gravity = Gravity.END | (mButtonGravity & Gravity.VERTICAL_GRAVITY_MASK);
             mMenuView.setLayoutParams(lp);
             addSystemView(mMenuView);
+
+            if (mOverflowTintInfo != null) {
+                // If we have tint info for the overflow, set it on the menu view now
+                if (mOverflowTintInfo.mHasTintList) {
+                    mMenuView.setOverflowTintList(mOverflowTintInfo.mTintList);
+                }
+                if (mOverflowTintInfo.mHasTintMode) {
+                    mMenuView.setOverflowTintMode(mOverflowTintInfo.mTintMode);
+                }
+                mOverflowTintInfo = null;
+            }
         }
     }
 
@@ -994,6 +1110,7 @@
             final LayoutParams lp = generateDefaultLayoutParams();
             lp.gravity = Gravity.START | (mButtonGravity & Gravity.VERTICAL_GRAVITY_MASK);
             mNavButtonView.setLayoutParams(lp);
+            applyNavigationTint();
         }
     }
 
@@ -1012,6 +1129,7 @@
                     collapseActionView();
                 }
             });
+            applyNavigationTint();
         }
     }
 
@@ -1763,6 +1881,30 @@
         return mPopupContext;
     }
 
+    private void applyNavigationTint() {
+        final TintInfo tintInfo = mNavTintInfo;
+        if (tintInfo != null && (tintInfo.mHasTintList || tintInfo.mHasTintMode)) {
+            if (mNavButtonView != null) {
+                if (tintInfo.mHasTintList) {
+                    mNavButtonView.setImageTintList(tintInfo.mTintList);
+                }
+                if (tintInfo.mHasTintMode) {
+                    mNavButtonView.setImageTintMode(tintInfo.mTintMode);
+                }
+            }
+
+            if (mCollapseButtonView != null) {
+                // We will use the same tint for the collapse button
+                if (tintInfo.mHasTintList) {
+                    mCollapseButtonView.setImageTintList(tintInfo.mTintList);
+                }
+                if (tintInfo.mHasTintMode) {
+                    mCollapseButtonView.setImageTintMode(tintInfo.mTintMode);
+                }
+            }
+        }
+    }
+
     /**
      * Interface responsible for receiving menu item click events if the items themselves
      * do not have individual item click listeners.
@@ -1990,4 +2132,11 @@
         public void onRestoreInstanceState(Parcelable state) {
         }
     }
+
+    private static class TintInfo {
+        ColorStateList mTintList;
+        PorterDuff.Mode mTintMode;
+        boolean mHasTintMode;
+        boolean mHasTintList;
+    }
 }
diff --git a/core/java/android/widget/TwoLineListItem.java b/core/java/android/widget/TwoLineListItem.java
index 0cd7eb9..69ff488 100644
--- a/core/java/android/widget/TwoLineListItem.java
+++ b/core/java/android/widget/TwoLineListItem.java
@@ -20,8 +20,6 @@
 import android.content.Context;
 import android.content.res.TypedArray;
 import android.util.AttributeSet;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.RelativeLayout;
 
 /**
diff --git a/core/java/android/widget/VideoView.java b/core/java/android/widget/VideoView.java
index 48283d4..2671739 100644
--- a/core/java/android/widget/VideoView.java
+++ b/core/java/android/widget/VideoView.java
@@ -43,8 +43,6 @@
 import android.view.SurfaceHolder;
 import android.view.SurfaceView;
 import android.view.View;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.MediaController.MediaPlayerControl;
 
 import java.io.IOException;
@@ -304,6 +302,8 @@
             mMediaPlayer = null;
             mCurrentState = STATE_IDLE;
             mTargetState  = STATE_IDLE;
+            AudioManager am = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
+            am.abandonAudioFocus(null);
         }
     }
 
@@ -312,12 +312,13 @@
             // not ready for playback just yet, will try again later
             return;
         }
-        AudioManager am = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
-        am.requestAudioFocus(null, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);
-
         // we shouldn't clear the target state, because somebody might have
         // called start() previously
         release(false);
+
+        AudioManager am = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
+        am.requestAudioFocus(null, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);
+
         try {
             mMediaPlayer = new MediaPlayer();
             // TODO: create SubtitleController in MediaPlayer, but we need
@@ -643,6 +644,8 @@
             if (cleartargetstate) {
                 mTargetState  = STATE_IDLE;
             }
+            AudioManager am = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
+            am.abandonAudioFocus(null);
         }
     }
 
diff --git a/core/java/android/widget/ViewAnimator.java b/core/java/android/widget/ViewAnimator.java
index 5ef5222..f30fdd8 100644
--- a/core/java/android/widget/ViewAnimator.java
+++ b/core/java/android/widget/ViewAnimator.java
@@ -22,8 +22,6 @@
 import android.util.AttributeSet;
 import android.view.View;
 import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.animation.Animation;
 import android.view.animation.AnimationUtils;
 
diff --git a/core/java/android/widget/ViewFlipper.java b/core/java/android/widget/ViewFlipper.java
index a43a185..94e7ba1 100644
--- a/core/java/android/widget/ViewFlipper.java
+++ b/core/java/android/widget/ViewFlipper.java
@@ -24,8 +24,6 @@
 import android.os.*;
 import android.util.AttributeSet;
 import android.util.Log;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.RemoteViews.RemoteView;
 
 /**
diff --git a/core/java/android/widget/ViewSwitcher.java b/core/java/android/widget/ViewSwitcher.java
index 2f544cc..0d5627e 100644
--- a/core/java/android/widget/ViewSwitcher.java
+++ b/core/java/android/widget/ViewSwitcher.java
@@ -20,8 +20,6 @@
 import android.util.AttributeSet;
 import android.view.View;
 import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 
 /**
  * {@link ViewAnimator} that switches between two views, and has a factory
diff --git a/core/java/android/widget/ZoomButton.java b/core/java/android/widget/ZoomButton.java
index 6b3faed..0255bdb 100644
--- a/core/java/android/widget/ZoomButton.java
+++ b/core/java/android/widget/ZoomButton.java
@@ -23,8 +23,6 @@
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.View.OnLongClickListener;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 
 public class ZoomButton extends ImageButton implements OnLongClickListener {
 
diff --git a/core/java/android/widget/ZoomControls.java b/core/java/android/widget/ZoomControls.java
index bef1ace..66c052b 100644
--- a/core/java/android/widget/ZoomControls.java
+++ b/core/java/android/widget/ZoomControls.java
@@ -22,8 +22,6 @@
 import android.view.LayoutInflater;
 import android.view.MotionEvent;
 import android.view.View;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.animation.AlphaAnimation;
 
 import com.android.internal.R;
diff --git a/core/java/com/android/internal/alsa/AlsaCardsParser.java b/core/java/com/android/internal/alsa/AlsaCardsParser.java
new file mode 100644
index 0000000..5c0a888
--- /dev/null
+++ b/core/java/com/android/internal/alsa/AlsaCardsParser.java
@@ -0,0 +1,225 @@
+/*
+ * 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.internal.alsa;
+
+import android.util.Slog;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+
+/**
+ * @hide Retrieves information from an ALSA "cards" file.
+ */
+public class AlsaCardsParser {
+    private static final String TAG = "AlsaCardsParser";
+    protected static final boolean DEBUG = true;
+
+    private static final String kCardsFilePath = "/proc/asound/cards";
+
+    private static LineTokenizer mTokenizer = new LineTokenizer(" :[]");
+
+    private ArrayList<AlsaCardRecord> mCardRecords = new ArrayList<AlsaCardRecord>();
+
+    public class AlsaCardRecord {
+        private static final String TAG = "AlsaCardRecord";
+        private static final String kUsbCardKeyStr = "at usb-";
+
+        public int mCardNum = -1;
+        public String mField1 = "";
+        public String mCardName = "";
+        public String mCardDescription = "";
+        public boolean mIsUsb = false;
+
+        public AlsaCardRecord() {}
+
+        public boolean parse(String line, int lineIndex) {
+            int tokenIndex = 0;
+            int delimIndex = 0;
+
+            if (lineIndex == 0) {
+                // line # (skip)
+                tokenIndex = mTokenizer.nextToken(line, tokenIndex);
+                delimIndex = mTokenizer.nextDelimiter(line, tokenIndex);
+
+                try {
+                    // mCardNum
+                    mCardNum = Integer.parseInt(line.substring(tokenIndex, delimIndex));
+                } catch (NumberFormatException e) {
+                    Slog.e(TAG, "Failed to parse line " + lineIndex + " of " + kCardsFilePath
+                        + ": " + line.substring(tokenIndex, delimIndex));
+                    return false;
+                }
+
+                // mField1
+                tokenIndex = mTokenizer.nextToken(line, delimIndex);
+                delimIndex = mTokenizer.nextDelimiter(line, tokenIndex);
+                mField1 = line.substring(tokenIndex, delimIndex);
+
+                // mCardName
+                tokenIndex = mTokenizer.nextToken(line, delimIndex);
+                mCardName = line.substring(tokenIndex);
+
+                // done
+              } else if (lineIndex == 1) {
+                  tokenIndex = mTokenizer.nextToken(line, 0);
+                  if (tokenIndex != -1) {
+                      int keyIndex = line.indexOf(kUsbCardKeyStr);
+                      mIsUsb = keyIndex != -1;
+                      if (mIsUsb) {
+                          mCardDescription = line.substring(tokenIndex, keyIndex - 1);
+                      }
+                  }
+            }
+
+            return true;
+        }
+
+        public String textFormat() {
+          return mCardName + " : " + mCardDescription;
+        }
+    }
+
+    public AlsaCardsParser() {}
+
+    public void scan() {
+        if (DEBUG) {
+            Slog.i(TAG, "AlsaCardsParser.scan()");
+        }
+        mCardRecords = new ArrayList<AlsaCardRecord>();
+
+        File cardsFile = new File(kCardsFilePath);
+        try {
+            FileReader reader = new FileReader(cardsFile);
+            BufferedReader bufferedReader = new BufferedReader(reader);
+            String line = "";
+            while ((line = bufferedReader.readLine()) != null) {
+                AlsaCardRecord cardRecord = new AlsaCardRecord();
+                if (DEBUG) {
+                    Slog.i(TAG, "  " + line);
+                }
+                cardRecord.parse(line, 0);
+
+                line = bufferedReader.readLine();
+                if (line == null) {
+                    break;
+                }
+                if (DEBUG) {
+                    Slog.i(TAG, "  " + line);
+                }
+                cardRecord.parse(line, 1);
+
+                mCardRecords.add(cardRecord);
+            }
+            reader.close();
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    public ArrayList<AlsaCardRecord> getScanRecords() {
+        return mCardRecords;
+    }
+
+    public AlsaCardRecord getCardRecordAt(int index) {
+        return mCardRecords.get(index);
+    }
+
+    public AlsaCardRecord getCardRecordFor(int cardNum) {
+        for (AlsaCardRecord rec : mCardRecords) {
+            if (rec.mCardNum == cardNum) {
+                return rec;
+            }
+        }
+
+        return null;
+    }
+
+    public int getNumCardRecords() {
+        return mCardRecords.size();
+    }
+
+    public boolean isCardUsb(int cardNum) {
+        for (AlsaCardRecord rec : mCardRecords) {
+            if (rec.mCardNum == cardNum) {
+                return rec.mIsUsb;
+            }
+        }
+
+        return false;
+    }
+
+    // return -1 if none found
+    public int getDefaultUsbCard() {
+        // Choose the most-recently added EXTERNAL card
+        // or return the first added EXTERNAL card?
+        for (AlsaCardRecord rec : mCardRecords) {
+            if (rec.mIsUsb) {
+                return rec.mCardNum;
+            }
+        }
+
+        return -1;
+    }
+
+    public int getDefaultCard() {
+        // return an external card if possible
+        int card = getDefaultUsbCard();
+
+        if (card < 0 && getNumCardRecords() > 0) {
+            // otherwise return the (internal) card with the highest number
+            card = getCardRecordAt(getNumCardRecords() - 1).mCardNum;
+        }
+        return card;
+    }
+
+    static public boolean hasCardNumber(ArrayList<AlsaCardRecord> recs, int cardNum) {
+        for (AlsaCardRecord cardRec : recs) {
+            if (cardRec.mCardNum == cardNum) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public ArrayList<AlsaCardRecord> getNewCardRecords(ArrayList<AlsaCardRecord> prevScanRecs) {
+        ArrayList<AlsaCardRecord> newRecs = new ArrayList<AlsaCardRecord>();
+        for (AlsaCardRecord rec : mCardRecords) {
+            // now scan to see if this card number is in the previous scan list
+            if (!hasCardNumber(prevScanRecs, rec.mCardNum)) {
+                newRecs.add(rec);
+            }
+        }
+        return newRecs;
+    }
+
+    //
+    // Logging
+    //
+    public void Log(String heading) {
+        if (DEBUG) {
+            Slog.i(TAG, heading);
+            for (AlsaCardRecord cardRec : mCardRecords) {
+                Slog.i(TAG, cardRec.textFormat());
+            }
+        }
+    }
+}
diff --git a/core/java/com/android/internal/alsa/AlsaDevicesParser.java b/core/java/com/android/internal/alsa/AlsaDevicesParser.java
new file mode 100644
index 0000000..81b7943
--- /dev/null
+++ b/core/java/com/android/internal/alsa/AlsaDevicesParser.java
@@ -0,0 +1,288 @@
+/*
+ * 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.internal.alsa;
+
+import android.util.Slog;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+
+/**
+ * @hide
+ * Retrieves information from an ALSA "devices" file.
+ */
+public class AlsaDevicesParser {
+    private static final String TAG = "AlsaDevicesParser";
+    protected static final boolean DEBUG = false;
+
+    private static final String kDevicesFilePath = "/proc/asound/devices";
+
+    private static final int kIndex_CardDeviceField = 5;
+    private static final int kStartIndex_CardNum = 6;
+    private static final int kEndIndex_CardNum = 8; // one past
+    private static final int kStartIndex_DeviceNum = 9;
+    private static final int kEndIndex_DeviceNum = 11; // one past
+    private static final int kStartIndex_Type = 14;
+
+    private static LineTokenizer mTokenizer = new LineTokenizer(" :[]-");
+
+    private boolean mHasCaptureDevices = false;
+    private boolean mHasPlaybackDevices = false;
+    private boolean mHasMIDIDevices = false;
+
+    public class AlsaDeviceRecord {
+        public static final int kDeviceType_Unknown = -1;
+        public static final int kDeviceType_Audio = 0;
+        public static final int kDeviceType_Control = 1;
+        public static final int kDeviceType_MIDI = 2;
+
+        public static final int kDeviceDir_Unknown = -1;
+        public static final int kDeviceDir_Capture = 0;
+        public static final int kDeviceDir_Playback = 1;
+
+        int mCardNum = -1;
+        int mDeviceNum = -1;
+        int mDeviceType = kDeviceType_Unknown;
+        int mDeviceDir = kDeviceDir_Unknown;
+
+        public AlsaDeviceRecord() {}
+
+        public boolean parse(String line) {
+            // "0123456789012345678901234567890"
+            // "  2: [ 0-31]: digital audio playback"
+            // "  3: [ 0-30]: digital audio capture"
+            // " 35: [ 1]   : control"
+            // " 36: [ 2- 0]: raw midi"
+
+            final int kToken_LineNum = 0;
+            final int kToken_CardNum = 1;
+            final int kToken_DeviceNum = 2;
+            final int kToken_Type0 = 3; // "digital", "control", "raw"
+            final int kToken_Type1 = 4; // "audio", "midi"
+            final int kToken_Type2 = 5; // "capture", "playback"
+
+            int tokenOffset = 0;
+            int delimOffset = 0;
+            int tokenIndex = kToken_LineNum;
+            while (true) {
+                tokenOffset = mTokenizer.nextToken(line, delimOffset);
+                if (tokenOffset == LineTokenizer.kTokenNotFound) {
+                    break; // bail
+                }
+                delimOffset = mTokenizer.nextDelimiter(line, tokenOffset);
+                if (delimOffset == LineTokenizer.kTokenNotFound) {
+                    delimOffset = line.length();
+                }
+                String token = line.substring(tokenOffset, delimOffset);
+
+                try {
+                    switch (tokenIndex) {
+                    case kToken_LineNum:
+                        // ignore
+                        break;
+
+                    case kToken_CardNum:
+                        mCardNum = Integer.parseInt(token);
+                        if (line.charAt(delimOffset) != '-') {
+                            tokenIndex++; // no device # in the token stream
+                        }
+                        break;
+
+                    case kToken_DeviceNum:
+                        mDeviceNum = Integer.parseInt(token);
+                        break;
+
+                    case kToken_Type0:
+                        if (token.equals("digital")) {
+                            // NOP
+                        } else if (token.equals("control")) {
+                            mDeviceType = kDeviceType_Control;
+                        } else if (token.equals("raw")) {
+                            // NOP
+                        }
+                        break;
+
+                    case kToken_Type1:
+                        if (token.equals("audio")) {
+                            mDeviceType = kDeviceType_Audio;
+                        } else if (token.equals("midi")) {
+                            mDeviceType = kDeviceType_MIDI;
+                            mHasMIDIDevices = true;
+                        }
+                        break;
+
+                    case kToken_Type2:
+                        if (token.equals("capture")) {
+                            mDeviceDir = kDeviceDir_Capture;
+                            mHasCaptureDevices = true;
+                        } else if (token.equals("playback")) {
+                            mDeviceDir = kDeviceDir_Playback;
+                            mHasPlaybackDevices = true;
+                        }
+                        break;
+                    } // switch (tokenIndex)
+                } catch (NumberFormatException e) {
+                    Slog.e(TAG, "Failed to parse token " + tokenIndex + " of " + kDevicesFilePath
+                        + " token: " + token);
+                    return false;
+                }
+
+                tokenIndex++;
+            } // while (true)
+
+            return true;
+        } // parse()
+
+        public String textFormat() {
+            StringBuilder sb = new StringBuilder();
+            sb.append("[" + mCardNum + ":" + mDeviceNum + "]");
+
+            switch (mDeviceType) {
+            case kDeviceType_Unknown:
+                sb.append(" N/A");
+                break;
+            case kDeviceType_Audio:
+                sb.append(" Audio");
+                break;
+            case kDeviceType_Control:
+                sb.append(" Control");
+                break;
+            case kDeviceType_MIDI:
+                sb.append(" MIDI");
+                break;
+            }
+
+            switch (mDeviceDir) {
+            case kDeviceDir_Unknown:
+                sb.append(" N/A");
+                break;
+            case kDeviceDir_Capture:
+                sb.append(" Capture");
+                break;
+            case kDeviceDir_Playback:
+                sb.append(" Playback");
+                break;
+            }
+
+            return sb.toString();
+        }
+    }
+
+    private ArrayList<AlsaDeviceRecord> mDeviceRecords = new ArrayList<AlsaDeviceRecord>();
+
+    public AlsaDevicesParser() {}
+
+    //
+    // Access
+    //
+    public int getDefaultDeviceNum(int card) {
+        // TODO - This (obviously) isn't sufficient. Revisit.
+        return 0;
+    }
+
+    //
+    // Predicates
+    //
+   public boolean hasPlaybackDevices() {
+        return mHasPlaybackDevices;
+    }
+
+    public boolean hasPlaybackDevices(int card) {
+        for (AlsaDeviceRecord deviceRecord : mDeviceRecords) {
+            if (deviceRecord.mCardNum == card &&
+                deviceRecord.mDeviceType == AlsaDeviceRecord.kDeviceType_Audio &&
+                deviceRecord.mDeviceDir == AlsaDeviceRecord.kDeviceDir_Playback) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public boolean hasCaptureDevices() {
+        return mHasCaptureDevices;
+    }
+
+    public boolean hasCaptureDevices(int card) {
+        for (AlsaDeviceRecord deviceRecord : mDeviceRecords) {
+            if (deviceRecord.mCardNum == card &&
+                deviceRecord.mDeviceType == AlsaDeviceRecord.kDeviceType_Audio &&
+                deviceRecord.mDeviceDir == AlsaDeviceRecord.kDeviceDir_Capture) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public boolean hasMIDIDevices() {
+        return mHasMIDIDevices;
+    }
+
+    public boolean hasMIDIDevices(int card) {
+        for (AlsaDeviceRecord deviceRecord : mDeviceRecords) {
+            if (deviceRecord.mCardNum == card &&
+                deviceRecord.mDeviceType == AlsaDeviceRecord.kDeviceType_MIDI) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    //
+    // Process
+    //
+    private boolean isLineDeviceRecord(String line) {
+        return line.charAt(kIndex_CardDeviceField) == '[';
+    }
+
+    public void scan() {
+        mDeviceRecords.clear();
+
+        File devicesFile = new File(kDevicesFilePath);
+        try {
+            FileReader reader = new FileReader(devicesFile);
+            BufferedReader bufferedReader = new BufferedReader(reader);
+            String line = "";
+            while ((line = bufferedReader.readLine()) != null) {
+                if (isLineDeviceRecord(line)) {
+                    AlsaDeviceRecord deviceRecord = new AlsaDeviceRecord();
+                    deviceRecord.parse(line);
+                    mDeviceRecords.add(deviceRecord);
+                }
+            }
+            reader.close();
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    //
+    // Loging
+    //
+    public void Log(String heading) {
+        if (DEBUG) {
+            Slog.i(TAG, heading);
+            for (AlsaDeviceRecord deviceRecord : mDeviceRecords) {
+                Slog.i(TAG, deviceRecord.textFormat());
+            }
+        }
+    }
+} // class AlsaDevicesParser
+
diff --git a/core/java/com/android/internal/alsa/LineTokenizer.java b/core/java/com/android/internal/alsa/LineTokenizer.java
new file mode 100644
index 0000000..43047a9
--- /dev/null
+++ b/core/java/com/android/internal/alsa/LineTokenizer.java
@@ -0,0 +1,57 @@
+/*
+ * 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.internal.alsa;
+
+/**
+ * @hide
+ * Breaks lines in an ALSA "cards" or "devices" file into tokens.
+ * TODO(pmclean) Look into replacing this with String.split().
+ */
+public class LineTokenizer {
+    public static final int kTokenNotFound = -1;
+
+    private String mDelimiters = "";
+
+    public LineTokenizer(String delimiters) {
+        mDelimiters = delimiters;
+    }
+
+    int nextToken(String line, int startIndex) {
+        int len = line.length();
+        int offset = startIndex;
+        for (; offset < len; offset++) {
+            if (mDelimiters.indexOf(line.charAt(offset)) == -1) {
+                // past a delimiter
+                break;
+            }
+      }
+
+      return offset < len ? offset : kTokenNotFound;
+    }
+
+    int nextDelimiter(String line, int startIndex) {
+        int len = line.length();
+        int offset = startIndex;
+        for (; offset < len; offset++) {
+            if (mDelimiters.indexOf(line.charAt(offset)) != -1) {
+                // past a delimiter
+                break;
+            }
+        }
+
+      return offset < len ? offset : kTokenNotFound;
+    }
+}
diff --git a/core/java/com/android/internal/app/AlertActivity.java b/core/java/com/android/internal/app/AlertActivity.java
index 5566aa6..ed48b0d 100644
--- a/core/java/com/android/internal/app/AlertActivity.java
+++ b/core/java/com/android/internal/app/AlertActivity.java
@@ -17,11 +17,9 @@
 package com.android.internal.app;
 
 import android.app.Activity;
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.DialogInterface;
 import android.os.Bundle;
-import android.text.TextUtils;
 import android.view.KeyEvent;
 import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityEvent;
diff --git a/core/java/com/android/internal/app/AlertController.java b/core/java/com/android/internal/app/AlertController.java
index 20d209f..9dabb4e 100644
--- a/core/java/com/android/internal/app/AlertController.java
+++ b/core/java/com/android/internal/app/AlertController.java
@@ -20,6 +20,7 @@
 
 import com.android.internal.R;
 
+import android.annotation.Nullable;
 import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -38,7 +39,7 @@
 import android.view.ViewGroup;
 import android.view.ViewGroup.LayoutParams;
 import android.view.ViewParent;
-import android.view.ViewTreeObserver;
+import android.view.ViewStub;
 import android.view.Window;
 import android.view.WindowInsets;
 import android.view.WindowManager;
@@ -450,27 +451,107 @@
         }
     }
 
+    /**
+     * Resolves whether a custom or default panel should be used. Removes the
+     * default panel if a custom panel should be used. If the resolved panel is
+     * a view stub, inflates before returning.
+     *
+     * @param customPanel the custom panel
+     * @param defaultPanel the default panel
+     * @return the panel to use
+     */
+    @Nullable
+    private ViewGroup resolvePanel(@Nullable View customPanel, @Nullable View defaultPanel) {
+        if (customPanel == null) {
+            // Inflate the default panel, if needed.
+            if (defaultPanel instanceof ViewStub) {
+                defaultPanel = ((ViewStub) defaultPanel).inflate();
+            }
+
+            return (ViewGroup) defaultPanel;
+        }
+
+        // Remove the default panel entirely.
+        if (defaultPanel != null) {
+            final ViewParent parent = defaultPanel.getParent();
+            if (parent instanceof ViewGroup) {
+                ((ViewGroup) parent).removeView(defaultPanel);
+            }
+        }
+
+        // Inflate the custom panel, if needed.
+        if (customPanel instanceof ViewStub) {
+            customPanel = ((ViewStub) customPanel).inflate();
+        }
+
+        return (ViewGroup) customPanel;
+    }
+
     private void setupView() {
-        final ViewGroup contentPanel = (ViewGroup) mWindow.findViewById(R.id.contentPanel);
+        final View parentPanel = mWindow.findViewById(R.id.parentPanel);
+        final View defaultTopPanel = parentPanel.findViewById(R.id.topPanel);
+        final View defaultContentPanel = parentPanel.findViewById(R.id.contentPanel);
+        final View defaultButtonPanel = parentPanel.findViewById(R.id.buttonPanel);
+
+        // Install custom content before setting up the title or buttons so
+        // that we can handle panel overrides.
+        final ViewGroup customPanel = (ViewGroup) parentPanel.findViewById(R.id.customPanel);
+        setupCustomContent(customPanel);
+
+        final View customTopPanel = customPanel.findViewById(R.id.topPanel);
+        final View customContentPanel = customPanel.findViewById(R.id.contentPanel);
+        final View customButtonPanel = customPanel.findViewById(R.id.buttonPanel);
+
+        // Resolve the correct panels and remove the defaults, if needed.
+        final ViewGroup topPanel = resolvePanel(customTopPanel, defaultTopPanel);
+        final ViewGroup contentPanel = resolvePanel(customContentPanel, defaultContentPanel);
+        final ViewGroup buttonPanel = resolvePanel(customButtonPanel, defaultButtonPanel);
+
         setupContent(contentPanel);
-        final boolean hasButtons = setupButtons();
+        setupButtons(buttonPanel);
+        setupTitle(topPanel);
 
-        final ViewGroup topPanel = (ViewGroup) mWindow.findViewById(R.id.topPanel);
-        final TypedArray a = mContext.obtainStyledAttributes(
-                null, R.styleable.AlertDialog, R.attr.alertDialogStyle, 0);
-        final boolean hasTitle = setupTitle(topPanel);
+        final boolean hasCustomPanel = customPanel != null
+                && customPanel.getVisibility() != View.GONE;
+        final boolean hasTopPanel = topPanel != null
+                && topPanel.getVisibility() != View.GONE;
+        final boolean hasButtonPanel = buttonPanel != null
+                && buttonPanel.getVisibility() != View.GONE;
 
-        final View buttonPanel = mWindow.findViewById(R.id.buttonPanel);
-        if (!hasButtons) {
-            buttonPanel.setVisibility(View.GONE);
-            final View spacer = mWindow.findViewById(R.id.textSpacerNoButtons);
-            if (spacer != null) {
-                spacer.setVisibility(View.VISIBLE);
+        // Only display the text spacer if we don't have buttons.
+        if (!hasButtonPanel) {
+            if (contentPanel != null) {
+                final View spacer = contentPanel.findViewById(R.id.textSpacerNoButtons);
+                if (spacer != null) {
+                    spacer.setVisibility(View.VISIBLE);
+                }
             }
             mWindow.setCloseOnTouchOutsideIfNotSet(true);
         }
 
-        final FrameLayout customPanel = (FrameLayout) mWindow.findViewById(R.id.customPanel);
+        // Only display the divider if we have a title and a custom view or a
+        // message.
+        if (hasTopPanel) {
+            final View divider;
+            if (mMessage != null || hasCustomPanel || mListView != null) {
+                divider = topPanel.findViewById(R.id.titleDivider);
+            } else {
+                divider = topPanel.findViewById(R.id.titleDividerTop);
+            }
+
+            if (divider != null) {
+                divider.setVisibility(View.VISIBLE);
+            }
+        }
+
+        final TypedArray a = mContext.obtainStyledAttributes(
+                null, R.styleable.AlertDialog, R.attr.alertDialogStyle, 0);
+        setBackground(a, topPanel, contentPanel, customPanel, buttonPanel,
+                hasTopPanel, hasCustomPanel, hasButtonPanel);
+        a.recycle();
+    }
+
+    private void setupCustomContent(ViewGroup customPanel) {
         final View customView;
         if (mView != null) {
             customView = mView;
@@ -502,30 +583,9 @@
         } else {
             customPanel.setVisibility(View.GONE);
         }
-
-        // Only display the divider if we have a title and a custom view or a
-        // message.
-        if (hasTitle) {
-            final View divider;
-            if (mMessage != null || customView != null || mListView != null) {
-                divider = mWindow.findViewById(R.id.titleDivider);
-            } else {
-                divider = mWindow.findViewById(R.id.titleDividerTop);
-            }
-
-            if (divider != null) {
-                divider.setVisibility(View.VISIBLE);
-            }
-        }
-
-        setBackground(a, topPanel, contentPanel, customPanel, buttonPanel, hasTitle, hasCustomView,
-                hasButtons);
-        a.recycle();
     }
 
-    private boolean setupTitle(ViewGroup topPanel) {
-        boolean hasTitle = true;
-
+    private void setupTitle(ViewGroup topPanel) {
         if (mCustomTitleView != null) {
             // Add the custom title view directly to the topPanel layout
             LayoutParams lp = new LayoutParams(
@@ -567,18 +627,16 @@
                 titleTemplate.setVisibility(View.GONE);
                 mIconView.setVisibility(View.GONE);
                 topPanel.setVisibility(View.GONE);
-                hasTitle = false;
             }
         }
-        return hasTitle;
     }
 
     private void setupContent(ViewGroup contentPanel) {
-        mScrollView = (ScrollView) mWindow.findViewById(R.id.scrollView);
+        mScrollView = (ScrollView) contentPanel.findViewById(R.id.scrollView);
         mScrollView.setFocusable(false);
 
         // Special case for users that only want to display a String
-        mMessageView = (TextView) mWindow.findViewById(R.id.message);
+        mMessageView = (TextView) contentPanel.findViewById(R.id.message);
         if (mMessageView == null) {
             return;
         }
@@ -601,8 +659,8 @@
         }
 
         // Set up scroll indicators (if present).
-        final View indicatorUp = mWindow.findViewById(R.id.scrollIndicatorUp);
-        final View indicatorDown = mWindow.findViewById(R.id.scrollIndicatorDown);
+        final View indicatorUp = contentPanel.findViewById(R.id.scrollIndicatorUp);
+        final View indicatorDown = contentPanel.findViewById(R.id.scrollIndicatorDown);
         if (indicatorUp != null || indicatorDown != null) {
             if (mMessage != null) {
                 // We're just showing the ScrollView, set up listener.
@@ -663,12 +721,12 @@
         }
     }
 
-    private boolean setupButtons() {
+    private void setupButtons(ViewGroup buttonPanel) {
         int BIT_BUTTON_POSITIVE = 1;
         int BIT_BUTTON_NEGATIVE = 2;
         int BIT_BUTTON_NEUTRAL = 4;
         int whichButtons = 0;
-        mButtonPositive = (Button) mWindow.findViewById(R.id.button1);
+        mButtonPositive = (Button) buttonPanel.findViewById(R.id.button1);
         mButtonPositive.setOnClickListener(mButtonHandler);
 
         if (TextUtils.isEmpty(mButtonPositiveText)) {
@@ -679,7 +737,7 @@
             whichButtons = whichButtons | BIT_BUTTON_POSITIVE;
         }
 
-        mButtonNegative = (Button) mWindow.findViewById(R.id.button2);
+        mButtonNegative = (Button) buttonPanel.findViewById(R.id.button2);
         mButtonNegative.setOnClickListener(mButtonHandler);
 
         if (TextUtils.isEmpty(mButtonNegativeText)) {
@@ -691,7 +749,7 @@
             whichButtons = whichButtons | BIT_BUTTON_NEGATIVE;
         }
 
-        mButtonNeutral = (Button) mWindow.findViewById(R.id.button3);
+        mButtonNeutral = (Button) buttonPanel.findViewById(R.id.button3);
         mButtonNeutral.setOnClickListener(mButtonHandler);
 
         if (TextUtils.isEmpty(mButtonNeutralText)) {
@@ -717,7 +775,10 @@
             }
         }
 
-        return whichButtons != 0;
+        final boolean hasButtons = whichButtons != 0;
+        if (!hasButtons) {
+            buttonPanel.setVisibility(View.GONE);
+        }
     }
 
     private void centerButton(Button button) {
diff --git a/core/java/com/android/internal/app/DumpHeapActivity.java b/core/java/com/android/internal/app/DumpHeapActivity.java
new file mode 100644
index 0000000..7e70b0c
--- /dev/null
+++ b/core/java/com/android/internal/app/DumpHeapActivity.java
@@ -0,0 +1,106 @@
+/*
+ * 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 com.android.internal.app;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.ClipData;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.util.DebugUtils;
+
+/**
+ * This activity is displayed when the system has collected a heap dump from
+ * a large process and the user has selected to share it.
+ */
+public class DumpHeapActivity extends Activity {
+    /** The process we are reporting */
+    public static final String KEY_PROCESS = "process";
+    /** The size limit the process reached */
+    public static final String KEY_SIZE = "size";
+
+    // Broadcast action to determine when to delete the current dump heap data.
+    public static final String ACTION_DELETE_DUMPHEAP = "com.android.server.am.DELETE_DUMPHEAP";
+
+    // Extra for above: delay delete of data, since the user is in the process of sharing it.
+    public static final String EXTRA_DELAY_DELETE = "delay_delete";
+
+    static final public Uri JAVA_URI = Uri.parse("content://com.android.server.heapdump/java");
+
+    String mProcess;
+    long mSize;
+    AlertDialog mDialog;
+    boolean mHandled = false;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        mProcess = getIntent().getStringExtra(KEY_PROCESS);
+        mSize = getIntent().getLongExtra(KEY_SIZE, 0);
+        AlertDialog.Builder b = new AlertDialog.Builder(this,
+                android.R.style.Theme_Material_Light_Dialog_Alert);
+        b.setTitle(com.android.internal.R.string.dump_heap_title);
+        b.setMessage(getString(com.android.internal.R.string.dump_heap_text,
+                mProcess, DebugUtils.sizeValueToString(mSize, null)));
+        b.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
+            @Override
+            public void onClick(DialogInterface dialog, int which) {
+                mHandled = true;
+                sendBroadcast(new Intent(ACTION_DELETE_DUMPHEAP));
+                finish();
+            }
+        });
+        b.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
+            @Override
+            public void onClick(DialogInterface dialog, int which) {
+                mHandled = true;
+                Intent broadcast = new Intent(ACTION_DELETE_DUMPHEAP);
+                broadcast.putExtra(EXTRA_DELAY_DELETE, true);
+                sendBroadcast(broadcast);
+                Intent intent = new Intent(Intent.ACTION_SEND);
+                ClipData clip = ClipData.newUri(getContentResolver(), "Heap Dump", JAVA_URI);
+                intent.setClipData(clip);
+                intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+                intent.setType(clip.getDescription().getMimeType(0));
+                intent.putExtra(Intent.EXTRA_STREAM, JAVA_URI);
+                startActivity(Intent.createChooser(intent,
+                        getText(com.android.internal.R.string.dump_heap_title)));
+                finish();
+        }
+        });
+        mDialog = b.show();
+    }
+
+    @Override
+    protected void onStop() {
+        super.onStop();
+        if (!isChangingConfigurations()) {
+            if (!mHandled) {
+                sendBroadcast(new Intent(ACTION_DELETE_DUMPHEAP));
+            }
+        }
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        mDialog.dismiss();
+    }
+}
diff --git a/core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl b/core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl
index 6d90420..8f549a6 100644
--- a/core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl
+++ b/core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl
@@ -26,9 +26,11 @@
 import android.service.voice.IVoiceInteractionSession;
 
 interface IVoiceInteractionManagerService {
-    void startSession(IVoiceInteractionService service, in Bundle sessionArgs, int flags);
+    void showSession(IVoiceInteractionService service, in Bundle sessionArgs, int flags);
     boolean deliverNewSession(IBinder token, IVoiceInteractionSession session,
             IVoiceInteractor interactor);
+    boolean showSessionFromSession(IBinder token, in Bundle sessionArgs, int flags);
+    boolean hideSessionFromSession(IBinder token);
     int startVoiceActivity(IBinder token, in Intent intent, String resolvedType);
     void finish(IBinder token);
 
diff --git a/core/java/com/android/internal/app/IntentForwarderActivity.java b/core/java/com/android/internal/app/IntentForwarderActivity.java
index 7c1308f..f598828 100644
--- a/core/java/com/android/internal/app/IntentForwarderActivity.java
+++ b/core/java/com/android/internal/app/IntentForwarderActivity.java
@@ -28,7 +28,6 @@
 import android.content.pm.IPackageManager;
 import android.content.pm.UserInfo;
 import android.os.Bundle;
-import android.os.Process;
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.os.UserManager;
diff --git a/core/java/com/android/internal/app/ProcessStats.java b/core/java/com/android/internal/app/ProcessStats.java
index 70fb510..75beee9 100644
--- a/core/java/com/android/internal/app/ProcessStats.java
+++ b/core/java/com/android/internal/app/ProcessStats.java
@@ -24,6 +24,7 @@
 import android.text.format.DateFormat;
 import android.util.ArrayMap;
 import android.util.ArraySet;
+import android.util.DebugUtils;
 import android.util.Log;
 import android.util.Slog;
 import android.util.SparseArray;
@@ -897,17 +898,17 @@
                         pw.print(STATE_NAMES[procStates[ip]]); pw.print(": ");
                         pw.print(count);
                         pw.print(" samples ");
-                        printSizeValue(pw, proc.getPssMinimum(bucket) * 1024);
+                        DebugUtils.printSizeValue(pw, proc.getPssMinimum(bucket) * 1024);
                         pw.print(" ");
-                        printSizeValue(pw, proc.getPssAverage(bucket) * 1024);
+                        DebugUtils.printSizeValue(pw, proc.getPssAverage(bucket) * 1024);
                         pw.print(" ");
-                        printSizeValue(pw, proc.getPssMaximum(bucket) * 1024);
+                        DebugUtils.printSizeValue(pw, proc.getPssMaximum(bucket) * 1024);
                         pw.print(" / ");
-                        printSizeValue(pw, proc.getPssUssMinimum(bucket) * 1024);
+                        DebugUtils.printSizeValue(pw, proc.getPssUssMinimum(bucket) * 1024);
                         pw.print(" ");
-                        printSizeValue(pw, proc.getPssUssAverage(bucket) * 1024);
+                        DebugUtils.printSizeValue(pw, proc.getPssUssAverage(bucket) * 1024);
                         pw.print(" ");
-                        printSizeValue(pw, proc.getPssUssMaximum(bucket) * 1024);
+                        DebugUtils.printSizeValue(pw, proc.getPssUssMaximum(bucket) * 1024);
                         pw.println();
                     }
                 }
@@ -924,9 +925,9 @@
         if (proc.mNumCachedKill != 0) {
             pw.print(prefix); pw.print("Killed from cached state: ");
                     pw.print(proc.mNumCachedKill); pw.print(" times from pss ");
-                    printSizeValue(pw, proc.mMinCachedKillPss * 1024); pw.print("-");
-                    printSizeValue(pw, proc.mAvgCachedKillPss * 1024); pw.print("-");
-                    printSizeValue(pw, proc.mMaxCachedKillPss * 1024); pw.println();
+                    DebugUtils.printSizeValue(pw, proc.mMinCachedKillPss * 1024); pw.print("-");
+                    DebugUtils.printSizeValue(pw, proc.mAvgCachedKillPss * 1024); pw.print("-");
+                    DebugUtils.printSizeValue(pw, proc.mMaxCachedKillPss * 1024); pw.println();
         }
     }
 
@@ -939,11 +940,11 @@
             int bucket, int index) {
         pw.print(prefix); pw.print(label);
         pw.print(": ");
-        printSizeValue(pw, getSysMemUsageValue(bucket, index) * 1024);
+        DebugUtils.printSizeValue(pw, getSysMemUsageValue(bucket, index) * 1024);
         pw.print(" min, ");
-        printSizeValue(pw, getSysMemUsageValue(bucket, index + 1) * 1024);
+        DebugUtils.printSizeValue(pw, getSysMemUsageValue(bucket, index + 1) * 1024);
         pw.print(" avg, ");
-        printSizeValue(pw, getSysMemUsageValue(bucket, index+2) * 1024);
+        DebugUtils.printSizeValue(pw, getSysMemUsageValue(bucket, index+2) * 1024);
         pw.println(" max");
     }
 
@@ -1150,43 +1151,6 @@
         pw.print("%");
     }
 
-    static void printSizeValue(PrintWriter pw, long number) {
-        float result = number;
-        String suffix = "";
-        if (result > 900) {
-            suffix = "KB";
-            result = result / 1024;
-        }
-        if (result > 900) {
-            suffix = "MB";
-            result = result / 1024;
-        }
-        if (result > 900) {
-            suffix = "GB";
-            result = result / 1024;
-        }
-        if (result > 900) {
-            suffix = "TB";
-            result = result / 1024;
-        }
-        if (result > 900) {
-            suffix = "PB";
-            result = result / 1024;
-        }
-        String value;
-        if (result < 1) {
-            value = String.format("%.2f", result);
-        } else if (result < 10) {
-            value = String.format("%.1f", result);
-        } else if (result < 100) {
-            value = String.format("%.0f", result);
-        } else {
-            value = String.format("%.0f", result);
-        }
-        pw.print(value);
-        pw.print(suffix);
-    }
-
     public static void dumpProcessListCsv(PrintWriter pw, ArrayList<ProcessState> procs,
             boolean sepScreenStates, int[] screenStates, boolean sepMemStates, int[] memStates,
             boolean sepProcStates, int[] procStates, long now) {
@@ -2437,7 +2401,7 @@
             pw.print(prefix);
             pw.print(label);
             pw.print(": ");
-            printSizeValue(pw, mem);
+            DebugUtils.printSizeValue(pw, mem);
             pw.print(" (");
             pw.print(samples);
             pw.print(" samples)");
@@ -2475,7 +2439,7 @@
         totalPss = printMemoryCategory(pw, "  ", "Z-Ram  ", totalMem.sysMemZRamWeight,
                 totalMem.totalTime, totalPss, totalMem.sysMemSamples);
         pw.print("  TOTAL  : ");
-        printSizeValue(pw, totalPss);
+        DebugUtils.printSizeValue(pw, totalPss);
         pw.println();
         printMemoryCategory(pw, "  ", STATE_NAMES[STATE_SERVICE_RESTARTING],
                 totalMem.processStateWeight[STATE_SERVICE_RESTARTING], totalMem.totalTime, totalPss,
@@ -3781,17 +3745,17 @@
             printPercent(pw, (double) totalTime / (double) overallTime);
             if (numPss > 0) {
                 pw.print(" (");
-                printSizeValue(pw, minPss * 1024);
+                DebugUtils.printSizeValue(pw, minPss * 1024);
                 pw.print("-");
-                printSizeValue(pw, avgPss * 1024);
+                DebugUtils.printSizeValue(pw, avgPss * 1024);
                 pw.print("-");
-                printSizeValue(pw, maxPss * 1024);
+                DebugUtils.printSizeValue(pw, maxPss * 1024);
                 pw.print("/");
-                printSizeValue(pw, minUss * 1024);
+                DebugUtils.printSizeValue(pw, minUss * 1024);
                 pw.print("-");
-                printSizeValue(pw, avgUss * 1024);
+                DebugUtils.printSizeValue(pw, avgUss * 1024);
                 pw.print("-");
-                printSizeValue(pw, maxUss * 1024);
+                DebugUtils.printSizeValue(pw, maxUss * 1024);
                 if (full) {
                     pw.print(" over ");
                     pw.print(numPss);
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java
index a410e45..3ceea9d 100644
--- a/core/java/com/android/internal/app/ResolverActivity.java
+++ b/core/java/com/android/internal/app/ResolverActivity.java
@@ -342,6 +342,9 @@
                         return;
                     }
 
+                    // Do not show the profile switch message anymore.
+                    mProfileSwitchMessageId = -1;
+
                     final Intent intent = intentForDisplayResolveInfo(dri);
                     onIntentSelected(dri.ri, intent, false);
                     finish();
diff --git a/core/java/com/android/internal/app/WindowDecorActionBar.java b/core/java/com/android/internal/app/WindowDecorActionBar.java
index 061b535..2bf02f1 100644
--- a/core/java/com/android/internal/app/WindowDecorActionBar.java
+++ b/core/java/com/android/internal/app/WindowDecorActionBar.java
@@ -20,8 +20,10 @@
 import android.content.res.TypedArray;
 import android.view.ViewParent;
 import android.widget.Toolbar;
+
 import com.android.internal.R;
 import com.android.internal.view.ActionBarPolicy;
+import com.android.internal.view.ActionModeWrapper;
 import com.android.internal.view.menu.MenuBuilder;
 import com.android.internal.view.menu.MenuPopupHelper;
 import com.android.internal.view.menu.SubMenuBuilder;
@@ -46,6 +48,7 @@
 import android.graphics.drawable.Drawable;
 import android.util.TypedValue;
 import android.view.ActionMode;
+import android.view.ActionMode.Callback;
 import android.view.ContextThemeWrapper;
 import android.view.LayoutInflater;
 import android.view.Menu;
@@ -88,20 +91,20 @@
 
     private TabImpl mSelectedTab;
     private int mSavedTabPosition = INVALID_POSITION;
-    
+
     private boolean mDisplayHomeAsUpSet;
 
-    ActionModeImpl mActionMode;
+    ActionMode mActionMode;
     ActionMode mDeferredDestroyActionMode;
     ActionMode.Callback mDeferredModeDestroyCallback;
-    
+
     private boolean mLastMenuVisibility;
     private ArrayList<OnMenuVisibilityListener> mMenuVisibilityListeners =
             new ArrayList<OnMenuVisibilityListener>();
 
     private static final int CONTEXT_DISPLAY_NORMAL = 0;
     private static final int CONTEXT_DISPLAY_SPLIT = 1;
-    
+
     private static final int INVALID_POSITION = -1;
 
     private int mContextDisplayMode;
@@ -942,11 +945,12 @@
         private ActionMode.Callback mCallback;
         private WeakReference<View> mCustomView;
 
-        public ActionModeImpl(Context context, ActionMode.Callback callback) {
+        public ActionModeImpl(
+                Context context, ActionMode.Callback callback) {
             mActionModeContext = context;
             mCallback = callback;
             mMenu = new MenuBuilder(context)
-                    .setDefaultShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
+                        .setDefaultShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
             mMenu.setCallback(this);
         }
 
diff --git a/core/java/com/android/internal/backup/LocalTransport.java b/core/java/com/android/internal/backup/LocalTransport.java
index 044383e..e32a3a2 100644
--- a/core/java/com/android/internal/backup/LocalTransport.java
+++ b/core/java/com/android/internal/backup/LocalTransport.java
@@ -44,11 +44,8 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
-import java.util.List;
-
 import static android.system.OsConstants.*;
 
 /**
@@ -87,7 +84,6 @@
     private File mRestoreSetDir;
     private File mRestoreSetIncrementalDir;
     private File mRestoreSetFullDir;
-    private long mRestoreToken;
 
     // Additional bookkeeping for full backup
     private String mFullTargetPackage;
@@ -96,20 +92,22 @@
     private BufferedOutputStream mFullBackupOutputStream;
     private byte[] mFullBackupBuffer;
 
-    private File mFullRestoreSetDir;
-    private HashSet<String> mFullRestorePackages;
     private FileInputStream mCurFullRestoreStream;
     private FileOutputStream mFullRestoreSocketStream;
     private byte[] mFullRestoreBuffer;
 
-    public LocalTransport(Context context) {
-        mContext = context;
+    private void makeDataDirs() {
         mCurrentSetDir.mkdirs();
-        mCurrentSetFullDir.mkdir();
-        mCurrentSetIncrementalDir.mkdir();
         if (!SELinux.restorecon(mCurrentSetDir)) {
             Log.e(TAG, "SELinux restorecon failed for " + mCurrentSetDir);
         }
+        mCurrentSetFullDir.mkdir();
+        mCurrentSetIncrementalDir.mkdir();
+    }
+
+    public LocalTransport(Context context) {
+        mContext = context;
+        makeDataDirs();
     }
 
     @Override
@@ -154,6 +152,7 @@
     public int initializeDevice() {
         if (DEBUG) Log.v(TAG, "wiping all data");
         deleteContents(mCurrentSetDir);
+        makeDataDirs();
         return TRANSPORT_OK;
     }
 
@@ -372,6 +371,9 @@
                 return TRANSPORT_ERROR;
             }
         }
+        if (DEBUG) {
+            Log.v(TAG, "   stored " + numBytes + " of data");
+        }
         return TRANSPORT_OK;
     }
 
@@ -425,7 +427,6 @@
                 + " matching packages");
         mRestorePackages = packages;
         mRestorePackage = -1;
-        mRestoreToken = token;
         mRestoreSetDir = new File(mDataDir, Long.toString(token));
         mRestoreSetIncrementalDir = new File(mRestoreSetDir, INCREMENTAL_DIR);
         mRestoreSetFullDir = new File(mRestoreSetDir, FULL_DATA_DIR);
@@ -434,6 +435,10 @@
 
     @Override
     public RestoreDescription nextRestorePackage() {
+        if (DEBUG) {
+            Log.v(TAG, "nextRestorePackage() : mRestorePackage=" + mRestorePackage
+                    + " length=" + mRestorePackages.length);
+        }
         if (mRestorePackages == null) throw new IllegalStateException("startRestore not called");
 
         boolean found = false;
@@ -444,7 +449,10 @@
             // skip packages where we have a data dir but no actual contents
             String[] contents = (new File(mRestoreSetIncrementalDir, name)).list();
             if (contents != null && contents.length > 0) {
-                if (DEBUG) Log.v(TAG, "  nextRestorePackage(TYPE_KEY_VALUE) = " + name);
+                if (DEBUG) {
+                    Log.v(TAG, "  nextRestorePackage(TYPE_KEY_VALUE) @ "
+                        + mRestorePackage + " = " + name);
+                }
                 mRestoreType = RestoreDescription.TYPE_KEY_VALUE;
                 found = true;
             }
@@ -453,7 +461,10 @@
                 // No key/value data; check for [non-empty] full data
                 File maybeFullData = new File(mRestoreSetFullDir, name);
                 if (maybeFullData.length() > 0) {
-                    if (DEBUG) Log.v(TAG, "  nextRestorePackage(TYPE_FULL_STREAM) = " + name);
+                    if (DEBUG) {
+                        Log.v(TAG, "  nextRestorePackage(TYPE_FULL_STREAM) @ "
+                                + mRestorePackage + " = " + name);
+                    }
                     mRestoreType = RestoreDescription.TYPE_FULL_STREAM;
                     mCurFullRestoreStream = null;   // ensure starting from the ground state
                     found = true;
@@ -463,6 +474,11 @@
             if (found) {
                 return new RestoreDescription(name, mRestoreType);
             }
+
+            if (DEBUG) {
+                Log.v(TAG, "  ... package @ " + mRestorePackage + " = " + name
+                        + " has no data; skipping");
+            }
         }
 
         if (DEBUG) Log.v(TAG, "  no more packages to restore");
diff --git a/core/java/com/android/internal/inputmethod/InputMethodUtils.java b/core/java/com/android/internal/inputmethod/InputMethodUtils.java
index 9aa36d3..29326d3a 100644
--- a/core/java/com/android/internal/inputmethod/InputMethodUtils.java
+++ b/core/java/com/android/internal/inputmethod/InputMethodUtils.java
@@ -132,7 +132,7 @@
         return containsSubtypeOf(imi, ENGLISH_LOCALE.getLanguage(), SUBTYPE_MODE_KEYBOARD);
     }
 
-    private static boolean isSystemImeThatHasSubtypeOf(final InputMethodInfo imi,
+    public static boolean isSystemImeThatHasSubtypeOf(final InputMethodInfo imi,
             final Context context, final boolean checkDefaultAttribute,
             @Nullable final Locale requiredLocale, final boolean checkCountry,
             final String requiredSubtypeMode) {
diff --git a/core/java/com/android/internal/net/VpnInfo.aidl b/core/java/com/android/internal/net/VpnInfo.aidl
new file mode 100644
index 0000000..6fc97be
--- /dev/null
+++ b/core/java/com/android/internal/net/VpnInfo.aidl
@@ -0,0 +1,19 @@
+/*
+ * 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 com.android.internal.net;
+
+parcelable VpnInfo;
diff --git a/core/java/com/android/internal/net/VpnInfo.java b/core/java/com/android/internal/net/VpnInfo.java
new file mode 100644
index 0000000..a676dac
--- /dev/null
+++ b/core/java/com/android/internal/net/VpnInfo.java
@@ -0,0 +1,69 @@
+/*
+ * 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 com.android.internal.net;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/**
+ * A lightweight container used to carry information of the ongoing VPN.
+ * Internal use only..
+ *
+ * @hide
+ */
+public class VpnInfo implements Parcelable {
+    public int ownerUid;
+    public String vpnIface;
+    public String primaryUnderlyingIface;
+
+    @Override
+    public String toString() {
+        return "VpnInfo{" +
+                "ownerUid=" + ownerUid +
+                ", vpnIface='" + vpnIface + '\'' +
+                ", primaryUnderlyingIface='" + primaryUnderlyingIface + '\'' +
+                '}';
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeInt(ownerUid);
+        dest.writeString(vpnIface);
+        dest.writeString(primaryUnderlyingIface);
+    }
+
+    public static final Parcelable.Creator<VpnInfo> CREATOR = new Parcelable.Creator<VpnInfo>() {
+        @Override
+        public VpnInfo createFromParcel(Parcel source) {
+            VpnInfo info = new VpnInfo();
+            info.ownerUid = source.readInt();
+            info.vpnIface = source.readString();
+            info.primaryUnderlyingIface = source.readString();
+            return info;
+        }
+
+        @Override
+        public VpnInfo[] newArray(int size) {
+            return new VpnInfo[size];
+        }
+    };
+}
diff --git a/core/java/com/android/internal/os/BatterySipper.java b/core/java/com/android/internal/os/BatterySipper.java
index cfeca08..4cd959f 100644
--- a/core/java/com/android/internal/os/BatterySipper.java
+++ b/core/java/com/android/internal/os/BatterySipper.java
@@ -26,12 +26,15 @@
     public double value;
     public double[] values;
     public DrainType drainType;
+
+    // Measured in milliseconds.
     public long usageTime;
     public long cpuTime;
     public long gpsTime;
     public long wifiRunningTime;
     public long cpuFgTime;
     public long wakeLockTime;
+
     public long mobileRxPackets;
     public long mobileTxPackets;
     public long mobileActive;
@@ -48,6 +51,14 @@
     public String[] mPackages;
     public String packageWithHighestDrain;
 
+    // Measured in mAh (milli-ampere per hour).
+    public double wifiPower;
+    public double cpuPower;
+    public double wakeLockPower;
+    public double mobileRadioPower;
+    public double gpsPower;
+    public double sensorPower;
+
     public enum DrainType {
         IDLE,
         CELL,
@@ -107,4 +118,31 @@
         }
         return uidObj.getUid();
     }
+
+    /**
+     * Add stats from other to this BatterySipper.
+     */
+    public void add(BatterySipper other) {
+        cpuTime += other.cpuTime;
+        gpsTime += other.gpsTime;
+        wifiRunningTime += other.wifiRunningTime;
+        cpuFgTime += other.cpuFgTime;
+        wakeLockTime += other.wakeLockTime;
+        mobileRxPackets += other.mobileRxPackets;
+        mobileTxPackets += other.mobileTxPackets;
+        mobileActive += other.mobileActive;
+        mobileActiveCount += other.mobileActiveCount;
+        wifiRxPackets += other.wifiRxPackets;
+        wifiTxPackets += other.wifiTxPackets;
+        mobileRxBytes += other.mobileRxBytes;
+        mobileTxBytes += other.mobileTxBytes;
+        wifiRxBytes += other.wifiRxBytes;
+        wifiTxBytes += other.wifiTxBytes;
+        wifiPower += other.wifiPower;
+        gpsPower += other.gpsPower;
+        cpuPower += other.cpuPower;
+        sensorPower += other.sensorPower;
+        mobileRadioPower += other.mobileRadioPower;
+        wakeLockPower += other.wakeLockPower;
+    }
 }
diff --git a/core/java/com/android/internal/os/BatteryStatsHelper.java b/core/java/com/android/internal/os/BatteryStatsHelper.java
index eae4427..d3611bf 100644
--- a/core/java/com/android/internal/os/BatteryStatsHelper.java
+++ b/core/java/com/android/internal/os/BatteryStatsHelper.java
@@ -344,6 +344,7 @@
                 mMobilemsppList.add(bs);
             }
         }
+
         for (int i=0; i<mUserSippers.size(); i++) {
             List<BatterySipper> user = mUserSippers.valueAt(i);
             for (int j=0; j<user.size(); j++) {
@@ -389,8 +390,8 @@
 
     private void processAppUsage(SparseArray<UserHandle> asUsers) {
         final boolean forAllUsers = (asUsers.get(UserHandle.USER_ALL) != null);
-        SensorManager sensorManager = (SensorManager) mContext.getSystemService(
-                Context.SENSOR_SERVICE);
+        final SensorManager sensorManager =
+                (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE);
         final int which = mStatsType;
         final int speedSteps = mPowerProfile.getNumSpeedSteps();
         final double[] powerCpuNormal = new double[speedSteps];
@@ -401,238 +402,317 @@
         final double mobilePowerPerPacket = getMobilePowerPerPacket();
         final double mobilePowerPerMs = getMobilePowerPerMs();
         final double wifiPowerPerPacket = getWifiPowerPerPacket();
-        long appWakelockTimeUs = 0;
+        long totalAppWakelockTimeUs = 0;
         BatterySipper osApp = null;
         mStatsPeriod = mTypeBatteryRealtime;
-        SparseArray<? extends Uid> uidStats = mStats.getUidStats();
+
+        final ArrayList<BatterySipper> appList = new ArrayList<>();
+
+        // Max values used to normalize later.
+        double maxWifiPower = 0;
+        double maxCpuPower = 0;
+        double maxWakeLockPower = 0;
+        double maxMobileRadioPower = 0;
+        double maxGpsPower = 0;
+        double maxSensorPower = 0;
+
+        final SparseArray<? extends Uid> uidStats = mStats.getUidStats();
         final int NU = uidStats.size();
         for (int iu = 0; iu < NU; iu++) {
-            Uid u = uidStats.valueAt(iu);
-            double p; // in mAs
-            double power = 0; // in mAs
-            double highestDrain = 0;
-            String packageWithHighestDrain = null;
-            Map<String, ? extends BatteryStats.Uid.Proc> processStats = u.getProcessStats();
-            long cpuTime = 0;
-            long cpuFgTime = 0;
-            long wakelockTime = 0;
-            long gpsTime = 0;
+            final Uid u = uidStats.valueAt(iu);
+            final BatterySipper app = new BatterySipper(
+                    BatterySipper.DrainType.APP, u, new double[]{0});
+
+            final Map<String, ? extends BatteryStats.Uid.Proc> processStats = u.getProcessStats();
             if (processStats.size() > 0) {
-                // Process CPU time
+                // Process CPU time.
+
+                // Keep track of the package with highest drain.
+                double highestDrain = 0;
+
                 for (Map.Entry<String, ? extends BatteryStats.Uid.Proc> ent
                         : processStats.entrySet()) {
                     Uid.Proc ps = ent.getValue();
-                    final long userTime = ps.getUserTime(which);
-                    final long systemTime = ps.getSystemTime(which);
-                    final long foregroundTime = ps.getForegroundTime(which);
-                    cpuFgTime += foregroundTime * 10; // convert to millis
-                    final long tmpCpuTime = (userTime + systemTime) * 10; // convert to millis
-                    int totalTimeAtSpeeds = 0;
-                    // Get the total first
+                    app.cpuFgTime += ps.getForegroundTime(which);
+                    final long totalCpuTime = ps.getUserTime(which) + ps.getSystemTime(which);
+                    app.cpuTime += totalCpuTime;
+
+                    // Calculate the total CPU time spent at the various speed steps.
+                    long totalTimeAtSpeeds = 0;
                     for (int step = 0; step < speedSteps; step++) {
                         cpuSpeedStepTimes[step] = ps.getTimeAtCpuSpeedStep(step, which);
                         totalTimeAtSpeeds += cpuSpeedStepTimes[step];
                     }
-                    if (totalTimeAtSpeeds == 0) totalTimeAtSpeeds = 1;
-                    // Then compute the ratio of time spent at each speed
-                    double processPower = 0;
+                    totalTimeAtSpeeds = Math.max(totalTimeAtSpeeds, 1);
+
+                    // Then compute the ratio of time spent at each speed and figure out
+                    // the total power consumption.
+                    double cpuPower = 0;
                     for (int step = 0; step < speedSteps; step++) {
-                        double ratio = (double) cpuSpeedStepTimes[step] / totalTimeAtSpeeds;
-                        if (DEBUG && ratio != 0) Log.d(TAG, "UID " + u.getUid() + ": CPU step #"
-                                + step + " ratio=" + makemAh(ratio) + " power="
-                                + makemAh(ratio*tmpCpuTime*powerCpuNormal[step] / (60*60*1000)));
-                        processPower += ratio * tmpCpuTime * powerCpuNormal[step];
+                        final double ratio = (double) cpuSpeedStepTimes[step] / totalTimeAtSpeeds;
+                        final double cpuSpeedStepPower =
+                                ratio * totalCpuTime * powerCpuNormal[step];
+                        if (DEBUG && ratio != 0) {
+                            Log.d(TAG, "UID " + u.getUid() + ": CPU step #"
+                                    + step + " ratio=" + makemAh(ratio) + " power="
+                                    + makemAh(cpuSpeedStepPower / (60 * 60 * 1000)));
+                        }
+                        cpuPower += cpuSpeedStepPower;
                     }
-                    cpuTime += tmpCpuTime;
-                    if (DEBUG && processPower != 0) {
+
+                    if (DEBUG && cpuPower != 0) {
                         Log.d(TAG, String.format("process %s, cpu power=%s",
-                                ent.getKey(), makemAh(processPower / (60*60*1000))));
+                                ent.getKey(), makemAh(cpuPower / (60 * 60 * 1000))));
                     }
-                    power += processPower;
-                    if (packageWithHighestDrain == null
-                            || packageWithHighestDrain.startsWith("*")) {
-                        highestDrain = processPower;
-                        packageWithHighestDrain = ent.getKey();
-                    } else if (highestDrain < processPower
-                            && !ent.getKey().startsWith("*")) {
-                        highestDrain = processPower;
-                        packageWithHighestDrain = ent.getKey();
+                    app.cpuPower += cpuPower;
+
+                    // Each App can have multiple packages and with multiple running processes.
+                    // Keep track of the package who's process has the highest drain.
+                    if (app.packageWithHighestDrain == null ||
+                            app.packageWithHighestDrain.startsWith("*")) {
+                        highestDrain = cpuPower;
+                        app.packageWithHighestDrain = ent.getKey();
+                    } else if (highestDrain < cpuPower && !ent.getKey().startsWith("*")) {
+                        highestDrain = cpuPower;
+                        app.packageWithHighestDrain = ent.getKey();
                     }
                 }
             }
-            if (cpuFgTime > cpuTime) {
-                if (DEBUG && cpuFgTime > cpuTime + 10000) {
+
+            // Ensure that the CPU times make sense.
+            if (app.cpuFgTime > app.cpuTime) {
+                if (DEBUG && app.cpuFgTime > app.cpuTime + 10000) {
                     Log.d(TAG, "WARNING! Cputime is more than 10 seconds behind Foreground time");
                 }
-                cpuTime = cpuFgTime; // Statistics may not have been gathered yet.
+
+                // Statistics may not have been gathered yet.
+                app.cpuTime = app.cpuFgTime;
             }
-            power /= (60*60*1000);
+
+            // Convert the CPU power to mAh
+            app.cpuPower /= (60 * 60 * 1000);
+            maxCpuPower = Math.max(maxCpuPower, app.cpuPower);
 
             // Process wake lock usage
-            Map<String, ? extends BatteryStats.Uid.Wakelock> wakelockStats = u.getWakelockStats();
+            final Map<String, ? extends BatteryStats.Uid.Wakelock> wakelockStats =
+                    u.getWakelockStats();
+            long wakeLockTimeUs = 0;
             for (Map.Entry<String, ? extends BatteryStats.Uid.Wakelock> wakelockEntry
                     : wakelockStats.entrySet()) {
-                Uid.Wakelock wakelock = wakelockEntry.getValue();
+                final Uid.Wakelock wakelock = wakelockEntry.getValue();
+
                 // Only care about partial wake locks since full wake locks
                 // are canceled when the user turns the screen off.
                 BatteryStats.Timer timer = wakelock.getWakeTime(BatteryStats.WAKE_TYPE_PARTIAL);
                 if (timer != null) {
-                    wakelockTime += timer.getTotalTimeLocked(mRawRealtime, which);
+                    wakeLockTimeUs += timer.getTotalTimeLocked(mRawRealtime, which);
                 }
             }
-            appWakelockTimeUs += wakelockTime;
-            wakelockTime /= 1000; // convert to millis
+            app.wakeLockTime = wakeLockTimeUs / 1000; // convert to millis
+            totalAppWakelockTimeUs += wakeLockTimeUs;
 
-            // Add cost of holding a wake lock
-            p = (wakelockTime
-                    * mPowerProfile.getAveragePower(PowerProfile.POWER_CPU_AWAKE)) / (60*60*1000);
-            if (DEBUG && p != 0) Log.d(TAG, "UID " + u.getUid() + ": wake "
-                    + wakelockTime + " power=" + makemAh(p));
-            power += p;
+            // Add cost of holding a wake lock.
+            app.wakeLockPower = (app.wakeLockTime *
+                    mPowerProfile.getAveragePower(PowerProfile.POWER_CPU_AWAKE)) / (60 * 60 * 1000);
+            if (DEBUG && app.wakeLockPower != 0) {
+                Log.d(TAG, "UID " + u.getUid() + ": wake "
+                        + app.wakeLockTime + " power=" + makemAh(app.wakeLockPower));
+            }
+            maxWakeLockPower = Math.max(maxWakeLockPower, app.wakeLockPower);
 
-            // Add cost of mobile traffic
-            final long mobileRx = u.getNetworkActivityPackets(NETWORK_MOBILE_RX_DATA, mStatsType);
-            final long mobileTx = u.getNetworkActivityPackets(NETWORK_MOBILE_TX_DATA, mStatsType);
-            final long mobileRxB = u.getNetworkActivityBytes(NETWORK_MOBILE_RX_DATA, mStatsType);
-            final long mobileTxB = u.getNetworkActivityBytes(NETWORK_MOBILE_TX_DATA, mStatsType);
+            // Add cost of mobile traffic.
             final long mobileActive = u.getMobileRadioActiveTime(mStatsType);
+            app.mobileRxPackets = u.getNetworkActivityPackets(NETWORK_MOBILE_RX_DATA, mStatsType);
+            app.mobileTxPackets = u.getNetworkActivityPackets(NETWORK_MOBILE_TX_DATA, mStatsType);
+            app.mobileActive = mobileActive / 1000;
+            app.mobileActiveCount = u.getMobileRadioActiveCount(mStatsType);
+            app.mobileRxBytes = u.getNetworkActivityBytes(NETWORK_MOBILE_RX_DATA, mStatsType);
+            app.mobileTxBytes = u.getNetworkActivityBytes(NETWORK_MOBILE_TX_DATA, mStatsType);
+
             if (mobileActive > 0) {
                 // We are tracking when the radio is up, so can use the active time to
                 // determine power use.
                 mAppMobileActive += mobileActive;
-                p = (mobilePowerPerMs * mobileActive) / 1000;
+                app.mobileRadioPower = (mobilePowerPerMs * mobileActive) / 1000;
             } else {
                 // We are not tracking when the radio is up, so must approximate power use
                 // based on the number of packets.
-                p = (mobileRx + mobileTx) * mobilePowerPerPacket;
+                app.mobileRadioPower = (app.mobileRxPackets + app.mobileTxPackets)
+                        * mobilePowerPerPacket;
             }
-            if (DEBUG && p != 0) Log.d(TAG, "UID " + u.getUid() + ": mobile packets "
-                    + (mobileRx+mobileTx) + " active time " + mobileActive
-                    + " power=" + makemAh(p));
-            power += p;
+            if (DEBUG && app.mobileRadioPower != 0) {
+                Log.d(TAG, "UID " + u.getUid() + ": mobile packets "
+                        + (app.mobileRxPackets + app.mobileTxPackets)
+                        + " active time " + mobileActive
+                        + " power=" + makemAh(app.mobileRadioPower));
+            }
+            maxMobileRadioPower = Math.max(maxMobileRadioPower, app.mobileRadioPower);
 
             // Add cost of wifi traffic
-            final long wifiRx = u.getNetworkActivityPackets(NETWORK_WIFI_RX_DATA, mStatsType);
-            final long wifiTx = u.getNetworkActivityPackets(NETWORK_WIFI_TX_DATA, mStatsType);
-            final long wifiRxB = u.getNetworkActivityBytes(NETWORK_WIFI_RX_DATA, mStatsType);
-            final long wifiTxB = u.getNetworkActivityBytes(NETWORK_WIFI_TX_DATA, mStatsType);
-            p = (wifiRx + wifiTx) * wifiPowerPerPacket;
-            if (DEBUG && p != 0) Log.d(TAG, "UID " + u.getUid() + ": wifi packets "
-                    + (mobileRx+mobileTx) + " power=" + makemAh(p));
-            power += p;
+            app.wifiRxPackets = u.getNetworkActivityPackets(NETWORK_WIFI_RX_DATA, mStatsType);
+            app.wifiTxPackets = u.getNetworkActivityPackets(NETWORK_WIFI_TX_DATA, mStatsType);
+            app.wifiRxBytes = u.getNetworkActivityBytes(NETWORK_WIFI_RX_DATA, mStatsType);
+            app.wifiTxBytes = u.getNetworkActivityBytes(NETWORK_WIFI_TX_DATA, mStatsType);
 
-            // Add cost of keeping WIFI running.
-            long wifiRunningTimeMs = u.getWifiRunningTime(mRawRealtime, which) / 1000;
-            mAppWifiRunning += wifiRunningTimeMs;
-            p = (wifiRunningTimeMs
-                    * mPowerProfile.getAveragePower(PowerProfile.POWER_WIFI_ON)) / (60*60*1000);
-            if (DEBUG && p != 0) Log.d(TAG, "UID " + u.getUid() + ": wifi running "
-                    + wifiRunningTimeMs + " power=" + makemAh(p));
-            power += p;
-
-            // Add cost of WIFI scans
-            long wifiScanTimeMs = u.getWifiScanTime(mRawRealtime, which) / 1000;
-            p = (wifiScanTimeMs
-                    * mPowerProfile.getAveragePower(PowerProfile.POWER_WIFI_SCAN)) / (60*60*1000);
-            if (DEBUG) Log.d(TAG, "UID " + u.getUid() + ": wifi scan " + wifiScanTimeMs
-                    + " power=" + makemAh(p));
-            power += p;
-            for (int bin = 0; bin < BatteryStats.Uid.NUM_WIFI_BATCHED_SCAN_BINS; bin++) {
-                long batchScanTimeMs = u.getWifiBatchedScanTime(bin, mRawRealtime, which) / 1000;
-                p = ((batchScanTimeMs
-                        * mPowerProfile.getAveragePower(PowerProfile.POWER_WIFI_BATCHED_SCAN, bin))
-                    ) / (60*60*1000);
-                if (DEBUG && p != 0) Log.d(TAG, "UID " + u.getUid() + ": wifi batched scan # " + bin
-                        + " time=" + batchScanTimeMs + " power=" + makemAh(p));
-                power += p;
+            final double wifiPacketPower = (app.wifiRxPackets + app.wifiTxPackets)
+                    * wifiPowerPerPacket;
+            if (DEBUG && wifiPacketPower != 0) {
+                Log.d(TAG, "UID " + u.getUid() + ": wifi packets "
+                        + (app.wifiRxPackets + app.wifiTxPackets)
+                        + " power=" + makemAh(wifiPacketPower));
             }
 
+            // Add cost of keeping WIFI running.
+            app.wifiRunningTime = u.getWifiRunningTime(mRawRealtime, which) / 1000;
+            mAppWifiRunning += app.wifiRunningTime;
+
+            final double wifiLockPower = (app.wifiRunningTime
+                    * mPowerProfile.getAveragePower(PowerProfile.POWER_WIFI_ON)) / (60 * 60 * 1000);
+            if (DEBUG && wifiLockPower != 0) {
+                Log.d(TAG, "UID " + u.getUid() + ": wifi running "
+                        + app.wifiRunningTime + " power=" + makemAh(wifiLockPower));
+            }
+
+            // Add cost of WIFI scans
+            final long wifiScanTimeMs = u.getWifiScanTime(mRawRealtime, which) / 1000;
+            final double wifiScanPower = (wifiScanTimeMs
+                    * mPowerProfile.getAveragePower(PowerProfile.POWER_WIFI_SCAN))
+                    /  (60 * 60 * 1000);
+            if (DEBUG && wifiScanPower != 0) {
+                Log.d(TAG, "UID " + u.getUid() + ": wifi scan " + wifiScanTimeMs
+                        + " power=" + makemAh(wifiScanPower));
+            }
+
+            // Add cost of WIFI batch scans.
+            double wifiBatchScanPower = 0;
+            for (int bin = 0; bin < BatteryStats.Uid.NUM_WIFI_BATCHED_SCAN_BINS; bin++) {
+                final long batchScanTimeMs =
+                        u.getWifiBatchedScanTime(bin, mRawRealtime, which) / 1000;
+                final double batchScanPower = ((batchScanTimeMs
+                        * mPowerProfile.getAveragePower(PowerProfile.POWER_WIFI_BATCHED_SCAN, bin))
+                ) / (60 * 60 * 1000);
+                if (DEBUG && batchScanPower != 0) {
+                    Log.d(TAG, "UID " + u.getUid() + ": wifi batched scan # " + bin
+                            + " time=" + batchScanTimeMs + " power=" + makemAh(batchScanPower));
+                }
+                wifiBatchScanPower += batchScanPower;
+            }
+
+            // Add up all the WiFi costs.
+            app.wifiPower = wifiPacketPower + wifiLockPower + wifiScanPower + wifiBatchScanPower;
+            maxWifiPower = Math.max(maxWifiPower, app.wifiPower);
+
             // Process Sensor usage
-            SparseArray<? extends BatteryStats.Uid.Sensor> sensorStats = u.getSensorStats();
-            int NSE = sensorStats.size();
-            for (int ise=0; ise<NSE; ise++) {
-                Uid.Sensor sensor = sensorStats.valueAt(ise);
-                int sensorHandle = sensorStats.keyAt(ise);
-                BatteryStats.Timer timer = sensor.getSensorTime();
-                long sensorTime = timer.getTotalTimeLocked(mRawRealtime, which) / 1000;
-                double multiplier = 0;
+            final SparseArray<? extends BatteryStats.Uid.Sensor> sensorStats = u.getSensorStats();
+            final int NSE = sensorStats.size();
+            for (int ise = 0; ise < NSE; ise++) {
+                final Uid.Sensor sensor = sensorStats.valueAt(ise);
+                final int sensorHandle = sensorStats.keyAt(ise);
+                final BatteryStats.Timer timer = sensor.getSensorTime();
+                final long sensorTime = timer.getTotalTimeLocked(mRawRealtime, which) / 1000;
+                double sensorPower = 0;
                 switch (sensorHandle) {
                     case Uid.Sensor.GPS:
-                        multiplier = mPowerProfile.getAveragePower(PowerProfile.POWER_GPS_ON);
-                        gpsTime = sensorTime;
+                        app.gpsTime = sensorTime;
+                        app.gpsPower = (app.gpsTime
+                                * mPowerProfile.getAveragePower(PowerProfile.POWER_GPS_ON))
+                                / (60 * 60 * 1000);
+                        sensorPower = app.gpsPower;
+                        maxGpsPower = Math.max(maxGpsPower, app.gpsPower);
                         break;
                     default:
                         List<Sensor> sensorList = sensorManager.getSensorList(
                                 android.hardware.Sensor.TYPE_ALL);
                         for (android.hardware.Sensor s : sensorList) {
                             if (s.getHandle() == sensorHandle) {
-                                multiplier = s.getPower();
+                                sensorPower = (sensorTime * s.getPower()) / (60 * 60 * 1000);
+                                app.sensorPower += sensorPower;
                                 break;
                             }
                         }
                 }
-                p = (multiplier * sensorTime) / (60*60*1000);
-                if (DEBUG && p != 0) Log.d(TAG, "UID " + u.getUid() + ": sensor #" + sensorHandle
-                        + " time=" + sensorTime + " power=" + makemAh(p));
-                power += p;
+                if (DEBUG && sensorPower != 0) {
+                    Log.d(TAG, "UID " + u.getUid() + ": sensor #" + sensorHandle
+                            + " time=" + sensorTime + " power=" + makemAh(sensorPower));
+                }
+            }
+            maxSensorPower = Math.max(maxSensorPower, app.sensorPower);
+
+            final double totalUnnormalizedPower = app.cpuPower + app.wifiPower + app.wakeLockPower
+                    + app.mobileRadioPower + app.gpsPower + app.sensorPower;
+            if (DEBUG && totalUnnormalizedPower != 0) {
+                Log.d(TAG, String.format("UID %d: total power=%s",
+                        u.getUid(), makemAh(totalUnnormalizedPower)));
             }
 
-            if (DEBUG && power != 0) Log.d(TAG, String.format("UID %d: total power=%s",
-                    u.getUid(), makemAh(power)));
+            // Add the app to the list if it is consuming power.
+            if (totalUnnormalizedPower != 0 || u.getUid() == 0) {
+                appList.add(app);
+            }
+        }
 
-            // Add the app to the list if it is consuming power
-            final int userId = UserHandle.getUserId(u.getUid());
-            if (power != 0 || u.getUid() == 0) {
-                BatterySipper app = new BatterySipper(BatterySipper.DrainType.APP, u,
-                        new double[] {power});
-                app.cpuTime = cpuTime;
-                app.gpsTime = gpsTime;
-                app.wifiRunningTime = wifiRunningTimeMs;
-                app.cpuFgTime = cpuFgTime;
-                app.wakeLockTime = wakelockTime;
-                app.mobileRxPackets = mobileRx;
-                app.mobileTxPackets = mobileTx;
-                app.mobileActive = mobileActive / 1000;
-                app.mobileActiveCount = u.getMobileRadioActiveCount(mStatsType);
-                app.wifiRxPackets = wifiRx;
-                app.wifiTxPackets = wifiTx;
-                app.mobileRxBytes = mobileRxB;
-                app.mobileTxBytes = mobileTxB;
-                app.wifiRxBytes = wifiRxB;
-                app.wifiTxBytes = wifiTxB;
-                app.packageWithHighestDrain = packageWithHighestDrain;
-                if (u.getUid() == Process.WIFI_UID) {
-                    mWifiSippers.add(app);
-                    mWifiPower += power;
-                } else if (u.getUid() == Process.BLUETOOTH_UID) {
-                    mBluetoothSippers.add(app);
-                    mBluetoothPower += power;
-                } else if (!forAllUsers && asUsers.get(userId) == null
-                        && UserHandle.getAppId(u.getUid()) >= Process.FIRST_APPLICATION_UID) {
-                    List<BatterySipper> list = mUserSippers.get(userId);
-                    if (list == null) {
-                        list = new ArrayList<BatterySipper>();
-                        mUserSippers.put(userId, list);
-                    }
-                    list.add(app);
-                    if (power != 0) {
-                        Double userPower = mUserPower.get(userId);
-                        if (userPower == null) {
-                            userPower = power;
-                        } else {
-                            userPower += power;
-                        }
-                        mUserPower.put(userId, userPower);
-                    }
+        // Fetch real power consumption from hardware.
+        double actualTotalWifiPower = 0.0;
+        if (mStats.getWifiControllerActivity(BatteryStats.CONTROLLER_ENERGY, mStatsType) != 0) {
+            final double kDefaultVoltage = 3.36;
+            final long energy = mStats.getWifiControllerActivity(
+                    BatteryStats.CONTROLLER_ENERGY, mStatsType);
+            final double voltage = mPowerProfile.getAveragePowerOrDefault(
+                    PowerProfile.OPERATING_VOLTAGE_WIFI, kDefaultVoltage);
+            actualTotalWifiPower = energy / (voltage * 1000*60*60);
+        }
+
+        final int appCount = appList.size();
+        for (int i = 0; i < appCount; i++) {
+            // Normalize power where possible.
+            final BatterySipper app = appList.get(i);
+            if (actualTotalWifiPower != 0) {
+                app.wifiPower = (app.wifiPower / maxWifiPower) * actualTotalWifiPower;
+            }
+
+            // Assign the final power consumption here.
+            final double power = app.wifiPower + app.cpuPower + app.wakeLockPower
+                    + app.mobileRadioPower + app.gpsPower + app.sensorPower;
+            app.values[0] = app.value = power;
+
+            //
+            // Add the app to the app list, WiFi, Bluetooth, etc, or into "Other Users" list.
+            //
+
+            final int uid = app.getUid();
+            final int userId = UserHandle.getUserId(uid);
+            if (uid == Process.WIFI_UID) {
+                mWifiSippers.add(app);
+                mWifiPower += power;
+            } else if (uid == Process.BLUETOOTH_UID) {
+                mBluetoothSippers.add(app);
+                mBluetoothPower += power;
+            } else if (!forAllUsers && asUsers.get(userId) == null
+                    && UserHandle.getAppId(uid) >= Process.FIRST_APPLICATION_UID) {
+                // We are told to just report this user's apps as one large entry.
+                List<BatterySipper> list = mUserSippers.get(userId);
+                if (list == null) {
+                    list = new ArrayList<>();
+                    mUserSippers.put(userId, list);
+                }
+                list.add(app);
+
+                Double userPower = mUserPower.get(userId);
+                if (userPower == null) {
+                    userPower = power;
                 } else {
-                    mUsageList.add(app);
-                    if (power > mMaxPower) mMaxPower = power;
-                    if (power > mMaxRealPower) mMaxRealPower = power;
-                    mComputedPower += power;
+                    userPower += power;
                 }
-                if (u.getUid() == 0) {
-                    osApp = app;
-                }
+                mUserPower.put(userId, userPower);
+            } else {
+                mUsageList.add(app);
+                if (power > mMaxPower) mMaxPower = power;
+                if (power > mMaxRealPower) mMaxRealPower = power;
+                mComputedPower += power;
+            }
+
+            if (uid == 0) {
+                osApp = app;
             }
         }
 
@@ -641,7 +721,7 @@
         // this remainder to the OS, if possible.
         if (osApp != null) {
             long wakeTimeMillis = mBatteryUptime / 1000;
-            wakeTimeMillis -= (appWakelockTimeUs / 1000)
+            wakeTimeMillis -= (totalAppWakelockTimeUs / 1000)
                     + (mStats.getScreenOnTime(mRawRealtime, which) / 1000);
             if (wakeTimeMillis > 0) {
                 double power = (wakeTimeMillis
@@ -741,46 +821,11 @@
         for (int i=0; i<from.size(); i++) {
             BatterySipper wbs = from.get(i);
             if (DEBUG) Log.d(TAG, tag + " adding sipper " + wbs + ": cpu=" + wbs.cpuTime);
-            bs.cpuTime += wbs.cpuTime;
-            bs.gpsTime += wbs.gpsTime;
-            bs.wifiRunningTime += wbs.wifiRunningTime;
-            bs.cpuFgTime += wbs.cpuFgTime;
-            bs.wakeLockTime += wbs.wakeLockTime;
-            bs.mobileRxPackets += wbs.mobileRxPackets;
-            bs.mobileTxPackets += wbs.mobileTxPackets;
-            bs.mobileActive += wbs.mobileActive;
-            bs.mobileActiveCount += wbs.mobileActiveCount;
-            bs.wifiRxPackets += wbs.wifiRxPackets;
-            bs.wifiTxPackets += wbs.wifiTxPackets;
-            bs.mobileRxBytes += wbs.mobileRxBytes;
-            bs.mobileTxBytes += wbs.mobileTxBytes;
-            bs.wifiRxBytes += wbs.wifiRxBytes;
-            bs.wifiTxBytes += wbs.wifiTxBytes;
+            bs.add(wbs);
         }
         bs.computeMobilemspp();
     }
 
-    private void addWiFiUsage() {
-        long onTimeMs = mStats.getWifiOnTime(mRawRealtime, mStatsType) / 1000;
-        long runningTimeMs = mStats.getGlobalWifiRunningTime(mRawRealtime, mStatsType) / 1000;
-        if (DEBUG) Log.d(TAG, "WIFI runningTime=" + runningTimeMs
-                + " app runningTime=" + mAppWifiRunning);
-        runningTimeMs -= mAppWifiRunning;
-        if (runningTimeMs < 0) runningTimeMs = 0;
-        double wifiPower = (onTimeMs * 0 /* TODO */
-                    * mPowerProfile.getAveragePower(PowerProfile.POWER_WIFI_ON)
-                + runningTimeMs * mPowerProfile.getAveragePower(PowerProfile.POWER_WIFI_ON))
-                / (60*60*1000);
-        if (DEBUG && wifiPower != 0) {
-            Log.d(TAG, "Wifi: time=" + runningTimeMs + " power=" + makemAh(wifiPower));
-        }
-        if ((wifiPower+mWifiPower) != 0) {
-            BatterySipper bs = addEntry(BatterySipper.DrainType.WIFI, runningTimeMs,
-                    wifiPower + mWifiPower);
-            aggregateSippers(bs, mWifiSippers, "WIFI");
-        }
-    }
-
     private void addIdleUsage() {
         long idleTimeMs = (mTypeBatteryRealtime
                 - mStats.getScreenOnTime(mRawRealtime, mStatsType)) / 1000;
@@ -794,24 +839,81 @@
         }
     }
 
+    /**
+     * We do per-app blaming of WiFi activity. If energy info is reported from the controller,
+     * then only the WiFi process gets blamed here since we normalize power calculations and
+     * assign all the power drain to apps. If energy info is not reported, we attribute the
+     * difference between total running time of WiFi for all apps and the actual running time
+     * of WiFi to the WiFi subsystem.
+     */
+    private void addWiFiUsage() {
+        final long idleTimeMs = mStats.getWifiControllerActivity(
+                BatteryStats.CONTROLLER_IDLE_TIME, mStatsType);
+        final long txTimeMs = mStats.getWifiControllerActivity(
+                BatteryStats.CONTROLLER_TX_TIME, mStatsType);
+        final long rxTimeMs = mStats.getWifiControllerActivity(
+                BatteryStats.CONTROLLER_RX_TIME, mStatsType);
+        final long energy = mStats.getWifiControllerActivity(
+                BatteryStats.CONTROLLER_ENERGY, mStatsType);
+        final long totalTimeRunning = idleTimeMs + txTimeMs + rxTimeMs;
+
+        double powerDrain = 0;
+        if (energy == 0 && totalTimeRunning > 0) {
+            // Energy is not reported, which means we may have left over power drain not attributed
+            // to any app. Assign this power to the WiFi app.
+            // TODO(adamlesinski): This mimics the old behavior. However, mAppWifiRunningTime
+            // is the accumulation of the time each app kept the WiFi chip on. Multiple apps
+            // can do this at the same time, so these times do not add up to the total time
+            // the WiFi chip was on. Consider normalizing the time spent running and calculating
+            // power from that? Normalizing the times will assign a weight to each app which
+            // should better represent power usage.
+            powerDrain = ((totalTimeRunning - mAppWifiRunning)
+                    * mPowerProfile.getAveragePower(PowerProfile.POWER_WIFI_ON)) / (60*60*1000);
+        }
+
+        if (DEBUG && powerDrain != 0) {
+            Log.d(TAG, "Wifi active: time=" + (txTimeMs + rxTimeMs)
+                    + " power=" + makemAh(powerDrain));
+        }
+
+        // TODO(adamlesinski): mWifiPower is already added as a BatterySipper...
+        // Are we double counting here?
+        final double power = mWifiPower + powerDrain;
+        if (power > 0) {
+            BatterySipper bs = addEntry(BatterySipper.DrainType.WIFI, totalTimeRunning, power);
+            aggregateSippers(bs, mWifiSippers, "WIFI");
+        }
+    }
+
+    /**
+     * Bluetooth usage is not attributed to any apps yet, so the entire blame goes to the
+     * Bluetooth Category.
+     */
     private void addBluetoothUsage() {
-        long btOnTimeMs = mStats.getBluetoothOnTime(mRawRealtime, mStatsType) / 1000;
-        double btPower = btOnTimeMs * mPowerProfile.getAveragePower(PowerProfile.POWER_BLUETOOTH_ON)
-                / (60*60*1000);
-        if (DEBUG && btPower != 0) {
-            Log.d(TAG, "Bluetooth: time=" + btOnTimeMs + " power=" + makemAh(btPower));
+        final double kDefaultVoltage = 3.36;
+        final long idleTimeMs = mStats.getBluetoothControllerActivity(
+                BatteryStats.CONTROLLER_IDLE_TIME, mStatsType);
+        final long txTimeMs = mStats.getBluetoothControllerActivity(
+                BatteryStats.CONTROLLER_TX_TIME, mStatsType);
+        final long rxTimeMs = mStats.getBluetoothControllerActivity(
+                BatteryStats.CONTROLLER_RX_TIME, mStatsType);
+        final long energy = mStats.getBluetoothControllerActivity(
+                BatteryStats.CONTROLLER_ENERGY, mStatsType);
+        final double voltage = mPowerProfile.getAveragePowerOrDefault(
+                PowerProfile.OPERATING_VOLTAGE_BLUETOOTH, kDefaultVoltage);
+
+        // energy is measured in mA * V * ms, and we are interested in mAh
+        final double powerDrain = energy / (voltage * 60*60*1000);
+
+        if (DEBUG && powerDrain != 0) {
+            Log.d(TAG, "Bluetooth active: time=" + (txTimeMs + rxTimeMs)
+                    + " power=" + makemAh(powerDrain));
         }
-        int btPingCount = mStats.getBluetoothPingCount();
-        double pingPower = (btPingCount
-                * mPowerProfile.getAveragePower(PowerProfile.POWER_BLUETOOTH_AT_CMD))
-                / (60*60*1000);
-        if (DEBUG && pingPower != 0) {
-            Log.d(TAG, "Bluetooth ping: count=" + btPingCount + " power=" + makemAh(pingPower));
-        }
-        btPower += pingPower;
-        if ((btPower+mBluetoothPower) != 0) {
-            BatterySipper bs = addEntry(BatterySipper.DrainType.BLUETOOTH, btOnTimeMs,
-                    btPower + mBluetoothPower);
+
+        final long totalTime = idleTimeMs + txTimeMs + rxTimeMs;
+        final double power = mBluetoothPower + powerDrain;
+        if (power > 0) {
+            BatterySipper bs = addEntry(BatterySipper.DrainType.BLUETOOTH, totalTime, power);
             aggregateSippers(bs, mBluetoothSippers, "Bluetooth");
         }
     }
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java
index d0c7f8c..f9b1ca1 100644
--- a/core/java/com/android/internal/os/BatteryStatsImpl.java
+++ b/core/java/com/android/internal/os/BatteryStatsImpl.java
@@ -20,11 +20,15 @@
 import static com.android.server.NetworkManagementSocketTagger.PROP_QTAGUID_ENABLED;
 
 import android.app.ActivityManager;
+import android.bluetooth.BluetoothActivityEnergyInfo;
+import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothHeadset;
 import android.content.Context;
 import android.net.ConnectivityManager;
 import android.net.NetworkStats;
+import android.net.wifi.IWifiManager;
+import android.net.wifi.WifiActivityEnergyInfo;
 import android.net.wifi.WifiManager;
 import android.os.BadParcelableException;
 import android.os.BatteryManager;
@@ -38,6 +42,8 @@
 import android.os.ParcelFormatException;
 import android.os.Parcelable;
 import android.os.Process;
+import android.os.RemoteException;
+import android.os.ServiceManager;
 import android.os.SystemClock;
 import android.os.SystemProperties;
 import android.os.WorkSource;
@@ -56,20 +62,29 @@
 import android.util.SparseArray;
 import android.util.SparseIntArray;
 import android.util.TimeUtils;
+import android.util.Xml;
 import android.view.Display;
 
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.net.NetworkStatsFactory;
 import com.android.internal.util.ArrayUtils;
 import com.android.internal.util.FastPrintWriter;
+import com.android.internal.util.FastXmlSerializer;
 import com.android.internal.util.JournaledFile;
+import com.android.internal.util.XmlUtils;
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+import org.xmlpull.v1.XmlSerializer;
 
+import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -94,7 +109,7 @@
     private static final int MAGIC = 0xBA757475; // 'BATSTATS'
 
     // Current on-disk Parcel version
-    private static final int VERSION = 118 + (USE_OLD_HISTORY ? 1000 : 0);
+    private static final int VERSION = 119 + (USE_OLD_HISTORY ? 1000 : 0);
 
     // Maximum number of items we will record in the history.
     private static final int MAX_HISTORY_ITEMS = 2000;
@@ -111,6 +126,7 @@
 
     private final JournaledFile mFile;
     public final AtomicFile mCheckinFile;
+    public final AtomicFile mDailyFile;
 
     static final int MSG_UPDATE_WAKELOCKS = 1;
     static final int MSG_REPORT_POWER_CHANGE = 2;
@@ -322,6 +338,12 @@
     final LongSamplingCounter[] mNetworkPacketActivityCounters =
             new LongSamplingCounter[NUM_NETWORK_ACTIVITY_TYPES];
 
+    final LongSamplingCounter[] mBluetoothActivityCounters =
+            new LongSamplingCounter[NUM_CONTROLLER_ACTIVITY_TYPES];
+
+    final LongSamplingCounter[] mWifiActivityCounters =
+            new LongSamplingCounter[NUM_CONTROLLER_ACTIVITY_TYPES];
+
     boolean mWifiOn;
     StopwatchTimer mWifiOnTimer;
 
@@ -386,16 +408,22 @@
     int mModStepMode = 0;
 
     int mLastDischargeStepLevel;
-    long mLastDischargeStepTime;
     int mMinDischargeStepLevel;
-    int mNumDischargeStepDurations;
-    final long[] mDischargeStepDurations = new long[MAX_LEVEL_STEPS];
+    final LevelStepTracker mDischargeStepTracker = new LevelStepTracker(MAX_LEVEL_STEPS);
+    final LevelStepTracker mDailyDischargeStepTracker = new LevelStepTracker(MAX_LEVEL_STEPS*2);
 
     int mLastChargeStepLevel;
-    long mLastChargeStepTime;
     int mMaxChargeStepLevel;
-    int mNumChargeStepDurations;
-    final long[] mChargeStepDurations = new long[MAX_LEVEL_STEPS];
+    final LevelStepTracker mChargeStepTracker = new LevelStepTracker(MAX_LEVEL_STEPS);
+    final LevelStepTracker mDailyChargeStepTracker = new LevelStepTracker(MAX_LEVEL_STEPS*2);
+
+    static final int MAX_DAILY_ITEMS = 10;
+
+    long mDailyStartTime = 0;
+    long mNextMinDailyDeadline = 0;
+    long mNextMaxDailyDeadline = 0;
+
+    final ArrayList<DailyItem> mDailyItems = new ArrayList<>();
 
     long mLastWriteTime = 0; // Milliseconds
 
@@ -478,6 +506,7 @@
     public BatteryStatsImpl() {
         mFile = null;
         mCheckinFile = null;
+        mDailyFile = null;
         mHandler = null;
         clearHistoryLocked();
     }
@@ -3199,6 +3228,7 @@
 
     public void noteScreenStateLocked(int state) {
         if (mScreenState != state) {
+            recordDailyStatsIfNeededLocked(true);
             final int oldState = mScreenState;
             mScreenState = state;
             if (DEBUG) Slog.v(TAG, "Screen state: oldState=" + Display.stateToString(oldState)
@@ -4289,6 +4319,20 @@
         return mBluetoothStateTimer[bluetoothState].getCountLocked(which);
     }
 
+    @Override public long getBluetoothControllerActivity(int type, int which) {
+        if (type >= 0 && type < mBluetoothActivityCounters.length) {
+            return mBluetoothActivityCounters[type].getCountLocked(which);
+        }
+        return 0;
+    }
+
+    @Override public long getWifiControllerActivity(int type, int which) {
+        if (type >= 0 && type < mWifiActivityCounters.length) {
+            return mWifiActivityCounters[type].getCountLocked(which);
+        }
+        return 0;
+    }
+
     @Override public long getFlashlightOnTime(long elapsedRealtimeUs, int which) {
         return mFlashlightOnTimer.getTotalTimeLocked(elapsedRealtimeUs, which);
     }
@@ -4731,6 +4775,14 @@
         }
 
         @Override
+        public int getWifiScanCount(int which) {
+            if (mWifiScanTimer == null) {
+                return 0;
+            }
+            return mWifiScanTimer.getCountLocked(which);
+        }
+
+        @Override
         public long getWifiBatchedScanTime(int csphBin, long elapsedRealtimeUs, int which) {
             if (csphBin < 0 || csphBin >= NUM_WIFI_BATCHED_SCAN_BINS) return 0;
             if (mWifiBatchedScanTimer[csphBin] == null) {
@@ -4740,6 +4792,15 @@
         }
 
         @Override
+        public int getWifiBatchedScanCount(int csphBin, int which) {
+            if (csphBin < 0 || csphBin >= NUM_WIFI_BATCHED_SCAN_BINS) return 0;
+            if (mWifiBatchedScanTimer[csphBin] == null) {
+                return 0;
+            }
+            return mWifiBatchedScanTimer[csphBin].getCountLocked(which);
+        }
+
+        @Override
         public long getWifiMulticastTime(long elapsedRealtimeUs, int which) {
             if (mWifiMulticastTimer == null) {
                 return 0;
@@ -5583,17 +5644,17 @@
             boolean mActive = true;
 
             /**
-             * Total time (in 1/100 sec) spent executing in user code.
+             * Total time (in ms) spent executing in user code.
              */
             long mUserTime;
 
             /**
-             * Total time (in 1/100 sec) spent executing in kernel code.
+             * Total time (in ms) spent executing in kernel code.
              */
             long mSystemTime;
 
             /**
-             * Amount of time the process was running in the foreground.
+             * Amount of time (in ms) the process was running in the foreground.
              */
             long mForegroundTime;
 
@@ -6594,6 +6655,7 @@
             mFile = null;
         }
         mCheckinFile = new AtomicFile(new File(systemDir, "batterystats-checkin.bin"));
+        mDailyFile = new AtomicFile(new File(systemDir, "batterystats-daily.xml"));
         mHandler = new MyHandler(handler.getLooper());
         mStartCount++;
         mScreenOnTimer = new StopwatchTimer(null, -1, null, mOnBatteryTimeBase);
@@ -6616,6 +6678,10 @@
             mNetworkByteActivityCounters[i] = new LongSamplingCounter(mOnBatteryTimeBase);
             mNetworkPacketActivityCounters[i] = new LongSamplingCounter(mOnBatteryTimeBase);
         }
+        for (int i = 0; i < NUM_CONTROLLER_ACTIVITY_TYPES; i++) {
+            mBluetoothActivityCounters[i] = new LongSamplingCounter(mOnBatteryTimeBase);
+            mWifiActivityCounters[i] = new LongSamplingCounter(mOnBatteryTimeBase);
+        }
         mMobileRadioActiveTimer = new StopwatchTimer(null, -400, null, mOnBatteryTimeBase);
         mMobileRadioActivePerAppTimer = new StopwatchTimer(null, -401, null, mOnBatteryTimeBase);
         mMobileRadioActiveAdjustedTime = new LongSamplingCounter(mOnBatteryTimeBase);
@@ -6652,11 +6718,13 @@
         mCurrentBatteryLevel = 0;
         initDischarge();
         clearHistoryLocked();
+        updateDailyDeadlineLocked();
     }
 
     public BatteryStatsImpl(Parcel p) {
         mFile = null;
         mCheckinFile = null;
+        mDailyFile = null;
         mHandler = null;
         clearHistoryLocked();
         readFromParcel(p);
@@ -6676,6 +6744,286 @@
         }
     }
 
+    public void updateDailyDeadlineLocked() {
+        // Get the current time.
+        long currentTime = mDailyStartTime = System.currentTimeMillis();
+        Calendar calDeadline = Calendar.getInstance();
+        calDeadline.setTimeInMillis(currentTime);
+
+        // Move time up to the next day, ranging from 1am to 3pm.
+        calDeadline.set(Calendar.DAY_OF_YEAR, calDeadline.get(Calendar.DAY_OF_YEAR) + 1);
+        calDeadline.set(Calendar.MILLISECOND, 0);
+        calDeadline.set(Calendar.SECOND, 0);
+        calDeadline.set(Calendar.MINUTE, 0);
+        calDeadline.set(Calendar.HOUR_OF_DAY, 1);
+        mNextMinDailyDeadline = calDeadline.getTimeInMillis();
+        calDeadline.set(Calendar.HOUR_OF_DAY, 3);
+        mNextMaxDailyDeadline = calDeadline.getTimeInMillis();
+    }
+
+    public void recordDailyStatsIfNeededLocked(boolean settled) {
+        long currentTime = System.currentTimeMillis();
+        if (currentTime >= mNextMaxDailyDeadline) {
+            recordDailyStatsLocked();
+        } else if (settled && currentTime >= mNextMinDailyDeadline) {
+            recordDailyStatsLocked();
+        } else if (currentTime < (mDailyStartTime-(1000*60*60*24))) {
+            recordDailyStatsLocked();
+        }
+    }
+
+    public void recordDailyStatsLocked() {
+        DailyItem item = new DailyItem();
+        item.mStartTime = mDailyStartTime;
+        item.mEndTime = System.currentTimeMillis();
+        boolean hasData = false;
+        if (mDailyDischargeStepTracker.mNumStepDurations > 0) {
+            hasData = true;
+            item.mDischargeSteps = new LevelStepTracker(
+                    mDailyDischargeStepTracker.mNumStepDurations,
+                    mDailyDischargeStepTracker.mStepDurations);
+        }
+        if (mDailyChargeStepTracker.mNumStepDurations > 0) {
+            hasData = true;
+            item.mChargeSteps = new LevelStepTracker(
+                    mDailyChargeStepTracker.mNumStepDurations,
+                    mDailyChargeStepTracker.mStepDurations);
+        }
+        mDailyDischargeStepTracker.init();
+        mDailyChargeStepTracker.init();
+        updateDailyDeadlineLocked();
+
+        if (hasData) {
+            mDailyItems.add(item);
+            while (mDailyItems.size() > MAX_DAILY_ITEMS) {
+                mDailyItems.remove(0);
+            }
+            final ByteArrayOutputStream memStream = new ByteArrayOutputStream();
+            try {
+                XmlSerializer out = new FastXmlSerializer();
+                out.setOutput(memStream, "utf-8");
+                writeDailyItemsLocked(out);
+                BackgroundThread.getHandler().post(new Runnable() {
+                    @Override
+                    public void run() {
+                        synchronized (mCheckinFile) {
+                            FileOutputStream stream = null;
+                            try {
+                                stream = mDailyFile.startWrite();
+                                memStream.writeTo(stream);
+                                stream.flush();
+                                FileUtils.sync(stream);
+                                stream.close();
+                                mDailyFile.finishWrite(stream);
+                            } catch (IOException e) {
+                                Slog.w("BatteryStats",
+                                        "Error writing battery daily items", e);
+                                mDailyFile.failWrite(stream);
+                            }
+                        }
+                    }
+                });
+            } catch (IOException e) {
+            }
+        }
+    }
+
+    private void writeDailyItemsLocked(XmlSerializer out) throws IOException {
+        StringBuilder sb = new StringBuilder(64);
+        out.startDocument(null, true);
+        out.startTag(null, "daily-items");
+        for (int i=0; i<mDailyItems.size(); i++) {
+            final DailyItem dit = mDailyItems.get(i);
+            out.startTag(null, "item");
+            out.attribute(null, "start", Long.toString(dit.mStartTime));
+            out.attribute(null, "end", Long.toString(dit.mEndTime));
+            writeDailyLevelSteps(out, "dis", dit.mDischargeSteps, sb);
+            writeDailyLevelSteps(out, "chg", dit.mChargeSteps, sb);
+            out.endTag(null, "item");
+        }
+        out.endTag(null, "daily-items");
+        out.endDocument();
+    }
+
+    private void writeDailyLevelSteps(XmlSerializer out, String tag, LevelStepTracker steps,
+            StringBuilder tmpBuilder) throws IOException {
+        if (steps != null) {
+            out.startTag(null, tag);
+            out.attribute(null, "n", Integer.toString(steps.mNumStepDurations));
+            for (int i=0; i<steps.mNumStepDurations; i++) {
+                out.startTag(null, "s");
+                tmpBuilder.setLength(0);
+                steps.encodeEntryAt(i, tmpBuilder);
+                out.attribute(null, "v", tmpBuilder.toString());
+                out.endTag(null, "s");
+            }
+            out.endTag(null, tag);
+        }
+    }
+
+    public void readDailyStatsLocked() {
+        Slog.d(TAG, "Reading daily items from " + mDailyFile.getBaseFile());
+        mDailyItems.clear();
+        FileInputStream stream;
+        try {
+            stream = mDailyFile.openRead();
+        } catch (FileNotFoundException e) {
+            return;
+        }
+        try {
+            XmlPullParser parser = Xml.newPullParser();
+            parser.setInput(stream, null);
+            readDailyItemsLocked(parser);
+        } catch (XmlPullParserException e) {
+        } finally {
+            try {
+                stream.close();
+            } catch (IOException e) {
+            }
+        }
+    }
+
+    private void readDailyItemsLocked(XmlPullParser parser) {
+        try {
+            int type;
+            while ((type = parser.next()) != XmlPullParser.START_TAG
+                    && type != XmlPullParser.END_DOCUMENT) {
+                ;
+            }
+
+            if (type != XmlPullParser.START_TAG) {
+                throw new IllegalStateException("no start tag found");
+            }
+
+            int outerDepth = parser.getDepth();
+            while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
+                    && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)) {
+                if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
+                    continue;
+                }
+
+                String tagName = parser.getName();
+                if (tagName.equals("item")) {
+                    readDailyItemTagLocked(parser);
+                } else {
+                    Slog.w(TAG, "Unknown element under <daily-items>: "
+                            + parser.getName());
+                    XmlUtils.skipCurrentTag(parser);
+                }
+            }
+
+        } catch (IllegalStateException e) {
+            Slog.w(TAG, "Failed parsing daily " + e);
+        } catch (NullPointerException e) {
+            Slog.w(TAG, "Failed parsing daily " + e);
+        } catch (NumberFormatException e) {
+            Slog.w(TAG, "Failed parsing daily " + e);
+        } catch (XmlPullParserException e) {
+            Slog.w(TAG, "Failed parsing daily " + e);
+        } catch (IOException e) {
+            Slog.w(TAG, "Failed parsing daily " + e);
+        } catch (IndexOutOfBoundsException e) {
+            Slog.w(TAG, "Failed parsing daily " + e);
+        }
+    }
+
+    void readDailyItemTagLocked(XmlPullParser parser) throws NumberFormatException,
+            XmlPullParserException, IOException {
+        DailyItem dit = new DailyItem();
+        String attr = parser.getAttributeValue(null, "start");
+        if (attr != null) {
+            dit.mStartTime = Long.parseLong(attr);
+        }
+        attr = parser.getAttributeValue(null, "end");
+        if (attr != null) {
+            dit.mEndTime = Long.parseLong(attr);
+        }
+        int outerDepth = parser.getDepth();
+        int type;
+        while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
+                && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)) {
+            if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
+                continue;
+            }
+
+            String tagName = parser.getName();
+            if (tagName.equals("dis")) {
+                readDailyItemTagDetailsLocked(parser, dit, false, "dis");
+            } else if (tagName.equals("chg")) {
+                readDailyItemTagDetailsLocked(parser, dit, true, "chg");
+            } else {
+                Slog.w(TAG, "Unknown element under <item>: "
+                        + parser.getName());
+                XmlUtils.skipCurrentTag(parser);
+            }
+        }
+        mDailyItems.add(dit);
+    }
+
+    void readDailyItemTagDetailsLocked(XmlPullParser parser, DailyItem dit, boolean isCharge,
+            String tag)
+            throws NumberFormatException, XmlPullParserException, IOException {
+        final String numAttr = parser.getAttributeValue(null, "n");
+        if (numAttr == null) {
+            Slog.w(TAG, "Missing 'n' attribute at " + parser.getPositionDescription());
+            XmlUtils.skipCurrentTag(parser);
+            return;
+        }
+        final int num = Integer.parseInt(numAttr);
+        LevelStepTracker steps = new LevelStepTracker(num);
+        if (isCharge) {
+            dit.mChargeSteps = steps;
+        } else {
+            dit.mDischargeSteps = steps;
+        }
+        int i = 0;
+        int outerDepth = parser.getDepth();
+        int type;
+        while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
+                && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)) {
+            if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
+                continue;
+            }
+
+            String tagName = parser.getName();
+            if ("s".equals(tagName)) {
+                if (i < num) {
+                    String valueAttr = parser.getAttributeValue(null, "v");
+                    if (valueAttr != null) {
+                        steps.decodeEntryAt(i, valueAttr);
+                        i++;
+                    }
+                }
+            } else {
+                Slog.w(TAG, "Unknown element under <" + tag + ">: "
+                        + parser.getName());
+                XmlUtils.skipCurrentTag(parser);
+            }
+        }
+        steps.mNumStepDurations = i;
+    }
+
+    @Override
+    public DailyItem getDailyItemLocked(int daysAgo) {
+        int index = mDailyItems.size()-1-daysAgo;
+        return index >= 0 ? mDailyItems.get(index) : null;
+    }
+
+    @Override
+    public long getCurrentDailyStartTime() {
+        return mDailyStartTime;
+    }
+
+    @Override
+    public long getNextMinDailyDeadline() {
+        return mNextMinDailyDeadline;
+    }
+
+    @Override
+    public long getNextMaxDailyDeadline() {
+        return mNextMaxDailyDeadline;
+    }
+
     @Override
     public boolean startIteratingOldHistoryLocked() {
         if (DEBUG_HISTORY) Slog.i(TAG, "ITERATING: buff size=" + mHistoryBuffer.dataSize()
@@ -6846,10 +7194,8 @@
         mDischargeAmountScreenOnSinceCharge = 0;
         mDischargeAmountScreenOff = 0;
         mDischargeAmountScreenOffSinceCharge = 0;
-        mLastDischargeStepTime = -1;
-        mNumDischargeStepDurations = 0;
-        mLastChargeStepTime = -1;
-        mNumChargeStepDurations = 0;
+        mDischargeStepTracker.init();
+        mChargeStepTracker.init();
     }
 
     public void resetAllStatsCmdLocked() {
@@ -6923,6 +7269,10 @@
         for (int i=0; i< NUM_BLUETOOTH_STATES; i++) {
             mBluetoothStateTimer[i].reset(false);
         }
+        for (int i=0; i< NUM_CONTROLLER_ACTIVITY_TYPES; i++) {
+            mBluetoothActivityCounters[i].reset(false);
+            mWifiActivityCounters[i].reset(false);
+        }
         mNumConnectivityChange = mLoadedNumConnectivityChange = mUnpluggedNumConnectivityChange = 0;
 
         for (int i=0; i<mUidStats.size(); i++) {
@@ -7009,6 +7359,9 @@
     public void pullPendingStateUpdatesLocked() {
         updateKernelWakelocksLocked();
         updateNetworkActivityLocked(NET_UPDATE_ALL, SystemClock.elapsedRealtime());
+        // TODO(adamlesinski): enable when bluedroid stops deadlocking. b/19248786
+        // updateBluetoothControllerActivityLocked();
+        updateWifiControllerActivityLocked();
         if (mOnBatteryInternal) {
             final boolean screenOn = mScreenState == Display.STATE_ON;
             updateDischargeScreenLevelsLocked(screenOn, screenOn);
@@ -7072,12 +7425,13 @@
                 resetAllStatsLocked();
                 mDischargeStartLevel = level;
                 reset = true;
-                mNumDischargeStepDurations = 0;
+                mDischargeStepTracker.init();
             }
             mOnBattery = mOnBatteryInternal = true;
             mLastDischargeStepLevel = level;
             mMinDischargeStepLevel = level;
-            mLastDischargeStepTime = -1;
+            mDischargeStepTracker.clearTime();
+            mDailyDischargeStepTracker.clearTime();
             mInitStepMode = mCurStepMode;
             mModStepMode = 0;
             pullPendingStateUpdatesLocked();
@@ -7116,10 +7470,9 @@
             }
             updateDischargeScreenLevelsLocked(screenOn, screenOn);
             updateTimeBasesLocked(false, !screenOn, uptime, realtime);
-            mNumChargeStepDurations = 0;
+            mChargeStepTracker.init();
             mLastChargeStepLevel = level;
             mMaxChargeStepLevel = level;
-            mLastChargeStepTime = -1;
             mInitStepMode = mCurStepMode;
             mModStepMode = 0;
         }
@@ -7171,34 +7524,12 @@
     // This should probably be exposed in the API, though it's not critical
     private static final int BATTERY_PLUGGED_NONE = 0;
 
-    private static int addLevelSteps(long[] steps, int stepCount, long lastStepTime,
-            int numStepLevels, long modeBits, long elapsedRealtime) {
-        if (lastStepTime >= 0 && numStepLevels > 0) {
-            long duration = elapsedRealtime - lastStepTime;
-            for (int i=0; i<numStepLevels; i++) {
-                System.arraycopy(steps, 0, steps, 1, steps.length-1);
-                long thisDuration = duration / (numStepLevels-i);
-                duration -= thisDuration;
-                if (thisDuration > STEP_LEVEL_TIME_MASK) {
-                    thisDuration = STEP_LEVEL_TIME_MASK;
-                }
-                steps[0] = thisDuration | modeBits;
-            }
-            stepCount += numStepLevels;
-            if (stepCount > steps.length) {
-                stepCount = steps.length;
-            }
-        }
-        return stepCount;
-    }
-
     public void setBatteryState(int status, int health, int plugType, int level,
             int temp, int volt) {
         synchronized(this) {
             final boolean onBattery = plugType == BATTERY_PLUGGED_NONE;
             final long uptime = SystemClock.uptimeMillis();
             final long elapsedRealtime = SystemClock.elapsedRealtime();
-            int oldStatus = mHistoryCur.batteryStatus;
             if (!mHaveBatteryLevel) {
                 mHaveBatteryLevel = true;
                 // We start out assuming that the device is plugged in (not
@@ -7212,8 +7543,14 @@
                         mHistoryCur.states |= HistoryItem.STATE_BATTERY_PLUGGED_FLAG;
                     }
                 }
-                oldStatus = status;
+                mHistoryCur.batteryStatus = (byte)status;
+                mHistoryCur.batteryLevel = (byte)level;
+                mMaxChargeStepLevel = mMinDischargeStepLevel =
+                        mLastChargeStepLevel = mLastDischargeStepLevel = level;
+            } else if (mCurrentBatteryLevel != level || mOnBattery != onBattery) {
+                recordDailyStatsIfNeededLocked(level >= 100 && onBattery);
             }
+            int oldStatus = mHistoryCur.batteryStatus;
             if (onBattery) {
                 mDischargeCurrentLevel = level;
                 if (!mRecordingHistory) {
@@ -7274,23 +7611,23 @@
                         | (((long)(level&0xff)) << STEP_LEVEL_LEVEL_SHIFT);
                 if (onBattery) {
                     if (mLastDischargeStepLevel != level && mMinDischargeStepLevel > level) {
-                        mNumDischargeStepDurations = addLevelSteps(mDischargeStepDurations,
-                                mNumDischargeStepDurations, mLastDischargeStepTime,
-                                mLastDischargeStepLevel - level, modeBits, elapsedRealtime);
+                        mDischargeStepTracker.addLevelSteps(mLastDischargeStepLevel - level,
+                                modeBits, elapsedRealtime);
+                        mDailyDischargeStepTracker.addLevelSteps(mLastDischargeStepLevel - level,
+                                modeBits, elapsedRealtime);
                         mLastDischargeStepLevel = level;
                         mMinDischargeStepLevel = level;
-                        mLastDischargeStepTime = elapsedRealtime;
                         mInitStepMode = mCurStepMode;
                         mModStepMode = 0;
                     }
                 } else {
                     if (mLastChargeStepLevel != level && mMaxChargeStepLevel < level) {
-                        mNumChargeStepDurations = addLevelSteps(mChargeStepDurations,
-                                mNumChargeStepDurations, mLastChargeStepTime,
-                                level - mLastChargeStepLevel, modeBits, elapsedRealtime);
+                        mChargeStepTracker.addLevelSteps(level - mLastChargeStepLevel,
+                                modeBits, elapsedRealtime);
+                        mDailyChargeStepTracker.addLevelSteps(level - mLastChargeStepLevel,
+                                modeBits, elapsedRealtime);
                         mLastChargeStepLevel = level;
                         mMaxChargeStepLevel = level;
-                        mLastChargeStepTime = elapsedRealtime;
                         mInitStepMode = mCurStepMode;
                         mModStepMode = 0;
                     }
@@ -7461,6 +7798,65 @@
         }
     }
 
+    private void updateBluetoothControllerActivityLocked() {
+        BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
+        if (adapter == null) {
+            return;
+        }
+
+        // We read the data even if we are not on battery. Each read clears
+        // the previous data, so we must always read to make sure the
+        // data is for the current interval.
+        BluetoothActivityEnergyInfo info = adapter.getControllerActivityEnergyInfo(
+                BluetoothAdapter.ACTIVITY_ENERGY_INFO_REFRESHED);
+        if (info == null || !info.isValid() || !mOnBatteryInternal) {
+            // Bad info or we are not on battery.
+            return;
+        }
+
+        mBluetoothActivityCounters[CONTROLLER_RX_TIME].addCountLocked(
+                info.getControllerRxTimeMillis());
+        mBluetoothActivityCounters[CONTROLLER_TX_TIME].addCountLocked(
+                info.getControllerTxTimeMillis());
+        mBluetoothActivityCounters[CONTROLLER_IDLE_TIME].addCountLocked(
+                info.getControllerIdleTimeMillis());
+        mBluetoothActivityCounters[CONTROLLER_ENERGY].addCountLocked(
+                info.getControllerEnergyUsed());
+    }
+
+    private void updateWifiControllerActivityLocked() {
+        IWifiManager wifiManager = IWifiManager.Stub.asInterface(
+                ServiceManager.getService(Context.WIFI_SERVICE));
+        if (wifiManager == null) {
+            return;
+        }
+
+        WifiActivityEnergyInfo info;
+        try {
+            // We read the data even if we are not on battery. Each read clears
+            // the previous data, so we must always read to make sure the
+            // data is for the current interval.
+            info = wifiManager.reportActivityInfo();
+        } catch (RemoteException e) {
+            // Nothing to report, WiFi is dead.
+            return;
+        }
+
+        if (info == null || !info.isValid() || !mOnBatteryInternal) {
+            // Bad info or we are not on battery.
+            return;
+        }
+
+        mWifiActivityCounters[CONTROLLER_RX_TIME].addCountLocked(
+                info.getControllerRxTimeMillis());
+        mWifiActivityCounters[CONTROLLER_TX_TIME].addCountLocked(
+                info.getControllerTxTimeMillis());
+        mWifiActivityCounters[CONTROLLER_IDLE_TIME].addCountLocked(
+                info.getControllerIdleTimeMillis());
+        mWifiActivityCounters[CONTROLLER_ENERGY].addCountLocked(
+                info.getControllerEnergyUsed());
+    }
+
     public long getAwakeTimeBattery() {
         return computeBatteryUptime(getBatteryUptimeLocked(), STATS_CURRENT);
     }
@@ -7565,22 +7961,24 @@
         long usPerLevel = duration/discharge;
         return usPerLevel * mCurrentBatteryLevel;
         */
-        if (mNumDischargeStepDurations < 1) {
+        if (mDischargeStepTracker.mNumStepDurations < 1) {
             return -1;
         }
-        long msPerLevel = computeTimePerLevel(mDischargeStepDurations, mNumDischargeStepDurations);
+        long msPerLevel = mDischargeStepTracker.computeTimePerLevel();
         if (msPerLevel <= 0) {
             return -1;
         }
         return (msPerLevel * mCurrentBatteryLevel) * 1000;
     }
 
-    public int getNumDischargeStepDurations() {
-        return mNumDischargeStepDurations;
+    @Override
+    public LevelStepTracker getDischargeLevelStepTracker() {
+        return mDischargeStepTracker;
     }
 
-    public long[] getDischargeStepDurationsArray() {
-        return mDischargeStepDurations;
+    @Override
+    public LevelStepTracker getDailyDischargeLevelStepTracker() {
+        return mDailyDischargeStepTracker;
     }
 
     @Override
@@ -7602,22 +8000,24 @@
         long usPerLevel = duration/(curLevel-plugLevel);
         return usPerLevel * (100-curLevel);
         */
-        if (mNumChargeStepDurations < 1) {
+        if (mChargeStepTracker.mNumStepDurations < 1) {
             return -1;
         }
-        long msPerLevel = computeTimePerLevel(mChargeStepDurations, mNumChargeStepDurations);
+        long msPerLevel = mChargeStepTracker.computeTimePerLevel();
         if (msPerLevel <= 0) {
             return -1;
         }
         return (msPerLevel * (100-mCurrentBatteryLevel)) * 1000;
     }
 
-    public int getNumChargeStepDurations() {
-        return mNumChargeStepDurations;
+    @Override
+    public LevelStepTracker getChargeLevelStepTracker() {
+        return mChargeStepTracker;
     }
 
-    public long[] getChargeStepDurationsArray() {
-        return mChargeStepDurations;
+    @Override
+    public LevelStepTracker getDailyChargeLevelStepTracker() {
+        return mDailyChargeStepTracker;
     }
 
     long getBatteryUptimeLocked() {
@@ -7915,6 +8315,10 @@
     }
 
     public void readLocked() {
+        if (mDailyFile != null) {
+            readDailyStatsLocked();
+        }
+
         if (mFile == null) {
             Slog.w("BatteryStats", "readLocked: no file associated with this instance");
             return;
@@ -7952,6 +8356,8 @@
             addHistoryBufferLocked(elapsedRealtime, uptime, HistoryItem.CMD_START, mHistoryCur);
             startRecordingHistory(elapsedRealtime, uptime, false);
         }
+
+        recordDailyStatsIfNeededLocked(false);
     }
 
     public int describeContents() {
@@ -8110,10 +8516,13 @@
         mHighDischargeAmountSinceCharge = in.readInt();
         mDischargeAmountScreenOnSinceCharge = in.readInt();
         mDischargeAmountScreenOffSinceCharge = in.readInt();
-        mNumDischargeStepDurations = in.readInt();
-        in.readLongArray(mDischargeStepDurations);
-        mNumChargeStepDurations = in.readInt();
-        in.readLongArray(mChargeStepDurations);
+        mDischargeStepTracker.readFromParcel(in);
+        mChargeStepTracker.readFromParcel(in);
+        mDailyDischargeStepTracker.readFromParcel(in);
+        mDailyChargeStepTracker.readFromParcel(in);
+        mDailyStartTime = in.readLong();
+        mNextMinDailyDeadline = in.readLong();
+        mNextMaxDailyDeadline = in.readLong();
 
         mStartCount++;
 
@@ -8162,6 +8571,15 @@
         for (int i=0; i< NUM_BLUETOOTH_STATES; i++) {
             mBluetoothStateTimer[i].readSummaryFromParcelLocked(in);
         }
+
+        for (int i = 0; i < NUM_CONTROLLER_ACTIVITY_TYPES; i++) {
+            mBluetoothActivityCounters[i].readSummaryFromParcelLocked(in);
+        }
+
+        for (int i = 0; i < NUM_CONTROLLER_ACTIVITY_TYPES; i++) {
+            mWifiActivityCounters[i].readSummaryFromParcelLocked(in);
+        }
+
         mNumConnectivityChange = mLoadedNumConnectivityChange = in.readInt();
         mFlashlightOn = false;
         mFlashlightOnTimer.readSummaryFromParcelLocked(in);
@@ -8404,10 +8822,13 @@
         out.writeInt(getHighDischargeAmountSinceCharge());
         out.writeInt(getDischargeAmountScreenOnSinceCharge());
         out.writeInt(getDischargeAmountScreenOffSinceCharge());
-        out.writeInt(mNumDischargeStepDurations);
-        out.writeLongArray(mDischargeStepDurations);
-        out.writeInt(mNumChargeStepDurations);
-        out.writeLongArray(mChargeStepDurations);
+        mDischargeStepTracker.writeToParcel(out);
+        mChargeStepTracker.writeToParcel(out);
+        mDailyDischargeStepTracker.writeToParcel(out);
+        mDailyChargeStepTracker.writeToParcel(out);
+        out.writeLong(mDailyStartTime);
+        out.writeLong(mNextMinDailyDeadline);
+        out.writeLong(mNextMaxDailyDeadline);
 
         mScreenOnTimer.writeSummaryFromParcelLocked(out, NOWREAL_SYS);
         for (int i=0; i<NUM_SCREEN_BRIGHTNESS_BINS; i++) {
@@ -8447,6 +8868,12 @@
         for (int i=0; i< NUM_BLUETOOTH_STATES; i++) {
             mBluetoothStateTimer[i].writeSummaryFromParcelLocked(out, NOWREAL_SYS);
         }
+        for (int i=0; i< NUM_CONTROLLER_ACTIVITY_TYPES; i++) {
+            mBluetoothActivityCounters[i].writeSummaryFromParcelLocked(out);
+        }
+        for (int i=0; i< NUM_CONTROLLER_ACTIVITY_TYPES; i++) {
+            mWifiActivityCounters[i].writeSummaryFromParcelLocked(out);
+        }
         out.writeInt(mNumConnectivityChange);
         mFlashlightOnTimer.writeSummaryFromParcelLocked(out, NOWREAL_SYS);
 
@@ -8751,6 +9178,15 @@
             mBluetoothStateTimer[i] = new StopwatchTimer(null, -500-i,
                     null, mOnBatteryTimeBase, in);
         }
+
+        for (int i = 0; i < NUM_CONTROLLER_ACTIVITY_TYPES; i++) {
+            mBluetoothActivityCounters[i] = new LongSamplingCounter(mOnBatteryTimeBase, in);
+        }
+
+        for (int i = 0; i < NUM_CONTROLLER_ACTIVITY_TYPES; i++) {
+            mWifiActivityCounters[i] = new LongSamplingCounter(mOnBatteryTimeBase, in);
+        }
+
         mNumConnectivityChange = in.readInt();
         mLoadedNumConnectivityChange = in.readInt();
         mUnpluggedNumConnectivityChange = in.readInt();
@@ -8770,10 +9206,8 @@
         mDischargeAmountScreenOnSinceCharge = in.readInt();
         mDischargeAmountScreenOff = in.readInt();
         mDischargeAmountScreenOffSinceCharge = in.readInt();
-        mNumDischargeStepDurations = in.readInt();
-        in.readLongArray(mDischargeStepDurations);
-        mNumChargeStepDurations = in.readInt();
-        in.readLongArray(mChargeStepDurations);
+        mDischargeStepTracker.readFromParcel(in);
+        mChargeStepTracker.readFromParcel(in);
         mLastWriteTime = in.readLong();
 
         mBluetoothPingCount = in.readInt();
@@ -8898,6 +9332,12 @@
         for (int i=0; i< NUM_BLUETOOTH_STATES; i++) {
             mBluetoothStateTimer[i].writeToParcel(out, uSecRealtime);
         }
+        for (int i=0; i< NUM_CONTROLLER_ACTIVITY_TYPES; i++) {
+            mBluetoothActivityCounters[i].writeToParcel(out);
+        }
+        for (int i=0; i< NUM_CONTROLLER_ACTIVITY_TYPES; i++) {
+            mWifiActivityCounters[i].writeToParcel(out);
+        }
         out.writeInt(mNumConnectivityChange);
         out.writeInt(mLoadedNumConnectivityChange);
         out.writeInt(mUnpluggedNumConnectivityChange);
@@ -8912,10 +9352,8 @@
         out.writeInt(mDischargeAmountScreenOnSinceCharge);
         out.writeInt(mDischargeAmountScreenOff);
         out.writeInt(mDischargeAmountScreenOffSinceCharge);
-        out.writeInt(mNumDischargeStepDurations);
-        out.writeLongArray(mDischargeStepDurations);
-        out.writeInt(mNumChargeStepDurations);
-        out.writeLongArray(mChargeStepDurations);
+        mDischargeStepTracker.writeToParcel(out);
+        mChargeStepTracker.writeToParcel(out);
         out.writeLong(mLastWriteTime);
 
         out.writeInt(getBluetoothPingCount());
diff --git a/core/java/com/android/internal/os/InstallerConnection.java b/core/java/com/android/internal/os/InstallerConnection.java
index 2f30ebc..433a54b 100644
--- a/core/java/com/android/internal/os/InstallerConnection.java
+++ b/core/java/com/android/internal/os/InstallerConnection.java
@@ -91,11 +91,11 @@
     }
 
     public int dexopt(String apkPath, int uid, boolean isPublic, String instructionSet) {
-        return dexopt(apkPath, uid, isPublic, "*", instructionSet, false);
+        return dexopt(apkPath, uid, isPublic, "*", instructionSet, false, false);
     }
 
     public int dexopt(String apkPath, int uid, boolean isPublic, String pkgName,
-            String instructionSet, boolean vmSafeMode) {
+            String instructionSet, boolean vmSafeMode, boolean debuggable) {
         StringBuilder builder = new StringBuilder("dexopt");
         builder.append(' ');
         builder.append(apkPath);
@@ -106,8 +106,8 @@
         builder.append(pkgName);
         builder.append(' ');
         builder.append(instructionSet);
-        builder.append(' ');
         builder.append(vmSafeMode ? " 1" : " 0");
+        builder.append(debuggable ? " 1" : " 0");
         return execute(builder.toString());
     }
 
diff --git a/core/java/com/android/internal/os/PowerProfile.java b/core/java/com/android/internal/os/PowerProfile.java
index b3bafa1..944eb5a 100644
--- a/core/java/com/android/internal/os/PowerProfile.java
+++ b/core/java/com/android/internal/os/PowerProfile.java
@@ -76,6 +76,11 @@
     public static final String POWER_WIFI_ACTIVE = "wifi.active";
 
     /**
+     * Operating voltage of the WiFi controller.
+     */
+    public static final String OPERATING_VOLTAGE_WIFI = "wifi.voltage";
+
+    /**
      * Power consumption when GPS is on.
      */
     public static final String POWER_GPS_ON = "gps.on";
@@ -96,6 +101,11 @@
     public static final String POWER_BLUETOOTH_AT_CMD = "bluetooth.at";
 
     /**
+     * Operating voltage of the Bluetooth controller.
+     */
+    public static final String OPERATING_VOLTAGE_BLUETOOTH = "bluetooth.voltage";
+
+    /**
      * Power consumption when screen is on, not including the backlight power.
      */
     public static final String POWER_SCREEN_ON = "screen.on";
@@ -224,11 +234,13 @@
     }
 
     /**
-     * Returns the average current in mA consumed by the subsystem 
+     * Returns the average current in mA consumed by the subsystem, or the given
+     * default value if the subsystem has no recorded value.
      * @param type the subsystem type
+     * @param defaultValue the value to return if the subsystem has no recorded value.
      * @return the average current in milliAmps.
      */
-    public double getAveragePower(String type) {
+    public double getAveragePowerOrDefault(String type, double defaultValue) {
         if (sPowerMap.containsKey(type)) {
             Object data = sPowerMap.get(type);
             if (data instanceof Double[]) {
@@ -237,9 +249,18 @@
                 return (Double) sPowerMap.get(type);
             }
         } else {
-            return 0;
+            return defaultValue;
         }
     }
+
+    /**
+     * Returns the average current in mA consumed by the subsystem
+     * @param type the subsystem type
+     * @return the average current in milliAmps.
+     */
+    public double getAveragePower(String type) {
+        return getAveragePowerOrDefault(type, 0);
+    }
     
     /**
      * Returns the average current in mA consumed by the subsystem for the given level.
diff --git a/core/java/com/android/internal/os/ProcessCpuTracker.java b/core/java/com/android/internal/os/ProcessCpuTracker.java
index 501e0ec..2983047 100644
--- a/core/java/com/android/internal/os/ProcessCpuTracker.java
+++ b/core/java/com/android/internal/os/ProcessCpuTracker.java
@@ -22,11 +22,13 @@
 import android.os.Process;
 import android.os.StrictMode;
 import android.os.SystemClock;
+import android.system.OsConstants;
 import android.util.Slog;
 
 import com.android.internal.util.FastPrintWriter;
 
 import libcore.io.IoUtils;
+import libcore.io.Libcore;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -130,6 +132,9 @@
 
     private final boolean mIncludeThreads;
 
+    // How long a CPU jiffy is in milliseconds.
+    private final long mJiffyMillis;
+
     private float mLoad1 = 0;
     private float mLoad5 = 0;
     private float mLoad15 = 0;
@@ -269,6 +274,8 @@
 
     public ProcessCpuTracker(boolean includeThreads) {
         mIncludeThreads = includeThreads;
+        long jiffyHz = Libcore.os.sysconf(OsConstants._SC_CLK_TCK);
+        mJiffyMillis = 1000/jiffyHz;
     }
 
     public void onLoadChanged(float load1, float load5, float load15) {
@@ -294,15 +301,15 @@
         if (Process.readProcFile("/proc/stat", SYSTEM_CPU_FORMAT,
                 null, sysCpu, null)) {
             // Total user time is user + nice time.
-            final long usertime = sysCpu[0]+sysCpu[1];
+            final long usertime = (sysCpu[0]+sysCpu[1]) * mJiffyMillis;
             // Total system time is simply system time.
-            final long systemtime = sysCpu[2];
+            final long systemtime = sysCpu[2] * mJiffyMillis;
             // Total idle time is simply idle time.
-            final long idletime = sysCpu[3];
+            final long idletime = sysCpu[3] * mJiffyMillis;
             // Total irq time is iowait + irq + softirq time.
-            final long iowaittime = sysCpu[4];
-            final long irqtime = sysCpu[5];
-            final long softirqtime = sysCpu[6];
+            final long iowaittime = sysCpu[4] * mJiffyMillis;
+            final long irqtime = sysCpu[5] * mJiffyMillis;
+            final long softirqtime = sysCpu[6] * mJiffyMillis;
 
             // This code is trying to avoid issues with idle time going backwards,
             // but currently it gets into situations where it triggers most of the time. :(
@@ -318,10 +325,11 @@
                 mRelStatsAreGood = true;
 
                 if (DEBUG) {
-                    Slog.i("Load", "Total U:" + sysCpu[0] + " N:" + sysCpu[1]
-                          + " S:" + sysCpu[2] + " I:" + sysCpu[3]
-                          + " W:" + sysCpu[4] + " Q:" + sysCpu[5]
-                          + " O:" + sysCpu[6]);
+                    Slog.i("Load", "Total U:" + (sysCpu[0]*mJiffyMillis)
+                          + " N:" + (sysCpu[1]*mJiffyMillis)
+                          + " S:" + (sysCpu[2]*mJiffyMillis) + " I:" + (sysCpu[3]*mJiffyMillis)
+                          + " W:" + (sysCpu[4]*mJiffyMillis) + " Q:" + (sysCpu[5]*mJiffyMillis)
+                          + " O:" + (sysCpu[6]*mJiffyMillis));
                     Slog.i("Load", "Rel U:" + mRelUserTime + " S:" + mRelSystemTime
                           + " I:" + mRelIdleTime + " Q:" + mRelIrqTime);
                 }
@@ -414,8 +422,8 @@
 
                     final long minfaults = procStats[PROCESS_STAT_MINOR_FAULTS];
                     final long majfaults = procStats[PROCESS_STAT_MAJOR_FAULTS];
-                    final long utime = procStats[PROCESS_STAT_UTIME];
-                    final long stime = procStats[PROCESS_STAT_STIME];
+                    final long utime = procStats[PROCESS_STAT_UTIME] * mJiffyMillis;
+                    final long stime = procStats[PROCESS_STAT_STIME] * mJiffyMillis;
 
                     if (utime == st.base_utime && stime == st.base_stime) {
                         st.rel_utime = 0;
@@ -489,8 +497,8 @@
                         st.baseName = procStatsString[0];
                         st.base_minfaults = procStats[PROCESS_FULL_STAT_MINOR_FAULTS];
                         st.base_majfaults = procStats[PROCESS_FULL_STAT_MAJOR_FAULTS];
-                        st.base_utime = procStats[PROCESS_FULL_STAT_UTIME];
-                        st.base_stime = procStats[PROCESS_FULL_STAT_STIME];
+                        st.base_utime = procStats[PROCESS_FULL_STAT_UTIME] * mJiffyMillis;
+                        st.base_stime = procStats[PROCESS_FULL_STAT_STIME] * mJiffyMillis;
                     } else {
                         Slog.i(TAG, "Skipping kernel process pid " + pid
                                 + " name " + procStatsString[0]);
@@ -576,7 +584,7 @@
                     null, statsData, null)) {
                 long time = statsData[PROCESS_STAT_UTIME]
                         + statsData[PROCESS_STAT_STIME];
-                return time;
+                return time * mJiffyMillis;
             }
             return 0;
         }
@@ -777,7 +785,7 @@
         for (int i=0; i<N; i++) {
             Stats st = mWorkingProcs.get(i);
             printProcessCPU(pw, st.added ? " +" : (st.removed ? " -": "  "),
-                    st.pid, st.name, (int)(st.rel_uptime+5)/10,
+                    st.pid, st.name, (int)st.rel_uptime,
                     st.rel_utime, st.rel_stime, 0, 0, 0, st.rel_minfaults, st.rel_majfaults);
             if (!st.removed && st.workingThreads != null) {
                 int M = st.workingThreads.size();
@@ -785,7 +793,7 @@
                     Stats tst = st.workingThreads.get(j);
                     printProcessCPU(pw,
                             tst.added ? "   +" : (tst.removed ? "   -": "    "),
-                            tst.pid, tst.name, (int)(st.rel_uptime+5)/10,
+                            tst.pid, tst.name, (int)st.rel_uptime,
                             tst.rel_utime, tst.rel_stime, 0, 0, 0, 0, 0);
                 }
             }
diff --git a/core/java/com/android/internal/os/ZygoteConnection.java b/core/java/com/android/internal/os/ZygoteConnection.java
index a55fe9a..7acd8f5 100644
--- a/core/java/com/android/internal/os/ZygoteConnection.java
+++ b/core/java/com/android/internal/os/ZygoteConnection.java
@@ -30,7 +30,6 @@
 import android.system.ErrnoException;
 import android.system.Os;
 import android.util.Log;
-import dalvik.system.PathClassLoader;
 import dalvik.system.VMRuntime;
 import java.io.BufferedReader;
 import java.io.DataInputStream;
@@ -77,7 +76,6 @@
     private final DataOutputStream mSocketOutStream;
     private final BufferedReader mSocketReader;
     private final Credentials peer;
-    private final String peerSecurityContext;
     private final String abiList;
 
     /**
@@ -98,15 +96,13 @@
                 new InputStreamReader(socket.getInputStream()), 256);
 
         mSocket.setSoTimeout(CONNECTION_TIMEOUT_MILLIS);
-                
+
         try {
             peer = mSocket.getPeerCredentials();
         } catch (IOException ex) {
             Log.e(TAG, "Cannot read peer credentials", ex);
             throw ex;
         }
-
-        peerSecurityContext = SELinux.getPeerContext(mSocket.getFileDescriptor());
     }
 
     /**
@@ -178,10 +174,8 @@
                         ", effective=0x" + Long.toHexString(parsedArgs.effectiveCapabilities));
             }
 
-            applyUidSecurityPolicy(parsedArgs, peer, peerSecurityContext);
-            applyRlimitSecurityPolicy(parsedArgs, peer, peerSecurityContext);
-            applyInvokeWithSecurityPolicy(parsedArgs, peer, peerSecurityContext);
-            applyseInfoSecurityPolicy(parsedArgs, peer, peerSecurityContext);
+            applyUidSecurityPolicy(parsedArgs, peer);
+            applyInvokeWithSecurityPolicy(parsedArgs, peer);
 
             applyDebuggerSystemProperty(parsedArgs);
             applyInvokeWithSystemProperty(parsedArgs);
@@ -582,7 +576,7 @@
         }
 
         // See bug 1092107: large argc can be used for a DOS attack
-        if (argc > MAX_ZYGOTE_ARGC) {   
+        if (argc > MAX_ZYGOTE_ARGC) {
             throw new IOException("max arg count exceeded");
         }
 
@@ -599,63 +593,30 @@
     }
 
     /**
-     * Applies zygote security policy per bugs #875058 and #1082165. 
-     * Based on the credentials of the process issuing a zygote command:
-     * <ol>
-     * <li> uid 0 (root) may specify any uid, gid, and setgroups() list
-     * <li> uid 1000 (Process.SYSTEM_UID) may specify any uid &gt; 1000 in normal
+     * uid 1000 (Process.SYSTEM_UID) may specify any uid &gt; 1000 in normal
      * operation. It may also specify any gid and setgroups() list it chooses.
      * In factory test mode, it may specify any UID.
-     * <li> Any other uid may not specify any uid, gid, or setgroups list. The
-     * uid and gid will be inherited from the requesting process.
-     * </ul>
      *
      * @param args non-null; zygote spawner arguments
      * @param peer non-null; peer credentials
      * @throws ZygoteSecurityException
      */
-    private static void applyUidSecurityPolicy(Arguments args, Credentials peer,
-            String peerSecurityContext)
+    private static void applyUidSecurityPolicy(Arguments args, Credentials peer)
             throws ZygoteSecurityException {
 
-        int peerUid = peer.getUid();
-
-        if (peerUid == 0) {
-            // Root can do what it wants
-        } else if (peerUid == Process.SYSTEM_UID ) {
-            // System UID is restricted, except in factory test mode
+        if (peer.getUid() == Process.SYSTEM_UID) {
             String factoryTest = SystemProperties.get("ro.factorytest");
             boolean uidRestricted;
 
             /* In normal operation, SYSTEM_UID can only specify a restricted
              * set of UIDs. In factory test mode, SYSTEM_UID may specify any uid.
              */
-            uidRestricted  
-                 = !(factoryTest.equals("1") || factoryTest.equals("2"));
+            uidRestricted = !(factoryTest.equals("1") || factoryTest.equals("2"));
 
-            if (uidRestricted
-                    && args.uidSpecified && (args.uid < Process.SYSTEM_UID)) {
+            if (uidRestricted && args.uidSpecified && (args.uid < Process.SYSTEM_UID)) {
                 throw new ZygoteSecurityException(
                         "System UID may not launch process with UID < "
-                                + Process.SYSTEM_UID);
-            }
-        } else {
-            // Everything else
-            if (args.uidSpecified || args.gidSpecified
-                || args.gids != null) {
-                throw new ZygoteSecurityException(
-                        "App UIDs may not specify uid's or gid's");
-            }
-        }
-
-        if (args.uidSpecified || args.gidSpecified || args.gids != null) {
-            boolean allowed = SELinux.checkSELinuxAccess(peerSecurityContext,
-                                                         peerSecurityContext,
-                                                         "zygote",
-                                                         "specifyids");
-            if (!allowed) {
-                throw new ZygoteSecurityException(
-                        "Peer may not specify uid's or gid's");
+                        + Process.SYSTEM_UID);
             }
         }
 
@@ -670,7 +631,6 @@
         }
     }
 
-
     /**
      * Applies debugger system properties to the zygote arguments.
      *
@@ -687,44 +647,6 @@
     }
 
     /**
-     * Applies zygote security policy per bug #1042973. Based on the credentials
-     * of the process issuing a zygote command:
-     * <ol>
-     * <li> peers of  uid 0 (root) and uid 1000 (Process.SYSTEM_UID)
-     * may specify any rlimits.
-     * <li> All other uids may not specify rlimits.
-     * </ul>
-     * @param args non-null; zygote spawner arguments
-     * @param peer non-null; peer credentials
-     * @throws ZygoteSecurityException
-     */
-    private static void applyRlimitSecurityPolicy(
-            Arguments args, Credentials peer, String peerSecurityContext)
-            throws ZygoteSecurityException {
-
-        int peerUid = peer.getUid();
-
-        if (!(peerUid == 0 || peerUid == Process.SYSTEM_UID)) {
-            // All peers with UID other than root or SYSTEM_UID
-            if (args.rlimits != null) {
-                throw new ZygoteSecurityException(
-                        "This UID may not specify rlimits.");
-            }
-        }
-
-        if (args.rlimits != null) {
-            boolean allowed = SELinux.checkSELinuxAccess(peerSecurityContext,
-                                                         peerSecurityContext,
-                                                         "zygote",
-                                                         "specifyrlimits");
-            if (!allowed) {
-                throw new ZygoteSecurityException(
-                        "Peer may not specify rlimits");
-            }
-         }
-    }
-
-    /**
      * Applies zygote security policy.
      * Based on the credentials of the process issuing a zygote command:
      * <ol>
@@ -737,8 +659,7 @@
      * @param peer non-null; peer credentials
      * @throws ZygoteSecurityException
      */
-    private static void applyInvokeWithSecurityPolicy(Arguments args, Credentials peer,
-            String peerSecurityContext)
+    private static void applyInvokeWithSecurityPolicy(Arguments args, Credentials peer)
             throws ZygoteSecurityException {
         int peerUid = peer.getUid();
 
@@ -746,52 +667,6 @@
             throw new ZygoteSecurityException("Peer is not permitted to specify "
                     + "an explicit invoke-with wrapper command");
         }
-
-        if (args.invokeWith != null) {
-            boolean allowed = SELinux.checkSELinuxAccess(peerSecurityContext,
-                                                         peerSecurityContext,
-                                                         "zygote",
-                                                         "specifyinvokewith");
-            if (!allowed) {
-                throw new ZygoteSecurityException("Peer is not permitted to specify "
-                    + "an explicit invoke-with wrapper command");
-            }
-        }
-    }
-
-    /**
-     * Applies zygote security policy for SELinux information.
-     *
-     * @param args non-null; zygote spawner arguments
-     * @param peer non-null; peer credentials
-     * @throws ZygoteSecurityException
-     */
-    private static void applyseInfoSecurityPolicy(
-            Arguments args, Credentials peer, String peerSecurityContext)
-            throws ZygoteSecurityException {
-        int peerUid = peer.getUid();
-
-        if (args.seInfo == null) {
-            // nothing to check
-            return;
-        }
-
-        if (!(peerUid == 0 || peerUid == Process.SYSTEM_UID)) {
-            // All peers with UID other than root or SYSTEM_UID
-            throw new ZygoteSecurityException(
-                    "This UID may not specify SELinux info.");
-        }
-
-        boolean allowed = SELinux.checkSELinuxAccess(peerSecurityContext,
-                                                     peerSecurityContext,
-                                                     "zygote",
-                                                     "specifyseinfo");
-        if (!allowed) {
-            throw new ZygoteSecurityException(
-                    "Peer may not specify SELinux info");
-        }
-
-        return;
     }
 
     /**
@@ -801,20 +676,18 @@
      */
     public static void applyInvokeWithSystemProperty(Arguments args) {
         if (args.invokeWith == null && args.niceName != null) {
-            if (args.niceName != null) {
-                String property = "wrap." + args.niceName;
-                if (property.length() > 31) {
-                    // Properties with a trailing "." are illegal.
-                    if (property.charAt(30) != '.') {
-                        property = property.substring(0, 31);
-                    } else {
-                        property = property.substring(0, 30);
-                    }
+            String property = "wrap." + args.niceName;
+            if (property.length() > 31) {
+                // Properties with a trailing "." are illegal.
+                if (property.charAt(30) != '.') {
+                    property = property.substring(0, 31);
+                } else {
+                    property = property.substring(0, 30);
                 }
-                args.invokeWith = SystemProperties.get(property);
-                if (args.invokeWith != null && args.invokeWith.length() == 0) {
-                    args.invokeWith = null;
-                }
+            }
+            args.invokeWith = SystemProperties.get(property);
+            if (args.invokeWith != null && args.invokeWith.length() == 0) {
+                args.invokeWith = null;
             }
         }
     }
diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java
index 400ea37..49d565d 100644
--- a/core/java/com/android/internal/os/ZygoteInit.java
+++ b/core/java/com/android/internal/os/ZygoteInit.java
@@ -24,8 +24,6 @@
 import android.content.res.TypedArray;
 import android.net.LocalServerSocket;
 import android.opengl.EGL14;
-import android.os.Build;
-import android.os.Debug;
 import android.os.Process;
 import android.os.SystemClock;
 import android.os.SystemProperties;
@@ -36,7 +34,6 @@
 import android.system.StructPollfd;
 import android.util.EventLog;
 import android.util.Log;
-import android.util.Slog;
 import android.webkit.WebViewFactory;
 
 import dalvik.system.DexFile;
@@ -54,7 +51,6 @@
 import java.io.InputStreamReader;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
 import java.util.ArrayList;
 
 /**
diff --git a/core/java/com/android/internal/transition/EpicenterClipReveal.java b/core/java/com/android/internal/transition/EpicenterClipReveal.java
index d8a7f16..abb50c1 100644
--- a/core/java/com/android/internal/transition/EpicenterClipReveal.java
+++ b/core/java/com/android/internal/transition/EpicenterClipReveal.java
@@ -16,6 +16,7 @@
 package com.android.internal.transition;
 
 import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
 import android.animation.ObjectAnimator;
 import android.animation.RectEvaluator;
 import android.content.Context;
@@ -75,13 +76,13 @@
             return null;
         }
 
-        final Rect start = getEpicenter();
         final Rect end = getBestRect(endValues);
+        final Rect start = getEpicenterOrCenter(end);
 
         // Prepare the view.
         view.setClipBounds(start);
 
-        return createRectAnimator(view, start, end);
+        return createRectAnimator(view, start, end, endValues);
     }
 
     @Override
@@ -92,12 +93,23 @@
         }
 
         final Rect start = getBestRect(startValues);
-        final Rect end = getEpicenter();
+        final Rect end = getEpicenterOrCenter(start);
 
         // Prepare the view.
         view.setClipBounds(start);
 
-        return createRectAnimator(view, start, end);
+        return createRectAnimator(view, start, end, endValues);
+    }
+
+    private Rect getEpicenterOrCenter(Rect bestRect) {
+        final Rect epicenter = getEpicenter();
+        if (epicenter != null) {
+            return epicenter;
+        }
+
+        int centerX = bestRect.centerX();
+        int centerY = bestRect.centerY();
+        return new Rect(centerX, centerY, centerX, centerY);
     }
 
     private Rect getBestRect(TransitionValues values) {
@@ -108,8 +120,17 @@
         return clipRect;
     }
 
-    private Animator createRectAnimator(View view, Rect start, Rect end) {
+    private Animator createRectAnimator(final View view, Rect start, Rect end,
+            TransitionValues endValues) {
+        final Rect terminalClip = (Rect) endValues.values.get(PROPNAME_CLIP);
         final RectEvaluator evaluator = new RectEvaluator(new Rect());
-        return ObjectAnimator.ofObject(view, "clipBounds", evaluator, start, end);
+        ObjectAnimator anim = ObjectAnimator.ofObject(view, "clipBounds", evaluator, start, end);
+        anim.addListener(new AnimatorListenerAdapter() {
+            @Override
+            public void onAnimationEnd(Animator animation) {
+                view.setClipBounds(terminalClip);
+            }
+        });
+        return anim;
     }
 }
diff --git a/core/java/com/android/internal/util/XmlUtils.java b/core/java/com/android/internal/util/XmlUtils.java
index 2bd607c..0350d61 100644
--- a/core/java/com/android/internal/util/XmlUtils.java
+++ b/core/java/com/android/internal/util/XmlUtils.java
@@ -20,6 +20,7 @@
 import android.graphics.BitmapFactory;
 import android.graphics.Bitmap.CompressFormat;
 import android.net.Uri;
+import android.util.ArrayMap;
 import android.util.Base64;
 import android.util.Xml;
 
@@ -822,7 +823,36 @@
         int eventType = parser.getEventType();
         do {
             if (eventType == parser.START_TAG) {
-                Object val = readThisValueXml(parser, name, callback);
+                Object val = readThisValueXml(parser, name, callback, false);
+                map.put(name[0], val);
+            } else if (eventType == parser.END_TAG) {
+                if (parser.getName().equals(endTag)) {
+                    return map;
+                }
+                throw new XmlPullParserException(
+                    "Expected " + endTag + " end tag at: " + parser.getName());
+            }
+            eventType = parser.next();
+        } while (eventType != parser.END_DOCUMENT);
+
+        throw new XmlPullParserException(
+            "Document ended before " + endTag + " end tag");
+    }
+
+    /**
+     * Like {@link #readThisMapXml}, but returns an ArrayMap instead of HashMap.
+     * @hide
+     */
+    public static final ArrayMap<String, ?> readThisArrayMapXml(XmlPullParser parser, String endTag,
+            String[] name, ReadMapCallback callback)
+            throws XmlPullParserException, java.io.IOException
+    {
+        ArrayMap<String, Object> map = new ArrayMap<>();
+
+        int eventType = parser.getEventType();
+        do {
+            if (eventType == parser.START_TAG) {
+                Object val = readThisValueXml(parser, name, callback, true);
                 map.put(name[0], val);
             } else if (eventType == parser.END_TAG) {
                 if (parser.getName().equals(endTag)) {
@@ -854,7 +884,7 @@
      */
     public static final ArrayList readThisListXml(XmlPullParser parser, String endTag,
             String[] name) throws XmlPullParserException, java.io.IOException {
-        return readThisListXml(parser, endTag, name, null);
+        return readThisListXml(parser, endTag, name, null, false);
     }
 
     /**
@@ -872,14 +902,14 @@
      * @see #readListXml
      */
     private static final ArrayList readThisListXml(XmlPullParser parser, String endTag,
-            String[] name, ReadMapCallback callback)
+            String[] name, ReadMapCallback callback, boolean arrayMap)
             throws XmlPullParserException, java.io.IOException {
         ArrayList list = new ArrayList();
 
         int eventType = parser.getEventType();
         do {
             if (eventType == parser.START_TAG) {
-                Object val = readThisValueXml(parser, name, callback);
+                Object val = readThisValueXml(parser, name, callback, arrayMap);
                 list.add(val);
                 //System.out.println("Adding to list: " + val);
             } else if (eventType == parser.END_TAG) {
@@ -915,7 +945,7 @@
      */
     public static final HashSet readThisSetXml(XmlPullParser parser, String endTag, String[] name)
             throws XmlPullParserException, java.io.IOException {
-        return readThisSetXml(parser, endTag, name, null);
+        return readThisSetXml(parser, endTag, name, null, false);
     }
 
     /**
@@ -937,13 +967,14 @@
      * @hide
      */
     private static final HashSet readThisSetXml(XmlPullParser parser, String endTag, String[] name,
-            ReadMapCallback callback) throws XmlPullParserException, java.io.IOException {
+            ReadMapCallback callback, boolean arrayMap)
+            throws XmlPullParserException, java.io.IOException {
         HashSet set = new HashSet();
         
         int eventType = parser.getEventType();
         do {
             if (eventType == parser.START_TAG) {
-                Object val = readThisValueXml(parser, name, callback);
+                Object val = readThisValueXml(parser, name, callback, arrayMap);
                 set.add(val);
                 //System.out.println("Adding to set: " + val);
             } else if (eventType == parser.END_TAG) {
@@ -1292,7 +1323,7 @@
         int eventType = parser.getEventType();
         do {
             if (eventType == parser.START_TAG) {
-                return readThisValueXml(parser, name, null);
+                return readThisValueXml(parser, name, null, false);
             } else if (eventType == parser.END_TAG) {
                 throw new XmlPullParserException(
                     "Unexpected end tag at: " + parser.getName());
@@ -1308,7 +1339,8 @@
     }
 
     private static final Object readThisValueXml(XmlPullParser parser, String[] name,
-            ReadMapCallback callback)  throws XmlPullParserException, java.io.IOException {
+            ReadMapCallback callback, boolean arrayMap)
+            throws XmlPullParserException, java.io.IOException {
         final String valueName = parser.getAttributeValue(null, "name");
         final String tagName = parser.getName();
 
@@ -1368,19 +1400,21 @@
             return res;
         } else if (tagName.equals("map")) {
             parser.next();
-            res = readThisMapXml(parser, "map", name);
+            res = arrayMap
+                    ? readThisArrayMapXml(parser, "map", name, callback)
+                    : readThisMapXml(parser, "map", name, callback);
             name[0] = valueName;
             //System.out.println("Returning value for " + valueName + ": " + res);
             return res;
         } else if (tagName.equals("list")) {
             parser.next();
-            res = readThisListXml(parser, "list", name);
+            res = readThisListXml(parser, "list", name, callback, arrayMap);
             name[0] = valueName;
             //System.out.println("Returning value for " + valueName + ": " + res);
             return res;
         } else if (tagName.equals("set")) {
             parser.next();
-            res = readThisSetXml(parser, "set", name);
+            res = readThisSetXml(parser, "set", name, callback, arrayMap);
             name[0] = valueName;
             //System.out.println("Returning value for " + valueName + ": " + res);
             return res;
diff --git a/core/java/com/android/internal/view/ActionModeWrapper.java b/core/java/com/android/internal/view/ActionModeWrapper.java
index 72066b9..d98617d 100644
--- a/core/java/com/android/internal/view/ActionModeWrapper.java
+++ b/core/java/com/android/internal/view/ActionModeWrapper.java
@@ -113,6 +113,10 @@
         }
     }
 
+    public ActionMode getWrappedActionMode() {
+        return mActionMode;
+    }
+
     /**
      * Set the current type as final and create the necessary ActionMode. After this call, any
      * changes to the ActionMode type will be ignored.
@@ -165,6 +169,8 @@
     public void finish() {
         if (mActionMode != null) {
             mActionMode.finish();
+        } else {
+            mCallback.onDestroyActionMode(this);
         }
     }
 
diff --git a/core/java/com/android/internal/view/StandaloneActionMode.java b/core/java/com/android/internal/view/StandaloneActionMode.java
index 2812b77..e6d911c 100644
--- a/core/java/com/android/internal/view/StandaloneActionMode.java
+++ b/core/java/com/android/internal/view/StandaloneActionMode.java
@@ -20,7 +20,6 @@
 import com.android.internal.view.menu.SubMenuBuilder;
 import com.android.internal.widget.ActionBarContextView;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.view.ActionMode;
 import android.view.Menu;
@@ -42,14 +41,12 @@
     private MenuBuilder mMenu;
 
     public StandaloneActionMode(Context context, ActionBarContextView view,
-            ActionMode.Callback callback, boolean isFocusable, @Nullable MenuBuilder menuBuilder) {
+            ActionMode.Callback callback, boolean isFocusable) {
         mContext = context;
         mContextView = view;
         mCallback = callback;
 
-        mMenu = (menuBuilder != null)
-                ? menuBuilder
-                : new MenuBuilder(view.getContext()).setDefaultShowAsAction(
+        mMenu = new MenuBuilder(view.getContext()).setDefaultShowAsAction(
                         MenuItem.SHOW_AS_ACTION_IF_ROOM);
         mMenu.setCallback(this);
         mFocusable = isFocusable;
diff --git a/core/java/com/android/internal/view/menu/ActionMenuItem.java b/core/java/com/android/internal/view/menu/ActionMenuItem.java
index ed676bb..00af401 100644
--- a/core/java/com/android/internal/view/menu/ActionMenuItem.java
+++ b/core/java/com/android/internal/view/menu/ActionMenuItem.java
@@ -18,6 +18,8 @@
 
 import android.content.Context;
 import android.content.Intent;
+import android.content.res.ColorStateList;
+import android.graphics.PorterDuff;
 import android.graphics.drawable.Drawable;
 import android.view.ActionProvider;
 import android.view.ContextMenu.ContextMenuInfo;
@@ -42,6 +44,7 @@
     
     private Drawable mIconDrawable;
     private int mIconResId = NO_ICON;
+    private TintInfo mIconTintInfo;
     
     private Context mContext;
     
@@ -158,12 +161,14 @@
     public MenuItem setIcon(Drawable icon) {
         mIconDrawable = icon;
         mIconResId = NO_ICON;
+        applyIconTint();
         return this;
     }
 
     public MenuItem setIcon(int iconRes) {
         mIconResId = iconRes;
         mIconDrawable = mContext.getDrawable(iconRes);
+        applyIconTint();
         return this;
     }
 
@@ -274,4 +279,48 @@
         // No need to save the listener; ActionMenuItem does not support collapsing items.
         return this;
     }
+
+    @Override
+    public MenuItem setIconTintList(ColorStateList tintList) {
+        if (mIconTintInfo == null) {
+            mIconTintInfo = new TintInfo();
+        }
+        mIconTintInfo.mTintList = tintList;
+        mIconTintInfo.mHasTintList = true;
+        applyIconTint();
+        return this;
+    }
+
+    @Override
+    public MenuItem setIconTintMode(PorterDuff.Mode tintMode) {
+        if (mIconTintInfo == null) {
+            mIconTintInfo = new TintInfo();
+        }
+        mIconTintInfo.mTintMode = tintMode;
+        mIconTintInfo.mHasTintMode = true;
+        applyIconTint();
+        return this;
+    }
+
+    private void applyIconTint() {
+        final TintInfo tintInfo = mIconTintInfo;
+        if (mIconDrawable != null && tintInfo != null) {
+            if (tintInfo.mHasTintList || tintInfo.mHasTintMode) {
+                mIconDrawable = mIconDrawable.mutate();
+                if (tintInfo.mHasTintList) {
+                    mIconDrawable.setTintList(tintInfo.mTintList);
+                }
+                if (tintInfo.mHasTintMode) {
+                    mIconDrawable.setTintMode(tintInfo.mTintMode);
+                }
+            }
+        }
+    }
+
+    private static class TintInfo {
+        ColorStateList mTintList;
+        PorterDuff.Mode mTintMode;
+        boolean mHasTintMode;
+        boolean mHasTintList;
+    }
 }
diff --git a/core/java/com/android/internal/view/menu/MenuItemImpl.java b/core/java/com/android/internal/view/menu/MenuItemImpl.java
index 3b1f20d..ef4e546 100644
--- a/core/java/com/android/internal/view/menu/MenuItemImpl.java
+++ b/core/java/com/android/internal/view/menu/MenuItemImpl.java
@@ -21,6 +21,8 @@
 import android.content.ActivityNotFoundException;
 import android.content.Context;
 import android.content.Intent;
+import android.content.res.ColorStateList;
+import android.graphics.PorterDuff;
 import android.graphics.drawable.Drawable;
 import android.util.Log;
 import android.view.ActionProvider;
@@ -60,6 +62,11 @@
      * needed).
      */ 
     private int mIconResId = NO_ICON;
+
+    /**
+     * Tint info for the icon
+     */
+    private TintInfo mIconTintInfo;
     
     /** The menu to which this item belongs */
     private MenuBuilder mMenu;
@@ -385,10 +392,10 @@
         }
 
         if (mIconResId != NO_ICON) {
-            Drawable icon =  mMenu.getContext().getDrawable(mIconResId);
+            mIconDrawable = mMenu.getContext().getDrawable(mIconResId);
             mIconResId = NO_ICON;
-            mIconDrawable = icon;
-            return icon;
+            applyIconTint();
+            return mIconDrawable;
         }
         
         return null;
@@ -397,6 +404,7 @@
     public MenuItem setIcon(Drawable icon) {
         mIconResId = NO_ICON;
         mIconDrawable = icon;
+        applyIconTint();
         mMenu.onItemsChanged(false);
         
         return this;
@@ -670,4 +678,48 @@
     public boolean isActionViewExpanded() {
         return mIsActionViewExpanded;
     }
+
+    @Override
+    public MenuItem setIconTintList(ColorStateList tintList) {
+        if (mIconTintInfo == null) {
+            mIconTintInfo = new TintInfo();
+        }
+        mIconTintInfo.mTintList = tintList;
+        mIconTintInfo.mHasTintList = true;
+        applyIconTint();
+        return this;
+    }
+
+    @Override
+    public MenuItem setIconTintMode(PorterDuff.Mode tintMode) {
+        if (mIconTintInfo == null) {
+            mIconTintInfo = new TintInfo();
+        }
+        mIconTintInfo.mTintMode = tintMode;
+        mIconTintInfo.mHasTintMode = true;
+        applyIconTint();
+        return this;
+    }
+
+    private void applyIconTint() {
+        final TintInfo tintInfo = mIconTintInfo;
+        if (mIconDrawable != null && tintInfo != null) {
+            if (tintInfo.mHasTintList || tintInfo.mHasTintMode) {
+                mIconDrawable = mIconDrawable.mutate();
+                if (tintInfo.mHasTintList) {
+                    mIconDrawable.setTintList(tintInfo.mTintList);
+                }
+                if (tintInfo.mHasTintMode) {
+                    mIconDrawable.setTintMode(tintInfo.mTintMode);
+                }
+            }
+        }
+    }
+
+    private static class TintInfo {
+        ColorStateList mTintList;
+        PorterDuff.Mode mTintMode;
+        boolean mHasTintMode;
+        boolean mHasTintList;
+    }
 }
diff --git a/core/java/com/android/internal/view/menu/MenuPopupHelper.java b/core/java/com/android/internal/view/menu/MenuPopupHelper.java
index 2b20b38..7d45071 100644
--- a/core/java/com/android/internal/view/menu/MenuPopupHelper.java
+++ b/core/java/com/android/internal/view/menu/MenuPopupHelper.java
@@ -43,8 +43,6 @@
 public class MenuPopupHelper implements AdapterView.OnItemClickListener, View.OnKeyListener,
         ViewTreeObserver.OnGlobalLayoutListener, PopupWindow.OnDismissListener,
         View.OnAttachStateChangeListener, MenuPresenter {
-    private static final String TAG = "MenuPopupHelper";
-
     static final int ITEM_LAYOUT = com.android.internal.R.layout.popup_menu_item_layout;
 
     private final Context mContext;
@@ -132,7 +130,18 @@
         return mPopup;
     }
 
+    /**
+     * Attempts to show the popup anchored to the view specified by
+     * {@link #setAnchorView(View)}.
+     *
+     * @return {@code true} if the popup was shown or was already showing prior
+     *         to calling this method, {@code false} otherwise
+     */
     public boolean tryShow() {
+        if (isShowing()) {
+            return true;
+        }
+
         mPopup = new ListPopupWindow(mContext, null, mPopupStyleAttr, mPopupStyleRes);
         mPopup.setOnDismissListener(this);
         mPopup.setOnItemClickListener(this);
@@ -169,6 +178,7 @@
         }
     }
 
+    @Override
     public void onDismiss() {
         mPopup = null;
         mMenu.close();
@@ -190,6 +200,7 @@
         adapter.mAdapterMenu.performItemAction(adapter.getItem(position), 0);
     }
 
+    @Override
     public boolean onKey(View v, int keyCode, KeyEvent event) {
         if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_MENU) {
             dismiss();
diff --git a/core/java/com/android/internal/widget/ActionBarContainer.java b/core/java/com/android/internal/widget/ActionBarContainer.java
index 7937a95..a5efa82 100644
--- a/core/java/com/android/internal/widget/ActionBarContainer.java
+++ b/core/java/com/android/internal/widget/ActionBarContainer.java
@@ -23,7 +23,6 @@
 import android.graphics.ColorFilter;
 import android.graphics.Outline;
 import android.graphics.PixelFormat;
-import android.graphics.RectF;
 import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
 import android.view.ActionMode;
@@ -32,8 +31,6 @@
 import android.view.ViewGroup;
 import android.widget.FrameLayout;
 
-import java.util.List;
-
 /**
  * This class acts as a container for the action bar view and action mode context views.
  * It applies special styles as needed to help handle animated transitions between them.
@@ -259,6 +256,15 @@
         return null;
     }
 
+    @Override
+    public ActionMode startActionModeForChild(
+            View child, ActionMode.Callback callback, int type) {
+        if (type != ActionMode.TYPE_PRIMARY) {
+            return super.startActionModeForChild(child, callback, type);
+        }
+        return null;
+    }
+
     private static boolean isCollapsed(View view) {
         return view == null || view.getVisibility() == GONE || view.getMeasuredHeight() == 0;
     }
@@ -387,7 +393,7 @@
         }
 
         @Override
-        public void setColorFilter(ColorFilter cf) {
+        public void setColorFilter(ColorFilter colorFilter) {
         }
 
         @Override
diff --git a/core/java/com/android/internal/widget/ActionBarContextView.java b/core/java/com/android/internal/widget/ActionBarContextView.java
index ae5999a..42d875d 100644
--- a/core/java/com/android/internal/widget/ActionBarContextView.java
+++ b/core/java/com/android/internal/widget/ActionBarContextView.java
@@ -17,8 +17,6 @@
 
 import com.android.internal.R;
 
-import android.util.TypedValue;
-import android.view.ContextThemeWrapper;
 import android.widget.ActionMenuPresenter;
 import android.widget.ActionMenuView;
 import com.android.internal.view.menu.MenuBuilder;
diff --git a/core/java/com/android/internal/widget/ActionBarOverlayLayout.java b/core/java/com/android/internal/widget/ActionBarOverlayLayout.java
index cca48d3..c3a7460 100644
--- a/core/java/com/android/internal/widget/ActionBarOverlayLayout.java
+++ b/core/java/com/android/internal/widget/ActionBarOverlayLayout.java
@@ -32,7 +32,6 @@
 import android.util.Log;
 import android.util.Property;
 import android.util.SparseArray;
-import android.view.KeyEvent;
 import android.view.Menu;
 import android.view.View;
 import android.view.ViewGroup;
diff --git a/core/java/com/android/internal/widget/PagerAdapter.java b/core/java/com/android/internal/widget/PagerAdapter.java
new file mode 100644
index 0000000..910a720
--- /dev/null
+++ b/core/java/com/android/internal/widget/PagerAdapter.java
@@ -0,0 +1,320 @@
+/*
+ * 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 com.android.internal.widget;
+
+import android.database.DataSetObservable;
+import android.database.DataSetObserver;
+import android.os.Parcelable;
+import android.view.View;
+import android.view.ViewGroup;
+
+/**
+ * Base class providing the adapter to populate pages inside of
+ * a {@link android.support.v4.view.ViewPager}.  You will most likely want to use a more
+ * specific implementation of this, such as
+ * {@link android.support.v4.app.FragmentPagerAdapter} or
+ * {@link android.support.v4.app.FragmentStatePagerAdapter}.
+ *
+ * <p>When you implement a PagerAdapter, you must override the following methods
+ * at minimum:</p>
+ * <ul>
+ * <li>{@link #instantiateItem(android.view.ViewGroup, int)}</li>
+ * <li>{@link #destroyItem(android.view.ViewGroup, int, Object)}</li>
+ * <li>{@link #getCount()}</li>
+ * <li>{@link #isViewFromObject(android.view.View, Object)}</li>
+ * </ul>
+ *
+ * <p>PagerAdapter is more general than the adapters used for
+ * {@link android.widget.AdapterView AdapterViews}. Instead of providing a
+ * View recycling mechanism directly ViewPager uses callbacks to indicate the
+ * steps taken during an update. A PagerAdapter may implement a form of View
+ * recycling if desired or use a more sophisticated method of managing page
+ * Views such as Fragment transactions where each page is represented by its
+ * own Fragment.</p>
+ *
+ * <p>ViewPager associates each page with a key Object instead of working with
+ * Views directly. This key is used to track and uniquely identify a given page
+ * independent of its position in the adapter. A call to the PagerAdapter method
+ * {@link #startUpdate(android.view.ViewGroup)} indicates that the contents of the ViewPager
+ * are about to change. One or more calls to {@link #instantiateItem(android.view.ViewGroup, int)}
+ * and/or {@link #destroyItem(android.view.ViewGroup, int, Object)} will follow, and the end
+ * of an update will be signaled by a call to {@link #finishUpdate(android.view.ViewGroup)}.
+ * By the time {@link #finishUpdate(android.view.ViewGroup) finishUpdate} returns the views
+ * associated with the key objects returned by
+ * {@link #instantiateItem(android.view.ViewGroup, int) instantiateItem} should be added to
+ * the parent ViewGroup passed to these methods and the views associated with
+ * the keys passed to {@link #destroyItem(android.view.ViewGroup, int, Object) destroyItem}
+ * should be removed. The method {@link #isViewFromObject(android.view.View, Object)} identifies
+ * whether a page View is associated with a given key object.</p>
+ *
+ * <p>A very simple PagerAdapter may choose to use the page Views themselves
+ * as key objects, returning them from {@link #instantiateItem(android.view.ViewGroup, int)}
+ * after creation and adding them to the parent ViewGroup. A matching
+ * {@link #destroyItem(android.view.ViewGroup, int, Object)} implementation would remove the
+ * View from the parent ViewGroup and {@link #isViewFromObject(android.view.View, Object)}
+ * could be implemented as <code>return view == object;</code>.</p>
+ *
+ * <p>PagerAdapter supports data set changes. Data set changes must occur on the
+ * main thread and must end with a call to {@link #notifyDataSetChanged()} similar
+ * to AdapterView adapters derived from {@link android.widget.BaseAdapter}. A data
+ * set change may involve pages being added, removed, or changing position. The
+ * ViewPager will keep the current page active provided the adapter implements
+ * the method {@link #getItemPosition(Object)}.</p>
+ */
+public abstract class PagerAdapter {
+    private DataSetObservable mObservable = new DataSetObservable();
+
+    public static final int POSITION_UNCHANGED = -1;
+    public static final int POSITION_NONE = -2;
+
+    /**
+     * Return the number of views available.
+     */
+    public abstract int getCount();
+
+    /**
+     * Called when a change in the shown pages is going to start being made.
+     * @param container The containing View which is displaying this adapter's
+     * page views.
+     */
+    public void startUpdate(ViewGroup container) {
+        startUpdate((View) container);
+    }
+
+    /**
+     * Create the page for the given position.  The adapter is responsible
+     * for adding the view to the container given here, although it only
+     * must ensure this is done by the time it returns from
+     * {@link #finishUpdate(android.view.ViewGroup)}.
+     *
+     * @param container The containing View in which the page will be shown.
+     * @param position The page position to be instantiated.
+     * @return Returns an Object representing the new page.  This does not
+     * need to be a View, but can be some other container of the page.
+     */
+    public Object instantiateItem(ViewGroup container, int position) {
+        return instantiateItem((View) container, position);
+    }
+
+    /**
+     * Remove a page for the given position.  The adapter is responsible
+     * for removing the view from its container, although it only must ensure
+     * this is done by the time it returns from {@link #finishUpdate(android.view.ViewGroup)}.
+     *
+     * @param container The containing View from which the page will be removed.
+     * @param position The page position to be removed.
+     * @param object The same object that was returned by
+     * {@link #instantiateItem(android.view.View, int)}.
+     */
+    public void destroyItem(ViewGroup container, int position, Object object) {
+        destroyItem((View) container, position, object);
+    }
+
+    /**
+     * Called to inform the adapter of which item is currently considered to
+     * be the "primary", that is the one show to the user as the current page.
+     *
+     * @param container The containing View from which the page will be removed.
+     * @param position The page position that is now the primary.
+     * @param object The same object that was returned by
+     * {@link #instantiateItem(android.view.View, int)}.
+     */
+    public void setPrimaryItem(ViewGroup container, int position, Object object) {
+        setPrimaryItem((View) container, position, object);
+    }
+
+    /**
+     * Called when the a change in the shown pages has been completed.  At this
+     * point you must ensure that all of the pages have actually been added or
+     * removed from the container as appropriate.
+     * @param container The containing View which is displaying this adapter's
+     * page views.
+     */
+    public void finishUpdate(ViewGroup container) {
+        finishUpdate((View) container);
+    }
+
+    /**
+     * Called when a change in the shown pages is going to start being made.
+     * @param container The containing View which is displaying this adapter's
+     * page views.
+     *
+     * @deprecated Use {@link #startUpdate(android.view.ViewGroup)}
+     */
+    public void startUpdate(View container) {
+    }
+
+    /**
+     * Create the page for the given position.  The adapter is responsible
+     * for adding the view to the container given here, although it only
+     * must ensure this is done by the time it returns from
+     * {@link #finishUpdate(android.view.ViewGroup)}.
+     *
+     * @param container The containing View in which the page will be shown.
+     * @param position The page position to be instantiated.
+     * @return Returns an Object representing the new page.  This does not
+     * need to be a View, but can be some other container of the page.
+     *
+     * @deprecated Use {@link #instantiateItem(android.view.ViewGroup, int)}
+     */
+    public Object instantiateItem(View container, int position) {
+        throw new UnsupportedOperationException(
+                "Required method instantiateItem was not overridden");
+    }
+
+    /**
+     * Remove a page for the given position.  The adapter is responsible
+     * for removing the view from its container, although it only must ensure
+     * this is done by the time it returns from {@link #finishUpdate(android.view.View)}.
+     *
+     * @param container The containing View from which the page will be removed.
+     * @param position The page position to be removed.
+     * @param object The same object that was returned by
+     * {@link #instantiateItem(android.view.View, int)}.
+     *
+     * @deprecated Use {@link #destroyItem(android.view.ViewGroup, int, Object)}
+     */
+    public void destroyItem(View container, int position, Object object) {
+        throw new UnsupportedOperationException("Required method destroyItem was not overridden");
+    }
+
+    /**
+     * Called to inform the adapter of which item is currently considered to
+     * be the "primary", that is the one show to the user as the current page.
+     *
+     * @param container The containing View from which the page will be removed.
+     * @param position The page position that is now the primary.
+     * @param object The same object that was returned by
+     * {@link #instantiateItem(android.view.View, int)}.
+     *
+     * @deprecated Use {@link #setPrimaryItem(android.view.ViewGroup, int, Object)}
+     */
+    public void setPrimaryItem(View container, int position, Object object) {
+    }
+
+    /**
+     * Called when the a change in the shown pages has been completed.  At this
+     * point you must ensure that all of the pages have actually been added or
+     * removed from the container as appropriate.
+     * @param container The containing View which is displaying this adapter's
+     * page views.
+     *
+     * @deprecated Use {@link #finishUpdate(android.view.ViewGroup)}
+     */
+    public void finishUpdate(View container) {
+    }
+
+    /**
+     * Determines whether a page View is associated with a specific key object
+     * as returned by {@link #instantiateItem(android.view.ViewGroup, int)}. This method is
+     * required for a PagerAdapter to function properly.
+     *
+     * @param view Page View to check for association with <code>object</code>
+     * @param object Object to check for association with <code>view</code>
+     * @return true if <code>view</code> is associated with the key object <code>object</code>
+     */
+    public abstract boolean isViewFromObject(View view, Object object);
+
+    /**
+     * Save any instance state associated with this adapter and its pages that should be
+     * restored if the current UI state needs to be reconstructed.
+     *
+     * @return Saved state for this adapter
+     */
+    public Parcelable saveState() {
+        return null;
+    }
+
+    /**
+     * Restore any instance state associated with this adapter and its pages
+     * that was previously saved by {@link #saveState()}.
+     *
+     * @param state State previously saved by a call to {@link #saveState()}
+     * @param loader A ClassLoader that should be used to instantiate any restored objects
+     */
+    public void restoreState(Parcelable state, ClassLoader loader) {
+    }
+
+    /**
+     * Called when the host view is attempting to determine if an item's position
+     * has changed. Returns {@link #POSITION_UNCHANGED} if the position of the given
+     * item has not changed or {@link #POSITION_NONE} if the item is no longer present
+     * in the adapter.
+     *
+     * <p>The default implementation assumes that items will never
+     * change position and always returns {@link #POSITION_UNCHANGED}.
+     *
+     * @param object Object representing an item, previously returned by a call to
+     *               {@link #instantiateItem(android.view.View, int)}.
+     * @return object's new position index from [0, {@link #getCount()}),
+     *         {@link #POSITION_UNCHANGED} if the object's position has not changed,
+     *         or {@link #POSITION_NONE} if the item is no longer present.
+     */
+    public int getItemPosition(Object object) {
+        return POSITION_UNCHANGED;
+    }
+
+    /**
+     * This method should be called by the application if the data backing this adapter has changed
+     * and associated views should update.
+     */
+    public void notifyDataSetChanged() {
+        mObservable.notifyChanged();
+    }
+
+    /**
+     * Register an observer to receive callbacks related to the adapter's data changing.
+     *
+     * @param observer The {@link android.database.DataSetObserver} which will receive callbacks.
+     */
+    public void registerDataSetObserver(DataSetObserver observer) {
+        mObservable.registerObserver(observer);
+    }
+
+    /**
+     * Unregister an observer from callbacks related to the adapter's data changing.
+     *
+     * @param observer The {@link android.database.DataSetObserver} which will be unregistered.
+     */
+    public void unregisterDataSetObserver(DataSetObserver observer) {
+        mObservable.unregisterObserver(observer);
+    }
+
+    /**
+     * This method may be called by the ViewPager to obtain a title string
+     * to describe the specified page. This method may return null
+     * indicating no title for this page. The default implementation returns
+     * null.
+     *
+     * @param position The position of the title requested
+     * @return A title for the requested page
+     */
+    public CharSequence getPageTitle(int position) {
+        return null;
+    }
+
+    /**
+     * Returns the proportional width of a given page as a percentage of the
+     * ViewPager's measured width from (0.f-1.f]
+     *
+     * @param position The position of the page requested
+     * @return Proportional width for the given page position
+     */
+    public float getPageWidth(int position) {
+        return 1.f;
+    }
+}
diff --git a/core/java/com/android/internal/widget/ScrollingTabContainerView.java b/core/java/com/android/internal/widget/ScrollingTabContainerView.java
index 825fcad..ffd9b24 100644
--- a/core/java/com/android/internal/widget/ScrollingTabContainerView.java
+++ b/core/java/com/android/internal/widget/ScrollingTabContainerView.java
@@ -31,7 +31,6 @@
 import android.view.ViewGroup;
 import android.view.ViewParent;
 import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.animation.DecelerateInterpolator;
 import android.widget.AdapterView;
 import android.widget.BaseAdapter;
diff --git a/core/java/com/android/internal/widget/SubtitleView.java b/core/java/com/android/internal/widget/SubtitleView.java
index a206e7f..8c395ec 100644
--- a/core/java/com/android/internal/widget/SubtitleView.java
+++ b/core/java/com/android/internal/widget/SubtitleView.java
@@ -31,7 +31,6 @@
 import android.text.StaticLayout;
 import android.text.TextPaint;
 import android.util.AttributeSet;
-import android.util.DisplayMetrics;
 import android.view.View;
 import android.view.accessibility.CaptioningManager.CaptionStyle;
 
diff --git a/core/java/com/android/internal/widget/ToolbarWidgetWrapper.java b/core/java/com/android/internal/widget/ToolbarWidgetWrapper.java
index 8d1f73a..54df87b 100644
--- a/core/java/com/android/internal/widget/ToolbarWidgetWrapper.java
+++ b/core/java/com/android/internal/widget/ToolbarWidgetWrapper.java
@@ -27,8 +27,6 @@
 import android.text.TextUtils;
 import android.util.Log;
 import android.util.SparseArray;
-import android.util.TypedValue;
-import android.view.ContextThemeWrapper;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.Menu;
diff --git a/core/java/com/android/internal/widget/ViewPager.java b/core/java/com/android/internal/widget/ViewPager.java
new file mode 100644
index 0000000..f916e6f
--- /dev/null
+++ b/core/java/com/android/internal/widget/ViewPager.java
@@ -0,0 +1,2866 @@
+/*
+ * 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 com.android.internal.widget;
+
+import android.annotation.DrawableRes;
+import android.content.Context;
+import android.content.res.Resources;
+import android.content.res.TypedArray;
+import android.database.DataSetObserver;
+import android.graphics.Canvas;
+import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.os.SystemClock;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.FocusFinder;
+import android.view.Gravity;
+import android.view.KeyEvent;
+import android.view.MotionEvent;
+import android.view.SoundEffectConstants;
+import android.view.VelocityTracker;
+import android.view.View;
+import android.view.ViewConfiguration;
+import android.view.ViewGroup;
+import android.view.ViewParent;
+import android.view.accessibility.AccessibilityEvent;
+import android.view.accessibility.AccessibilityNodeInfo;
+import android.view.accessibility.AccessibilityRecord;
+import android.view.animation.Interpolator;
+import android.widget.EdgeEffect;
+import android.widget.Scroller;
+
+import java.util.ArrayList;
+import java.util.Collections;
+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}
+ */
+public class ViewPager extends ViewGroup {
+    private static final String TAG = "ViewPager";
+    private static final boolean DEBUG = false;
+
+    private static final boolean USE_CACHE = false;
+
+    private static final int DEFAULT_OFFSCREEN_PAGES = 1;
+    private static final int MAX_SETTLE_DURATION = 600; // ms
+    private static final int MIN_DISTANCE_FOR_FLING = 25; // dips
+
+    private static final int DEFAULT_GUTTER_SIZE = 16; // dips
+
+    private static final int MIN_FLING_VELOCITY = 400; // dips
+
+    private static final int[] LAYOUT_ATTRS = new int[] {
+        com.android.internal.R.attr.layout_gravity
+    };
+
+    /**
+     * Used to track what the expected number of items in the adapter should be.
+     * If the app changes this when we don't expect it, we'll throw a big obnoxious exception.
+     */
+    private int mExpectedAdapterCount;
+
+    static class ItemInfo {
+        Object object;
+        int position;
+        boolean scrolling;
+        float widthFactor;
+        float offset;
+    }
+
+    private static final Comparator<ItemInfo> COMPARATOR = new Comparator<ItemInfo>(){
+        @Override
+        public int compare(ItemInfo lhs, ItemInfo rhs) {
+            return lhs.position - rhs.position;
+        }
+    };
+
+    private static final Interpolator sInterpolator = new Interpolator() {
+        public float getInterpolation(float t) {
+            t -= 1.0f;
+            return t * t * t * t * t + 1.0f;
+        }
+    };
+
+    private final ArrayList<ItemInfo> mItems = new ArrayList<ItemInfo>();
+    private final ItemInfo mTempItem = new ItemInfo();
+
+    private final Rect mTempRect = new Rect();
+
+    private PagerAdapter mAdapter;
+    private int mCurItem;   // Index of currently displayed page.
+    private int mRestoredCurItem = -1;
+    private Parcelable mRestoredAdapterState = null;
+    private ClassLoader mRestoredClassLoader = null;
+    private Scroller mScroller;
+    private PagerObserver mObserver;
+
+    private int mPageMargin;
+    private Drawable mMarginDrawable;
+    private int mTopPageBounds;
+    private int mBottomPageBounds;
+
+    // Offsets of the first and last items, if known.
+    // Set during population, used to determine if we are at the beginning
+    // or end of the pager data set during touch scrolling.
+    private float mFirstOffset = -Float.MAX_VALUE;
+    private float mLastOffset = Float.MAX_VALUE;
+
+    private int mChildWidthMeasureSpec;
+    private int mChildHeightMeasureSpec;
+    private boolean mInLayout;
+
+    private boolean mScrollingCacheEnabled;
+
+    private boolean mPopulatePending;
+    private int mOffscreenPageLimit = DEFAULT_OFFSCREEN_PAGES;
+
+    private boolean mIsBeingDragged;
+    private boolean mIsUnableToDrag;
+    private int mDefaultGutterSize;
+    private int mGutterSize;
+    private int mTouchSlop;
+    /**
+     * Position of the last motion event.
+     */
+    private float mLastMotionX;
+    private float mLastMotionY;
+    private float mInitialMotionX;
+    private float mInitialMotionY;
+    /**
+     * ID of the active pointer. This is used to retain consistency during
+     * drags/flings if multiple pointers are used.
+     */
+    private int mActivePointerId = INVALID_POINTER;
+    /**
+     * Sentinel value for no current active pointer.
+     * Used by {@link #mActivePointerId}.
+     */
+    private static final int INVALID_POINTER = -1;
+
+    /**
+     * Determines speed during touch scrolling
+     */
+    private VelocityTracker mVelocityTracker;
+    private int mMinimumVelocity;
+    private int mMaximumVelocity;
+    private int mFlingDistance;
+    private int mCloseEnough;
+
+    // If the pager is at least this close to its final position, complete the scroll
+    // on touch down and let the user interact with the content inside instead of
+    // "catching" the flinging pager.
+    private static final int CLOSE_ENOUGH = 2; // dp
+
+    private boolean mFakeDragging;
+    private long mFakeDragBeginTime;
+
+    private EdgeEffect mLeftEdge;
+    private EdgeEffect mRightEdge;
+
+    private boolean mFirstLayout = true;
+    private boolean mNeedCalculatePageOffsets = false;
+    private boolean mCalledSuper;
+    private int mDecorChildCount;
+
+    private OnPageChangeListener mOnPageChangeListener;
+    private OnPageChangeListener mInternalPageChangeListener;
+    private OnAdapterChangeListener mAdapterChangeListener;
+    private PageTransformer mPageTransformer;
+
+    private static final int DRAW_ORDER_DEFAULT = 0;
+    private static final int DRAW_ORDER_FORWARD = 1;
+    private static final int DRAW_ORDER_REVERSE = 2;
+    private int mDrawingOrder;
+    private ArrayList<View> mDrawingOrderedChildren;
+    private static final ViewPositionComparator sPositionComparator = new ViewPositionComparator();
+
+    /**
+     * Indicates that the pager is in an idle, settled state. The current page
+     * is fully in view and no animation is in progress.
+     */
+    public static final int SCROLL_STATE_IDLE = 0;
+
+    /**
+     * Indicates that the pager is currently being dragged by the user.
+     */
+    public static final int SCROLL_STATE_DRAGGING = 1;
+
+    /**
+     * Indicates that the pager is in the process of settling to a final position.
+     */
+    public static final int SCROLL_STATE_SETTLING = 2;
+
+    private final Runnable mEndScrollRunnable = new Runnable() {
+        public void run() {
+            setScrollState(SCROLL_STATE_IDLE);
+            populate();
+        }
+    };
+
+    private int mScrollState = SCROLL_STATE_IDLE;
+
+    /**
+     * Callback interface for responding to changing state of the selected page.
+     */
+    public interface OnPageChangeListener {
+
+        /**
+         * This method will be invoked when the current page is scrolled, either as part
+         * of a programmatically initiated smooth scroll or a user initiated touch scroll.
+         *
+         * @param position Position index of the first page currently being displayed.
+         *                 Page position+1 will be visible if positionOffset is nonzero.
+         * @param positionOffset Value from [0, 1) indicating the offset from the page at position.
+         * @param positionOffsetPixels Value in pixels indicating the offset from position.
+         */
+        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels);
+
+        /**
+         * This method will be invoked when a new page becomes selected. Animation is not
+         * necessarily complete.
+         *
+         * @param position Position index of the new selected page.
+         */
+        public void onPageSelected(int position);
+
+        /**
+         * Called when the scroll state changes. Useful for discovering when the user
+         * begins dragging, when the pager is automatically settling to the current page,
+         * or when it is fully stopped/idle.
+         *
+         * @param state The new scroll state.
+         * @see com.android.internal.widget.ViewPager#SCROLL_STATE_IDLE
+         * @see com.android.internal.widget.ViewPager#SCROLL_STATE_DRAGGING
+         * @see com.android.internal.widget.ViewPager#SCROLL_STATE_SETTLING
+         */
+        public void onPageScrollStateChanged(int state);
+    }
+
+    /**
+     * Simple implementation of the {@link OnPageChangeListener} interface with stub
+     * implementations of each method. Extend this if you do not intend to override
+     * every method of {@link OnPageChangeListener}.
+     */
+    public static class SimpleOnPageChangeListener implements OnPageChangeListener {
+        @Override
+        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+            // This space for rent
+        }
+
+        @Override
+        public void onPageSelected(int position) {
+            // This space for rent
+        }
+
+        @Override
+        public void onPageScrollStateChanged(int state) {
+            // This space for rent
+        }
+    }
+
+    /**
+     * A PageTransformer is invoked whenever a visible/attached page is scrolled.
+     * This offers an opportunity for the application to apply a custom transformation
+     * to the page views using animation properties.
+     *
+     * <p>As property animation is only supported as of Android 3.0 and forward,
+     * setting a PageTransformer on a ViewPager on earlier platform versions will
+     * be ignored.</p>
+     */
+    public interface PageTransformer {
+        /**
+         * Apply a property transformation to the given page.
+         *
+         * @param page Apply the transformation to this page
+         * @param position Position of page relative to the current front-and-center
+         *                 position of the pager. 0 is front and center. 1 is one full
+         *                 page position to the right, and -1 is one page position to the left.
+         */
+        public void transformPage(View page, float position);
+    }
+
+    /**
+     * Used internally to monitor when adapters are switched.
+     */
+    interface OnAdapterChangeListener {
+        public void onAdapterChanged(PagerAdapter oldAdapter, PagerAdapter newAdapter);
+    }
+
+    /**
+     * Used internally to tag special types of child views that should be added as
+     * pager decorations by default.
+     */
+    interface Decor {}
+
+    public ViewPager(Context context) {
+        super(context);
+        initViewPager();
+    }
+
+    public ViewPager(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        initViewPager();
+    }
+
+    void initViewPager() {
+        setWillNotDraw(false);
+        setDescendantFocusability(FOCUS_AFTER_DESCENDANTS);
+        setFocusable(true);
+        final Context context = getContext();
+        mScroller = new Scroller(context, sInterpolator);
+        final ViewConfiguration configuration = ViewConfiguration.get(context);
+        final float density = context.getResources().getDisplayMetrics().density;
+
+        mTouchSlop = configuration.getScaledPagingTouchSlop();
+        mMinimumVelocity = (int) (MIN_FLING_VELOCITY * density);
+        mMaximumVelocity = configuration.getScaledMaximumFlingVelocity();
+        mLeftEdge = new EdgeEffect(context);
+        mRightEdge = new EdgeEffect(context);
+
+        mFlingDistance = (int) (MIN_DISTANCE_FOR_FLING * density);
+        mCloseEnough = (int) (CLOSE_ENOUGH * density);
+        mDefaultGutterSize = (int) (DEFAULT_GUTTER_SIZE * density);
+
+        setAccessibilityDelegate(new MyAccessibilityDelegate());
+
+        if (getImportantForAccessibility() == IMPORTANT_FOR_ACCESSIBILITY_AUTO) {
+            setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_YES);
+        }
+    }
+
+    @Override
+    protected void onDetachedFromWindow() {
+        removeCallbacks(mEndScrollRunnable);
+        super.onDetachedFromWindow();
+    }
+
+    private void setScrollState(int newState) {
+        if (mScrollState == newState) {
+            return;
+        }
+
+        mScrollState = newState;
+        if (mPageTransformer != null) {
+            // PageTransformers can do complex things that benefit from hardware layers.
+            enableLayers(newState != SCROLL_STATE_IDLE);
+        }
+        if (mOnPageChangeListener != null) {
+            mOnPageChangeListener.onPageScrollStateChanged(newState);
+        }
+    }
+
+    /**
+     * Set a PagerAdapter that will supply views for this pager as needed.
+     *
+     * @param adapter Adapter to use
+     */
+    public void setAdapter(PagerAdapter adapter) {
+        if (mAdapter != null) {
+            mAdapter.unregisterDataSetObserver(mObserver);
+            mAdapter.startUpdate(this);
+            for (int i = 0; i < mItems.size(); i++) {
+                final ItemInfo ii = mItems.get(i);
+                mAdapter.destroyItem(this, ii.position, ii.object);
+            }
+            mAdapter.finishUpdate(this);
+            mItems.clear();
+            removeNonDecorViews();
+            mCurItem = 0;
+            scrollTo(0, 0);
+        }
+
+        final PagerAdapter oldAdapter = mAdapter;
+        mAdapter = adapter;
+        mExpectedAdapterCount = 0;
+
+        if (mAdapter != null) {
+            if (mObserver == null) {
+                mObserver = new PagerObserver();
+            }
+            mAdapter.registerDataSetObserver(mObserver);
+            mPopulatePending = false;
+            final boolean wasFirstLayout = mFirstLayout;
+            mFirstLayout = true;
+            mExpectedAdapterCount = mAdapter.getCount();
+            if (mRestoredCurItem >= 0) {
+                mAdapter.restoreState(mRestoredAdapterState, mRestoredClassLoader);
+                setCurrentItemInternal(mRestoredCurItem, false, true);
+                mRestoredCurItem = -1;
+                mRestoredAdapterState = null;
+                mRestoredClassLoader = null;
+            } else if (!wasFirstLayout) {
+                populate();
+            } else {
+                requestLayout();
+            }
+        }
+
+        if (mAdapterChangeListener != null && oldAdapter != adapter) {
+            mAdapterChangeListener.onAdapterChanged(oldAdapter, adapter);
+        }
+    }
+
+    private void removeNonDecorViews() {
+        for (int i = 0; i < getChildCount(); i++) {
+            final View child = getChildAt(i);
+            final LayoutParams lp = (LayoutParams) child.getLayoutParams();
+            if (!lp.isDecor) {
+                removeViewAt(i);
+                i--;
+            }
+        }
+    }
+
+    /**
+     * Retrieve the current adapter supplying pages.
+     *
+     * @return The currently registered PagerAdapter
+     */
+    public PagerAdapter getAdapter() {
+        return mAdapter;
+    }
+
+    void setOnAdapterChangeListener(OnAdapterChangeListener listener) {
+        mAdapterChangeListener = listener;
+    }
+
+    private int getClientWidth() {
+        return getMeasuredWidth() - getPaddingLeft() - getPaddingRight();
+    }
+
+    /**
+     * Set the currently selected page. If the ViewPager has already been through its first
+     * layout with its current adapter there will be a smooth animated transition between
+     * the current item and the specified item.
+     *
+     * @param item Item index to select
+     */
+    public void setCurrentItem(int item) {
+        mPopulatePending = false;
+        setCurrentItemInternal(item, !mFirstLayout, false);
+    }
+
+    /**
+     * Set the currently selected page.
+     *
+     * @param item Item index to select
+     * @param smoothScroll True to smoothly scroll to the new item, false to transition immediately
+     */
+    public void setCurrentItem(int item, boolean smoothScroll) {
+        mPopulatePending = false;
+        setCurrentItemInternal(item, smoothScroll, false);
+    }
+
+    public int getCurrentItem() {
+        return mCurItem;
+    }
+
+    void setCurrentItemInternal(int item, boolean smoothScroll, boolean always) {
+        setCurrentItemInternal(item, smoothScroll, always, 0);
+    }
+
+    void setCurrentItemInternal(int item, boolean smoothScroll, boolean always, int velocity) {
+        if (mAdapter == null || mAdapter.getCount() <= 0) {
+            setScrollingCacheEnabled(false);
+            return;
+        }
+        if (!always && mCurItem == item && mItems.size() != 0) {
+            setScrollingCacheEnabled(false);
+            return;
+        }
+
+        if (item < 0) {
+            item = 0;
+        } else if (item >= mAdapter.getCount()) {
+            item = mAdapter.getCount() - 1;
+        }
+        final int pageLimit = mOffscreenPageLimit;
+        if (item > (mCurItem + pageLimit) || item < (mCurItem - pageLimit)) {
+            // We are doing a jump by more than one page.  To avoid
+            // glitches, we want to keep all current pages in the view
+            // until the scroll ends.
+            for (int i=0; i<mItems.size(); i++) {
+                mItems.get(i).scrolling = true;
+            }
+        }
+        final boolean dispatchSelected = mCurItem != item;
+
+        if (mFirstLayout) {
+            // We don't have any idea how big we are yet and shouldn't have any pages either.
+            // Just set things up and let the pending layout handle things.
+            mCurItem = item;
+            if (dispatchSelected && mOnPageChangeListener != null) {
+                mOnPageChangeListener.onPageSelected(item);
+            }
+            if (dispatchSelected && mInternalPageChangeListener != null) {
+                mInternalPageChangeListener.onPageSelected(item);
+            }
+            requestLayout();
+        } else {
+            populate(item);
+            scrollToItem(item, smoothScroll, velocity, dispatchSelected);
+        }
+    }
+
+    private void scrollToItem(int item, boolean smoothScroll, int velocity,
+            boolean dispatchSelected) {
+        final ItemInfo curInfo = infoForPosition(item);
+        int destX = 0;
+        if (curInfo != null) {
+            final int width = getClientWidth();
+            destX = (int) (width * Math.max(mFirstOffset,
+                    Math.min(curInfo.offset, mLastOffset)));
+        }
+        if (smoothScroll) {
+            smoothScrollTo(destX, 0, velocity);
+            if (dispatchSelected && mOnPageChangeListener != null) {
+                mOnPageChangeListener.onPageSelected(item);
+            }
+            if (dispatchSelected && mInternalPageChangeListener != null) {
+                mInternalPageChangeListener.onPageSelected(item);
+            }
+        } else {
+            if (dispatchSelected && mOnPageChangeListener != null) {
+                mOnPageChangeListener.onPageSelected(item);
+            }
+            if (dispatchSelected && mInternalPageChangeListener != null) {
+                mInternalPageChangeListener.onPageSelected(item);
+            }
+            completeScroll(false);
+            scrollTo(destX, 0);
+            pageScrolled(destX);
+        }
+    }
+
+    /**
+     * Set a listener that will be invoked whenever the page changes or is incrementally
+     * scrolled. See {@link OnPageChangeListener}.
+     *
+     * @param listener Listener to set
+     */
+    public void setOnPageChangeListener(OnPageChangeListener listener) {
+        mOnPageChangeListener = listener;
+    }
+
+    /**
+     * Set a {@link PageTransformer} that will be called for each attached page whenever
+     * the scroll position is changed. This allows the application to apply custom property
+     * transformations to each page, overriding the default sliding look and feel.
+     *
+     * <p><em>Note:</em> Prior to Android 3.0 the property animation APIs did not exist.
+     * As a result, setting a PageTransformer prior to Android 3.0 (API 11) will have no effect.</p>
+     *
+     * @param reverseDrawingOrder true if the supplied PageTransformer requires page views
+     *                            to be drawn from last to first instead of first to last.
+     * @param transformer PageTransformer that will modify each page's animation properties
+     */
+    public void setPageTransformer(boolean reverseDrawingOrder, PageTransformer transformer) {
+        final boolean hasTransformer = transformer != null;
+        final boolean needsPopulate = hasTransformer != (mPageTransformer != null);
+        mPageTransformer = transformer;
+        setChildrenDrawingOrderEnabled(hasTransformer);
+        if (hasTransformer) {
+            mDrawingOrder = reverseDrawingOrder ? DRAW_ORDER_REVERSE : DRAW_ORDER_FORWARD;
+        } else {
+            mDrawingOrder = DRAW_ORDER_DEFAULT;
+        }
+        if (needsPopulate) populate();
+    }
+
+    @Override
+    protected int getChildDrawingOrder(int childCount, int i) {
+        final int index = mDrawingOrder == DRAW_ORDER_REVERSE ? childCount - 1 - i : i;
+        final int result = ((LayoutParams) mDrawingOrderedChildren.get(index).getLayoutParams()).childIndex;
+        return result;
+    }
+
+    /**
+     * Set a separate OnPageChangeListener for internal use by the support library.
+     *
+     * @param listener Listener to set
+     * @return The old listener that was set, if any.
+     */
+    OnPageChangeListener setInternalPageChangeListener(OnPageChangeListener listener) {
+        OnPageChangeListener oldListener = mInternalPageChangeListener;
+        mInternalPageChangeListener = listener;
+        return oldListener;
+    }
+
+    /**
+     * Returns the number of pages that will be retained to either side of the
+     * current page in the view hierarchy in an idle state. Defaults to 1.
+     *
+     * @return How many pages will be kept offscreen on either side
+     * @see #setOffscreenPageLimit(int)
+     */
+    public int getOffscreenPageLimit() {
+        return mOffscreenPageLimit;
+    }
+
+    /**
+     * Set the number of pages that should be retained to either side of the
+     * current page in the view hierarchy in an idle state. Pages beyond this
+     * limit will be recreated from the adapter when needed.
+     *
+     * <p>This is offered as an optimization. If you know in advance the number
+     * of pages you will need to support or have lazy-loading mechanisms in place
+     * on your pages, tweaking this setting can have benefits in perceived smoothness
+     * of paging animations and interaction. If you have a small number of pages (3-4)
+     * that you can keep active all at once, less time will be spent in layout for
+     * newly created view subtrees as the user pages back and forth.</p>
+     *
+     * <p>You should keep this limit low, especially if your pages have complex layouts.
+     * This setting defaults to 1.</p>
+     *
+     * @param limit How many pages will be kept offscreen in an idle state.
+     */
+    public void setOffscreenPageLimit(int limit) {
+        if (limit < DEFAULT_OFFSCREEN_PAGES) {
+            Log.w(TAG, "Requested offscreen page limit " + limit + " too small; defaulting to " +
+                    DEFAULT_OFFSCREEN_PAGES);
+            limit = DEFAULT_OFFSCREEN_PAGES;
+        }
+        if (limit != mOffscreenPageLimit) {
+            mOffscreenPageLimit = limit;
+            populate();
+        }
+    }
+
+    /**
+     * Set the margin between pages.
+     *
+     * @param marginPixels Distance between adjacent pages in pixels
+     * @see #getPageMargin()
+     * @see #setPageMarginDrawable(android.graphics.drawable.Drawable)
+     * @see #setPageMarginDrawable(int)
+     */
+    public void setPageMargin(int marginPixels) {
+        final int oldMargin = mPageMargin;
+        mPageMargin = marginPixels;
+
+        final int width = getWidth();
+        recomputeScrollPosition(width, width, marginPixels, oldMargin);
+
+        requestLayout();
+    }
+
+    /**
+     * Return the margin between pages.
+     *
+     * @return The size of the margin in pixels
+     */
+    public int getPageMargin() {
+        return mPageMargin;
+    }
+
+    /**
+     * Set a drawable that will be used to fill the margin between pages.
+     *
+     * @param d Drawable to display between pages
+     */
+    public void setPageMarginDrawable(Drawable d) {
+        mMarginDrawable = d;
+        if (d != null) refreshDrawableState();
+        setWillNotDraw(d == null);
+        invalidate();
+    }
+
+    /**
+     * Set a drawable that will be used to fill the margin between pages.
+     *
+     * @param resId Resource ID of a drawable to display between pages
+     */
+    public void setPageMarginDrawable(@DrawableRes int resId) {
+        setPageMarginDrawable(getContext().getDrawable(resId));
+    }
+
+    @Override
+    protected boolean verifyDrawable(Drawable who) {
+        return super.verifyDrawable(who) || who == mMarginDrawable;
+    }
+
+    @Override
+    protected void drawableStateChanged() {
+        super.drawableStateChanged();
+        final Drawable d = mMarginDrawable;
+        if (d != null && d.isStateful()) {
+            d.setState(getDrawableState());
+        }
+    }
+
+    // We want the duration of the page snap animation to be influenced by the distance that
+    // the screen has to travel, however, we don't want this duration to be effected in a
+    // purely linear fashion. Instead, we use this method to moderate the effect that the distance
+    // of travel has on the overall snap duration.
+    float distanceInfluenceForSnapDuration(float f) {
+        f -= 0.5f; // center the values about 0.
+        f *= 0.3f * Math.PI / 2.0f;
+        return (float) Math.sin(f);
+    }
+
+    /**
+     * Like {@link android.view.View#scrollBy}, but scroll smoothly instead of immediately.
+     *
+     * @param x the number of pixels to scroll by on the X axis
+     * @param y the number of pixels to scroll by on the Y axis
+     */
+    void smoothScrollTo(int x, int y) {
+        smoothScrollTo(x, y, 0);
+    }
+
+    /**
+     * Like {@link android.view.View#scrollBy}, but scroll smoothly instead of immediately.
+     *
+     * @param x the number of pixels to scroll by on the X axis
+     * @param y the number of pixels to scroll by on the Y axis
+     * @param velocity the velocity associated with a fling, if applicable. (0 otherwise)
+     */
+    void smoothScrollTo(int x, int y, int velocity) {
+        if (getChildCount() == 0) {
+            // Nothing to do.
+            setScrollingCacheEnabled(false);
+            return;
+        }
+        int sx = getScrollX();
+        int sy = getScrollY();
+        int dx = x - sx;
+        int dy = y - sy;
+        if (dx == 0 && dy == 0) {
+            completeScroll(false);
+            populate();
+            setScrollState(SCROLL_STATE_IDLE);
+            return;
+        }
+
+        setScrollingCacheEnabled(true);
+        setScrollState(SCROLL_STATE_SETTLING);
+
+        final int width = getClientWidth();
+        final int halfWidth = width / 2;
+        final float distanceRatio = Math.min(1f, 1.0f * Math.abs(dx) / width);
+        final float distance = halfWidth + halfWidth *
+                distanceInfluenceForSnapDuration(distanceRatio);
+
+        int duration = 0;
+        velocity = Math.abs(velocity);
+        if (velocity > 0) {
+            duration = 4 * Math.round(1000 * Math.abs(distance / velocity));
+        } else {
+            final float pageWidth = width * mAdapter.getPageWidth(mCurItem);
+            final float pageDelta = (float) Math.abs(dx) / (pageWidth + mPageMargin);
+            duration = (int) ((pageDelta + 1) * 100);
+        }
+        duration = Math.min(duration, MAX_SETTLE_DURATION);
+
+        mScroller.startScroll(sx, sy, dx, dy, duration);
+        postInvalidateOnAnimation();
+    }
+
+    ItemInfo addNewItem(int position, int index) {
+        ItemInfo ii = new ItemInfo();
+        ii.position = position;
+        ii.object = mAdapter.instantiateItem(this, position);
+        ii.widthFactor = mAdapter.getPageWidth(position);
+        if (index < 0 || index >= mItems.size()) {
+            mItems.add(ii);
+        } else {
+            mItems.add(index, ii);
+        }
+        return ii;
+    }
+
+    void dataSetChanged() {
+        // This method only gets called if our observer is attached, so mAdapter is non-null.
+
+        final int adapterCount = mAdapter.getCount();
+        mExpectedAdapterCount = adapterCount;
+        boolean needPopulate = mItems.size() < mOffscreenPageLimit * 2 + 1 &&
+                mItems.size() < adapterCount;
+        int newCurrItem = mCurItem;
+
+        boolean isUpdating = false;
+        for (int i = 0; i < mItems.size(); i++) {
+            final ItemInfo ii = mItems.get(i);
+            final int newPos = mAdapter.getItemPosition(ii.object);
+
+            if (newPos == PagerAdapter.POSITION_UNCHANGED) {
+                continue;
+            }
+
+            if (newPos == PagerAdapter.POSITION_NONE) {
+                mItems.remove(i);
+                i--;
+
+                if (!isUpdating) {
+                    mAdapter.startUpdate(this);
+                    isUpdating = true;
+                }
+
+                mAdapter.destroyItem(this, ii.position, ii.object);
+                needPopulate = true;
+
+                if (mCurItem == ii.position) {
+                    // Keep the current item in the valid range
+                    newCurrItem = Math.max(0, Math.min(mCurItem, adapterCount - 1));
+                    needPopulate = true;
+                }
+                continue;
+            }
+
+            if (ii.position != newPos) {
+                if (ii.position == mCurItem) {
+                    // Our current item changed position. Follow it.
+                    newCurrItem = newPos;
+                }
+
+                ii.position = newPos;
+                needPopulate = true;
+            }
+        }
+
+        if (isUpdating) {
+            mAdapter.finishUpdate(this);
+        }
+
+        Collections.sort(mItems, COMPARATOR);
+
+        if (needPopulate) {
+            // Reset our known page widths; populate will recompute them.
+            final int childCount = getChildCount();
+            for (int i = 0; i < childCount; i++) {
+                final View child = getChildAt(i);
+                final LayoutParams lp = (LayoutParams) child.getLayoutParams();
+                if (!lp.isDecor) {
+                    lp.widthFactor = 0.f;
+                }
+            }
+
+            setCurrentItemInternal(newCurrItem, false, true);
+            requestLayout();
+        }
+    }
+
+    void populate() {
+        populate(mCurItem);
+    }
+
+    void populate(int newCurrentItem) {
+        ItemInfo oldCurInfo = null;
+        int focusDirection = View.FOCUS_FORWARD;
+        if (mCurItem != newCurrentItem) {
+            focusDirection = mCurItem < newCurrentItem ? View.FOCUS_RIGHT : View.FOCUS_LEFT;
+            oldCurInfo = infoForPosition(mCurItem);
+            mCurItem = newCurrentItem;
+        }
+
+        if (mAdapter == null) {
+            sortChildDrawingOrder();
+            return;
+        }
+
+        // Bail now if we are waiting to populate.  This is to hold off
+        // on creating views from the time the user releases their finger to
+        // fling to a new position until we have finished the scroll to
+        // that position, avoiding glitches from happening at that point.
+        if (mPopulatePending) {
+            if (DEBUG) Log.i(TAG, "populate is pending, skipping for now...");
+            sortChildDrawingOrder();
+            return;
+        }
+
+        // Also, don't populate until we are attached to a window.  This is to
+        // avoid trying to populate before we have restored our view hierarchy
+        // state and conflicting with what is restored.
+        if (getWindowToken() == null) {
+            return;
+        }
+
+        mAdapter.startUpdate(this);
+
+        final int pageLimit = mOffscreenPageLimit;
+        final int startPos = Math.max(0, mCurItem - pageLimit);
+        final int N = mAdapter.getCount();
+        final int endPos = Math.min(N-1, mCurItem + pageLimit);
+
+        if (N != mExpectedAdapterCount) {
+            String resName;
+            try {
+                resName = getResources().getResourceName(getId());
+            } catch (Resources.NotFoundException e) {
+                resName = Integer.toHexString(getId());
+            }
+            throw new IllegalStateException("The application's PagerAdapter changed the adapter's" +
+                    " contents without calling PagerAdapter#notifyDataSetChanged!" +
+                    " Expected adapter item count: " + mExpectedAdapterCount + ", found: " + N +
+                    " Pager id: " + resName +
+                    " Pager class: " + getClass() +
+                    " Problematic adapter: " + mAdapter.getClass());
+        }
+
+        // Locate the currently focused item or add it if needed.
+        int curIndex = -1;
+        ItemInfo curItem = null;
+        for (curIndex = 0; curIndex < mItems.size(); curIndex++) {
+            final ItemInfo ii = mItems.get(curIndex);
+            if (ii.position >= mCurItem) {
+                if (ii.position == mCurItem) curItem = ii;
+                break;
+            }
+        }
+
+        if (curItem == null && N > 0) {
+            curItem = addNewItem(mCurItem, curIndex);
+        }
+
+        // Fill 3x the available width or up to the number of offscreen
+        // pages requested to either side, whichever is larger.
+        // If we have no current item we have no work to do.
+        if (curItem != null) {
+            float extraWidthLeft = 0.f;
+            int itemIndex = curIndex - 1;
+            ItemInfo ii = itemIndex >= 0 ? mItems.get(itemIndex) : null;
+            final int clientWidth = getClientWidth();
+            final float leftWidthNeeded = clientWidth <= 0 ? 0 :
+                    2.f - curItem.widthFactor + (float) getPaddingLeft() / (float) clientWidth;
+            for (int pos = mCurItem - 1; pos >= 0; pos--) {
+                if (extraWidthLeft >= leftWidthNeeded && pos < startPos) {
+                    if (ii == null) {
+                        break;
+                    }
+                    if (pos == ii.position && !ii.scrolling) {
+                        mItems.remove(itemIndex);
+                        mAdapter.destroyItem(this, pos, ii.object);
+                        if (DEBUG) {
+                            Log.i(TAG, "populate() - destroyItem() with pos: " + pos +
+                                    " view: " + ((View) ii.object));
+                        }
+                        itemIndex--;
+                        curIndex--;
+                        ii = itemIndex >= 0 ? mItems.get(itemIndex) : null;
+                    }
+                } else if (ii != null && pos == ii.position) {
+                    extraWidthLeft += ii.widthFactor;
+                    itemIndex--;
+                    ii = itemIndex >= 0 ? mItems.get(itemIndex) : null;
+                } else {
+                    ii = addNewItem(pos, itemIndex + 1);
+                    extraWidthLeft += ii.widthFactor;
+                    curIndex++;
+                    ii = itemIndex >= 0 ? mItems.get(itemIndex) : null;
+                }
+            }
+
+            float extraWidthRight = curItem.widthFactor;
+            itemIndex = curIndex + 1;
+            if (extraWidthRight < 2.f) {
+                ii = itemIndex < mItems.size() ? mItems.get(itemIndex) : null;
+                final float rightWidthNeeded = clientWidth <= 0 ? 0 :
+                        (float) getPaddingRight() / (float) clientWidth + 2.f;
+                for (int pos = mCurItem + 1; pos < N; pos++) {
+                    if (extraWidthRight >= rightWidthNeeded && pos > endPos) {
+                        if (ii == null) {
+                            break;
+                        }
+                        if (pos == ii.position && !ii.scrolling) {
+                            mItems.remove(itemIndex);
+                            mAdapter.destroyItem(this, pos, ii.object);
+                            if (DEBUG) {
+                                Log.i(TAG, "populate() - destroyItem() with pos: " + pos +
+                                        " view: " + ((View) ii.object));
+                            }
+                            ii = itemIndex < mItems.size() ? mItems.get(itemIndex) : null;
+                        }
+                    } else if (ii != null && pos == ii.position) {
+                        extraWidthRight += ii.widthFactor;
+                        itemIndex++;
+                        ii = itemIndex < mItems.size() ? mItems.get(itemIndex) : null;
+                    } else {
+                        ii = addNewItem(pos, itemIndex);
+                        itemIndex++;
+                        extraWidthRight += ii.widthFactor;
+                        ii = itemIndex < mItems.size() ? mItems.get(itemIndex) : null;
+                    }
+                }
+            }
+
+            calculatePageOffsets(curItem, curIndex, oldCurInfo);
+        }
+
+        if (DEBUG) {
+            Log.i(TAG, "Current page list:");
+            for (int i=0; i<mItems.size(); i++) {
+                Log.i(TAG, "#" + i + ": page " + mItems.get(i).position);
+            }
+        }
+
+        mAdapter.setPrimaryItem(this, mCurItem, curItem != null ? curItem.object : null);
+
+        mAdapter.finishUpdate(this);
+
+        // Check width measurement of current pages and drawing sort order.
+        // Update LayoutParams as needed.
+        final int childCount = getChildCount();
+        for (int i = 0; i < childCount; i++) {
+            final View child = getChildAt(i);
+            final LayoutParams lp = (LayoutParams) child.getLayoutParams();
+            lp.childIndex = i;
+            if (!lp.isDecor && lp.widthFactor == 0.f) {
+                // 0 means requery the adapter for this, it doesn't have a valid width.
+                final ItemInfo ii = infoForChild(child);
+                if (ii != null) {
+                    lp.widthFactor = ii.widthFactor;
+                    lp.position = ii.position;
+                }
+            }
+        }
+        sortChildDrawingOrder();
+
+        if (hasFocus()) {
+            View currentFocused = findFocus();
+            ItemInfo ii = currentFocused != null ? infoForAnyChild(currentFocused) : null;
+            if (ii == null || ii.position != mCurItem) {
+                for (int i=0; i<getChildCount(); i++) {
+                    View child = getChildAt(i);
+                    ii = infoForChild(child);
+                    if (ii != null && ii.position == mCurItem) {
+                        if (child.requestFocus(focusDirection)) {
+                            break;
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    private void sortChildDrawingOrder() {
+        if (mDrawingOrder != DRAW_ORDER_DEFAULT) {
+            if (mDrawingOrderedChildren == null) {
+                mDrawingOrderedChildren = new ArrayList<View>();
+            } else {
+                mDrawingOrderedChildren.clear();
+            }
+            final int childCount = getChildCount();
+            for (int i = 0; i < childCount; i++) {
+                final View child = getChildAt(i);
+                mDrawingOrderedChildren.add(child);
+            }
+            Collections.sort(mDrawingOrderedChildren, sPositionComparator);
+        }
+    }
+
+    private void calculatePageOffsets(ItemInfo curItem, int curIndex, ItemInfo oldCurInfo) {
+        final int N = mAdapter.getCount();
+        final int width = getClientWidth();
+        final float marginOffset = width > 0 ? (float) mPageMargin / width : 0;
+        // Fix up offsets for later layout.
+        if (oldCurInfo != null) {
+            final int oldCurPosition = oldCurInfo.position;
+            // Base offsets off of oldCurInfo.
+            if (oldCurPosition < curItem.position) {
+                int itemIndex = 0;
+                ItemInfo ii = null;
+                float offset = oldCurInfo.offset + oldCurInfo.widthFactor + marginOffset;
+                for (int pos = oldCurPosition + 1;
+                        pos <= curItem.position && itemIndex < mItems.size(); pos++) {
+                    ii = mItems.get(itemIndex);
+                    while (pos > ii.position && itemIndex < mItems.size() - 1) {
+                        itemIndex++;
+                        ii = mItems.get(itemIndex);
+                    }
+                    while (pos < ii.position) {
+                        // We don't have an item populated for this,
+                        // ask the adapter for an offset.
+                        offset += mAdapter.getPageWidth(pos) + marginOffset;
+                        pos++;
+                    }
+                    ii.offset = offset;
+                    offset += ii.widthFactor + marginOffset;
+                }
+            } else if (oldCurPosition > curItem.position) {
+                int itemIndex = mItems.size() - 1;
+                ItemInfo ii = null;
+                float offset = oldCurInfo.offset;
+                for (int pos = oldCurPosition - 1;
+                        pos >= curItem.position && itemIndex >= 0; pos--) {
+                    ii = mItems.get(itemIndex);
+                    while (pos < ii.position && itemIndex > 0) {
+                        itemIndex--;
+                        ii = mItems.get(itemIndex);
+                    }
+                    while (pos > ii.position) {
+                        // We don't have an item populated for this,
+                        // ask the adapter for an offset.
+                        offset -= mAdapter.getPageWidth(pos) + marginOffset;
+                        pos--;
+                    }
+                    offset -= ii.widthFactor + marginOffset;
+                    ii.offset = offset;
+                }
+            }
+        }
+
+        // Base all offsets off of curItem.
+        final int itemCount = mItems.size();
+        float offset = curItem.offset;
+        int pos = curItem.position - 1;
+        mFirstOffset = curItem.position == 0 ? curItem.offset : -Float.MAX_VALUE;
+        mLastOffset = curItem.position == N - 1 ?
+                curItem.offset + curItem.widthFactor - 1 : Float.MAX_VALUE;
+        // Previous pages
+        for (int i = curIndex - 1; i >= 0; i--, pos--) {
+            final ItemInfo ii = mItems.get(i);
+            while (pos > ii.position) {
+                offset -= mAdapter.getPageWidth(pos--) + marginOffset;
+            }
+            offset -= ii.widthFactor + marginOffset;
+            ii.offset = offset;
+            if (ii.position == 0) mFirstOffset = offset;
+        }
+        offset = curItem.offset + curItem.widthFactor + marginOffset;
+        pos = curItem.position + 1;
+        // Next pages
+        for (int i = curIndex + 1; i < itemCount; i++, pos++) {
+            final ItemInfo ii = mItems.get(i);
+            while (pos < ii.position) {
+                offset += mAdapter.getPageWidth(pos++) + marginOffset;
+            }
+            if (ii.position == N - 1) {
+                mLastOffset = offset + ii.widthFactor - 1;
+            }
+            ii.offset = offset;
+            offset += ii.widthFactor + marginOffset;
+        }
+
+        mNeedCalculatePageOffsets = false;
+    }
+
+    /**
+     * This is the persistent state that is saved by ViewPager.  Only needed
+     * if you are creating a sublass of ViewPager that must save its own
+     * state, in which case it should implement a subclass of this which
+     * contains that state.
+     */
+    public static class SavedState extends BaseSavedState {
+        int position;
+        Parcelable adapterState;
+        ClassLoader loader;
+
+        public SavedState(Parcel source) {
+            super(source);
+        }
+
+        public SavedState(Parcelable superState) {
+            super(superState);
+        }
+
+        @Override
+        public void writeToParcel(Parcel out, int flags) {
+            super.writeToParcel(out, flags);
+            out.writeInt(position);
+            out.writeParcelable(adapterState, flags);
+        }
+
+        @Override
+        public String toString() {
+            return "FragmentPager.SavedState{"
+                    + Integer.toHexString(System.identityHashCode(this))
+                    + " position=" + position + "}";
+        }
+
+        public static final Creator<SavedState> CREATOR = new Creator<SavedState>() {
+            @Override
+            public SavedState createFromParcel(Parcel in) {
+                return new SavedState(in);
+            }
+            @Override
+            public SavedState[] newArray(int size) {
+                return new SavedState[size];
+            }
+        };
+
+        SavedState(Parcel in, ClassLoader loader) {
+            super(in);
+            if (loader == null) {
+                loader = getClass().getClassLoader();
+            }
+            position = in.readInt();
+            adapterState = in.readParcelable(loader);
+            this.loader = loader;
+        }
+    }
+
+    @Override
+    public Parcelable onSaveInstanceState() {
+        Parcelable superState = super.onSaveInstanceState();
+        SavedState ss = new SavedState(superState);
+        ss.position = mCurItem;
+        if (mAdapter != null) {
+            ss.adapterState = mAdapter.saveState();
+        }
+        return ss;
+    }
+
+    @Override
+    public void onRestoreInstanceState(Parcelable state) {
+        if (!(state instanceof SavedState)) {
+            super.onRestoreInstanceState(state);
+            return;
+        }
+
+        SavedState ss = (SavedState)state;
+        super.onRestoreInstanceState(ss.getSuperState());
+
+        if (mAdapter != null) {
+            mAdapter.restoreState(ss.adapterState, ss.loader);
+            setCurrentItemInternal(ss.position, false, true);
+        } else {
+            mRestoredCurItem = ss.position;
+            mRestoredAdapterState = ss.adapterState;
+            mRestoredClassLoader = ss.loader;
+        }
+    }
+
+    @Override
+    public void addView(View child, int index, ViewGroup.LayoutParams params) {
+        if (!checkLayoutParams(params)) {
+            params = generateLayoutParams(params);
+        }
+        final LayoutParams lp = (LayoutParams) params;
+        lp.isDecor |= child instanceof Decor;
+        if (mInLayout) {
+            if (lp != null && lp.isDecor) {
+                throw new IllegalStateException("Cannot add pager decor view during layout");
+            }
+            lp.needsMeasure = true;
+            addViewInLayout(child, index, params);
+        } else {
+            super.addView(child, index, params);
+        }
+
+        if (USE_CACHE) {
+            if (child.getVisibility() != GONE) {
+                child.setDrawingCacheEnabled(mScrollingCacheEnabled);
+            } else {
+                child.setDrawingCacheEnabled(false);
+            }
+        }
+    }
+
+    @Override
+    public void removeView(View view) {
+        if (mInLayout) {
+            removeViewInLayout(view);
+        } else {
+            super.removeView(view);
+        }
+    }
+
+    ItemInfo infoForChild(View child) {
+        for (int i=0; i<mItems.size(); i++) {
+            ItemInfo ii = mItems.get(i);
+            if (mAdapter.isViewFromObject(child, ii.object)) {
+                return ii;
+            }
+        }
+        return null;
+    }
+
+    ItemInfo infoForAnyChild(View child) {
+        ViewParent parent;
+        while ((parent=child.getParent()) != this) {
+            if (parent == null || !(parent instanceof View)) {
+                return null;
+            }
+            child = (View)parent;
+        }
+        return infoForChild(child);
+    }
+
+    ItemInfo infoForPosition(int position) {
+        for (int i = 0; i < mItems.size(); i++) {
+            ItemInfo ii = mItems.get(i);
+            if (ii.position == position) {
+                return ii;
+            }
+        }
+        return null;
+    }
+
+    @Override
+    protected void onAttachedToWindow() {
+        super.onAttachedToWindow();
+        mFirstLayout = true;
+    }
+
+    @Override
+    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        // For simple implementation, our internal size is always 0.
+        // We depend on the container to specify the layout size of
+        // our view.  We can't really know what it is since we will be
+        // adding and removing different arbitrary views and do not
+        // want the layout to change as this happens.
+        setMeasuredDimension(getDefaultSize(0, widthMeasureSpec),
+                getDefaultSize(0, heightMeasureSpec));
+
+        final int measuredWidth = getMeasuredWidth();
+        final int maxGutterSize = measuredWidth / 10;
+        mGutterSize = Math.min(maxGutterSize, mDefaultGutterSize);
+
+        // Children are just made to fill our space.
+        int childWidthSize = measuredWidth - getPaddingLeft() - getPaddingRight();
+        int childHeightSize = getMeasuredHeight() - getPaddingTop() - getPaddingBottom();
+
+        /*
+         * Make sure all children have been properly measured. Decor views first.
+         * Right now we cheat and make this less complicated by assuming decor
+         * views won't intersect. We will pin to edges based on gravity.
+         */
+        int size = getChildCount();
+        for (int i = 0; i < size; ++i) {
+            final View child = getChildAt(i);
+            if (child.getVisibility() != GONE) {
+                final LayoutParams lp = (LayoutParams) child.getLayoutParams();
+                if (lp != null && lp.isDecor) {
+                    final int hgrav = lp.gravity & Gravity.HORIZONTAL_GRAVITY_MASK;
+                    final int vgrav = lp.gravity & Gravity.VERTICAL_GRAVITY_MASK;
+                    int widthMode = MeasureSpec.AT_MOST;
+                    int heightMode = MeasureSpec.AT_MOST;
+                    boolean consumeVertical = vgrav == Gravity.TOP || vgrav == Gravity.BOTTOM;
+                    boolean consumeHorizontal = hgrav == Gravity.LEFT || hgrav == Gravity.RIGHT;
+
+                    if (consumeVertical) {
+                        widthMode = MeasureSpec.EXACTLY;
+                    } else if (consumeHorizontal) {
+                        heightMode = MeasureSpec.EXACTLY;
+                    }
+
+                    int widthSize = childWidthSize;
+                    int heightSize = childHeightSize;
+                    if (lp.width != LayoutParams.WRAP_CONTENT) {
+                        widthMode = MeasureSpec.EXACTLY;
+                        if (lp.width != LayoutParams.FILL_PARENT) {
+                            widthSize = lp.width;
+                        }
+                    }
+                    if (lp.height != LayoutParams.WRAP_CONTENT) {
+                        heightMode = MeasureSpec.EXACTLY;
+                        if (lp.height != LayoutParams.FILL_PARENT) {
+                            heightSize = lp.height;
+                        }
+                    }
+                    final int widthSpec = MeasureSpec.makeMeasureSpec(widthSize, widthMode);
+                    final int heightSpec = MeasureSpec.makeMeasureSpec(heightSize, heightMode);
+                    child.measure(widthSpec, heightSpec);
+
+                    if (consumeVertical) {
+                        childHeightSize -= child.getMeasuredHeight();
+                    } else if (consumeHorizontal) {
+                        childWidthSize -= child.getMeasuredWidth();
+                    }
+                }
+            }
+        }
+
+        mChildWidthMeasureSpec = MeasureSpec.makeMeasureSpec(childWidthSize, MeasureSpec.EXACTLY);
+        mChildHeightMeasureSpec = MeasureSpec.makeMeasureSpec(childHeightSize, MeasureSpec.EXACTLY);
+
+        // Make sure we have created all fragments that we need to have shown.
+        mInLayout = true;
+        populate();
+        mInLayout = false;
+
+        // Page views next.
+        size = getChildCount();
+        for (int i = 0; i < size; ++i) {
+            final View child = getChildAt(i);
+            if (child.getVisibility() != GONE) {
+                if (DEBUG) Log.v(TAG, "Measuring #" + i + " " + child
+                        + ": " + mChildWidthMeasureSpec);
+
+                final LayoutParams lp = (LayoutParams) child.getLayoutParams();
+                if (lp == null || !lp.isDecor) {
+                    final int widthSpec = MeasureSpec.makeMeasureSpec(
+                            (int) (childWidthSize * lp.widthFactor), MeasureSpec.EXACTLY);
+                    child.measure(widthSpec, mChildHeightMeasureSpec);
+                }
+            }
+        }
+    }
+
+    @Override
+    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
+        super.onSizeChanged(w, h, oldw, oldh);
+
+        // Make sure scroll position is set correctly.
+        if (w != oldw) {
+            recomputeScrollPosition(w, oldw, mPageMargin, mPageMargin);
+        }
+    }
+
+    private void recomputeScrollPosition(int width, int oldWidth, int margin, int oldMargin) {
+        if (oldWidth > 0 && !mItems.isEmpty()) {
+            final int widthWithMargin = width - getPaddingLeft() - getPaddingRight() + margin;
+            final int oldWidthWithMargin = oldWidth - getPaddingLeft() - getPaddingRight()
+                                           + oldMargin;
+            final int xpos = getScrollX();
+            final float pageOffset = (float) xpos / oldWidthWithMargin;
+            final int newOffsetPixels = (int) (pageOffset * widthWithMargin);
+
+            scrollTo(newOffsetPixels, getScrollY());
+            if (!mScroller.isFinished()) {
+                // We now return to your regularly scheduled scroll, already in progress.
+                final int newDuration = mScroller.getDuration() - mScroller.timePassed();
+                ItemInfo targetInfo = infoForPosition(mCurItem);
+                mScroller.startScroll(newOffsetPixels, 0,
+                        (int) (targetInfo.offset * width), 0, newDuration);
+            }
+        } else {
+            final ItemInfo ii = infoForPosition(mCurItem);
+            final float scrollOffset = ii != null ? Math.min(ii.offset, mLastOffset) : 0;
+            final int scrollPos = (int) (scrollOffset *
+                                         (width - getPaddingLeft() - getPaddingRight()));
+            if (scrollPos != getScrollX()) {
+                completeScroll(false);
+                scrollTo(scrollPos, getScrollY());
+            }
+        }
+    }
+
+    @Override
+    protected void onLayout(boolean changed, int l, int t, int r, int b) {
+        final int count = getChildCount();
+        int width = r - l;
+        int height = b - t;
+        int paddingLeft = getPaddingLeft();
+        int paddingTop = getPaddingTop();
+        int paddingRight = getPaddingRight();
+        int paddingBottom = getPaddingBottom();
+        final int scrollX = getScrollX();
+
+        int decorCount = 0;
+
+        // First pass - decor views. We need to do this in two passes so that
+        // we have the proper offsets for non-decor views later.
+        for (int i = 0; i < count; i++) {
+            final View child = getChildAt(i);
+            if (child.getVisibility() != GONE) {
+                final LayoutParams lp = (LayoutParams) child.getLayoutParams();
+                int childLeft = 0;
+                int childTop = 0;
+                if (lp.isDecor) {
+                    final int hgrav = lp.gravity & Gravity.HORIZONTAL_GRAVITY_MASK;
+                    final int vgrav = lp.gravity & Gravity.VERTICAL_GRAVITY_MASK;
+                    switch (hgrav) {
+                        default:
+                            childLeft = paddingLeft;
+                            break;
+                        case Gravity.LEFT:
+                            childLeft = paddingLeft;
+                            paddingLeft += child.getMeasuredWidth();
+                            break;
+                        case Gravity.CENTER_HORIZONTAL:
+                            childLeft = Math.max((width - child.getMeasuredWidth()) / 2,
+                                    paddingLeft);
+                            break;
+                        case Gravity.RIGHT:
+                            childLeft = width - paddingRight - child.getMeasuredWidth();
+                            paddingRight += child.getMeasuredWidth();
+                            break;
+                    }
+                    switch (vgrav) {
+                        default:
+                            childTop = paddingTop;
+                            break;
+                        case Gravity.TOP:
+                            childTop = paddingTop;
+                            paddingTop += child.getMeasuredHeight();
+                            break;
+                        case Gravity.CENTER_VERTICAL:
+                            childTop = Math.max((height - child.getMeasuredHeight()) / 2,
+                                    paddingTop);
+                            break;
+                        case Gravity.BOTTOM:
+                            childTop = height - paddingBottom - child.getMeasuredHeight();
+                            paddingBottom += child.getMeasuredHeight();
+                            break;
+                    }
+                    childLeft += scrollX;
+                    child.layout(childLeft, childTop,
+                            childLeft + child.getMeasuredWidth(),
+                            childTop + child.getMeasuredHeight());
+                    decorCount++;
+                }
+            }
+        }
+
+        final int childWidth = width - paddingLeft - paddingRight;
+        // Page views. Do this once we have the right padding offsets from above.
+        for (int i = 0; i < count; i++) {
+            final View child = getChildAt(i);
+            if (child.getVisibility() != GONE) {
+                final LayoutParams lp = (LayoutParams) child.getLayoutParams();
+                ItemInfo ii;
+                if (!lp.isDecor && (ii = infoForChild(child)) != null) {
+                    int loff = (int) (childWidth * ii.offset);
+                    int childLeft = paddingLeft + loff;
+                    int childTop = paddingTop;
+                    if (lp.needsMeasure) {
+                        // This was added during layout and needs measurement.
+                        // Do it now that we know what we're working with.
+                        lp.needsMeasure = false;
+                        final int widthSpec = MeasureSpec.makeMeasureSpec(
+                                (int) (childWidth * lp.widthFactor),
+                                MeasureSpec.EXACTLY);
+                        final int heightSpec = MeasureSpec.makeMeasureSpec(
+                                (int) (height - paddingTop - paddingBottom),
+                                MeasureSpec.EXACTLY);
+                        child.measure(widthSpec, heightSpec);
+                    }
+                    if (DEBUG) Log.v(TAG, "Positioning #" + i + " " + child + " f=" + ii.object
+                            + ":" + childLeft + "," + childTop + " " + child.getMeasuredWidth()
+                            + "x" + child.getMeasuredHeight());
+                    child.layout(childLeft, childTop,
+                            childLeft + child.getMeasuredWidth(),
+                            childTop + child.getMeasuredHeight());
+                }
+            }
+        }
+        mTopPageBounds = paddingTop;
+        mBottomPageBounds = height - paddingBottom;
+        mDecorChildCount = decorCount;
+
+        if (mFirstLayout) {
+            scrollToItem(mCurItem, false, 0, false);
+        }
+        mFirstLayout = false;
+    }
+
+    @Override
+    public void computeScroll() {
+        if (!mScroller.isFinished() && mScroller.computeScrollOffset()) {
+            int oldX = getScrollX();
+            int oldY = getScrollY();
+            int x = mScroller.getCurrX();
+            int y = mScroller.getCurrY();
+
+            if (oldX != x || oldY != y) {
+                scrollTo(x, y);
+                if (!pageScrolled(x)) {
+                    mScroller.abortAnimation();
+                    scrollTo(0, y);
+                }
+            }
+
+            // Keep on drawing until the animation has finished.
+            postInvalidateOnAnimation();
+            return;
+        }
+
+        // Done with scroll, clean up state.
+        completeScroll(true);
+    }
+
+    private boolean pageScrolled(int xpos) {
+        if (mItems.size() == 0) {
+            mCalledSuper = false;
+            onPageScrolled(0, 0, 0);
+            if (!mCalledSuper) {
+                throw new IllegalStateException(
+                        "onPageScrolled did not call superclass implementation");
+            }
+            return false;
+        }
+        final ItemInfo ii = infoForCurrentScrollPosition();
+        final int width = getClientWidth();
+        final int widthWithMargin = width + mPageMargin;
+        final float marginOffset = (float) mPageMargin / width;
+        final int currentPage = ii.position;
+        final float pageOffset = (((float) xpos / width) - ii.offset) /
+                (ii.widthFactor + marginOffset);
+        final int offsetPixels = (int) (pageOffset * widthWithMargin);
+
+        mCalledSuper = false;
+        onPageScrolled(currentPage, pageOffset, offsetPixels);
+        if (!mCalledSuper) {
+            throw new IllegalStateException(
+                    "onPageScrolled did not call superclass implementation");
+        }
+        return true;
+    }
+
+    /**
+     * This method will be invoked when the current page is scrolled, either as part
+     * of a programmatically initiated smooth scroll or a user initiated touch scroll.
+     * If you override this method you must call through to the superclass implementation
+     * (e.g. super.onPageScrolled(position, offset, offsetPixels)) before onPageScrolled
+     * returns.
+     *
+     * @param position Position index of the first page currently being displayed.
+     *                 Page position+1 will be visible if positionOffset is nonzero.
+     * @param offset Value from [0, 1) indicating the offset from the page at position.
+     * @param offsetPixels Value in pixels indicating the offset from position.
+     */
+    protected void onPageScrolled(int position, float offset, int offsetPixels) {
+        // Offset any decor views if needed - keep them on-screen at all times.
+        if (mDecorChildCount > 0) {
+            final int scrollX = getScrollX();
+            int paddingLeft = getPaddingLeft();
+            int paddingRight = getPaddingRight();
+            final int width = getWidth();
+            final int childCount = getChildCount();
+            for (int i = 0; i < childCount; i++) {
+                final View child = getChildAt(i);
+                final LayoutParams lp = (LayoutParams) child.getLayoutParams();
+                if (!lp.isDecor) continue;
+
+                final int hgrav = lp.gravity & Gravity.HORIZONTAL_GRAVITY_MASK;
+                int childLeft = 0;
+                switch (hgrav) {
+                    default:
+                        childLeft = paddingLeft;
+                        break;
+                    case Gravity.LEFT:
+                        childLeft = paddingLeft;
+                        paddingLeft += child.getWidth();
+                        break;
+                    case Gravity.CENTER_HORIZONTAL:
+                        childLeft = Math.max((width - child.getMeasuredWidth()) / 2,
+                                paddingLeft);
+                        break;
+                    case Gravity.RIGHT:
+                        childLeft = width - paddingRight - child.getMeasuredWidth();
+                        paddingRight += child.getMeasuredWidth();
+                        break;
+                }
+                childLeft += scrollX;
+
+                final int childOffset = childLeft - child.getLeft();
+                if (childOffset != 0) {
+                    child.offsetLeftAndRight(childOffset);
+                }
+            }
+        }
+
+        if (mOnPageChangeListener != null) {
+            mOnPageChangeListener.onPageScrolled(position, offset, offsetPixels);
+        }
+        if (mInternalPageChangeListener != null) {
+            mInternalPageChangeListener.onPageScrolled(position, offset, offsetPixels);
+        }
+
+        if (mPageTransformer != null) {
+            final int scrollX = getScrollX();
+            final int childCount = getChildCount();
+            for (int i = 0; i < childCount; i++) {
+                final View child = getChildAt(i);
+                final LayoutParams lp = (LayoutParams) child.getLayoutParams();
+
+                if (lp.isDecor) continue;
+
+                final float transformPos = (float) (child.getLeft() - scrollX) / getClientWidth();
+                mPageTransformer.transformPage(child, transformPos);
+            }
+        }
+
+        mCalledSuper = true;
+    }
+
+    private void completeScroll(boolean postEvents) {
+        boolean needPopulate = mScrollState == SCROLL_STATE_SETTLING;
+        if (needPopulate) {
+            // Done with scroll, no longer want to cache view drawing.
+            setScrollingCacheEnabled(false);
+            mScroller.abortAnimation();
+            int oldX = getScrollX();
+            int oldY = getScrollY();
+            int x = mScroller.getCurrX();
+            int y = mScroller.getCurrY();
+            if (oldX != x || oldY != y) {
+                scrollTo(x, y);
+            }
+        }
+        mPopulatePending = false;
+        for (int i=0; i<mItems.size(); i++) {
+            ItemInfo ii = mItems.get(i);
+            if (ii.scrolling) {
+                needPopulate = true;
+                ii.scrolling = false;
+            }
+        }
+        if (needPopulate) {
+            if (postEvents) {
+                postOnAnimation(mEndScrollRunnable);
+            } else {
+                mEndScrollRunnable.run();
+            }
+        }
+    }
+
+    private boolean isGutterDrag(float x, float dx) {
+        return (x < mGutterSize && dx > 0) || (x > getWidth() - mGutterSize && dx < 0);
+    }
+
+    private void enableLayers(boolean enable) {
+        final int childCount = getChildCount();
+        for (int i = 0; i < childCount; i++) {
+            final int layerType = enable ? LAYER_TYPE_HARDWARE : LAYER_TYPE_NONE;
+            getChildAt(i).setLayerType(layerType, null);
+        }
+    }
+
+    @Override
+    public boolean onInterceptTouchEvent(MotionEvent ev) {
+        /*
+         * This method JUST determines whether we want to intercept the motion.
+         * If we return true, onMotionEvent will be called and we do the actual
+         * scrolling there.
+         */
+
+        final int action = ev.getAction() & MotionEvent.ACTION_MASK;
+
+        // Always take care of the touch gesture being complete.
+        if (action == MotionEvent.ACTION_CANCEL || action == MotionEvent.ACTION_UP) {
+            // Release the drag.
+            if (DEBUG) Log.v(TAG, "Intercept done!");
+            mIsBeingDragged = false;
+            mIsUnableToDrag = false;
+            mActivePointerId = INVALID_POINTER;
+            if (mVelocityTracker != null) {
+                mVelocityTracker.recycle();
+                mVelocityTracker = null;
+            }
+            return false;
+        }
+
+        // Nothing more to do here if we have decided whether or not we
+        // are dragging.
+        if (action != MotionEvent.ACTION_DOWN) {
+            if (mIsBeingDragged) {
+                if (DEBUG) Log.v(TAG, "Intercept returning true!");
+                return true;
+            }
+            if (mIsUnableToDrag) {
+                if (DEBUG) Log.v(TAG, "Intercept returning false!");
+                return false;
+            }
+        }
+
+        switch (action) {
+            case MotionEvent.ACTION_MOVE: {
+                /*
+                 * mIsBeingDragged == false, otherwise the shortcut would have caught it. Check
+                 * whether the user has moved far enough from his original down touch.
+                 */
+
+                /*
+                * Locally do absolute value. mLastMotionY is set to the y value
+                * of the down event.
+                */
+                final int activePointerId = mActivePointerId;
+                if (activePointerId == INVALID_POINTER) {
+                    // If we don't have a valid id, the touch down wasn't on content.
+                    break;
+                }
+
+                final int pointerIndex = ev.findPointerIndex(activePointerId);
+                final float x = ev.getX(pointerIndex);
+                final float dx = x - mLastMotionX;
+                final float xDiff = Math.abs(dx);
+                final float y = ev.getY(pointerIndex);
+                final float yDiff = Math.abs(y - mInitialMotionY);
+                if (DEBUG) Log.v(TAG, "Moved x to " + x + "," + y + " diff=" + xDiff + "," + yDiff);
+
+                if (dx != 0 && !isGutterDrag(mLastMotionX, dx) &&
+                        canScroll(this, false, (int) dx, (int) x, (int) y)) {
+                    // Nested view has scrollable area under this point. Let it be handled there.
+                    mLastMotionX = x;
+                    mLastMotionY = y;
+                    mIsUnableToDrag = true;
+                    return false;
+                }
+                if (xDiff > mTouchSlop && xDiff * 0.5f > yDiff) {
+                    if (DEBUG) Log.v(TAG, "Starting drag!");
+                    mIsBeingDragged = true;
+                    requestParentDisallowInterceptTouchEvent(true);
+                    setScrollState(SCROLL_STATE_DRAGGING);
+                    mLastMotionX = dx > 0 ? mInitialMotionX + mTouchSlop :
+                            mInitialMotionX - mTouchSlop;
+                    mLastMotionY = y;
+                    setScrollingCacheEnabled(true);
+                } else if (yDiff > mTouchSlop) {
+                    // The finger has moved enough in the vertical
+                    // direction to be counted as a drag...  abort
+                    // any attempt to drag horizontally, to work correctly
+                    // with children that have scrolling containers.
+                    if (DEBUG) Log.v(TAG, "Starting unable to drag!");
+                    mIsUnableToDrag = true;
+                }
+                if (mIsBeingDragged) {
+                    // Scroll to follow the motion event
+                    if (performDrag(x)) {
+                        postInvalidateOnAnimation();
+                    }
+                }
+                break;
+            }
+
+            case MotionEvent.ACTION_DOWN: {
+                /*
+                 * Remember location of down touch.
+                 * ACTION_DOWN always refers to pointer index 0.
+                 */
+                mLastMotionX = mInitialMotionX = ev.getX();
+                mLastMotionY = mInitialMotionY = ev.getY();
+                mActivePointerId = ev.getPointerId(0);
+                mIsUnableToDrag = false;
+
+                mScroller.computeScrollOffset();
+                if (mScrollState == SCROLL_STATE_SETTLING &&
+                        Math.abs(mScroller.getFinalX() - mScroller.getCurrX()) > mCloseEnough) {
+                    // Let the user 'catch' the pager as it animates.
+                    mScroller.abortAnimation();
+                    mPopulatePending = false;
+                    populate();
+                    mIsBeingDragged = true;
+                    requestParentDisallowInterceptTouchEvent(true);
+                    setScrollState(SCROLL_STATE_DRAGGING);
+                } else {
+                    completeScroll(false);
+                    mIsBeingDragged = false;
+                }
+
+                if (DEBUG) Log.v(TAG, "Down at " + mLastMotionX + "," + mLastMotionY
+                        + " mIsBeingDragged=" + mIsBeingDragged
+                        + "mIsUnableToDrag=" + mIsUnableToDrag);
+                break;
+            }
+
+            case MotionEvent.ACTION_POINTER_UP:
+                onSecondaryPointerUp(ev);
+                break;
+        }
+
+        if (mVelocityTracker == null) {
+            mVelocityTracker = VelocityTracker.obtain();
+        }
+        mVelocityTracker.addMovement(ev);
+
+        /*
+         * The only time we want to intercept motion events is if we are in the
+         * drag mode.
+         */
+        return mIsBeingDragged;
+    }
+
+    @Override
+    public boolean onTouchEvent(MotionEvent ev) {
+        if (mFakeDragging) {
+            // A fake drag is in progress already, ignore this real one
+            // but still eat the touch events.
+            // (It is likely that the user is multi-touching the screen.)
+            return true;
+        }
+
+        if (ev.getAction() == MotionEvent.ACTION_DOWN && ev.getEdgeFlags() != 0) {
+            // Don't handle edge touches immediately -- they may actually belong to one of our
+            // descendants.
+            return false;
+        }
+
+        if (mAdapter == null || mAdapter.getCount() == 0) {
+            // Nothing to present or scroll; nothing to touch.
+            return false;
+        }
+
+        if (mVelocityTracker == null) {
+            mVelocityTracker = VelocityTracker.obtain();
+        }
+        mVelocityTracker.addMovement(ev);
+
+        final int action = ev.getAction();
+        boolean needsInvalidate = false;
+
+        switch (action & MotionEvent.ACTION_MASK) {
+            case MotionEvent.ACTION_DOWN: {
+                mScroller.abortAnimation();
+                mPopulatePending = false;
+                populate();
+
+                // Remember where the motion event started
+                mLastMotionX = mInitialMotionX = ev.getX();
+                mLastMotionY = mInitialMotionY = ev.getY();
+                mActivePointerId = ev.getPointerId(0);
+                break;
+            }
+            case MotionEvent.ACTION_MOVE:
+                if (!mIsBeingDragged) {
+                    final int pointerIndex = ev.findPointerIndex(mActivePointerId);
+                    final float x = ev.getX(pointerIndex);
+                    final float xDiff = Math.abs(x - mLastMotionX);
+                    final float y = ev.getY(pointerIndex);
+                    final float yDiff = Math.abs(y - mLastMotionY);
+                    if (DEBUG) Log.v(TAG, "Moved x to " + x + "," + y + " diff=" + xDiff + "," + yDiff);
+                    if (xDiff > mTouchSlop && xDiff > yDiff) {
+                        if (DEBUG) Log.v(TAG, "Starting drag!");
+                        mIsBeingDragged = true;
+                        requestParentDisallowInterceptTouchEvent(true);
+                        mLastMotionX = x - mInitialMotionX > 0 ? mInitialMotionX + mTouchSlop :
+                                mInitialMotionX - mTouchSlop;
+                        mLastMotionY = y;
+                        setScrollState(SCROLL_STATE_DRAGGING);
+                        setScrollingCacheEnabled(true);
+
+                        // Disallow Parent Intercept, just in case
+                        ViewParent parent = getParent();
+                        if (parent != null) {
+                            parent.requestDisallowInterceptTouchEvent(true);
+                        }
+                    }
+                }
+                // Not else! Note that mIsBeingDragged can be set above.
+                if (mIsBeingDragged) {
+                    // Scroll to follow the motion event
+                    final int activePointerIndex = ev.findPointerIndex(mActivePointerId);
+                    final float x = ev.getX(activePointerIndex);
+                    needsInvalidate |= performDrag(x);
+                }
+                break;
+            case MotionEvent.ACTION_UP:
+                if (mIsBeingDragged) {
+                    final VelocityTracker velocityTracker = mVelocityTracker;
+                    velocityTracker.computeCurrentVelocity(1000, mMaximumVelocity);
+                    int initialVelocity = (int) velocityTracker.getXVelocity(mActivePointerId);
+                    mPopulatePending = true;
+                    final int width = getClientWidth();
+                    final int scrollX = getScrollX();
+                    final ItemInfo ii = infoForCurrentScrollPosition();
+                    final int currentPage = ii.position;
+                    final float pageOffset = (((float) scrollX / width) - ii.offset) / ii.widthFactor;
+                    final int activePointerIndex =
+                            ev.findPointerIndex(mActivePointerId);
+                    final float x = ev.getX(activePointerIndex);
+                    final int totalDelta = (int) (x - mInitialMotionX);
+                    int nextPage = determineTargetPage(currentPage, pageOffset, initialVelocity,
+                            totalDelta);
+                    setCurrentItemInternal(nextPage, true, true, initialVelocity);
+
+                    mActivePointerId = INVALID_POINTER;
+                    endDrag();
+                    mLeftEdge.onRelease();
+                    mRightEdge.onRelease();
+                    needsInvalidate = true;
+                }
+                break;
+            case MotionEvent.ACTION_CANCEL:
+                if (mIsBeingDragged) {
+                    scrollToItem(mCurItem, true, 0, false);
+                    mActivePointerId = INVALID_POINTER;
+                    endDrag();
+                    mLeftEdge.onRelease();
+                    mRightEdge.onRelease();
+                    needsInvalidate = true;
+                }
+                break;
+            case MotionEvent.ACTION_POINTER_DOWN: {
+                final int index = ev.getActionIndex();
+                final float x = ev.getX(index);
+                mLastMotionX = x;
+                mActivePointerId = ev.getPointerId(index);
+                break;
+            }
+            case MotionEvent.ACTION_POINTER_UP:
+                onSecondaryPointerUp(ev);
+                mLastMotionX = ev.getX(ev.findPointerIndex(mActivePointerId));
+                break;
+        }
+        if (needsInvalidate) {
+            postInvalidateOnAnimation();
+        }
+        return true;
+    }
+
+    private void requestParentDisallowInterceptTouchEvent(boolean disallowIntercept) {
+        final ViewParent parent = getParent();
+        if (parent != null) {
+            parent.requestDisallowInterceptTouchEvent(disallowIntercept);
+        }
+    }
+
+    private boolean performDrag(float x) {
+        boolean needsInvalidate = false;
+
+        final float deltaX = mLastMotionX - x;
+        mLastMotionX = x;
+
+        float oldScrollX = getScrollX();
+        float scrollX = oldScrollX + deltaX;
+        final int width = getClientWidth();
+
+        float leftBound = width * mFirstOffset;
+        float rightBound = width * mLastOffset;
+        boolean leftAbsolute = true;
+        boolean rightAbsolute = true;
+
+        final ItemInfo firstItem = mItems.get(0);
+        final ItemInfo lastItem = mItems.get(mItems.size() - 1);
+        if (firstItem.position != 0) {
+            leftAbsolute = false;
+            leftBound = firstItem.offset * width;
+        }
+        if (lastItem.position != mAdapter.getCount() - 1) {
+            rightAbsolute = false;
+            rightBound = lastItem.offset * width;
+        }
+
+        if (scrollX < leftBound) {
+            if (leftAbsolute) {
+                float over = leftBound - scrollX;
+                mLeftEdge.onPull(Math.abs(over) / width);
+                needsInvalidate = true;
+            }
+            scrollX = leftBound;
+        } else if (scrollX > rightBound) {
+            if (rightAbsolute) {
+                float over = scrollX - rightBound;
+                mRightEdge.onPull(Math.abs(over) / width);
+                needsInvalidate = true;
+            }
+            scrollX = rightBound;
+        }
+        // Don't lose the rounded component
+        mLastMotionX += scrollX - (int) scrollX;
+        scrollTo((int) scrollX, getScrollY());
+        pageScrolled((int) scrollX);
+
+        return needsInvalidate;
+    }
+
+    /**
+     * @return Info about the page at the current scroll position.
+     *         This can be synthetic for a missing middle page; the 'object' field can be null.
+     */
+    private ItemInfo infoForCurrentScrollPosition() {
+        final int width = getClientWidth();
+        final float scrollOffset = width > 0 ? (float) getScrollX() / width : 0;
+        final float marginOffset = width > 0 ? (float) mPageMargin / width : 0;
+        int lastPos = -1;
+        float lastOffset = 0.f;
+        float lastWidth = 0.f;
+        boolean first = true;
+
+        ItemInfo lastItem = null;
+        for (int i = 0; i < mItems.size(); i++) {
+            ItemInfo ii = mItems.get(i);
+            float offset;
+            if (!first && ii.position != lastPos + 1) {
+                // Create a synthetic item for a missing page.
+                ii = mTempItem;
+                ii.offset = lastOffset + lastWidth + marginOffset;
+                ii.position = lastPos + 1;
+                ii.widthFactor = mAdapter.getPageWidth(ii.position);
+                i--;
+            }
+            offset = ii.offset;
+
+            final float leftBound = offset;
+            final float rightBound = offset + ii.widthFactor + marginOffset;
+            if (first || scrollOffset >= leftBound) {
+                if (scrollOffset < rightBound || i == mItems.size() - 1) {
+                    return ii;
+                }
+            } else {
+                return lastItem;
+            }
+            first = false;
+            lastPos = ii.position;
+            lastOffset = offset;
+            lastWidth = ii.widthFactor;
+            lastItem = ii;
+        }
+
+        return lastItem;
+    }
+
+    private int determineTargetPage(int currentPage, float pageOffset, int velocity, int deltaX) {
+        int targetPage;
+        if (Math.abs(deltaX) > mFlingDistance && Math.abs(velocity) > mMinimumVelocity) {
+            targetPage = velocity > 0 ? currentPage : currentPage + 1;
+        } else {
+            final float truncator = currentPage >= mCurItem ? 0.4f : 0.6f;
+            targetPage = (int) (currentPage + pageOffset + truncator);
+        }
+
+        if (mItems.size() > 0) {
+            final ItemInfo firstItem = mItems.get(0);
+            final ItemInfo lastItem = mItems.get(mItems.size() - 1);
+
+            // Only let the user target pages we have items for
+            targetPage = Math.max(firstItem.position, Math.min(targetPage, lastItem.position));
+        }
+
+        return targetPage;
+    }
+
+    @Override
+    public void draw(Canvas canvas) {
+        super.draw(canvas);
+        boolean needsInvalidate = false;
+
+        final int overScrollMode = getOverScrollMode();
+        if (overScrollMode == View.OVER_SCROLL_ALWAYS ||
+                (overScrollMode == View.OVER_SCROLL_IF_CONTENT_SCROLLS &&
+                        mAdapter != null && mAdapter.getCount() > 1)) {
+            if (!mLeftEdge.isFinished()) {
+                final int restoreCount = canvas.save();
+                final int height = getHeight() - getPaddingTop() - getPaddingBottom();
+                final int width = getWidth();
+
+                canvas.rotate(270);
+                canvas.translate(-height + getPaddingTop(), mFirstOffset * width);
+                mLeftEdge.setSize(height, width);
+                needsInvalidate |= mLeftEdge.draw(canvas);
+                canvas.restoreToCount(restoreCount);
+            }
+            if (!mRightEdge.isFinished()) {
+                final int restoreCount = canvas.save();
+                final int width = getWidth();
+                final int height = getHeight() - getPaddingTop() - getPaddingBottom();
+
+                canvas.rotate(90);
+                canvas.translate(-getPaddingTop(), -(mLastOffset + 1) * width);
+                mRightEdge.setSize(height, width);
+                needsInvalidate |= mRightEdge.draw(canvas);
+                canvas.restoreToCount(restoreCount);
+            }
+        } else {
+            mLeftEdge.finish();
+            mRightEdge.finish();
+        }
+
+        if (needsInvalidate) {
+            // Keep animating
+            postInvalidateOnAnimation();
+        }
+    }
+
+    @Override
+    protected void onDraw(Canvas canvas) {
+        super.onDraw(canvas);
+
+        // Draw the margin drawable between pages if needed.
+        if (mPageMargin > 0 && mMarginDrawable != null && mItems.size() > 0 && mAdapter != null) {
+            final int scrollX = getScrollX();
+            final int width = getWidth();
+
+            final float marginOffset = (float) mPageMargin / width;
+            int itemIndex = 0;
+            ItemInfo ii = mItems.get(0);
+            float offset = ii.offset;
+            final int itemCount = mItems.size();
+            final int firstPos = ii.position;
+            final int lastPos = mItems.get(itemCount - 1).position;
+            for (int pos = firstPos; pos < lastPos; pos++) {
+                while (pos > ii.position && itemIndex < itemCount) {
+                    ii = mItems.get(++itemIndex);
+                }
+
+                float drawAt;
+                if (pos == ii.position) {
+                    drawAt = (ii.offset + ii.widthFactor) * width;
+                    offset = ii.offset + ii.widthFactor + marginOffset;
+                } else {
+                    float widthFactor = mAdapter.getPageWidth(pos);
+                    drawAt = (offset + widthFactor) * width;
+                    offset += widthFactor + marginOffset;
+                }
+
+                if (drawAt + mPageMargin > scrollX) {
+                    mMarginDrawable.setBounds((int) drawAt, mTopPageBounds,
+                            (int) (drawAt + mPageMargin + 0.5f), mBottomPageBounds);
+                    mMarginDrawable.draw(canvas);
+                }
+
+                if (drawAt > scrollX + width) {
+                    break; // No more visible, no sense in continuing
+                }
+            }
+        }
+    }
+
+    /**
+     * Start a fake drag of the pager.
+     *
+     * <p>A fake drag can be useful if you want to synchronize the motion of the ViewPager
+     * with the touch scrolling of another view, while still letting the ViewPager
+     * control the snapping motion and fling behavior. (e.g. parallax-scrolling tabs.)
+     * Call {@link #fakeDragBy(float)} to simulate the actual drag motion. Call
+     * {@link #endFakeDrag()} to complete the fake drag and fling as necessary.
+     *
+     * <p>During a fake drag the ViewPager will ignore all touch events. If a real drag
+     * is already in progress, this method will return false.
+     *
+     * @return true if the fake drag began successfully, false if it could not be started.
+     *
+     * @see #fakeDragBy(float)
+     * @see #endFakeDrag()
+     */
+    public boolean beginFakeDrag() {
+        if (mIsBeingDragged) {
+            return false;
+        }
+        mFakeDragging = true;
+        setScrollState(SCROLL_STATE_DRAGGING);
+        mInitialMotionX = mLastMotionX = 0;
+        if (mVelocityTracker == null) {
+            mVelocityTracker = VelocityTracker.obtain();
+        } else {
+            mVelocityTracker.clear();
+        }
+        final long time = SystemClock.uptimeMillis();
+        final MotionEvent ev = MotionEvent.obtain(time, time, MotionEvent.ACTION_DOWN, 0, 0, 0);
+        mVelocityTracker.addMovement(ev);
+        ev.recycle();
+        mFakeDragBeginTime = time;
+        return true;
+    }
+
+    /**
+     * End a fake drag of the pager.
+     *
+     * @see #beginFakeDrag()
+     * @see #fakeDragBy(float)
+     */
+    public void endFakeDrag() {
+        if (!mFakeDragging) {
+            throw new IllegalStateException("No fake drag in progress. Call beginFakeDrag first.");
+        }
+
+        final VelocityTracker velocityTracker = mVelocityTracker;
+        velocityTracker.computeCurrentVelocity(1000, mMaximumVelocity);
+        int initialVelocity = (int) velocityTracker.getXVelocity(mActivePointerId);
+        mPopulatePending = true;
+        final int width = getClientWidth();
+        final int scrollX = getScrollX();
+        final ItemInfo ii = infoForCurrentScrollPosition();
+        final int currentPage = ii.position;
+        final float pageOffset = (((float) scrollX / width) - ii.offset) / ii.widthFactor;
+        final int totalDelta = (int) (mLastMotionX - mInitialMotionX);
+        int nextPage = determineTargetPage(currentPage, pageOffset, initialVelocity,
+                totalDelta);
+        setCurrentItemInternal(nextPage, true, true, initialVelocity);
+        endDrag();
+
+        mFakeDragging = false;
+    }
+
+    /**
+     * Fake drag by an offset in pixels. You must have called {@link #beginFakeDrag()} first.
+     *
+     * @param xOffset Offset in pixels to drag by.
+     * @see #beginFakeDrag()
+     * @see #endFakeDrag()
+     */
+    public void fakeDragBy(float xOffset) {
+        if (!mFakeDragging) {
+            throw new IllegalStateException("No fake drag in progress. Call beginFakeDrag first.");
+        }
+
+        mLastMotionX += xOffset;
+
+        float oldScrollX = getScrollX();
+        float scrollX = oldScrollX - xOffset;
+        final int width = getClientWidth();
+
+        float leftBound = width * mFirstOffset;
+        float rightBound = width * mLastOffset;
+
+        final ItemInfo firstItem = mItems.get(0);
+        final ItemInfo lastItem = mItems.get(mItems.size() - 1);
+        if (firstItem.position != 0) {
+            leftBound = firstItem.offset * width;
+        }
+        if (lastItem.position != mAdapter.getCount() - 1) {
+            rightBound = lastItem.offset * width;
+        }
+
+        if (scrollX < leftBound) {
+            scrollX = leftBound;
+        } else if (scrollX > rightBound) {
+            scrollX = rightBound;
+        }
+        // Don't lose the rounded component
+        mLastMotionX += scrollX - (int) scrollX;
+        scrollTo((int) scrollX, getScrollY());
+        pageScrolled((int) scrollX);
+
+        // Synthesize an event for the VelocityTracker.
+        final long time = SystemClock.uptimeMillis();
+        final MotionEvent ev = MotionEvent.obtain(mFakeDragBeginTime, time, MotionEvent.ACTION_MOVE,
+                mLastMotionX, 0, 0);
+        mVelocityTracker.addMovement(ev);
+        ev.recycle();
+    }
+
+    /**
+     * Returns true if a fake drag is in progress.
+     *
+     * @return true if currently in a fake drag, false otherwise.
+     *
+     * @see #beginFakeDrag()
+     * @see #fakeDragBy(float)
+     * @see #endFakeDrag()
+     */
+    public boolean isFakeDragging() {
+        return mFakeDragging;
+    }
+
+    private void onSecondaryPointerUp(MotionEvent ev) {
+        final int pointerIndex = ev.getActionIndex();
+        final int pointerId = ev.getPointerId(pointerIndex);
+        if (pointerId == mActivePointerId) {
+            // This was our active pointer going up. Choose a new
+            // active pointer and adjust accordingly.
+            final int newPointerIndex = pointerIndex == 0 ? 1 : 0;
+            mLastMotionX = ev.getX(newPointerIndex);
+            mActivePointerId = ev.getPointerId(newPointerIndex);
+            if (mVelocityTracker != null) {
+                mVelocityTracker.clear();
+            }
+        }
+    }
+
+    private void endDrag() {
+        mIsBeingDragged = false;
+        mIsUnableToDrag = false;
+
+        if (mVelocityTracker != null) {
+            mVelocityTracker.recycle();
+            mVelocityTracker = null;
+        }
+    }
+
+    private void setScrollingCacheEnabled(boolean enabled) {
+        if (mScrollingCacheEnabled != enabled) {
+            mScrollingCacheEnabled = enabled;
+            if (USE_CACHE) {
+                final int size = getChildCount();
+                for (int i = 0; i < size; ++i) {
+                    final View child = getChildAt(i);
+                    if (child.getVisibility() != GONE) {
+                        child.setDrawingCacheEnabled(enabled);
+                    }
+                }
+            }
+        }
+    }
+
+    public boolean canScrollHorizontally(int direction) {
+        if (mAdapter == null) {
+            return false;
+        }
+
+        final int width = getClientWidth();
+        final int scrollX = getScrollX();
+        if (direction < 0) {
+            return (scrollX > (int) (width * mFirstOffset));
+        } else if (direction > 0) {
+            return (scrollX < (int) (width * mLastOffset));
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Tests scrollability within child views of v given a delta of dx.
+     *
+     * @param v View to test for horizontal scrollability
+     * @param checkV Whether the view v passed should itself be checked for scrollability (true),
+     *               or just its children (false).
+     * @param dx Delta scrolled in pixels
+     * @param x X coordinate of the active touch point
+     * @param y Y coordinate of the active touch point
+     * @return true if child views of v can be scrolled by delta of dx.
+     */
+    protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
+        if (v instanceof ViewGroup) {
+            final ViewGroup group = (ViewGroup) v;
+            final int scrollX = v.getScrollX();
+            final int scrollY = v.getScrollY();
+            final int count = group.getChildCount();
+            // Count backwards - let topmost views consume scroll distance first.
+            for (int i = count - 1; i >= 0; i--) {
+                // TODO: Add versioned support here for transformed views.
+                // This will not work for transformed views in Honeycomb+
+                final View child = group.getChildAt(i);
+                if (x + scrollX >= child.getLeft() && x + scrollX < child.getRight() &&
+                        y + scrollY >= child.getTop() && y + scrollY < child.getBottom() &&
+                        canScroll(child, true, dx, x + scrollX - child.getLeft(),
+                                y + scrollY - child.getTop())) {
+                    return true;
+                }
+            }
+        }
+
+        return checkV && v.canScrollHorizontally(-dx);
+    }
+
+    @Override
+    public boolean dispatchKeyEvent(KeyEvent event) {
+        // Let the focused view and/or our descendants get the key first
+        return super.dispatchKeyEvent(event) || executeKeyEvent(event);
+    }
+
+    /**
+     * You can call this function yourself to have the scroll view perform
+     * scrolling from a key event, just as if the event had been dispatched to
+     * it by the view hierarchy.
+     *
+     * @param event The key event to execute.
+     * @return Return true if the event was handled, else false.
+     */
+    public boolean executeKeyEvent(KeyEvent event) {
+        boolean handled = false;
+        if (event.getAction() == KeyEvent.ACTION_DOWN) {
+            switch (event.getKeyCode()) {
+                case KeyEvent.KEYCODE_DPAD_LEFT:
+                    handled = arrowScroll(FOCUS_LEFT);
+                    break;
+                case KeyEvent.KEYCODE_DPAD_RIGHT:
+                    handled = arrowScroll(FOCUS_RIGHT);
+                    break;
+                case KeyEvent.KEYCODE_TAB:
+                    if (event.hasNoModifiers()) {
+                        handled = arrowScroll(FOCUS_FORWARD);
+                    } else if (event.hasModifiers(KeyEvent.META_SHIFT_ON)) {
+                        handled = arrowScroll(FOCUS_BACKWARD);
+                    }
+                    break;
+            }
+        }
+        return handled;
+    }
+
+    public boolean arrowScroll(int direction) {
+        View currentFocused = findFocus();
+        if (currentFocused == this) {
+            currentFocused = null;
+        } else if (currentFocused != null) {
+            boolean isChild = false;
+            for (ViewParent parent = currentFocused.getParent(); parent instanceof ViewGroup;
+                    parent = parent.getParent()) {
+                if (parent == this) {
+                    isChild = true;
+                    break;
+                }
+            }
+            if (!isChild) {
+                // This would cause the focus search down below to fail in fun ways.
+                final StringBuilder sb = new StringBuilder();
+                sb.append(currentFocused.getClass().getSimpleName());
+                for (ViewParent parent = currentFocused.getParent(); parent instanceof ViewGroup;
+                        parent = parent.getParent()) {
+                    sb.append(" => ").append(parent.getClass().getSimpleName());
+                }
+                Log.e(TAG, "arrowScroll tried to find focus based on non-child " +
+                        "current focused view " + sb.toString());
+                currentFocused = null;
+            }
+        }
+
+        boolean handled = false;
+
+        View nextFocused = FocusFinder.getInstance().findNextFocus(this, currentFocused,
+                direction);
+        if (nextFocused != null && nextFocused != currentFocused) {
+            if (direction == View.FOCUS_LEFT) {
+                // If there is nothing to the left, or this is causing us to
+                // jump to the right, then what we really want to do is page left.
+                final int nextLeft = getChildRectInPagerCoordinates(mTempRect, nextFocused).left;
+                final int currLeft = getChildRectInPagerCoordinates(mTempRect, currentFocused).left;
+                if (currentFocused != null && nextLeft >= currLeft) {
+                    handled = pageLeft();
+                } else {
+                    handled = nextFocused.requestFocus();
+                }
+            } else if (direction == View.FOCUS_RIGHT) {
+                // If there is nothing to the right, or this is causing us to
+                // jump to the left, then what we really want to do is page right.
+                final int nextLeft = getChildRectInPagerCoordinates(mTempRect, nextFocused).left;
+                final int currLeft = getChildRectInPagerCoordinates(mTempRect, currentFocused).left;
+                if (currentFocused != null && nextLeft <= currLeft) {
+                    handled = pageRight();
+                } else {
+                    handled = nextFocused.requestFocus();
+                }
+            }
+        } else if (direction == FOCUS_LEFT || direction == FOCUS_BACKWARD) {
+            // Trying to move left and nothing there; try to page.
+            handled = pageLeft();
+        } else if (direction == FOCUS_RIGHT || direction == FOCUS_FORWARD) {
+            // Trying to move right and nothing there; try to page.
+            handled = pageRight();
+        }
+        if (handled) {
+            playSoundEffect(SoundEffectConstants.getContantForFocusDirection(direction));
+        }
+        return handled;
+    }
+
+    private Rect getChildRectInPagerCoordinates(Rect outRect, View child) {
+        if (outRect == null) {
+            outRect = new Rect();
+        }
+        if (child == null) {
+            outRect.set(0, 0, 0, 0);
+            return outRect;
+        }
+        outRect.left = child.getLeft();
+        outRect.right = child.getRight();
+        outRect.top = child.getTop();
+        outRect.bottom = child.getBottom();
+
+        ViewParent parent = child.getParent();
+        while (parent instanceof ViewGroup && parent != this) {
+            final ViewGroup group = (ViewGroup) parent;
+            outRect.left += group.getLeft();
+            outRect.right += group.getRight();
+            outRect.top += group.getTop();
+            outRect.bottom += group.getBottom();
+
+            parent = group.getParent();
+        }
+        return outRect;
+    }
+
+    boolean pageLeft() {
+        if (mCurItem > 0) {
+            setCurrentItem(mCurItem-1, true);
+            return true;
+        }
+        return false;
+    }
+
+    boolean pageRight() {
+        if (mAdapter != null && mCurItem < (mAdapter.getCount()-1)) {
+            setCurrentItem(mCurItem+1, true);
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * We only want the current page that is being shown to be focusable.
+     */
+    @Override
+    public void addFocusables(ArrayList<View> views, int direction, int focusableMode) {
+        final int focusableCount = views.size();
+
+        final int descendantFocusability = getDescendantFocusability();
+
+        if (descendantFocusability != FOCUS_BLOCK_DESCENDANTS) {
+            for (int i = 0; i < getChildCount(); i++) {
+                final View child = getChildAt(i);
+                if (child.getVisibility() == VISIBLE) {
+                    ItemInfo ii = infoForChild(child);
+                    if (ii != null && ii.position == mCurItem) {
+                        child.addFocusables(views, direction, focusableMode);
+                    }
+                }
+            }
+        }
+
+        // we add ourselves (if focusable) in all cases except for when we are
+        // FOCUS_AFTER_DESCENDANTS and there are some descendants focusable.  this is
+        // to avoid the focus search finding layouts when a more precise search
+        // among the focusable children would be more interesting.
+        if (
+            descendantFocusability != FOCUS_AFTER_DESCENDANTS ||
+                // No focusable descendants
+                (focusableCount == views.size())) {
+            // Note that we can't call the superclass here, because it will
+            // add all views in.  So we need to do the same thing View does.
+            if (!isFocusable()) {
+                return;
+            }
+            if ((focusableMode & FOCUSABLES_TOUCH_MODE) == FOCUSABLES_TOUCH_MODE &&
+                    isInTouchMode() && !isFocusableInTouchMode()) {
+                return;
+            }
+            if (views != null) {
+                views.add(this);
+            }
+        }
+    }
+
+    /**
+     * We only want the current page that is being shown to be touchable.
+     */
+    @Override
+    public void addTouchables(ArrayList<View> views) {
+        // Note that we don't call super.addTouchables(), which means that
+        // we don't call View.addTouchables().  This is okay because a ViewPager
+        // is itself not touchable.
+        for (int i = 0; i < getChildCount(); i++) {
+            final View child = getChildAt(i);
+            if (child.getVisibility() == VISIBLE) {
+                ItemInfo ii = infoForChild(child);
+                if (ii != null && ii.position == mCurItem) {
+                    child.addTouchables(views);
+                }
+            }
+        }
+    }
+
+    /**
+     * We only want the current page that is being shown to be focusable.
+     */
+    @Override
+    protected boolean onRequestFocusInDescendants(int direction,
+            Rect previouslyFocusedRect) {
+        int index;
+        int increment;
+        int end;
+        int count = getChildCount();
+        if ((direction & FOCUS_FORWARD) != 0) {
+            index = 0;
+            increment = 1;
+            end = count;
+        } else {
+            index = count - 1;
+            increment = -1;
+            end = -1;
+        }
+        for (int i = index; i != end; i += increment) {
+            View child = getChildAt(i);
+            if (child.getVisibility() == VISIBLE) {
+                ItemInfo ii = infoForChild(child);
+                if (ii != null && ii.position == mCurItem) {
+                    if (child.requestFocus(direction, previouslyFocusedRect)) {
+                        return true;
+                    }
+                }
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
+        // Dispatch scroll events from this ViewPager.
+        if (event.getEventType() == AccessibilityEvent.TYPE_VIEW_SCROLLED) {
+            return super.dispatchPopulateAccessibilityEvent(event);
+        }
+
+        // Dispatch all other accessibility events from the current page.
+        final int childCount = getChildCount();
+        for (int i = 0; i < childCount; i++) {
+            final View child = getChildAt(i);
+            if (child.getVisibility() == VISIBLE) {
+                final ItemInfo ii = infoForChild(child);
+                if (ii != null && ii.position == mCurItem &&
+                        child.dispatchPopulateAccessibilityEvent(event)) {
+                    return true;
+                }
+            }
+        }
+
+        return false;
+    }
+
+    @Override
+    protected ViewGroup.LayoutParams generateDefaultLayoutParams() {
+        return new LayoutParams();
+    }
+
+    @Override
+    protected ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) {
+        return generateDefaultLayoutParams();
+    }
+
+    @Override
+    protected boolean checkLayoutParams(ViewGroup.LayoutParams p) {
+        return p instanceof LayoutParams && super.checkLayoutParams(p);
+    }
+
+    @Override
+    public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs) {
+        return new LayoutParams(getContext(), attrs);
+    }
+
+    class MyAccessibilityDelegate extends AccessibilityDelegate {
+
+        @Override
+        public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) {
+            super.onInitializeAccessibilityEvent(host, event);
+            event.setClassName(ViewPager.class.getName());
+            final AccessibilityRecord record = AccessibilityRecord.obtain();
+            record.setScrollable(canScroll());
+            if (event.getEventType() == AccessibilityEvent.TYPE_VIEW_SCROLLED
+                    && mAdapter != null) {
+                record.setItemCount(mAdapter.getCount());
+                record.setFromIndex(mCurItem);
+                record.setToIndex(mCurItem);
+            }
+        }
+
+        @Override
+        public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
+            super.onInitializeAccessibilityNodeInfo(host, info);
+            info.setClassName(ViewPager.class.getName());
+            info.setScrollable(canScroll());
+            if (canScrollHorizontally(1)) {
+                info.addAction(AccessibilityNodeInfo.ACTION_SCROLL_FORWARD);
+            }
+            if (canScrollHorizontally(-1)) {
+                info.addAction(AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD);
+            }
+        }
+
+        @Override
+        public boolean performAccessibilityAction(View host, int action, Bundle args) {
+            if (super.performAccessibilityAction(host, action, args)) {
+                return true;
+            }
+            switch (action) {
+                case AccessibilityNodeInfo.ACTION_SCROLL_FORWARD: {
+                    if (canScrollHorizontally(1)) {
+                        setCurrentItem(mCurItem + 1);
+                        return true;
+                    }
+                } return false;
+                case AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD: {
+                    if (canScrollHorizontally(-1)) {
+                        setCurrentItem(mCurItem - 1);
+                        return true;
+                    }
+                } return false;
+            }
+            return false;
+        }
+
+        private boolean canScroll() {
+            return (mAdapter != null) && (mAdapter.getCount() > 1);
+        }
+    }
+
+    private class PagerObserver extends DataSetObserver {
+        @Override
+        public void onChanged() {
+            dataSetChanged();
+        }
+        @Override
+        public void onInvalidated() {
+            dataSetChanged();
+        }
+    }
+
+    /**
+     * Layout parameters that should be supplied for views added to a
+     * ViewPager.
+     */
+    public static class LayoutParams extends ViewGroup.LayoutParams {
+        /**
+         * true if this view is a decoration on the pager itself and not
+         * a view supplied by the adapter.
+         */
+        public boolean isDecor;
+
+        /**
+         * Gravity setting for use on decor views only:
+         * Where to position the view page within the overall ViewPager
+         * container; constants are defined in {@link android.view.Gravity}.
+         */
+        public int gravity;
+
+        /**
+         * Width as a 0-1 multiplier of the measured pager width
+         */
+        float widthFactor = 0.f;
+
+        /**
+         * true if this view was added during layout and needs to be measured
+         * before being positioned.
+         */
+        boolean needsMeasure;
+
+        /**
+         * Adapter position this view is for if !isDecor
+         */
+        int position;
+
+        /**
+         * Current child index within the ViewPager that this view occupies
+         */
+        int childIndex;
+
+        public LayoutParams() {
+            super(FILL_PARENT, FILL_PARENT);
+        }
+
+        public LayoutParams(Context context, AttributeSet attrs) {
+            super(context, attrs);
+
+            final TypedArray a = context.obtainStyledAttributes(attrs, LAYOUT_ATTRS);
+            gravity = a.getInteger(0, Gravity.TOP);
+            a.recycle();
+        }
+    }
+
+    static class ViewPositionComparator implements Comparator<View> {
+        @Override
+        public int compare(View lhs, View rhs) {
+            final LayoutParams llp = (LayoutParams) lhs.getLayoutParams();
+            final LayoutParams rlp = (LayoutParams) rhs.getLayoutParams();
+            if (llp.isDecor != rlp.isDecor) {
+                return llp.isDecor ? 1 : -1;
+            }
+            return llp.position - rlp.position;
+        }
+    }
+}
diff --git a/core/java/com/android/server/net/NetlinkTracker.java b/core/java/com/android/server/net/NetlinkTracker.java
index 0dde465..d45982e 100644
--- a/core/java/com/android/server/net/NetlinkTracker.java
+++ b/core/java/com/android/server/net/NetlinkTracker.java
@@ -24,11 +24,9 @@
 import java.net.InetAddress;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Objects;
 import java.util.Set;
 
 /**
diff --git a/core/jni/Android.mk b/core/jni/Android.mk
index 28f1a3a..30a7e68 100644
--- a/core/jni/Android.mk
+++ b/core/jni/Android.mk
@@ -18,6 +18,8 @@
 
 LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
 
+LOCAL_CFLAGS += -DU_USING_ICU_NAMESPACE=0
+
 LOCAL_SRC_FILES:= \
     AndroidRuntime.cpp \
     com_android_internal_content_NativeLibraryHelper.cpp \
@@ -41,25 +43,25 @@
     android_database_SQLiteDebug.cpp \
     android_emoji_EmojiFactory.cpp \
     android_view_DisplayEventReceiver.cpp \
-    android_view_Surface.cpp \
-    android_view_SurfaceControl.cpp \
-    android_view_SurfaceSession.cpp \
-    android_view_TextureView.cpp \
+    android_view_DisplayListCanvas.cpp \
+    android_view_GraphicBuffer.cpp \
+    android_view_HardwareLayer.cpp \
     android_view_InputChannel.cpp \
     android_view_InputDevice.cpp \
     android_view_InputEventReceiver.cpp \
     android_view_InputEventSender.cpp \
     android_view_InputQueue.cpp \
-    android_view_KeyEvent.cpp \
     android_view_KeyCharacterMap.cpp \
-    android_view_GraphicBuffer.cpp \
-    android_view_GLES20Canvas.cpp \
-    android_view_HardwareLayer.cpp \
-    android_view_ThreadedRenderer.cpp \
+    android_view_KeyEvent.cpp \
     android_view_MotionEvent.cpp \
     android_view_PointerIcon.cpp \
     android_view_RenderNode.cpp \
     android_view_RenderNodeAnimator.cpp \
+    android_view_Surface.cpp \
+    android_view_SurfaceControl.cpp \
+    android_view_SurfaceSession.cpp \
+    android_view_TextureView.cpp \
+    android_view_ThreadedRenderer.cpp \
     android_view_VelocityTracker.cpp \
     android_text_AndroidCharacter.cpp \
     android_text_AndroidBidi.cpp \
@@ -147,7 +149,7 @@
     android_hardware_location_ActivityRecognitionHardware.cpp \
     android_util_FileObserver.cpp \
     android/opengl/poly_clip.cpp.arm \
-    android/opengl/util.cpp.arm \
+    android/opengl/util.cpp \
     android_server_FingerprintManager.cpp \
     android_server_NetworkManagementSocketTagger.cpp \
     android_server_Watchdog.cpp \
diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp
index 008f877..ad52e3f 100644
--- a/core/jni/AndroidRuntime.cpp
+++ b/core/jni/AndroidRuntime.cpp
@@ -127,16 +127,16 @@
 extern int register_android_graphics_pdf_PdfEditor(JNIEnv* env);
 extern int register_android_graphics_pdf_PdfRenderer(JNIEnv* env);
 extern int register_android_view_DisplayEventReceiver(JNIEnv* env);
+extern int register_android_view_DisplayListCanvas(JNIEnv* env);
+extern int register_android_view_GraphicBuffer(JNIEnv* env);
+extern int register_android_view_HardwareLayer(JNIEnv* env);
 extern int register_android_view_RenderNode(JNIEnv* env);
 extern int register_android_view_RenderNodeAnimator(JNIEnv* env);
-extern int register_android_view_GraphicBuffer(JNIEnv* env);
-extern int register_android_view_GLES20Canvas(JNIEnv* env);
-extern int register_android_view_HardwareLayer(JNIEnv* env);
-extern int register_android_view_ThreadedRenderer(JNIEnv* env);
 extern int register_android_view_Surface(JNIEnv* env);
 extern int register_android_view_SurfaceControl(JNIEnv* env);
 extern int register_android_view_SurfaceSession(JNIEnv* env);
 extern int register_android_view_TextureView(JNIEnv* env);
+extern int register_android_view_ThreadedRenderer(JNIEnv* env);
 extern int register_com_android_internal_view_animation_NativeInterpolatorFactoryHelper(JNIEnv *env);
 extern int register_android_database_CursorWindow(JNIEnv* env);
 extern int register_android_database_SQLiteConnection(JNIEnv* env);
@@ -546,6 +546,9 @@
     char heapgrowthlimitOptsBuf[sizeof("-XX:HeapGrowthLimit=")-1 + PROPERTY_VALUE_MAX];
     char heapminfreeOptsBuf[sizeof("-XX:HeapMinFree=")-1 + PROPERTY_VALUE_MAX];
     char heapmaxfreeOptsBuf[sizeof("-XX:HeapMaxFree=")-1 + PROPERTY_VALUE_MAX];
+    char usejitOptsBuf[sizeof("-Xusejit:")-1 + PROPERTY_VALUE_MAX];
+    char jitcodecachesizeOptsBuf[sizeof("-Xjitcodecachesize:")-1 + PROPERTY_VALUE_MAX];
+    char jitthresholdOptsBuf[sizeof("-Xjitthreshold:")-1 + PROPERTY_VALUE_MAX];
     char gctypeOptsBuf[sizeof("-Xgc:")-1 + PROPERTY_VALUE_MAX];
     char backgroundgcOptsBuf[sizeof("-XX:BackgroundGC=")-1 + PROPERTY_VALUE_MAX];
     char heaptargetutilizationOptsBuf[sizeof("-XX:HeapTargetUtilization=")-1 + PROPERTY_VALUE_MAX];
@@ -642,6 +645,13 @@
                        heaptargetutilizationOptsBuf,
                        "-XX:HeapTargetUtilization=");
 
+    /*
+     * JIT related options.
+     */
+    parseRuntimeOption("dalvik.vm.usejit", usejitOptsBuf, "-Xusejit:");
+    parseRuntimeOption("dalvik.vm.jitcodecachesize", jitcodecachesizeOptsBuf, "-Xjitcodecachesize:");
+    parseRuntimeOption("dalvik.vm.jitthreshold", jitthresholdOptsBuf, "-Xjitthreshold:");
+
     property_get("ro.config.low_ram", propBuf, "");
     if (strcmp(propBuf, "true") == 0) {
       addOption("-XX:LowMemoryMode");
@@ -1169,7 +1179,7 @@
     REG_JNI(register_android_view_RenderNode),
     REG_JNI(register_android_view_RenderNodeAnimator),
     REG_JNI(register_android_view_GraphicBuffer),
-    REG_JNI(register_android_view_GLES20Canvas),
+    REG_JNI(register_android_view_DisplayListCanvas),
     REG_JNI(register_android_view_HardwareLayer),
     REG_JNI(register_android_view_ThreadedRenderer),
     REG_JNI(register_android_view_Surface),
diff --git a/core/jni/android/graphics/AutoDecodeCancel.cpp b/core/jni/android/graphics/AutoDecodeCancel.cpp
index f0739ea..0641b96 100644
--- a/core/jni/android/graphics/AutoDecodeCancel.cpp
+++ b/core/jni/android/graphics/AutoDecodeCancel.cpp
@@ -1,6 +1,7 @@
 #include "AutoDecodeCancel.h"
+#include "SkMutex.h"
 
-static SkMutex  gAutoDecoderCancelMutex;
+SK_DECLARE_STATIC_MUTEX(gAutoDecoderCancelMutex);
 static AutoDecoderCancel* gAutoDecoderCancel;
 #ifdef SK_DEBUG
 static int gAutoDecoderCancelCount;
diff --git a/core/jni/android/graphics/Bitmap.cpp b/core/jni/android/graphics/Bitmap.cpp
index a10cfca..7a934bd 100755
--- a/core/jni/android/graphics/Bitmap.cpp
+++ b/core/jni/android/graphics/Bitmap.cpp
@@ -556,24 +556,33 @@
         return NULL;
     }
 
-    SkBitmap* bitmap = new SkBitmap;
+    std::unique_ptr<SkBitmap> bitmap(new SkBitmap);
 
-    bitmap->setInfo(SkImageInfo::Make(width, height, colorType, alphaType), rowBytes);
+    if (!bitmap->setInfo(SkImageInfo::Make(width, height, colorType, alphaType), rowBytes)) {
+        return NULL;
+    }
 
     SkColorTable* ctable = NULL;
     if (colorType == kIndex_8_SkColorType) {
         int count = p->readInt32();
+        if (count < 0 || count > 256) {
+            // The data is corrupt, since SkColorTable enforces a value between 0 and 256,
+            // inclusive.
+            return NULL;
+        }
         if (count > 0) {
             size_t size = count * sizeof(SkPMColor);
             const SkPMColor* src = (const SkPMColor*)p->readInplace(size);
+            if (src == NULL) {
+                return NULL;
+            }
             ctable = new SkColorTable(src, count);
         }
     }
 
-    jbyteArray buffer = GraphicsJNI::allocateJavaPixelRef(env, bitmap, ctable);
+    jbyteArray buffer = GraphicsJNI::allocateJavaPixelRef(env, bitmap.get(), ctable);
     if (NULL == buffer) {
         SkSafeUnref(ctable);
-        delete bitmap;
         return NULL;
     }
 
@@ -585,7 +594,6 @@
     android::status_t status = p->readBlob(size, &blob);
     if (status) {
         doThrowRE(env, "Could not read bitmap from parcel blob.");
-        delete bitmap;
         return NULL;
     }
 
@@ -595,8 +603,8 @@
 
     blob.release();
 
-    return GraphicsJNI::createBitmap(env, bitmap, buffer, getPremulBitmapCreateFlags(isMutable),
-            NULL, NULL, density);
+    return GraphicsJNI::createBitmap(env, bitmap.release(), buffer,
+            getPremulBitmapCreateFlags(isMutable), NULL, NULL, density);
 }
 
 static jboolean Bitmap_writeToParcel(JNIEnv* env, jobject,
diff --git a/core/jni/android/graphics/BitmapFactory.cpp b/core/jni/android/graphics/BitmapFactory.cpp
index 672008d..47090fb 100644
--- a/core/jni/android/graphics/BitmapFactory.cpp
+++ b/core/jni/android/graphics/BitmapFactory.cpp
@@ -41,7 +41,6 @@
 jfieldID gOptions_mCancelID;
 jfieldID gOptions_bitmapFieldID;
 
-jfieldID gBitmap_nativeBitmapFieldID;
 jfieldID gBitmap_ninePatchInsetsFieldID;
 
 jclass gInsetStruct_class;
@@ -262,7 +261,7 @@
     SkBitmap* outputBitmap = NULL;
     unsigned int existingBufferSize = 0;
     if (javaBitmap != NULL) {
-        outputBitmap = (SkBitmap*) env->GetLongField(javaBitmap, gBitmap_nativeBitmapFieldID);
+        outputBitmap = GraphicsJNI::getSkBitmap(env, javaBitmap);
         if (outputBitmap->isImmutable()) {
             ALOGW("Unable to reuse an immutable bitmap as an image decoder target.");
             javaBitmap = NULL;
@@ -462,11 +461,11 @@
         jobject padding, jobject options) {
 
     jobject bitmap = NULL;
-    SkAutoTUnref<SkStream> stream(CreateJavaInputStreamAdaptor(env, is, storage));
+    SkAutoTDelete<SkStream> stream(CreateJavaInputStreamAdaptor(env, is, storage));
 
     if (stream.get()) {
-        SkAutoTUnref<SkStreamRewindable> bufferedStream(
-                SkFrontBufferedStream::Create(stream, BYTES_TO_BUFFER));
+        SkAutoTDelete<SkStreamRewindable> bufferedStream(
+                SkFrontBufferedStream::Create(stream.detach(), BYTES_TO_BUFFER));
         SkASSERT(bufferedStream.get() != NULL);
         bitmap = doDecode(env, bufferedStream, padding, options);
     }
@@ -505,13 +504,13 @@
         return nullObjectReturn("Could not open file");
     }
 
-    SkAutoTUnref<SkFILEStream> fileStream(new SkFILEStream(file,
-                         SkFILEStream::kCallerPasses_Ownership));
+    SkAutoTDelete<SkFILEStream> fileStream(new SkFILEStream(file,
+            SkFILEStream::kCallerPasses_Ownership));
 
     // Use a buffered stream. Although an SkFILEStream can be rewound, this
     // ensures that SkImageDecoder::Factory never rewinds beyond the
     // current position of the file descriptor.
-    SkAutoTUnref<SkStreamRewindable> stream(SkFrontBufferedStream::Create(fileStream,
+    SkAutoTDelete<SkStreamRewindable> stream(SkFrontBufferedStream::Create(fileStream.detach(),
             BYTES_TO_BUFFER));
 
     return doDecode(env, stream, padding, bitmapFactoryOptions);
@@ -523,7 +522,7 @@
     Asset* asset = reinterpret_cast<Asset*>(native_asset);
     // since we know we'll be done with the asset when we return, we can
     // just use a simple wrapper
-    SkAutoTUnref<SkStreamRewindable> stream(new AssetStreamAdaptor(asset));
+    SkAutoTDelete<SkStreamRewindable> stream(new AssetStreamAdaptor(asset));
     return doDecode(env, stream, padding, options);
 }
 
@@ -531,8 +530,7 @@
         jint offset, jint length, jobject options) {
 
     AutoJavaByteArray ar(env, byteArray);
-    SkMemoryStream* stream = new SkMemoryStream(ar.ptr() + offset, length, false);
-    SkAutoUnref aur(stream);
+    SkAutoTDelete<SkMemoryStream> stream(new SkMemoryStream(ar.ptr() + offset, length, false));
     return doDecode(env, stream, NULL, options);
 }
 
@@ -601,7 +599,6 @@
     gOptions_mCancelID = GetFieldIDOrDie(env, options_class, "mCancel", "Z");
 
     jclass bitmap_class = FindClassOrDie(env, "android/graphics/Bitmap");
-    gBitmap_nativeBitmapFieldID = GetFieldIDOrDie(env, bitmap_class, "mNativeBitmap", "J");
     gBitmap_ninePatchInsetsFieldID = GetFieldIDOrDie(env, bitmap_class, "mNinePatchInsets",
             "Landroid/graphics/NinePatch$InsetStruct;");
 
diff --git a/core/jni/android/graphics/BitmapRegionDecoder.cpp b/core/jni/android/graphics/BitmapRegionDecoder.cpp
index 90a7f69..3525d07 100644
--- a/core/jni/android/graphics/BitmapRegionDecoder.cpp
+++ b/core/jni/android/graphics/BitmapRegionDecoder.cpp
@@ -69,10 +69,13 @@
     int fHeight;
 };
 
+// Takes ownership of the SkStreamRewindable. For consistency, deletes stream even
+// when returning null.
 static jobject createBitmapRegionDecoder(JNIEnv* env, SkStreamRewindable* stream) {
     SkImageDecoder* decoder = SkImageDecoder::Factory(stream);
     int width, height;
     if (NULL == decoder) {
+        SkDELETE(stream);
         doThrowIOE(env, "Image format not supported");
         return nullObjectReturn("SkImageDecoder::Factory returned null");
     }
@@ -81,6 +84,7 @@
     decoder->setAllocator(javaAllocator);
     javaAllocator->unref();
 
+    // This call passes ownership of stream to the decoder, or deletes on failure.
     if (!decoder->buildTileIndex(stream, &width, &height)) {
         char msg[100];
         snprintf(msg, sizeof(msg), "Image failed to decode using %s decoder",
@@ -103,8 +107,8 @@
     AutoJavaByteArray ar(env, byteArray);
     SkMemoryStream* stream = new SkMemoryStream(ar.ptr() + offset, length, true);
 
+    // the decoder owns the stream.
     jobject brd = createBitmapRegionDecoder(env, stream);
-    SkSafeUnref(stream); // the decoder now holds a reference
     return brd;
 }
 
@@ -123,8 +127,8 @@
     SkAutoTUnref<SkData> data(SkData::NewFromFD(descriptor));
     SkMemoryStream* stream = new SkMemoryStream(data);
 
+    // the decoder owns the stream.
     jobject brd = createBitmapRegionDecoder(env, stream);
-    SkSafeUnref(stream); // the decoder now holds a reference
     return brd;
 }
 
@@ -137,8 +141,8 @@
     SkStreamRewindable* stream = CopyJavaInputStream(env, is, storage);
 
     if (stream) {
+        // the decoder owns the stream.
         brd = createBitmapRegionDecoder(env, stream);
-        stream->unref(); // the decoder now holds a reference
     }
     return brd;
 }
@@ -147,13 +151,13 @@
                                  jlong native_asset, // Asset
                                  jboolean isShareable) {
     Asset* asset = reinterpret_cast<Asset*>(native_asset);
-    SkAutoTUnref<SkMemoryStream> stream(CopyAssetToStream(asset));
-    if (NULL == stream.get()) {
+    SkMemoryStream* stream = CopyAssetToStream(asset);
+    if (NULL == stream) {
         return NULL;
     }
 
-    jobject brd = createBitmapRegionDecoder(env, stream.get());
-    // The decoder now holds a reference to stream.
+    // the decoder owns the stream.
+    jobject brd = createBitmapRegionDecoder(env, stream);
     return brd;
 }
 
@@ -213,7 +217,7 @@
 
     if (tileBitmap != NULL) {
         // Re-use bitmap.
-        bitmap = GraphicsJNI::getNativeBitmap(env, tileBitmap);
+        bitmap = GraphicsJNI::getSkBitmap(env, tileBitmap);
     }
     if (bitmap == NULL) {
         bitmap = new SkBitmap;
diff --git a/core/jni/android/graphics/ColorFilter.cpp b/core/jni/android/graphics/ColorFilter.cpp
index 026cbee..d03bcf0 100644
--- a/core/jni/android/graphics/ColorFilter.cpp
+++ b/core/jni/android/graphics/ColorFilter.cpp
@@ -21,7 +21,7 @@
 
 #include "SkColorFilter.h"
 #include "SkColorMatrixFilter.h"
-#include "SkPorterDuff.h"
+#include "SkXfermode.h"
 
 #include <Caches.h>
 
@@ -36,10 +36,9 @@
         if (filter) SkSafeUnref(filter);
     }
 
-    static jlong CreatePorterDuffFilter(JNIEnv* env, jobject, jint srcColor,
-            jint modeHandle) {
-        SkPorterDuff::Mode mode = (SkPorterDuff::Mode) modeHandle;
-        return reinterpret_cast<jlong>(SkColorFilter::CreateModeFilter(srcColor, SkPorterDuff::ToXfermodeMode(mode)));
+    static jlong CreatePorterDuffFilter(JNIEnv* env, jobject, jint srcColor, jint modeHandle) {
+        SkXfermode::Mode mode = static_cast<SkXfermode::Mode>(modeHandle);
+        return reinterpret_cast<jlong>(SkColorFilter::CreateModeFilter(srcColor, mode));
     }
 
     static jlong CreateLightingFilter(JNIEnv* env, jobject, jint mul, jint add) {
diff --git a/core/jni/android/graphics/CreateJavaOutputStreamAdaptor.cpp b/core/jni/android/graphics/CreateJavaOutputStreamAdaptor.cpp
index 7937941..26523f8 100644
--- a/core/jni/android/graphics/CreateJavaOutputStreamAdaptor.cpp
+++ b/core/jni/android/graphics/CreateJavaOutputStreamAdaptor.cpp
@@ -164,7 +164,7 @@
 
 SkStreamRewindable* CopyJavaInputStream(JNIEnv* env, jobject stream,
                                         jbyteArray storage) {
-    SkAutoTUnref<SkStream> adaptor(CreateJavaInputStreamAdaptor(env, stream, storage));
+    SkAutoTDelete<SkStream> adaptor(CreateJavaInputStreamAdaptor(env, stream, storage));
     if (NULL == adaptor.get()) {
         return NULL;
     }
diff --git a/core/jni/android/graphics/FontFamily.cpp b/core/jni/android/graphics/FontFamily.cpp
index 3e6327b..d28669a 100644
--- a/core/jni/android/graphics/FontFamily.cpp
+++ b/core/jni/android/graphics/FontFamily.cpp
@@ -111,7 +111,8 @@
     }
 
     SkAutoTUnref<SkData> data(SkData::NewWithProc(buf, asset->getLength(), releaseAsset, asset));
-    SkAutoTUnref<SkMemoryStream> stream(new SkMemoryStream(data));
+    SkMemoryStream* stream = new SkMemoryStream(data);
+    // CreateFromStream takes ownership of stream.
     SkTypeface* face = SkTypeface::CreateFromStream(stream);
     if (face == NULL) {
         ALOGE("addFontFromAsset failed to create font %s", str.c_str());
diff --git a/core/jni/android/graphics/Graphics.cpp b/core/jni/android/graphics/Graphics.cpp
index dde1393..0747969 100644
--- a/core/jni/android/graphics/Graphics.cpp
+++ b/core/jni/android/graphics/Graphics.cpp
@@ -154,7 +154,7 @@
 static jfieldID gPointF_yFieldID;
 
 static jclass   gBitmap_class;
-static jfieldID gBitmap_nativeInstanceID;
+static jfieldID gBitmap_skBitmapPtr;
 static jmethodID gBitmap_constructorMethodID;
 static jmethodID gBitmap_reinitMethodID;
 static jmethodID gBitmap_getAllocationByteCountMethodID;
@@ -338,11 +338,11 @@
     return static_cast<SkColorType>(gConfig2ColorType[legacyConfig]);
 }
 
-SkBitmap* GraphicsJNI::getNativeBitmap(JNIEnv* env, jobject bitmap) {
+SkBitmap* GraphicsJNI::getSkBitmap(JNIEnv* env, jobject bitmap) {
     SkASSERT(env);
     SkASSERT(bitmap);
     SkASSERT(env->IsInstanceOf(bitmap, gBitmap_class));
-    jlong bitmapHandle = env->GetLongField(bitmap, gBitmap_nativeInstanceID);
+    jlong bitmapHandle = env->GetLongField(bitmap, gBitmap_skBitmapPtr);
     SkBitmap* b = reinterpret_cast<SkBitmap*>(bitmapHandle);
     SkASSERT(b);
     return b;
@@ -676,7 +676,7 @@
     gPointF_yFieldID = getFieldIDCheck(env, gPointF_class, "y", "F");
 
     gBitmap_class = make_globalref(env, "android/graphics/Bitmap");
-    gBitmap_nativeInstanceID = getFieldIDCheck(env, gBitmap_class, "mNativeBitmap", "J");
+    gBitmap_skBitmapPtr = getFieldIDCheck(env, gBitmap_class, "mSkBitmapPtr", "J");
     gBitmap_constructorMethodID = env->GetMethodID(gBitmap_class, "<init>", "(J[BIIIZZ[BLandroid/graphics/NinePatch$InsetStruct;)V");
     gBitmap_reinitMethodID = env->GetMethodID(gBitmap_class, "reinit", "(IIZ)V");
     gBitmap_getAllocationByteCountMethodID = env->GetMethodID(gBitmap_class, "getAllocationByteCount", "()I");
diff --git a/core/jni/android/graphics/GraphicsJNI.h b/core/jni/android/graphics/GraphicsJNI.h
index a202c38..422d3f1 100644
--- a/core/jni/android/graphics/GraphicsJNI.h
+++ b/core/jni/android/graphics/GraphicsJNI.h
@@ -48,7 +48,7 @@
     static void point_to_jpointf(const SkPoint& point, JNIEnv*, jobject jpointf);
 
     static SkCanvas* getNativeCanvas(JNIEnv*, jobject canvas);
-    static SkBitmap* getNativeBitmap(JNIEnv*, jobject bitmap);
+    static SkBitmap* getSkBitmap(JNIEnv*, jobject bitmap);
     static SkRegion* getNativeRegion(JNIEnv*, jobject region);
 
     // Given the 'native' long held by the Rasterizer.java object, return a
diff --git a/core/jni/android/graphics/MinikinUtils.cpp b/core/jni/android/graphics/MinikinUtils.cpp
index 7dabf6b..8139c24 100644
--- a/core/jni/android/graphics/MinikinUtils.cpp
+++ b/core/jni/android/graphics/MinikinUtils.cpp
@@ -47,6 +47,7 @@
     minikinPaint.letterSpacing = paint->getLetterSpacing();
     minikinPaint.paintFlags = MinikinFontSkia::packPaintFlags(paint);
     minikinPaint.fontFeatureSettings = paint->getFontFeatureSettings();
+    minikinPaint.hyphenEdit = HyphenEdit(paint->getHyphenEdit());
 
     layout->doLayout(buf, start, count, bufSize, bidiFlags, minikinStyle, minikinPaint);
 }
diff --git a/core/jni/android/graphics/Movie.cpp b/core/jni/android/graphics/Movie.cpp
index 134551d..5c7acf8 100644
--- a/core/jni/android/graphics/Movie.cpp
+++ b/core/jni/android/graphics/Movie.cpp
@@ -84,7 +84,7 @@
 static jobject movie_decodeAsset(JNIEnv* env, jobject clazz, jlong native_asset) {
     android::Asset* asset = reinterpret_cast<android::Asset*>(native_asset);
     if (asset == NULL) return NULL;
-    SkAutoTUnref<SkStreamRewindable> stream(new android::AssetStreamAdaptor(asset));
+    SkAutoTDelete<SkStreamRewindable> stream(new android::AssetStreamAdaptor(asset));
     SkMovie* moov = SkMovie::DecodeStream(stream.get());
     return create_jmovie(env, moov);
 }
@@ -104,11 +104,11 @@
     // trying to determine the stream's format. The only decoder for movies is GIF, which
     // will only read 6.
     // FIXME: Get this number from SkImageDecoder
-    SkAutoTUnref<SkStreamRewindable> bufferedStream(SkFrontBufferedStream::Create(strm, 6));
+    // bufferedStream takes ownership of strm
+    SkAutoTDelete<SkStreamRewindable> bufferedStream(SkFrontBufferedStream::Create(strm, 6));
     SkASSERT(bufferedStream.get() != NULL);
 
     SkMovie* moov = SkMovie::DecodeStream(bufferedStream);
-    strm->unref();
     return create_jmovie(env, moov);
 }
 
diff --git a/core/jni/android/graphics/Paint.cpp b/core/jni/android/graphics/Paint.cpp
index 83021e9..a92a9ac 100644
--- a/core/jni/android/graphics/Paint.cpp
+++ b/core/jni/android/graphics/Paint.cpp
@@ -453,6 +453,16 @@
         }
     }
 
+    static jint getHyphenEdit(JNIEnv* env, jobject clazz, jlong paintHandle, jint hyphen) {
+        Paint* paint = reinterpret_cast<Paint*>(paintHandle);
+        return paint->getHyphenEdit();
+    }
+
+    static void setHyphenEdit(JNIEnv* env, jobject clazz, jlong paintHandle, jint hyphen) {
+        Paint* paint = reinterpret_cast<Paint*>(paintHandle);
+        paint->setHyphenEdit((uint32_t)hyphen);
+    }
+
     static SkScalar getMetricsInternal(JNIEnv* env, jobject jpaint, Paint::FontMetrics *metrics) {
         const int kElegantTop = 2500;
         const int kElegantBottom = -1000;
@@ -1009,6 +1019,8 @@
     {"native_getLetterSpacing","!(J)F", (void*) PaintGlue::getLetterSpacing},
     {"native_setLetterSpacing","!(JF)V", (void*) PaintGlue::setLetterSpacing},
     {"native_setFontFeatureSettings","(JLjava/lang/String;)V", (void*) PaintGlue::setFontFeatureSettings},
+    {"native_getHyphenEdit", "!(J)I", (void*) PaintGlue::getHyphenEdit},
+    {"native_setHyphenEdit", "!(JI)V", (void*) PaintGlue::setHyphenEdit},
     {"ascent","!()F", (void*) PaintGlue::ascent},
     {"descent","!()F", (void*) PaintGlue::descent},
 
diff --git a/core/jni/android/graphics/Paint.h b/core/jni/android/graphics/Paint.h
index fa539f5..1f82836 100644
--- a/core/jni/android/graphics/Paint.h
+++ b/core/jni/android/graphics/Paint.h
@@ -69,11 +69,20 @@
         return mFontVariant;
     }
 
+    void setHyphenEdit(uint32_t hyphen) {
+        mHyphenEdit = hyphen;
+    }
+
+    uint32_t getHyphenEdit() const {
+        return mHyphenEdit;
+    }
+
 private:
-    float mLetterSpacing;
+    float mLetterSpacing = 0;
     std::string mFontFeatureSettings;
     std::string mTextLocale;
     FontVariant mFontVariant;
+    uint32_t mHyphenEdit = 0;
 };
 
 }  // namespace android
diff --git a/core/jni/android/graphics/PaintImpl.cpp b/core/jni/android/graphics/PaintImpl.cpp
index fac669b..da85018 100644
--- a/core/jni/android/graphics/PaintImpl.cpp
+++ b/core/jni/android/graphics/PaintImpl.cpp
@@ -28,7 +28,8 @@
 
 Paint::Paint(const Paint& paint) : SkPaint(paint),
         mLetterSpacing(paint.mLetterSpacing), mFontFeatureSettings(paint.mFontFeatureSettings),
-        mTextLocale(paint.mTextLocale), mFontVariant(paint.mFontVariant) {
+        mTextLocale(paint.mTextLocale), mFontVariant(paint.mFontVariant),
+        mHyphenEdit(paint.mHyphenEdit) {
 }
 
 Paint::~Paint() {
@@ -40,6 +41,7 @@
     mFontFeatureSettings = other.mFontFeatureSettings;
     mTextLocale = other.mTextLocale;
     mFontVariant = other.mFontVariant;
+    mHyphenEdit = other.mHyphenEdit;
     return *this;
 }
 
@@ -48,7 +50,8 @@
             && a.mLetterSpacing == b.mLetterSpacing
             && a.mFontFeatureSettings == b.mFontFeatureSettings
             && a.mTextLocale == b.mTextLocale
-            && a.mFontVariant == b.mFontVariant;
+            && a.mFontVariant == b.mFontVariant
+            && a.mHyphenEdit == b.mHyphenEdit;
 }
 
 }
diff --git a/core/jni/android/graphics/Path.cpp b/core/jni/android/graphics/Path.cpp
index 831ce09..f7b5dc2 100644
--- a/core/jni/android/graphics/Path.cpp
+++ b/core/jni/android/graphics/Path.cpp
@@ -27,7 +27,7 @@
 #include "SkPath.h"
 #include "SkPathOps.h"
 
-#include <ResourceCache.h>
+#include <Caches.h>
 #include <vector>
 #include <map>
 
@@ -38,11 +38,11 @@
 
     static void finalizer(JNIEnv* env, jobject clazz, jlong objHandle) {
         SkPath* obj = reinterpret_cast<SkPath*>(objHandle);
-        if (android::uirenderer::ResourceCache::hasInstance()) {
-            android::uirenderer::ResourceCache::getInstance().destructor(obj);
-        } else {
-            delete obj;
+        // Purge entries from the HWUI path cache if this path's data is unique
+        if (obj->unique() && android::uirenderer::Caches::hasInstance()) {
+            android::uirenderer::Caches::getInstance().pathCache.removeDeferred(obj);
         }
+        delete obj;
     }
 
     static jlong init1(JNIEnv* env, jobject clazz) {
diff --git a/core/jni/android/graphics/PorterDuff.cpp b/core/jni/android/graphics/PorterDuff.cpp
index 73b1691..d65864d 100644
--- a/core/jni/android/graphics/PorterDuff.cpp
+++ b/core/jni/android/graphics/PorterDuff.cpp
@@ -24,7 +24,7 @@
 #include "GraphicsJNI.h"
 #include "core_jni_helpers.h"
 
-#include "SkPorterDuff.h"
+#include "SkXfermode.h"
 
 namespace android {
 
@@ -32,8 +32,28 @@
 public:
 
     static jlong CreateXfermode(JNIEnv* env, jobject, jint modeHandle) {
-        SkPorterDuff::Mode mode = static_cast<SkPorterDuff::Mode>(modeHandle);
-        return reinterpret_cast<jlong>(SkPorterDuff::CreateXfermode(mode));
+        // validate that the Java enum values match our expectations
+        SK_COMPILE_ASSERT(0  == SkXfermode::kClear_Mode,    xfermode_mismatch);
+        SK_COMPILE_ASSERT(1  == SkXfermode::kSrc_Mode,      xfermode_mismatch);
+        SK_COMPILE_ASSERT(2  == SkXfermode::kDst_Mode,      xfermode_mismatch);
+        SK_COMPILE_ASSERT(3  == SkXfermode::kSrcOver_Mode,  xfermode_mismatch);
+        SK_COMPILE_ASSERT(4  == SkXfermode::kDstOver_Mode,  xfermode_mismatch);
+        SK_COMPILE_ASSERT(5  == SkXfermode::kSrcIn_Mode,    xfermode_mismatch);
+        SK_COMPILE_ASSERT(6  == SkXfermode::kDstIn_Mode,    xfermode_mismatch);
+        SK_COMPILE_ASSERT(7  == SkXfermode::kSrcOut_Mode,   xfermode_mismatch);
+        SK_COMPILE_ASSERT(8  == SkXfermode::kDstOut_Mode,   xfermode_mismatch);
+        SK_COMPILE_ASSERT(9  == SkXfermode::kSrcATop_Mode,  xfermode_mismatch);
+        SK_COMPILE_ASSERT(10 == SkXfermode::kDstATop_Mode,  xfermode_mismatch);
+        SK_COMPILE_ASSERT(11 == SkXfermode::kXor_Mode,      xfermode_mismatch);
+        SK_COMPILE_ASSERT(16 == SkXfermode::kDarken_Mode,   xfermode_mismatch);
+        SK_COMPILE_ASSERT(17 == SkXfermode::kLighten_Mode,  xfermode_mismatch);
+        SK_COMPILE_ASSERT(13 == SkXfermode::kModulate_Mode, xfermode_mismatch);
+        SK_COMPILE_ASSERT(14 == SkXfermode::kScreen_Mode,   xfermode_mismatch);
+        SK_COMPILE_ASSERT(12 == SkXfermode::kPlus_Mode,     xfermode_mismatch);
+        SK_COMPILE_ASSERT(15 == SkXfermode::kOverlay_Mode,  xfermode_mismatch);
+        
+        SkXfermode::Mode mode = static_cast<SkXfermode::Mode>(modeHandle);
+        return reinterpret_cast<jlong>(SkXfermode::Create(mode));
     }
  
 };
diff --git a/core/jni/android/graphics/Shader.cpp b/core/jni/android/graphics/Shader.cpp
index 3f47a72..6591d29 100644
--- a/core/jni/android/graphics/Shader.cpp
+++ b/core/jni/android/graphics/Shader.cpp
@@ -3,7 +3,6 @@
 
 #include "SkShader.h"
 #include "SkGradientShader.h"
-#include "SkPorterDuff.h"
 #include "SkComposeShader.h"
 #include "SkTemplates.h"
 #include "SkXfermode.h"
@@ -227,14 +226,13 @@
 }
 
 static jlong ComposeShader_create2(JNIEnv* env, jobject o,
-        jlong shaderAHandle, jlong shaderBHandle, jint porterDuffModeHandle)
+        jlong shaderAHandle, jlong shaderBHandle, jint xfermodeHandle)
 {
     SkShader* shaderA = reinterpret_cast<SkShader *>(shaderAHandle);
     SkShader* shaderB = reinterpret_cast<SkShader *>(shaderBHandle);
-    SkPorterDuff::Mode porterDuffMode = static_cast<SkPorterDuff::Mode>(porterDuffModeHandle);
-    SkAutoUnref au(SkPorterDuff::CreateXfermode(porterDuffMode));
-    SkXfermode* mode = (SkXfermode*) au.get();
-    SkShader* shader = new SkComposeShader(shaderA, shaderB, mode);
+    SkXfermode::Mode mode = static_cast<SkXfermode::Mode>(xfermodeHandle);
+    SkAutoTUnref<SkXfermode> xfermode(SkXfermode::Create(mode));
+    SkShader* shader = new SkComposeShader(shaderA, shaderB, xfermode.get());
     return reinterpret_cast<jlong>(shader);
 }
 
diff --git a/core/jni/android/graphics/Typeface.cpp b/core/jni/android/graphics/Typeface.cpp
index 808ae2c..b092e44 100644
--- a/core/jni/android/graphics/Typeface.cpp
+++ b/core/jni/android/graphics/Typeface.cpp
@@ -19,7 +19,6 @@
 
 #include "GraphicsJNI.h"
 #include <ScopedPrimitiveArray.h>
-#include "SkStream.h"
 #include "SkTypeface.h"
 #include "TypefaceImpl.h"
 #include <android_runtime/android_util_AssetManager.h>
diff --git a/core/jni/android/graphics/TypefaceImpl.cpp b/core/jni/android/graphics/TypefaceImpl.cpp
index 7afbeb2..da56290 100644
--- a/core/jni/android/graphics/TypefaceImpl.cpp
+++ b/core/jni/android/graphics/TypefaceImpl.cpp
@@ -24,7 +24,6 @@
 
 #include "jni.h"  // for jlong, remove when being passed proper type
 
-#include "SkStream.h"
 #include "SkTypeface.h"
 
 #include <vector>
diff --git a/core/jni/android/graphics/Utils.cpp b/core/jni/android/graphics/Utils.cpp
index 3c471bd..4f9ce8b 100644
--- a/core/jni/android/graphics/Utils.cpp
+++ b/core/jni/android/graphics/Utils.cpp
@@ -16,6 +16,7 @@
 
 #include "Utils.h"
 #include "SkUtils.h"
+#include "SkData.h"
 
 using namespace android;
 
@@ -87,27 +88,26 @@
         return NULL;
     }
 
-    off64_t size = asset->seek(0, SEEK_SET);
-    if ((off64_t)-1 == size) {
+    const off64_t seekReturnVal = asset->seek(0, SEEK_SET);
+    if ((off64_t)-1 == seekReturnVal) {
         SkDebugf("---- copyAsset: asset rewind failed\n");
         return NULL;
     }
 
-    size = asset->getLength();
+    const off64_t size = asset->getLength();
     if (size <= 0) {
         SkDebugf("---- copyAsset: asset->getLength() returned %d\n", size);
         return NULL;
     }
 
-    SkMemoryStream* stream = new SkMemoryStream(size);
-    void* data = const_cast<void*>(stream->getMemoryBase());
-    off64_t len = asset->read(data, size);
+    SkAutoTUnref<SkData> data(SkData::NewUninitialized(size));
+    const off64_t len = asset->read(data->writable_data(), size);
     if (len != size) {
         SkDebugf("---- copyAsset: asset->read(%d) returned %d\n", size, len);
-        delete stream;
-        stream = NULL;
+        return NULL;
     }
-    return stream;
+
+    return new SkMemoryStream(data);
 }
 
 jobject android::nullObjectReturn(const char msg[]) {
diff --git a/core/jni/android/opengl/util.cpp b/core/jni/android/opengl/util.cpp
index 461507f..5c2d0d0 100644
--- a/core/jni/android/opengl/util.cpp
+++ b/core/jni/android/opengl/util.cpp
@@ -16,6 +16,7 @@
 
 #include "jni.h"
 #include "JNIHelp.h"
+#include "GraphicsJNI.h"
 
 #include <math.h>
 #include <stdio.h>
@@ -149,10 +150,6 @@
     return result;
 }
 
-static void doThrowIAE(JNIEnv* env, const char* msg) {
-    jniThrowException(env, "java/lang/IllegalArgumentException", msg);
-}
-
 template<class JArray, class T>
 class ArrayHelper {
 public:
@@ -548,14 +545,6 @@
 
 // ---------------------------------------------------------------------------
 
-static jfieldID nativeBitmapID = 0;
-
-void nativeUtilsClassInit(JNIEnv *env, jclass clazz)
-{
-    jclass bitmapClass = env->FindClass("android/graphics/Bitmap");
-    nativeBitmapID = env->GetFieldID(bitmapClass, "mNativeBitmap", "J");
-}
-
 extern void setGLDebugLevel(int level);
 void setTracingLevel(JNIEnv *env, jclass clazz, jint level)
 {
@@ -629,16 +618,14 @@
 static jint util_getInternalFormat(JNIEnv *env, jclass clazz,
         jobject jbitmap)
 {
-    SkBitmap const * nativeBitmap =
-            (SkBitmap const *)env->GetLongField(jbitmap, nativeBitmapID);
+    SkBitmap const * nativeBitmap = GraphicsJNI::getSkBitmap(env, jbitmap);
     return getInternalFormat(nativeBitmap->colorType());
 }
 
 static jint util_getType(JNIEnv *env, jclass clazz,
         jobject jbitmap)
 {
-    SkBitmap const * nativeBitmap =
-            (SkBitmap const *)env->GetLongField(jbitmap, nativeBitmapID);
+    SkBitmap const * nativeBitmap = GraphicsJNI::getSkBitmap(env, jbitmap);
     return getType(nativeBitmap->colorType());
 }
 
@@ -646,8 +633,7 @@
         jint target, jint level, jint internalformat,
         jobject jbitmap, jint type, jint border)
 {
-    SkBitmap const * nativeBitmap =
-            (SkBitmap const *)env->GetLongField(jbitmap, nativeBitmapID);
+    SkBitmap const * nativeBitmap = GraphicsJNI::getSkBitmap(env, jbitmap);
     const SkBitmap& bitmap(*nativeBitmap);
     SkColorType colorType = bitmap.colorType();
     if (internalformat < 0) {
@@ -694,8 +680,7 @@
         jint target, jint level, jint xoffset, jint yoffset,
         jobject jbitmap, jint format, jint type)
 {
-    SkBitmap const * nativeBitmap =
-            (SkBitmap const *)env->GetLongField(jbitmap, nativeBitmapID);
+    SkBitmap const * nativeBitmap = GraphicsJNI::getSkBitmap(env, jbitmap);
     const SkBitmap& bitmap(*nativeBitmap);
     SkColorType colorType = bitmap.colorType();
     if (format < 0) {
@@ -1014,7 +999,6 @@
 };
 
 static JNINativeMethod gUtilsMethods[] = {
-    {"nativeClassInit", "()V",                          (void*)nativeUtilsClassInit },
     { "native_getInternalFormat", "(Landroid/graphics/Bitmap;)I", (void*) util_getInternalFormat },
     { "native_getType", "(Landroid/graphics/Bitmap;)I", (void*) util_getType },
     { "native_texImage2D", "(IIILandroid/graphics/Bitmap;II)I", (void*)util_texImage2D },
diff --git a/core/jni/android_graphics_Canvas.cpp b/core/jni/android_graphics_Canvas.cpp
index 7d5ca8d..c337a9f 100644
--- a/core/jni/android_graphics_Canvas.cpp
+++ b/core/jni/android_graphics_Canvas.cpp
@@ -21,7 +21,6 @@
 #include <Canvas.h>
 #include "SkDrawFilter.h"
 #include "SkGraphics.h"
-#include "SkPorterDuff.h"
 #include "Paint.h"
 #include "TypefaceImpl.h"
 
@@ -186,8 +185,8 @@
 }
 
 static void drawColor(JNIEnv* env, jobject, jlong canvasHandle, jint color, jint modeHandle) {
-     SkPorterDuff::Mode mode = static_cast<SkPorterDuff::Mode>(modeHandle);
-     get_canvas(canvasHandle)->drawColor(color, SkPorterDuff::ToXfermodeMode(mode));
+    SkXfermode::Mode mode = static_cast<SkXfermode::Mode>(modeHandle);
+    get_canvas(canvasHandle)->drawColor(color, mode);
 }
 
 static void drawPaint(JNIEnv* env, jobject, jlong canvasHandle, jlong paintHandle) {
diff --git a/core/jni/android_hardware_camera2_legacy_LegacyCameraDevice.cpp b/core/jni/android_hardware_camera2_legacy_LegacyCameraDevice.cpp
index 7497d8b..87896df 100644
--- a/core/jni/android_hardware_camera2_legacy_LegacyCameraDevice.cpp
+++ b/core/jni/android_hardware_camera2_legacy_LegacyCameraDevice.cpp
@@ -52,12 +52,12 @@
  * Convert from RGB 888 to Y'CbCr using the conversion specified in JFIF v1.02
  */
 static void rgbToYuv420(uint8_t* rgbBuf, size_t width, size_t height, uint8_t* yPlane,
-        uint8_t* uPlane, uint8_t* vPlane, size_t chromaStep, size_t yStride, size_t chromaStride) {
+        uint8_t* crPlane, uint8_t* cbPlane, size_t chromaStep, size_t yStride, size_t chromaStride) {
     uint8_t R, G, B;
     size_t index = 0;
     for (size_t j = 0; j < height; j++) {
-        uint8_t* u = uPlane;
-        uint8_t* v = vPlane;
+        uint8_t* cr = crPlane;
+        uint8_t* cb = cbPlane;
         uint8_t* y = yPlane;
         bool jEven = (j & 1) == 0;
         for (size_t i = 0; i < width; i++) {
@@ -66,18 +66,18 @@
             B = rgbBuf[index++];
             *y++ = (77 * R + 150 * G +  29 * B) >> 8;
             if (jEven && (i & 1) == 0) {
-                *v = (( -43 * R - 85 * G + 128 * B) >> 8) + 128;
-                *u = (( 128 * R - 107 * G - 21 * B) >> 8) + 128;
-                u += chromaStep;
-                v += chromaStep;
+                *cb = (( -43 * R - 85 * G + 128 * B) >> 8) + 128;
+                *cr = (( 128 * R - 107 * G - 21 * B) >> 8) + 128;
+                cr += chromaStep;
+                cb += chromaStep;
             }
             // Skip alpha
             index++;
         }
         yPlane += yStride;
         if (jEven) {
-            uPlane += chromaStride;
-            vPlane += chromaStride;
+            crPlane += chromaStride;
+            cbPlane += chromaStride;
         }
     }
 }
diff --git a/core/jni/android_media_AudioSystem.cpp b/core/jni/android_media_AudioSystem.cpp
index ef78fde..4a98f27 100644
--- a/core/jni/android_media_AudioSystem.cpp
+++ b/core/jni/android_media_AudioSystem.cpp
@@ -633,6 +633,7 @@
                                            NULL,
                                            NULL,
                                            NULL,
+                                           NULL,
                                            NULL);
         env->DeleteLocalRef(jHandle);
         if (jAudioPort == NULL) {
diff --git a/core/jni/android_net_NetUtils.cpp b/core/jni/android_net_NetUtils.cpp
index 9092512..f283675 100644
--- a/core/jni/android_net_NetUtils.cpp
+++ b/core/jni/android_net_NetUtils.cpp
@@ -32,27 +32,18 @@
 int ifc_disable(const char *ifname);
 int ifc_reset_connections(const char *ifname, int reset_mask);
 
-int dhcp_do_request(const char * const ifname,
-                    const char *ipaddr,
-                    const char *gateway,
-                    uint32_t *prefixLength,
-                    const char *dns[],
-                    const char *server,
-                    uint32_t *lease,
-                    const char *vendorInfo,
-                    const char *domains,
-                    const char *mtu);
-
-int dhcp_do_request_renew(const char * const ifname,
-                    const char *ipaddr,
-                    const char *gateway,
-                    uint32_t *prefixLength,
-                    const char *dns[],
-                    const char *server,
-                    uint32_t *lease,
-                    const char *vendorInfo,
-                    const char *domains,
-                    const char *mtu);
+int dhcp_start(const char * const ifname);
+int dhcp_start_renew(const char * const ifname);
+int dhcp_get_results(const char * const ifname,
+                     const char *ipaddr,
+                     const char *gateway,
+                     uint32_t *prefixLength,
+                     const char *dns[],
+                     const char *server,
+                     uint32_t *lease,
+                     const char *vendorInfo,
+                     const char *domains,
+                     const char *mtu);
 
 int dhcp_stop(const char *ifname);
 int dhcp_release_lease(const char *ifname);
@@ -94,8 +85,8 @@
     return (jint)result;
 }
 
-static jboolean android_net_utils_runDhcpCommon(JNIEnv* env, jobject clazz, jstring ifname,
-        jobject dhcpResults, bool renew)
+static jboolean android_net_utils_getDhcpResults(JNIEnv* env, jobject clazz, jstring ifname,
+        jobject dhcpResults)
 {
     int result;
     char  ipaddr[PROPERTY_VALUE_MAX];
@@ -115,15 +106,10 @@
     const char *nameStr = env->GetStringUTFChars(ifname, NULL);
     if (nameStr == NULL) return (jboolean)false;
 
-    if (renew) {
-        result = ::dhcp_do_request_renew(nameStr, ipaddr, gateway, &prefixLength,
-                dns, server, &lease, vendorInfo, domains, mtu);
-    } else {
-        result = ::dhcp_do_request(nameStr, ipaddr, gateway, &prefixLength,
-                dns, server, &lease, vendorInfo, domains, mtu);
-    }
+    result = ::dhcp_get_results(nameStr, ipaddr, gateway, &prefixLength,
+            dns, server, &lease, vendorInfo, domains, mtu);
     if (result != 0) {
-        ALOGD("dhcp_do_request failed : %s (%s)", nameStr, renew ? "renew" : "new");
+        ALOGD("dhcp_get_results failed : %s (%s)", nameStr);
     }
 
     env->ReleaseStringUTFChars(ifname, nameStr);
@@ -183,19 +169,28 @@
     return (jboolean)(result == 0);
 }
 
-
-static jboolean android_net_utils_runDhcp(JNIEnv* env, jobject clazz, jstring ifname, jobject info)
+static jboolean android_net_utils_startDhcp(JNIEnv* env, jobject clazz, jstring ifname)
 {
-    return android_net_utils_runDhcpCommon(env, clazz, ifname, info, false);
+    const char *nameStr = env->GetStringUTFChars(ifname, NULL);
+    if (nameStr == NULL) return (jboolean)false;
+    if (::dhcp_start(nameStr) != 0) {
+        ALOGD("dhcp_start failed : %s", nameStr);
+        return (jboolean)false;
+    }
+    return (jboolean)true;
 }
 
-static jboolean android_net_utils_runDhcpRenew(JNIEnv* env, jobject clazz, jstring ifname,
-        jobject info)
+static jboolean android_net_utils_startDhcpRenew(JNIEnv* env, jobject clazz, jstring ifname)
 {
-    return android_net_utils_runDhcpCommon(env, clazz, ifname, info, true);
+    const char *nameStr = env->GetStringUTFChars(ifname, NULL);
+    if (nameStr == NULL) return (jboolean)false;
+    if (::dhcp_start_renew(nameStr) != 0) {
+        ALOGD("dhcp_start_renew failed : %s", nameStr);
+        return (jboolean)false;
+    }
+    return (jboolean)true;
 }
 
-
 static jboolean android_net_utils_stopDhcp(JNIEnv* env, jobject clazz, jstring ifname)
 {
     int result;
@@ -256,8 +251,9 @@
 static JNINativeMethod gNetworkUtilMethods[] = {
     /* name, signature, funcPtr */
     { "resetConnections", "(Ljava/lang/String;I)I",  (void *)android_net_utils_resetConnections },
-    { "runDhcp", "(Ljava/lang/String;Landroid/net/DhcpResults;)Z",  (void *)android_net_utils_runDhcp },
-    { "runDhcpRenew", "(Ljava/lang/String;Landroid/net/DhcpResults;)Z",  (void *)android_net_utils_runDhcpRenew },
+    { "startDhcp", "(Ljava/lang/String;)Z",  (void *)android_net_utils_startDhcp },
+    { "startDhcpRenew", "(Ljava/lang/String;)Z",  (void *)android_net_utils_startDhcpRenew },
+    { "getDhcpResults", "(Ljava/lang/String;Landroid/net/DhcpResults;)Z",  (void *)android_net_utils_getDhcpResults },
     { "stopDhcp", "(Ljava/lang/String;)Z",  (void *)android_net_utils_stopDhcp },
     { "releaseDhcpLease", "(Ljava/lang/String;)Z",  (void *)android_net_utils_releaseDhcpLease },
     { "getDhcpError", "()Ljava/lang/String;", (void*) android_net_utils_getDhcpError },
diff --git a/core/jni/android_os_MessageQueue.cpp b/core/jni/android_os_MessageQueue.cpp
index 5d7877b..d2db3c9 100644
--- a/core/jni/android_os_MessageQueue.cpp
+++ b/core/jni/android_os_MessageQueue.cpp
@@ -29,22 +29,31 @@
 
 static struct {
     jfieldID mPtr;   // native object attached to the DVM MessageQueue
+    jmethodID dispatchEvents;
 } gMessageQueueClassInfo;
 
+// Must be kept in sync with the constants in Looper.FileDescriptorCallback
+static const int CALLBACK_EVENT_INPUT = 1 << 0;
+static const int CALLBACK_EVENT_OUTPUT = 1 << 1;
+static const int CALLBACK_EVENT_ERROR = 1 << 2;
 
-class NativeMessageQueue : public MessageQueue {
+
+class NativeMessageQueue : public MessageQueue, public LooperCallback {
 public:
     NativeMessageQueue();
     virtual ~NativeMessageQueue();
 
     virtual void raiseException(JNIEnv* env, const char* msg, jthrowable exceptionObj);
 
-    void pollOnce(JNIEnv* env, int timeoutMillis);
-
+    void pollOnce(JNIEnv* env, jobject obj, int timeoutMillis);
     void wake();
+    void setFileDescriptorEvents(int fd, int events);
+
+    virtual int handleEvent(int fd, int events, void* data);
 
 private:
-    bool mInCallback;
+    JNIEnv* mPollEnv;
+    jobject mPollObj;
     jthrowable mExceptionObj;
 };
 
@@ -66,7 +75,8 @@
     return false;
 }
 
-NativeMessageQueue::NativeMessageQueue() : mInCallback(false), mExceptionObj(NULL) {
+NativeMessageQueue::NativeMessageQueue() :
+        mPollEnv(NULL), mPollObj(NULL), mExceptionObj(NULL) {
     mLooper = Looper::getForThread();
     if (mLooper == NULL) {
         mLooper = new Looper(false);
@@ -79,7 +89,7 @@
 
 void NativeMessageQueue::raiseException(JNIEnv* env, const char* msg, jthrowable exceptionObj) {
     if (exceptionObj) {
-        if (mInCallback) {
+        if (mPollEnv == env) {
             if (mExceptionObj) {
                 env->DeleteLocalRef(mExceptionObj);
             }
@@ -94,10 +104,13 @@
     }
 }
 
-void NativeMessageQueue::pollOnce(JNIEnv* env, int timeoutMillis) {
-    mInCallback = true;
+void NativeMessageQueue::pollOnce(JNIEnv* env, jobject pollObj, int timeoutMillis) {
+    mPollEnv = env;
+    mPollObj = pollObj;
     mLooper->pollOnce(timeoutMillis);
-    mInCallback = false;
+    mPollObj = NULL;
+    mPollEnv = NULL;
+
     if (mExceptionObj) {
         env->Throw(mExceptionObj);
         env->DeleteLocalRef(mExceptionObj);
@@ -109,6 +122,46 @@
     mLooper->wake();
 }
 
+void NativeMessageQueue::setFileDescriptorEvents(int fd, int events) {
+    if (events) {
+        int looperEvents = 0;
+        if (events & CALLBACK_EVENT_INPUT) {
+            looperEvents |= Looper::EVENT_INPUT;
+        }
+        if (events & CALLBACK_EVENT_OUTPUT) {
+            looperEvents |= Looper::EVENT_OUTPUT;
+        }
+        mLooper->addFd(fd, Looper::POLL_CALLBACK, looperEvents, this,
+                reinterpret_cast<void*>(events));
+    } else {
+        mLooper->removeFd(fd);
+    }
+}
+
+int NativeMessageQueue::handleEvent(int fd, int looperEvents, void* data) {
+    int events = 0;
+    if (looperEvents & Looper::EVENT_INPUT) {
+        events |= CALLBACK_EVENT_INPUT;
+    }
+    if (looperEvents & Looper::EVENT_OUTPUT) {
+        events |= CALLBACK_EVENT_OUTPUT;
+    }
+    if (looperEvents & (Looper::EVENT_ERROR | Looper::EVENT_HANGUP | Looper::EVENT_INVALID)) {
+        events |= CALLBACK_EVENT_ERROR;
+    }
+    int oldWatchedEvents = reinterpret_cast<intptr_t>(data);
+    int newWatchedEvents = mPollEnv->CallIntMethod(mPollObj,
+            gMessageQueueClassInfo.dispatchEvents, fd, events);
+    if (!newWatchedEvents) {
+        return 0; // unregister the fd
+    }
+    if (newWatchedEvents != oldWatchedEvents) {
+        setFileDescriptorEvents(fd, newWatchedEvents);
+    }
+    return 1;
+}
+
+
 // ----------------------------------------------------------------------------
 
 sp<MessageQueue> android_os_MessageQueue_getMessageQueue(JNIEnv* env, jobject messageQueueObj) {
@@ -132,20 +185,26 @@
     nativeMessageQueue->decStrong(env);
 }
 
-static void android_os_MessageQueue_nativePollOnce(JNIEnv* env, jclass clazz,
+static void android_os_MessageQueue_nativePollOnce(JNIEnv* env, jobject obj,
         jlong ptr, jint timeoutMillis) {
     NativeMessageQueue* nativeMessageQueue = reinterpret_cast<NativeMessageQueue*>(ptr);
-    nativeMessageQueue->pollOnce(env, timeoutMillis);
+    nativeMessageQueue->pollOnce(env, obj, timeoutMillis);
 }
 
 static void android_os_MessageQueue_nativeWake(JNIEnv* env, jclass clazz, jlong ptr) {
     NativeMessageQueue* nativeMessageQueue = reinterpret_cast<NativeMessageQueue*>(ptr);
-    return nativeMessageQueue->wake();
+    nativeMessageQueue->wake();
 }
 
-static jboolean android_os_MessageQueue_nativeIsIdling(JNIEnv* env, jclass clazz, jlong ptr) {
+static jboolean android_os_MessageQueue_nativeIsPolling(JNIEnv* env, jclass clazz, jlong ptr) {
     NativeMessageQueue* nativeMessageQueue = reinterpret_cast<NativeMessageQueue*>(ptr);
-    return nativeMessageQueue->getLooper()->isIdling();
+    return nativeMessageQueue->getLooper()->isPolling();
+}
+
+static void android_os_MessageQueue_nativeSetFileDescriptorEvents(JNIEnv* env, jclass clazz,
+        jlong ptr, jint fd, jint events) {
+    NativeMessageQueue* nativeMessageQueue = reinterpret_cast<NativeMessageQueue*>(ptr);
+    nativeMessageQueue->setFileDescriptorEvents(fd, events);
 }
 
 // ----------------------------------------------------------------------------
@@ -156,7 +215,9 @@
     { "nativeDestroy", "(J)V", (void*)android_os_MessageQueue_nativeDestroy },
     { "nativePollOnce", "(JI)V", (void*)android_os_MessageQueue_nativePollOnce },
     { "nativeWake", "(J)V", (void*)android_os_MessageQueue_nativeWake },
-    { "nativeIsIdling", "(J)Z", (void*)android_os_MessageQueue_nativeIsIdling }
+    { "nativeIsPolling", "(J)Z", (void*)android_os_MessageQueue_nativeIsPolling },
+    { "nativeSetFileDescriptorEvents", "(JII)V",
+            (void*)android_os_MessageQueue_nativeSetFileDescriptorEvents },
 };
 
 int register_android_os_MessageQueue(JNIEnv* env) {
@@ -164,8 +225,9 @@
                                    NELEM(gMessageQueueMethods));
 
     jclass clazz = FindClassOrDie(env, "android/os/MessageQueue");
-
     gMessageQueueClassInfo.mPtr = GetFieldIDOrDie(env, clazz, "mPtr", "J");
+    gMessageQueueClassInfo.dispatchEvents = GetMethodIDOrDie(env, clazz,
+            "dispatchEvents", "(II)I");
 
     return res;
 }
diff --git a/core/jni/android_os_MessageQueue.h b/core/jni/android_os_MessageQueue.h
index 49d2aa0..1e49b5f 100644
--- a/core/jni/android_os_MessageQueue.h
+++ b/core/jni/android_os_MessageQueue.h
@@ -22,7 +22,7 @@
 
 namespace android {
 
-class MessageQueue : public RefBase {
+class MessageQueue : public virtual RefBase {
 public:
     /* Gets the message queue's looper. */
     inline sp<Looper> getLooper() const {
diff --git a/core/jni/android_os_SELinux.cpp b/core/jni/android_os_SELinux.cpp
index 136e758..762b88f 100644
--- a/core/jni/android_os_SELinux.cpp
+++ b/core/jni/android_os_SELinux.cpp
@@ -61,23 +61,6 @@
 }
 
 /*
- * Function: setSELinuxEnforce
- * Purpose: set the SE Linux enforcing mode
- * Parameters: true (enforcing) or false (permissive)
- * Return value: true (success) or false (fail)
- * Exceptions: none
- */
-static jboolean setSELinuxEnforce(JNIEnv *env, jobject, jboolean value) {
-    if (isSELinuxDisabled) {
-        return false;
-    }
-
-    int enforce = value ? 1 : 0;
-
-    return (security_setenforce(enforce) != -1) ? true : false;
-}
-
-/*
  * Function: getPeerCon
  * Purpose: retrieves security context of peer socket
  * Parameters:
@@ -265,92 +248,6 @@
 }
 
 /*
- * Function: getBooleanNames
- * Purpose: Gets a list of the SELinux boolean names.
- * Parameters: None
- * Returns: an array of strings  containing the SELinux boolean names.
- *          returns NULL string on error
- * Exceptions: None
- */
-static jobjectArray getBooleanNames(JNIEnv *env, JNIEnv) {
-    if (isSELinuxDisabled) {
-        return NULL;
-    }
-
-    char **list;
-    int len;
-    if (security_get_boolean_names(&list, &len) == -1) {
-        return NULL;
-    }
-
-    jclass stringClass = env->FindClass("java/lang/String");
-    jobjectArray stringArray = env->NewObjectArray(len, stringClass, NULL);
-    for (int i = 0; i < len; i++) {
-        ScopedLocalRef<jstring> obj(env, env->NewStringUTF(list[i]));
-        env->SetObjectArrayElement(stringArray, i, obj.get());
-        free(list[i]);
-    }
-    free(list);
-
-    return stringArray;
-}
-
-/*
- * Function: getBooleanValue
- * Purpose: Gets the value for the given SELinux boolean name.
- * Parameters:
- *            String: The name of the SELinux boolean.
- * Returns: a boolean: (true) boolean is set or (false) it is not.
- * Exceptions: None
- */
-static jboolean getBooleanValue(JNIEnv *env, jobject, jstring nameStr) {
-    if (isSELinuxDisabled) {
-        return false;
-    }
-
-    if (nameStr == NULL) {
-        return false;
-    }
-
-    ScopedUtfChars name(env, nameStr);
-    int ret = security_get_boolean_active(name.c_str());
-
-    ALOGV("getBooleanValue(%s) => %d", name.c_str(), ret);
-    return (ret == 1) ? true : false;
-}
-
-/*
- * Function: setBooleanNames
- * Purpose: Sets the value for the given SELinux boolean name.
- * Parameters:
- *            String: The name of the SELinux boolean.
- *            Boolean: The new value of the SELinux boolean.
- * Returns: a boolean indicating whether or not the operation succeeded.
- * Exceptions: None
- */
-static jboolean setBooleanValue(JNIEnv *env, jobject, jstring nameStr, jboolean value) {
-    if (isSELinuxDisabled) {
-        return false;
-    }
-
-    if (nameStr == NULL) {
-        return false;
-    }
-
-    ScopedUtfChars name(env, nameStr);
-    int ret = security_set_boolean(name.c_str(), value ? 1 : 0);
-    if (ret) {
-        return false;
-    }
-
-    if (security_commit_booleans() == -1) {
-        return false;
-    }
-
-    return true;
-}
-
-/*
  * Function: checkSELinuxAccess
  * Purpose: Check permissions between two security contexts.
  * Parameters: subjectContextStr: subject security context as a string
@@ -426,8 +323,6 @@
 static JNINativeMethod method_table[] = {
     /* name,                     signature,                    funcPtr */
     { "checkSELinuxAccess"       , "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z" , (void*)checkSELinuxAccess },
-    { "getBooleanNames"          , "()[Ljava/lang/String;"                        , (void*)getBooleanNames  },
-    { "getBooleanValue"          , "(Ljava/lang/String;)Z"                        , (void*)getBooleanValue  },
     { "getContext"               , "()Ljava/lang/String;"                         , (void*)getCon           },
     { "getFileContext"           , "(Ljava/lang/String;)Ljava/lang/String;"       , (void*)getFileCon       },
     { "getPeerContext"           , "(Ljava/io/FileDescriptor;)Ljava/lang/String;" , (void*)getPeerCon       },
@@ -435,10 +330,8 @@
     { "isSELinuxEnforced"        , "()Z"                                          , (void*)isSELinuxEnforced},
     { "isSELinuxEnabled"         , "()Z"                                          , (void*)isSELinuxEnabled },
     { "native_restorecon"        , "(Ljava/lang/String;I)Z"                       , (void*)native_restorecon},
-    { "setBooleanValue"          , "(Ljava/lang/String;Z)Z"                       , (void*)setBooleanValue  },
     { "setFileContext"           , "(Ljava/lang/String;Ljava/lang/String;)Z"      , (void*)setFileCon       },
     { "setFSCreateContext"       , "(Ljava/lang/String;)Z"                        , (void*)setFSCreateCon   },
-    { "setSELinuxEnforce"        , "(Z)Z"                                         , (void*)setSELinuxEnforce},
 };
 
 static int log_callback(int type, const char *fmt, ...) {
diff --git a/core/jni/android_server_FingerprintManager.cpp b/core/jni/android_server_FingerprintManager.cpp
index 24f8f67..853425c 100644
--- a/core/jni/android_server_FingerprintManager.cpp
+++ b/core/jni/android_server_FingerprintManager.cpp
@@ -20,10 +20,11 @@
 
 #include <android_runtime/AndroidRuntime.h>
 #include <android_runtime/Log.h>
+#include <android_os_MessageQueue.h>
 #include <hardware/hardware.h>
 #include <hardware/fingerprint.h>
 #include <utils/Log.h>
-
+#include <utils/Looper.h>
 #include "core_jni_helpers.h"
 
 namespace android {
@@ -34,7 +35,6 @@
 static struct {
     jclass clazz;
     jmethodID notify;
-    jobject callbackObject;
 } gFingerprintServiceClassInfo;
 
 static struct {
@@ -42,11 +42,26 @@
     fingerprint_device_t *device;
 } gContext;
 
+static sp<Looper> gLooper;
+static jobject gCallback;
+
+class CallbackHandler : public MessageHandler {
+    int type;
+    int arg1, arg2;
+public:
+    CallbackHandler(int type, int arg1, int arg2) : type(type), arg1(arg1), arg2(arg2) { }
+
+    virtual void handleMessage(const Message& message) {
+        //ALOG(LOG_VERBOSE, LOG_TAG, "hal_notify(msg=%d, arg1=%d, arg2=%d)\n", msg.type, arg1, arg2);
+        JNIEnv* env = AndroidRuntime::getJNIEnv();
+        env->CallVoidMethod(gCallback, gFingerprintServiceClassInfo.notify, type, arg1, arg2);
+    }
+};
+
 // Called by the HAL to notify us of fingerprint events
 static void hal_notify_callback(fingerprint_msg_t msg) {
     uint32_t arg1 = 0;
     uint32_t arg2 = 0;
-    uint32_t arg3 = 0; // TODO
     switch (msg.type) {
         case FINGERPRINT_ERROR:
             arg1 = msg.data.error;
@@ -60,7 +75,6 @@
         case FINGERPRINT_TEMPLATE_ENROLLING:
             arg1 = msg.data.enroll.finger.fid;
             arg2 = msg.data.enroll.samples_remaining;
-            arg3 = 0;
             break;
         case FINGERPRINT_TEMPLATE_REMOVED:
             arg1 = msg.data.removed.finger.fid;
@@ -69,32 +83,16 @@
             ALOGE("fingerprint: invalid msg: %d", msg.type);
             return;
     }
-    (void)arg3;
-    //ALOG(LOG_VERBOSE, LOG_TAG, "hal_notify(msg=%d, arg1=%d, arg2=%d)\n", msg.type, arg1, arg2);
-
-	// TODO: fix gross hack to attach JNI to calling thread
-    JNIEnv* env = AndroidRuntime::getJNIEnv();
-    if (env == NULL) {
-        JavaVMAttachArgs args = {JNI_VERSION_1_4, NULL, NULL};
-        JavaVM* vm = AndroidRuntime::getJavaVM();
-        int result = vm->AttachCurrentThread(&env, (void*) &args);
-        if (result != JNI_OK) {
-            ALOGE("Can't call JNI method: attach failed: %#x", result);
-            return;
-        }
-    }
-    env->CallVoidMethod(gFingerprintServiceClassInfo.callbackObject,
-            gFingerprintServiceClassInfo.notify, msg.type, arg1, arg2);
+    // This call potentially comes in on a thread not owned by us. Hand it off to our
+    // looper so it runs on our thread when calling back to FingerprintService.
+    // CallbackHandler object is reference-counted, so no cleanup necessary.
+    gLooper->sendMessage(new CallbackHandler(msg.type, arg1, arg2), Message());
 }
 
-static void nativeInit(JNIEnv *env, jobject clazz, jobject callbackObj) {
+static void nativeInit(JNIEnv *env, jobject clazz, jobject mQueue, jobject callbackObj) {
     ALOG(LOG_VERBOSE, LOG_TAG, "nativeInit()\n");
-    gFingerprintServiceClassInfo.clazz = FindClassOrDie(env, FINGERPRINT_SERVICE);
-    gFingerprintServiceClassInfo.clazz = MakeGlobalRefOrDie(env,
-                                                            gFingerprintServiceClassInfo.clazz);
-    gFingerprintServiceClassInfo.notify = GetMethodIDOrDie(env, gFingerprintServiceClassInfo.clazz,
-           "notify", "(III)V");
-    gFingerprintServiceClassInfo.callbackObject = MakeGlobalRefOrDie(env, callbackObj);
+    gCallback = MakeGlobalRefOrDie(env, callbackObj);
+    gLooper = android_os_MessageQueue_getMessageQueue(env, mQueue)->getLooper();
 }
 
 static jint nativeEnroll(JNIEnv* env, jobject clazz, jint timeout) {
@@ -179,14 +177,15 @@
     { "nativeRemove", "(I)I", (void*)nativeRemove },
     { "nativeOpenHal", "()I", (void*)nativeOpenHal },
     { "nativeCloseHal", "()I", (void*)nativeCloseHal },
-    { "nativeInit", "(Lcom/android/server/fingerprint/FingerprintService;)V", (void*)nativeInit }
+    { "nativeInit","(Landroid/os/MessageQueue;"
+            "Lcom/android/server/fingerprint/FingerprintService;)V", (void*)nativeInit }
 };
 
 int register_android_server_fingerprint_FingerprintService(JNIEnv* env) {
     jclass clazz = FindClassOrDie(env, FINGERPRINT_SERVICE);
     gFingerprintServiceClassInfo.clazz = MakeGlobalRefOrDie(env, clazz);
-    gFingerprintServiceClassInfo.notify = GetMethodIDOrDie(env, gFingerprintServiceClassInfo.clazz,
-                                                           "notify", "(III)V");
+    gFingerprintServiceClassInfo.notify =
+            GetMethodIDOrDie(env, gFingerprintServiceClassInfo.clazz,"notify", "(III)V");
     int result = RegisterMethodsOrDie(env, FINGERPRINT_SERVICE, g_methods, NELEM(g_methods));
     ALOG(LOG_VERBOSE, LOG_TAG, "FingerprintManager JNI ready.\n");
     return result;
diff --git a/core/jni/android_text_StaticLayout.cpp b/core/jni/android_text_StaticLayout.cpp
index db73e69..8800f0b 100644
--- a/core/jni/android_text_StaticLayout.cpp
+++ b/core/jni/android_text_StaticLayout.cpp
@@ -29,6 +29,12 @@
 #include <list>
 #include <algorithm>
 
+#include "SkPaint.h"
+#include "SkTypeface.h"
+#include "MinikinSkia.h"
+#include "MinikinUtils.h"
+#include "Paint.h"
+
 namespace android {
 
 struct JLineBreaksID {
@@ -40,6 +46,70 @@
 static jclass gLineBreaks_class;
 static JLineBreaksID gLineBreaks_fieldID;
 
+class Builder {
+    public:
+        ~Builder() {
+            utext_close(&mUText);
+            delete mBreakIterator;
+        }
+
+        void setLocale(const icu::Locale& locale) {
+            delete mBreakIterator;
+            UErrorCode status = U_ZERO_ERROR;
+            mBreakIterator = icu::BreakIterator::createLineInstance(locale, status);
+            // TODO: check status
+        }
+
+        void resize(size_t size) {
+            mTextBuf.resize(size);
+            mWidthBuf.resize(size);
+        }
+
+        size_t size() const {
+            return mTextBuf.size();
+        }
+
+        uint16_t* buffer() {
+            return mTextBuf.data();
+        }
+
+        float* widths() {
+            return mWidthBuf.data();
+        }
+
+        // set text to current contents of buffer
+        void setText() {
+            UErrorCode status = U_ZERO_ERROR;
+            utext_openUChars(&mUText, mTextBuf.data(), mTextBuf.size(), &status);
+            mBreakIterator->setText(&mUText, status);
+        }
+
+        void finish() {
+            if (mTextBuf.size() > MAX_TEXT_BUF_RETAIN) {
+                mTextBuf.clear();
+                mTextBuf.shrink_to_fit();
+                mWidthBuf.clear();
+                mWidthBuf.shrink_to_fit();
+            }
+        }
+
+        icu::BreakIterator* breakIterator() const {
+            return mBreakIterator;
+        }
+
+        float measureStyleRun(Paint* paint, TypefaceImpl* typeface, size_t start, size_t end,
+                bool isRtl);
+
+        void addReplacement(size_t start, size_t end, float width);
+
+    private:
+        const size_t MAX_TEXT_BUF_RETAIN = 32678;
+        icu::BreakIterator* mBreakIterator = nullptr;
+        UText mUText = UTEXT_INITIALIZER;
+        std::vector<uint16_t>mTextBuf;
+        std::vector<float>mWidthBuf;
+};
+
 static const int CHAR_SPACE = 0x20;
 static const int CHAR_TAB = 0x09;
 static const int CHAR_NEWLINE = 0x0a;
@@ -50,7 +120,7 @@
         // specified stops must be a sorted array (allowed to be null)
         TabStops(JNIEnv* env, jintArray stops, jint defaultTabWidth) :
             mStops(env), mTabWidth(defaultTabWidth) {
-                if (stops != NULL) {
+                if (stops != nullptr) {
                     mStops.reset(stops);
                     mNumStops = mStops.size();
                 } else {
@@ -430,37 +500,6 @@
         }
 };
 
-class ScopedBreakIterator {
-    public:
-        ScopedBreakIterator(JNIEnv* env, BreakIterator* breakIterator, const jchar* inputText,
-                            jint length) : mBreakIterator(breakIterator), mChars(inputText) {
-            UErrorCode status = U_ZERO_ERROR;
-            mUText = utext_openUChars(NULL, mChars, length, &status);
-            if (mUText == NULL) {
-                return;
-            }
-
-            mBreakIterator->setText(mUText, status);
-        }
-
-        inline BreakIterator* operator->() {
-            return mBreakIterator;
-        }
-
-        ~ScopedBreakIterator() {
-            utext_close(mUText);
-            delete mBreakIterator;
-        }
-    private:
-        BreakIterator* mBreakIterator;
-        const jchar* mChars;
-        UText* mUText;
-
-        // disable copying and assignment
-        ScopedBreakIterator(const ScopedBreakIterator&);
-        void operator=(const ScopedBreakIterator&);
-};
-
 static jint recycleCopy(JNIEnv* env, jobject recycle, jintArray recycleBreaks,
                         jfloatArray recycleWidths, jbooleanArray recycleFlags,
                         jint recycleLength, const std::vector<jint>& breaks,
@@ -526,38 +565,35 @@
     primitives->push_back(p);
 }
 
-static jint nComputeLineBreaks(JNIEnv* env, jclass, jstring javaLocaleName,
-                               jcharArray inputText, jfloatArray widths, jint length,
+// sets the text on the builder
+static void nSetText(JNIEnv* env, jclass, jlong nativePtr, jcharArray text, int length) {
+    Builder* b = reinterpret_cast<Builder*>(nativePtr);
+    b->resize(length);
+    env->GetCharArrayRegion(text, 0, length, b->buffer());
+    b->setText();
+}
+
+static jint nComputeLineBreaks(JNIEnv* env, jclass, jlong nativePtr,
+                               jint length,
                                jfloat firstWidth, jint firstWidthLineLimit, jfloat restWidth,
                                jintArray variableTabStops, jint defaultTabStop, jboolean optimize,
                                jobject recycle, jintArray recycleBreaks,
                                jfloatArray recycleWidths, jbooleanArray recycleFlags,
                                jint recycleLength) {
+    Builder* b = reinterpret_cast<Builder*>(nativePtr);
+
     std::vector<int> breaks;
 
-    ScopedCharArrayRO textScopedArr(env, inputText);
-    ScopedFloatArrayRO widthsScopedArr(env, widths);
-
-    ScopedIcuLocale icuLocale(env, javaLocaleName);
-    if (icuLocale.valid()) {
-        UErrorCode status = U_ZERO_ERROR;
-        BreakIterator* it = BreakIterator::createLineInstance(icuLocale.locale(), status);
-        if (!U_SUCCESS(status) || it == NULL) {
-            if (it) {
-                delete it;
-            }
-        } else {
-            ScopedBreakIterator breakIterator(env, it, textScopedArr.get(), length);
-            int loc = breakIterator->first();
-            while ((loc = breakIterator->next()) != BreakIterator::DONE) {
-                breaks.push_back(loc);
-            }
-        }
+    icu::BreakIterator* breakIterator = b->breakIterator();
+    int loc = breakIterator->first();
+    while ((loc = breakIterator->next()) != icu::BreakIterator::DONE) {
+        breaks.push_back(loc);
     }
 
+    // TODO: all these allocations can be moved into the builder
     std::vector<Primitive> primitives;
     TabStops tabStops(env, variableTabStops, defaultTabStop);
-    computePrimitives(textScopedArr.get(), widthsScopedArr.get(), length, breaks, tabStops, &primitives);
+    computePrimitives(b->buffer(), b->widths(), length, breaks, tabStops, &primitives);
 
     LineWidth lineWidth(firstWidth, firstWidthLineLimit, restWidth);
     std::vector<int> computedBreaks;
@@ -571,13 +607,90 @@
         GreedyLineBreaker breaker(primitives, lineWidth);
         breaker.computeBreaks(&computedBreaks, &computedWidths, &computedFlags);
     }
+    b->finish();
 
     return recycleCopy(env, recycle, recycleBreaks, recycleWidths, recycleFlags, recycleLength,
             computedBreaks, computedWidths, computedFlags);
 }
 
+static jlong nNewBuilder(JNIEnv*, jclass) {
+    return reinterpret_cast<jlong>(new Builder);
+}
+
+static void nFreeBuilder(JNIEnv*, jclass, jlong nativePtr) {
+    delete reinterpret_cast<Builder*>(nativePtr);
+}
+
+static void nFinishBuilder(JNIEnv*, jclass, jlong nativePtr) {
+    Builder* b = reinterpret_cast<Builder*>(nativePtr);
+    b->finish();
+}
+
+static void nSetLocale(JNIEnv* env, jclass, jlong nativePtr, jstring javaLocaleName) {
+    ScopedIcuLocale icuLocale(env, javaLocaleName);
+    Builder* b = reinterpret_cast<Builder*>(nativePtr);
+
+    if (icuLocale.valid()) {
+        b->setLocale(icuLocale.locale());
+    }
+}
+
+float Builder::measureStyleRun(Paint* paint, TypefaceImpl* typeface, size_t start, size_t end,
+        bool isRtl) {
+    Layout layout;
+    int bidiFlags = isRtl ? kBidi_Force_RTL : kBidi_Force_LTR;
+    // TODO: should we provide more context?
+    MinikinUtils::doLayout(&layout, paint, bidiFlags, typeface, mTextBuf.data() + start, 0,
+            end - start, end - start);
+    layout.getAdvances(mWidthBuf.data() + start);
+    return layout.getAdvance();
+}
+
+void Builder::addReplacement(size_t start, size_t end, float width) {
+    mWidthBuf[start] = width;
+    std::fill(&mWidthBuf[start + 1], &mWidthBuf[end], 0.0f);
+}
+
+// Basically similar to Paint.getTextRunAdvances but with C++ interface
+static jfloat nAddStyleRun(JNIEnv* env, jclass, jlong nativePtr,
+        jlong nativePaint, jlong nativeTypeface, jint start, jint end, jboolean isRtl) {
+    Builder* b = reinterpret_cast<Builder*>(nativePtr);
+    Paint* paint = reinterpret_cast<Paint*>(nativePaint);
+    TypefaceImpl* typeface = reinterpret_cast<TypefaceImpl*>(nativeTypeface);
+    return b->measureStyleRun(paint, typeface, start, end, isRtl);
+}
+
+// Accept width measurements for the run, passed in from Java
+static void nAddMeasuredRun(JNIEnv* env, jclass, jlong nativePtr,
+        jint start, jint end, jfloatArray widths) {
+    Builder* b = reinterpret_cast<Builder*>(nativePtr);
+    env->GetFloatArrayRegion(widths, start, end - start, b->widths() + start);
+}
+
+static void nAddReplacementRun(JNIEnv* env, jclass, jlong nativePtr,
+        jint start, jint end, jfloat width) {
+    Builder* b = reinterpret_cast<Builder*>(nativePtr);
+    b->addReplacement(start, end, width);
+}
+
+static void nGetWidths(JNIEnv* env, jclass, jlong nativePtr, jfloatArray widths) {
+    Builder* b = reinterpret_cast<Builder*>(nativePtr);
+    env->SetFloatArrayRegion(widths, 0, b->size(), b->widths());
+}
+
 static JNINativeMethod gMethods[] = {
-    {"nComputeLineBreaks", "(Ljava/lang/String;[C[FIFIF[IIZLandroid/text/StaticLayout$LineBreaks;[I[F[ZI)I", (void*) nComputeLineBreaks}
+    // TODO performance: many of these are candidates for fast jni, awaiting guidance
+    {"nNewBuilder", "()J", (void*) nNewBuilder},
+    {"nFreeBuilder", "(J)V", (void*) nFreeBuilder},
+    {"nFinishBuilder", "(J)V", (void*) nFinishBuilder},
+    {"nSetLocale", "(JLjava/lang/String;)V", (void*) nSetLocale},
+    {"nSetText", "(J[CI)V", (void*) nSetText},
+    {"nAddStyleRun", "(JJJIIZ)F", (void*) nAddStyleRun},
+    {"nAddMeasuredRun", "(JII[F)V", (void*) nAddMeasuredRun},
+    {"nAddReplacementRun", "(JIIF)V", (void*) nAddReplacementRun},
+    {"nGetWidths", "(J[F)V", (void*) nGetWidths},
+    {"nComputeLineBreaks", "(JIFIF[IIZLandroid/text/StaticLayout$LineBreaks;[I[F[ZI)I",
+        (void*) nComputeLineBreaks}
 };
 
 int register_android_text_StaticLayout(JNIEnv* env)
diff --git a/core/jni/android_util_EventLog.cpp b/core/jni/android_util_EventLog.cpp
index 6c95b8a..5cb8b2e 100644
--- a/core/jni/android_util_EventLog.cpp
+++ b/core/jni/android_util_EventLog.cpp
@@ -188,6 +188,10 @@
             break;
         }
 
+        if (log_msg.id() != LOG_ID_EVENTS) {
+            continue;
+        }
+
         int32_t tag = * (int32_t *) log_msg.msg();
 
         int found = 0;
diff --git a/core/jni/android_view_DisplayListCanvas.cpp b/core/jni/android_view_DisplayListCanvas.cpp
new file mode 100644
index 0000000..f2e6c4b
--- /dev/null
+++ b/core/jni/android_view_DisplayListCanvas.cpp
@@ -0,0 +1,313 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "OpenGLRenderer"
+
+#include "jni.h"
+#include "GraphicsJNI.h"
+#include <nativehelper/JNIHelp.h>
+
+#include <android_runtime/AndroidRuntime.h>
+
+#include <androidfw/ResourceTypes.h>
+
+#include <cutils/properties.h>
+
+#include <SkBitmap.h>
+#include <SkRegion.h>
+
+#include <DisplayListRenderer.h>
+#include <Rect.h>
+#include <RenderNode.h>
+#include <CanvasProperty.h>
+#include <Paint.h>
+#include <renderthread/RenderProxy.h>
+
+#include "core_jni_helpers.h"
+
+namespace android {
+
+using namespace uirenderer;
+
+static struct {
+    jmethodID set;
+} gRectClassInfo;
+
+// ----------------------------------------------------------------------------
+// Setup
+// ----------------------------------------------------------------------------
+
+static void android_view_DisplayListCanvas_setViewport(JNIEnv* env, jobject clazz,
+        jlong rendererPtr, jint width, jint height) {
+    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
+    renderer->setViewport(width, height);
+}
+
+static void android_view_DisplayListCanvas_setHighContrastText(JNIEnv* env, jobject clazz,
+        jlong rendererPtr, jboolean highContrastText) {
+    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
+    renderer->setHighContrastText(highContrastText);
+}
+
+static void android_view_DisplayListCanvas_insertReorderBarrier(JNIEnv* env, jobject clazz,
+        jlong rendererPtr, jboolean reorderEnable) {
+    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
+    renderer->insertReorderBarrier(reorderEnable);
+}
+
+static void android_view_DisplayListCanvas_prepare(JNIEnv* env, jobject clazz,
+        jlong rendererPtr) {
+    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
+    renderer->prepare();
+}
+
+static void android_view_DisplayListCanvas_prepareDirty(JNIEnv* env, jobject clazz,
+        jlong rendererPtr, jint left, jint top, jint right, jint bottom) {
+    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
+    renderer->prepareDirty(left, top, right, bottom);
+}
+
+static void android_view_DisplayListCanvas_finish(JNIEnv* env, jobject clazz,
+        jlong rendererPtr) {
+    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
+    renderer->finish();
+}
+
+static void android_view_DisplayListCanvas_setProperty(JNIEnv* env,
+        jobject clazz, jstring name, jstring value) {
+    if (!Caches::hasInstance()) {
+        ALOGW("can't set property, no Caches instance");
+        return;
+    }
+
+    if (name == NULL || value == NULL) {
+        ALOGW("can't set prop, null passed");
+    }
+
+    const char* nameCharArray = env->GetStringUTFChars(name, NULL);
+    const char* valueCharArray = env->GetStringUTFChars(value, NULL);
+    Caches::getInstance().setTempProperty(nameCharArray, valueCharArray);
+    env->ReleaseStringUTFChars(name, nameCharArray);
+    env->ReleaseStringUTFChars(name, valueCharArray);
+}
+
+// ----------------------------------------------------------------------------
+// Functor
+// ----------------------------------------------------------------------------
+
+static void android_view_DisplayListCanvas_callDrawGLFunction(JNIEnv* env, jobject clazz,
+        jlong rendererPtr, jlong functorPtr) {
+    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
+    Functor* functor = reinterpret_cast<Functor*>(functorPtr);
+    android::uirenderer::Rect dirty;
+    renderer->callDrawGLFunction(functor, dirty);
+}
+
+// ----------------------------------------------------------------------------
+// Misc
+// ----------------------------------------------------------------------------
+
+static jint android_view_DisplayListCanvas_getMaxTextureWidth(JNIEnv* env, jobject clazz) {
+    return Caches::getInstance().maxTextureSize;
+}
+
+static jint android_view_DisplayListCanvas_getMaxTextureHeight(JNIEnv* env, jobject clazz) {
+    return Caches::getInstance().maxTextureSize;
+}
+
+// ----------------------------------------------------------------------------
+// Drawing
+// ----------------------------------------------------------------------------
+
+static void android_view_DisplayListCanvas_drawPatch(JNIEnv* env, jobject clazz,
+        jlong rendererPtr, jlong bitmapPtr, jlong patchPtr,
+        float left, float top, float right, float bottom, jlong paintPtr) {
+    SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(bitmapPtr);
+
+    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
+    Res_png_9patch* patch = reinterpret_cast<Res_png_9patch*>(patchPtr);
+    Paint* paint = reinterpret_cast<Paint*>(paintPtr);
+    renderer->drawPatch(bitmap, patch, left, top, right, bottom, paint);
+}
+
+static void android_view_DisplayListCanvas_drawRoundRectProps(JNIEnv* env, jobject clazz,
+        jlong rendererPtr, jlong leftPropPtr, jlong topPropPtr, jlong rightPropPtr,
+        jlong bottomPropPtr, jlong rxPropPtr, jlong ryPropPtr, jlong paintPropPtr) {
+    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
+    CanvasPropertyPrimitive* leftProp = reinterpret_cast<CanvasPropertyPrimitive*>(leftPropPtr);
+    CanvasPropertyPrimitive* topProp = reinterpret_cast<CanvasPropertyPrimitive*>(topPropPtr);
+    CanvasPropertyPrimitive* rightProp = reinterpret_cast<CanvasPropertyPrimitive*>(rightPropPtr);
+    CanvasPropertyPrimitive* bottomProp = reinterpret_cast<CanvasPropertyPrimitive*>(bottomPropPtr);
+    CanvasPropertyPrimitive* rxProp = reinterpret_cast<CanvasPropertyPrimitive*>(rxPropPtr);
+    CanvasPropertyPrimitive* ryProp = reinterpret_cast<CanvasPropertyPrimitive*>(ryPropPtr);
+    CanvasPropertyPaint* paintProp = reinterpret_cast<CanvasPropertyPaint*>(paintPropPtr);
+    renderer->drawRoundRect(leftProp, topProp, rightProp, bottomProp, rxProp, ryProp, paintProp);
+}
+
+static void android_view_DisplayListCanvas_drawCircleProps(JNIEnv* env, jobject clazz,
+        jlong rendererPtr, jlong xPropPtr, jlong yPropPtr, jlong radiusPropPtr, jlong paintPropPtr) {
+    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
+    CanvasPropertyPrimitive* xProp = reinterpret_cast<CanvasPropertyPrimitive*>(xPropPtr);
+    CanvasPropertyPrimitive* yProp = reinterpret_cast<CanvasPropertyPrimitive*>(yPropPtr);
+    CanvasPropertyPrimitive* radiusProp = reinterpret_cast<CanvasPropertyPrimitive*>(radiusPropPtr);
+    CanvasPropertyPaint* paintProp = reinterpret_cast<CanvasPropertyPaint*>(paintPropPtr);
+    renderer->drawCircle(xProp, yProp, radiusProp, paintProp);
+}
+
+static void android_view_DisplayListCanvas_drawRegionAsRects(JNIEnv* env, jobject clazz,
+        jlong rendererPtr, jlong regionPtr, jlong paintPtr) {
+    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
+    SkRegion* region = reinterpret_cast<SkRegion*>(regionPtr);
+    Paint* paint = reinterpret_cast<Paint*>(paintPtr);
+    if (paint->getStyle() != Paint::kFill_Style ||
+            (paint->isAntiAlias() && !renderer->isCurrentTransformSimple())) {
+        SkRegion::Iterator it(*region);
+        while (!it.done()) {
+            const SkIRect& r = it.rect();
+            renderer->drawRect(r.fLeft, r.fTop, r.fRight, r.fBottom, *paint);
+            it.next();
+        }
+    } else {
+        int count = 0;
+        Vector<float> rects;
+        SkRegion::Iterator it(*region);
+        while (!it.done()) {
+            const SkIRect& r = it.rect();
+            rects.push(r.fLeft);
+            rects.push(r.fTop);
+            rects.push(r.fRight);
+            rects.push(r.fBottom);
+            count += 4;
+            it.next();
+        }
+        renderer->drawRects(rects.array(), count, paint);
+    }
+}
+
+// ----------------------------------------------------------------------------
+// Display lists
+// ----------------------------------------------------------------------------
+
+static jlong android_view_DisplayListCanvas_finishRecording(JNIEnv* env,
+        jobject clazz, jlong rendererPtr) {
+    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
+    return reinterpret_cast<jlong>(renderer->finishRecording());
+}
+
+static jlong android_view_DisplayListCanvas_createDisplayListRenderer(JNIEnv* env, jobject clazz) {
+    return reinterpret_cast<jlong>(new DisplayListRenderer);
+}
+
+static void android_view_DisplayListCanvas_drawRenderNode(JNIEnv* env,
+        jobject clazz, jlong rendererPtr, jlong renderNodePtr,
+        jint flags) {
+    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
+    RenderNode* renderNode = reinterpret_cast<RenderNode*>(renderNodePtr);
+    android::uirenderer::Rect bounds;
+    renderer->drawRenderNode(renderNode, bounds, flags);
+}
+
+// ----------------------------------------------------------------------------
+// Layers
+// ----------------------------------------------------------------------------
+
+static void android_view_DisplayListCanvas_drawLayer(JNIEnv* env, jobject clazz,
+        jlong rendererPtr, jlong layerPtr, jfloat x, jfloat y) {
+    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
+    DeferredLayerUpdater* layer = reinterpret_cast<DeferredLayerUpdater*>(layerPtr);
+    renderer->drawLayer(layer, x, y);
+}
+
+// ----------------------------------------------------------------------------
+// Common
+// ----------------------------------------------------------------------------
+
+static jboolean android_view_DisplayListCanvas_isAvailable(JNIEnv* env, jobject clazz) {
+    char prop[PROPERTY_VALUE_MAX];
+    if (property_get("ro.kernel.qemu", prop, NULL) == 0) {
+        // not in the emulator
+        return JNI_TRUE;
+    }
+    // In the emulator this property will be set to 1 when hardware GLES is
+    // enabled, 0 otherwise. On old emulator versions it will be undefined.
+    property_get("ro.kernel.qemu.gles", prop, "0");
+    return atoi(prop) == 1 ? JNI_TRUE : JNI_FALSE;
+}
+
+// ----------------------------------------------------------------------------
+// Logging
+// ----------------------------------------------------------------------------
+
+static void
+android_app_ActivityThread_dumpGraphics(JNIEnv* env, jobject clazz, jobject javaFileDescriptor) {
+    int fd = jniGetFDFromFileDescriptor(env, javaFileDescriptor);
+    android::uirenderer::renderthread::RenderProxy::dumpGraphicsMemory(fd);
+}
+
+// ----------------------------------------------------------------------------
+// JNI Glue
+// ----------------------------------------------------------------------------
+
+const char* const kClassPathName = "android/view/DisplayListCanvas";
+
+static JNINativeMethod gMethods[] = {
+    { "nIsAvailable",       "()Z",             (void*) android_view_DisplayListCanvas_isAvailable },
+    { "nSetViewport",       "(JII)V",          (void*) android_view_DisplayListCanvas_setViewport },
+    { "nSetHighContrastText","(JZ)V",          (void*) android_view_DisplayListCanvas_setHighContrastText },
+    { "nInsertReorderBarrier","(JZ)V",         (void*) android_view_DisplayListCanvas_insertReorderBarrier },
+    { "nPrepare",           "(J)V",            (void*) android_view_DisplayListCanvas_prepare },
+    { "nPrepareDirty",      "(JIIII)V",        (void*) android_view_DisplayListCanvas_prepareDirty },
+    { "nFinish",            "(J)V",            (void*) android_view_DisplayListCanvas_finish },
+    { "nSetProperty",       "(Ljava/lang/String;Ljava/lang/String;)V",
+            (void*) android_view_DisplayListCanvas_setProperty },
+
+    { "nCallDrawGLFunction", "(JJ)V",          (void*) android_view_DisplayListCanvas_callDrawGLFunction },
+
+    { "nDrawPatch",         "(JJJFFFFJ)V",     (void*) android_view_DisplayListCanvas_drawPatch },
+
+    { "nDrawRects",         "(JJJ)V",          (void*) android_view_DisplayListCanvas_drawRegionAsRects },
+    { "nDrawRoundRect",     "(JJJJJJJJ)V",     (void*) android_view_DisplayListCanvas_drawRoundRectProps },
+    { "nDrawCircle",        "(JJJJJ)V",        (void*) android_view_DisplayListCanvas_drawCircleProps },
+
+    { "nFinishRecording",   "(J)J",            (void*) android_view_DisplayListCanvas_finishRecording },
+    { "nDrawRenderNode",    "(JJI)V",          (void*) android_view_DisplayListCanvas_drawRenderNode },
+
+    { "nCreateDisplayListRenderer", "()J",     (void*) android_view_DisplayListCanvas_createDisplayListRenderer },
+
+    { "nDrawLayer",               "(JJFF)V",   (void*) android_view_DisplayListCanvas_drawLayer },
+
+    { "nGetMaximumTextureWidth",  "()I",       (void*) android_view_DisplayListCanvas_getMaxTextureWidth },
+    { "nGetMaximumTextureHeight", "()I",       (void*) android_view_DisplayListCanvas_getMaxTextureHeight },
+};
+
+static JNINativeMethod gActivityThreadMethods[] = {
+    { "dumpGraphicsInfo",        "(Ljava/io/FileDescriptor;)V",
+                                               (void*) android_app_ActivityThread_dumpGraphics }
+};
+
+int register_android_view_DisplayListCanvas(JNIEnv* env) {
+    jclass clazz = FindClassOrDie(env, "android/graphics/Rect");
+    gRectClassInfo.set = GetMethodIDOrDie(env, clazz, "set", "(IIII)V");
+
+    return RegisterMethodsOrDie(env, kClassPathName, gMethods, NELEM(gMethods));
+}
+
+int register_android_app_ActivityThread(JNIEnv* env) {
+    return RegisterMethodsOrDie(env, "android/app/ActivityThread",
+            gActivityThreadMethods, NELEM(gActivityThreadMethods));
+}
+
+};
diff --git a/core/jni/android_view_GLES20Canvas.cpp b/core/jni/android_view_GLES20Canvas.cpp
deleted file mode 100644
index 72cfd5b..0000000
--- a/core/jni/android_view_GLES20Canvas.cpp
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#define LOG_TAG "OpenGLRenderer"
-
-#include "jni.h"
-#include "GraphicsJNI.h"
-#include <nativehelper/JNIHelp.h>
-
-#include <android_runtime/AndroidRuntime.h>
-
-#include <androidfw/ResourceTypes.h>
-
-#include <cutils/properties.h>
-
-#include <SkBitmap.h>
-#include <SkRegion.h>
-
-#include <DisplayListRenderer.h>
-#include <Rect.h>
-#include <RenderNode.h>
-#include <CanvasProperty.h>
-#include <Paint.h>
-#include <renderthread/RenderProxy.h>
-
-#include "core_jni_helpers.h"
-
-namespace android {
-
-using namespace uirenderer;
-
-static struct {
-    jmethodID set;
-} gRectClassInfo;
-
-// ----------------------------------------------------------------------------
-// Defines
-// ----------------------------------------------------------------------------
-
-static const bool kDebugRenderer = false;
-
-// ----------------------------------------------------------------------------
-// Setup
-// ----------------------------------------------------------------------------
-
-static void android_view_GLES20Canvas_setViewport(JNIEnv* env, jobject clazz,
-        jlong rendererPtr, jint width, jint height) {
-    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
-    renderer->setViewport(width, height);
-}
-
-static void android_view_GLES20Canvas_setHighContrastText(JNIEnv* env, jobject clazz,
-        jlong rendererPtr, jboolean highContrastText) {
-    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
-    renderer->setHighContrastText(highContrastText);
-}
-
-static void android_view_GLES20Canvas_insertReorderBarrier(JNIEnv* env, jobject clazz,
-        jlong rendererPtr, jboolean reorderEnable) {
-    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
-    renderer->insertReorderBarrier(reorderEnable);
-}
-
-static void android_view_GLES20Canvas_prepare(JNIEnv* env, jobject clazz,
-        jlong rendererPtr) {
-    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
-    renderer->prepare();
-}
-
-static void android_view_GLES20Canvas_prepareDirty(JNIEnv* env, jobject clazz,
-        jlong rendererPtr, jint left, jint top, jint right, jint bottom) {
-    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
-    renderer->prepareDirty(left, top, right, bottom);
-}
-
-static void android_view_GLES20Canvas_finish(JNIEnv* env, jobject clazz,
-        jlong rendererPtr) {
-    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
-    renderer->finish();
-}
-
-static void android_view_GLES20Canvas_setProperty(JNIEnv* env,
-        jobject clazz, jstring name, jstring value) {
-    if (!Caches::hasInstance()) {
-        ALOGW("can't set property, no Caches instance");
-        return;
-    }
-
-    if (name == NULL || value == NULL) {
-        ALOGW("can't set prop, null passed");
-    }
-
-    const char* nameCharArray = env->GetStringUTFChars(name, NULL);
-    const char* valueCharArray = env->GetStringUTFChars(value, NULL);
-    Caches::getInstance().setTempProperty(nameCharArray, valueCharArray);
-    env->ReleaseStringUTFChars(name, nameCharArray);
-    env->ReleaseStringUTFChars(name, valueCharArray);
-}
-
-// ----------------------------------------------------------------------------
-// Functor
-// ----------------------------------------------------------------------------
-
-static void android_view_GLES20Canvas_callDrawGLFunction(JNIEnv* env, jobject clazz,
-        jlong rendererPtr, jlong functorPtr) {
-    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
-    Functor* functor = reinterpret_cast<Functor*>(functorPtr);
-    android::uirenderer::Rect dirty;
-    renderer->callDrawGLFunction(functor, dirty);
-}
-
-// ----------------------------------------------------------------------------
-// Misc
-// ----------------------------------------------------------------------------
-
-static jint android_view_GLES20Canvas_getMaxTextureWidth(JNIEnv* env, jobject clazz) {
-    return Caches::getInstance().maxTextureSize;
-}
-
-static jint android_view_GLES20Canvas_getMaxTextureHeight(JNIEnv* env, jobject clazz) {
-    return Caches::getInstance().maxTextureSize;
-}
-
-// ----------------------------------------------------------------------------
-// Drawing
-// ----------------------------------------------------------------------------
-
-static void android_view_GLES20Canvas_drawPatch(JNIEnv* env, jobject clazz,
-        jlong rendererPtr, jlong bitmapPtr, jlong patchPtr,
-        float left, float top, float right, float bottom, jlong paintPtr) {
-    SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(bitmapPtr);
-
-    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
-    Res_png_9patch* patch = reinterpret_cast<Res_png_9patch*>(patchPtr);
-    Paint* paint = reinterpret_cast<Paint*>(paintPtr);
-    renderer->drawPatch(bitmap, patch, left, top, right, bottom, paint);
-}
-
-static void android_view_GLES20Canvas_drawRoundRectProps(JNIEnv* env, jobject clazz,
-        jlong rendererPtr, jlong leftPropPtr, jlong topPropPtr, jlong rightPropPtr,
-        jlong bottomPropPtr, jlong rxPropPtr, jlong ryPropPtr, jlong paintPropPtr) {
-    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
-    CanvasPropertyPrimitive* leftProp = reinterpret_cast<CanvasPropertyPrimitive*>(leftPropPtr);
-    CanvasPropertyPrimitive* topProp = reinterpret_cast<CanvasPropertyPrimitive*>(topPropPtr);
-    CanvasPropertyPrimitive* rightProp = reinterpret_cast<CanvasPropertyPrimitive*>(rightPropPtr);
-    CanvasPropertyPrimitive* bottomProp = reinterpret_cast<CanvasPropertyPrimitive*>(bottomPropPtr);
-    CanvasPropertyPrimitive* rxProp = reinterpret_cast<CanvasPropertyPrimitive*>(rxPropPtr);
-    CanvasPropertyPrimitive* ryProp = reinterpret_cast<CanvasPropertyPrimitive*>(ryPropPtr);
-    CanvasPropertyPaint* paintProp = reinterpret_cast<CanvasPropertyPaint*>(paintPropPtr);
-    renderer->drawRoundRect(leftProp, topProp, rightProp, bottomProp, rxProp, ryProp, paintProp);
-}
-
-static void android_view_GLES20Canvas_drawCircleProps(JNIEnv* env, jobject clazz,
-        jlong rendererPtr, jlong xPropPtr, jlong yPropPtr, jlong radiusPropPtr, jlong paintPropPtr) {
-    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
-    CanvasPropertyPrimitive* xProp = reinterpret_cast<CanvasPropertyPrimitive*>(xPropPtr);
-    CanvasPropertyPrimitive* yProp = reinterpret_cast<CanvasPropertyPrimitive*>(yPropPtr);
-    CanvasPropertyPrimitive* radiusProp = reinterpret_cast<CanvasPropertyPrimitive*>(radiusPropPtr);
-    CanvasPropertyPaint* paintProp = reinterpret_cast<CanvasPropertyPaint*>(paintPropPtr);
-    renderer->drawCircle(xProp, yProp, radiusProp, paintProp);
-}
-
-static void android_view_GLES20Canvas_drawRegionAsRects(JNIEnv* env, jobject clazz,
-        jlong rendererPtr, jlong regionPtr, jlong paintPtr) {
-    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
-    SkRegion* region = reinterpret_cast<SkRegion*>(regionPtr);
-    Paint* paint = reinterpret_cast<Paint*>(paintPtr);
-    if (paint->getStyle() != Paint::kFill_Style ||
-            (paint->isAntiAlias() && !renderer->isCurrentTransformSimple())) {
-        SkRegion::Iterator it(*region);
-        while (!it.done()) {
-            const SkIRect& r = it.rect();
-            renderer->drawRect(r.fLeft, r.fTop, r.fRight, r.fBottom, *paint);
-            it.next();
-        }
-    } else {
-        int count = 0;
-        Vector<float> rects;
-        SkRegion::Iterator it(*region);
-        while (!it.done()) {
-            const SkIRect& r = it.rect();
-            rects.push(r.fLeft);
-            rects.push(r.fTop);
-            rects.push(r.fRight);
-            rects.push(r.fBottom);
-            count += 4;
-            it.next();
-        }
-        renderer->drawRects(rects.array(), count, paint);
-    }
-}
-
-// ----------------------------------------------------------------------------
-// Display lists
-// ----------------------------------------------------------------------------
-
-static jlong android_view_GLES20Canvas_finishRecording(JNIEnv* env,
-        jobject clazz, jlong rendererPtr) {
-    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
-    return reinterpret_cast<jlong>(renderer->finishRecording());
-}
-
-static jlong android_view_GLES20Canvas_createDisplayListRenderer(JNIEnv* env, jobject clazz) {
-    return reinterpret_cast<jlong>(new DisplayListRenderer);
-}
-
-static void android_view_GLES20Canvas_drawRenderNode(JNIEnv* env,
-        jobject clazz, jlong rendererPtr, jlong renderNodePtr,
-        jint flags) {
-    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
-    RenderNode* renderNode = reinterpret_cast<RenderNode*>(renderNodePtr);
-    android::uirenderer::Rect bounds;
-    renderer->drawRenderNode(renderNode, bounds, flags);
-}
-
-// ----------------------------------------------------------------------------
-// Layers
-// ----------------------------------------------------------------------------
-
-static void android_view_GLES20Canvas_drawLayer(JNIEnv* env, jobject clazz,
-        jlong rendererPtr, jlong layerPtr, jfloat x, jfloat y) {
-    DisplayListRenderer* renderer = reinterpret_cast<DisplayListRenderer*>(rendererPtr);
-    DeferredLayerUpdater* layer = reinterpret_cast<DeferredLayerUpdater*>(layerPtr);
-    renderer->drawLayer(layer, x, y);
-}
-
-// ----------------------------------------------------------------------------
-// Common
-// ----------------------------------------------------------------------------
-
-static jboolean android_view_GLES20Canvas_isAvailable(JNIEnv* env, jobject clazz) {
-    char prop[PROPERTY_VALUE_MAX];
-    if (property_get("ro.kernel.qemu", prop, NULL) == 0) {
-        // not in the emulator
-        return JNI_TRUE;
-    }
-    // In the emulator this property will be set to 1 when hardware GLES is
-    // enabled, 0 otherwise. On old emulator versions it will be undefined.
-    property_get("ro.kernel.qemu.gles", prop, "0");
-    return atoi(prop) == 1 ? JNI_TRUE : JNI_FALSE;
-}
-
-// ----------------------------------------------------------------------------
-// Logging
-// ----------------------------------------------------------------------------
-
-static void
-android_app_ActivityThread_dumpGraphics(JNIEnv* env, jobject clazz, jobject javaFileDescriptor) {
-    int fd = jniGetFDFromFileDescriptor(env, javaFileDescriptor);
-    android::uirenderer::renderthread::RenderProxy::dumpGraphicsMemory(fd);
-}
-
-// ----------------------------------------------------------------------------
-// JNI Glue
-// ----------------------------------------------------------------------------
-
-const char* const kClassPathName = "android/view/GLES20Canvas";
-
-static JNINativeMethod gMethods[] = {
-    { "nIsAvailable",       "()Z",             (void*) android_view_GLES20Canvas_isAvailable },
-    { "nSetViewport",       "(JII)V",          (void*) android_view_GLES20Canvas_setViewport },
-    { "nSetHighContrastText","(JZ)V",          (void*) android_view_GLES20Canvas_setHighContrastText },
-    { "nInsertReorderBarrier","(JZ)V",         (void*) android_view_GLES20Canvas_insertReorderBarrier },
-    { "nPrepare",           "(J)V",            (void*) android_view_GLES20Canvas_prepare },
-    { "nPrepareDirty",      "(JIIII)V",        (void*) android_view_GLES20Canvas_prepareDirty },
-    { "nFinish",            "(J)V",            (void*) android_view_GLES20Canvas_finish },
-    { "nSetProperty",       "(Ljava/lang/String;Ljava/lang/String;)V",
-            (void*) android_view_GLES20Canvas_setProperty },
-
-    { "nCallDrawGLFunction", "(JJ)V",          (void*) android_view_GLES20Canvas_callDrawGLFunction },
-
-    { "nDrawPatch",         "(JJJFFFFJ)V",     (void*) android_view_GLES20Canvas_drawPatch },
-
-    { "nDrawRects",         "(JJJ)V",          (void*) android_view_GLES20Canvas_drawRegionAsRects },
-    { "nDrawRoundRect",     "(JJJJJJJJ)V",     (void*) android_view_GLES20Canvas_drawRoundRectProps },
-    { "nDrawCircle",        "(JJJJJ)V",        (void*) android_view_GLES20Canvas_drawCircleProps },
-
-    { "nFinishRecording",   "(J)J",            (void*) android_view_GLES20Canvas_finishRecording },
-    { "nDrawRenderNode",    "(JJI)V",          (void*) android_view_GLES20Canvas_drawRenderNode },
-
-    { "nCreateDisplayListRenderer", "()J",     (void*) android_view_GLES20Canvas_createDisplayListRenderer },
-
-    { "nDrawLayer",               "(JJFF)V",   (void*) android_view_GLES20Canvas_drawLayer },
-
-    { "nGetMaximumTextureWidth",  "()I",       (void*) android_view_GLES20Canvas_getMaxTextureWidth },
-    { "nGetMaximumTextureHeight", "()I",       (void*) android_view_GLES20Canvas_getMaxTextureHeight },
-};
-
-static JNINativeMethod gActivityThreadMethods[] = {
-    { "dumpGraphicsInfo",        "(Ljava/io/FileDescriptor;)V",
-                                               (void*) android_app_ActivityThread_dumpGraphics }
-};
-
-int register_android_view_GLES20Canvas(JNIEnv* env) {
-    jclass clazz = FindClassOrDie(env, "android/graphics/Rect");
-    gRectClassInfo.set = GetMethodIDOrDie(env, clazz, "set", "(IIII)V");
-
-    return RegisterMethodsOrDie(env, kClassPathName, gMethods, NELEM(gMethods));
-}
-
-int register_android_app_ActivityThread(JNIEnv* env) {
-    return RegisterMethodsOrDie(env, "android/app/ActivityThread",
-            gActivityThreadMethods, NELEM(gActivityThreadMethods));
-}
-
-};
diff --git a/core/jni/android_view_PointerIcon.cpp b/core/jni/android_view_PointerIcon.cpp
index bbd031e..f6d9a1a 100644
--- a/core/jni/android_view_PointerIcon.cpp
+++ b/core/jni/android_view_PointerIcon.cpp
@@ -80,7 +80,7 @@
 
     jobject bitmapObj = env->GetObjectField(loadedPointerIconObj, gPointerIconClassInfo.mBitmap);
     if (bitmapObj) {
-        SkBitmap* bitmap = GraphicsJNI::getNativeBitmap(env, bitmapObj);
+        SkBitmap* bitmap = GraphicsJNI::getSkBitmap(env, bitmapObj);
         if (bitmap) {
             outPointerIcon->bitmap = *bitmap; // use a shared pixel ref
         }
diff --git a/core/jni/android_view_Surface.cpp b/core/jni/android_view_Surface.cpp
index bfa0534..fff8604 100644
--- a/core/jni/android_view_Surface.cpp
+++ b/core/jni/android_view_Surface.cpp
@@ -130,6 +130,100 @@
     return surfaceObj;
 }
 
+int android_view_Surface_mapPublicFormatToHalFormat(PublicFormat f) {
+
+    switch(f) {
+        case PublicFormat::JPEG:
+        case PublicFormat::DEPTH_POINT_CLOUD:
+            return HAL_PIXEL_FORMAT_BLOB;
+        case PublicFormat::DEPTH16:
+            return HAL_PIXEL_FORMAT_Y16;
+        case PublicFormat::RAW_SENSOR:
+            return HAL_PIXEL_FORMAT_RAW16;
+        default:
+            // Most formats map 1:1
+            return static_cast<int>(f);
+    }
+}
+
+android_dataspace android_view_Surface_mapPublicFormatToHalDataspace(
+        PublicFormat f) {
+    switch(f) {
+        case PublicFormat::JPEG:
+            return HAL_DATASPACE_JFIF;
+        case PublicFormat::DEPTH_POINT_CLOUD:
+        case PublicFormat::DEPTH16:
+            return HAL_DATASPACE_DEPTH;
+        case PublicFormat::RAW_SENSOR:
+        case PublicFormat::RAW10:
+            return HAL_DATASPACE_ARBITRARY;
+        case PublicFormat::YUV_420_888:
+        case PublicFormat::NV21:
+        case PublicFormat::YV12:
+            return HAL_DATASPACE_JFIF;
+        default:
+            // Most formats map to UNKNOWN
+            return HAL_DATASPACE_UNKNOWN;
+    }
+}
+
+PublicFormat android_view_Surface_mapHalFormatDataspaceToPublicFormat(
+        int format, android_dataspace dataSpace) {
+    switch(format) {
+        case HAL_PIXEL_FORMAT_RGBA_8888:
+        case HAL_PIXEL_FORMAT_RGBX_8888:
+        case HAL_PIXEL_FORMAT_RGB_888:
+        case HAL_PIXEL_FORMAT_RGB_565:
+        case HAL_PIXEL_FORMAT_Y8:
+        case HAL_PIXEL_FORMAT_RAW10:
+        case HAL_PIXEL_FORMAT_YCbCr_420_888:
+        case HAL_PIXEL_FORMAT_YV12:
+            // Enums overlap in both name and value
+            return static_cast<PublicFormat>(format);
+        case HAL_PIXEL_FORMAT_RAW16:
+            // Name differs, though value is the same
+            return PublicFormat::RAW_SENSOR;
+        case HAL_PIXEL_FORMAT_YCbCr_422_SP:
+            // Name differs, though the value is the same
+            return PublicFormat::NV16;
+        case HAL_PIXEL_FORMAT_YCrCb_420_SP:
+            // Name differs, though the value is the same
+            return PublicFormat::NV21;
+        case HAL_PIXEL_FORMAT_YCbCr_422_I:
+            // Name differs, though the value is the same
+            return PublicFormat::YUY2;
+        case HAL_PIXEL_FORMAT_Y16:
+            // Dataspace-dependent
+            switch (dataSpace) {
+                case HAL_DATASPACE_DEPTH:
+                    return PublicFormat::DEPTH16;
+                default:
+                    // Assume non-depth Y16 is just Y16.
+                    return PublicFormat::Y16;
+            }
+            break;
+        case HAL_PIXEL_FORMAT_BLOB:
+            // Dataspace-dependent
+            switch (dataSpace) {
+                case HAL_DATASPACE_DEPTH:
+                    return PublicFormat::DEPTH_POINT_CLOUD;
+                case HAL_DATASPACE_JFIF:
+                    return PublicFormat::JPEG;
+                default:
+                    // Assume otherwise-marked blobs are also JPEG
+                    return PublicFormat::JPEG;
+            }
+            break;
+        case HAL_PIXEL_FORMAT_BGRA_8888:
+        case HAL_PIXEL_FORMAT_RAW_OPAQUE:
+        case HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED:
+            // Not defined in public API
+            return PublicFormat::UNKNOWN;
+
+        default:
+            return PublicFormat::UNKNOWN;
+    }
+}
 // ----------------------------------------------------------------------------
 
 static inline bool isSurfaceValid(const sp<Surface>& sur) {
@@ -395,7 +489,7 @@
     proxy->initialize(surface);
     // Shadows can't be used via this interface, so just set the light source
     // to all 0s. (and width & height are unused, TODO remove them)
-    proxy->setup(0, 0, (Vector3){0, 0, 0}, 0, 0, 0, 1.0f);
+    proxy->setup(0, 0, (Vector3){0, 0, 0}, 0, 0, 0);
     return (jlong) proxy;
 }
 
diff --git a/core/jni/android_view_SurfaceControl.cpp b/core/jni/android_view_SurfaceControl.cpp
index 13c373f..a8355c2 100644
--- a/core/jni/android_view_SurfaceControl.cpp
+++ b/core/jni/android_view_SurfaceControl.cpp
@@ -150,7 +150,7 @@
     switch (screenshot->getFormat()) {
         case PIXEL_FORMAT_RGBX_8888: {
             screenshotInfo.fColorType = kRGBA_8888_SkColorType;
-            screenshotInfo.fAlphaType = kIgnore_SkAlphaType;
+            screenshotInfo.fAlphaType = kOpaque_SkAlphaType;
             break;
         }
         case PIXEL_FORMAT_RGBA_8888: {
@@ -160,7 +160,7 @@
         }
         case PIXEL_FORMAT_RGB_565: {
             screenshotInfo.fColorType = kRGB_565_SkColorType;
-            screenshotInfo.fAlphaType = kIgnore_SkAlphaType;
+            screenshotInfo.fAlphaType = kOpaque_SkAlphaType;
             break;
         }
         default: {
diff --git a/core/jni/android_view_TextureView.cpp b/core/jni/android_view_TextureView.cpp
index 011c326..c2bd0b3c4 100644
--- a/core/jni/android_view_TextureView.cpp
+++ b/core/jni/android_view_TextureView.cpp
@@ -88,12 +88,15 @@
         case WINDOW_FORMAT_RGBX_8888:
             info.fColorType = kN32_SkColorType;
             info.fAlphaType = kOpaque_SkAlphaType;
+            break;
         case WINDOW_FORMAT_RGB_565:
             info.fColorType = kRGB_565_SkColorType;
             info.fAlphaType = kOpaque_SkAlphaType;
+            break;
         default:
             info.fColorType = kUnknown_SkColorType;
-            info.fAlphaType = kIgnore_SkAlphaType;
+            // switch to kUnknown_SkAlphaType when its in skia
+            info.fAlphaType = kOpaque_SkAlphaType;
             break;
     }
     return info;
diff --git a/core/jni/android_view_ThreadedRenderer.cpp b/core/jni/android_view_ThreadedRenderer.cpp
index ad93301..3d9a9ed 100644
--- a/core/jni/android_view_ThreadedRenderer.cpp
+++ b/core/jni/android_view_ThreadedRenderer.cpp
@@ -239,18 +239,20 @@
     delete proxy;
 }
 
-static void android_view_ThreadedRenderer_setFrameInterval(JNIEnv* env, jobject clazz,
-        jlong proxyPtr, jlong frameIntervalNanos) {
-    RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
-    proxy->setFrameInterval(frameIntervalNanos);
-}
-
 static jboolean android_view_ThreadedRenderer_loadSystemProperties(JNIEnv* env, jobject clazz,
         jlong proxyPtr) {
     RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
     return proxy->loadSystemProperties();
 }
 
+static void android_view_ThreadedRenderer_setName(JNIEnv* env, jobject clazz,
+        jlong proxyPtr, jstring jname) {
+    RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
+    const char* name = env->GetStringUTFChars(jname, NULL);
+    proxy->setName(name);
+    env->ReleaseStringUTFChars(jname, name);
+}
+
 static jboolean android_view_ThreadedRenderer_initialize(JNIEnv* env, jobject clazz,
         jlong proxyPtr, jobject jsurface) {
     RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
@@ -284,7 +286,7 @@
         jint ambientShadowAlpha, jint spotShadowAlpha, jfloat density) {
     RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
     proxy->setup(width, height, (Vector3){lightX, lightY, lightZ}, lightRadius,
-            ambientShadowAlpha, spotShadowAlpha, density);
+            ambientShadowAlpha, spotShadowAlpha);
 }
 
 static void android_view_ThreadedRenderer_setOpaque(JNIEnv* env, jobject clazz,
@@ -424,12 +426,12 @@
     { "nCreateRootRenderNode", "()J", (void*) android_view_ThreadedRenderer_createRootRenderNode },
     { "nCreateProxy", "(ZJ)J", (void*) android_view_ThreadedRenderer_createProxy },
     { "nDeleteProxy", "(J)V", (void*) android_view_ThreadedRenderer_deleteProxy },
-    { "nSetFrameInterval", "(JJ)V", (void*) android_view_ThreadedRenderer_setFrameInterval },
     { "nLoadSystemProperties", "(J)Z", (void*) android_view_ThreadedRenderer_loadSystemProperties },
+    { "nSetName", "(JLjava/lang/String;)V", (void*) android_view_ThreadedRenderer_setName },
     { "nInitialize", "(JLandroid/view/Surface;)Z", (void*) android_view_ThreadedRenderer_initialize },
     { "nUpdateSurface", "(JLandroid/view/Surface;)V", (void*) android_view_ThreadedRenderer_updateSurface },
     { "nPauseSurface", "(JLandroid/view/Surface;)Z", (void*) android_view_ThreadedRenderer_pauseSurface },
-    { "nSetup", "(JIIFFFFIIF)V", (void*) android_view_ThreadedRenderer_setup },
+    { "nSetup", "(JIIFFFFII)V", (void*) android_view_ThreadedRenderer_setup },
     { "nSetOpaque", "(JZ)V", (void*) android_view_ThreadedRenderer_setOpaque },
     { "nSyncAndDrawFrame", "(J[JI)I", (void*) android_view_ThreadedRenderer_syncAndDrawFrame },
     { "nDestroy", "(J)V", (void*) android_view_ThreadedRenderer_destroy },
diff --git a/core/jni/com_google_android_gles_jni_EGLImpl.cpp b/core/jni/com_google_android_gles_jni_EGLImpl.cpp
index 6c21bab..7080e2a 100644
--- a/core/jni/com_google_android_gles_jni_EGLImpl.cpp
+++ b/core/jni/com_google_android_gles_jni_EGLImpl.cpp
@@ -30,6 +30,7 @@
 #include <gui/GLConsumer.h>
 #include <gui/Surface.h>
 
+#include <GraphicsJNI.h>
 #include <SkBitmap.h>
 #include <SkPixelRef.h>
 
@@ -46,7 +47,6 @@
 static jfieldID gSurface_EGLSurfaceFieldID;
 static jfieldID gSurface_NativePixelRefFieldID;
 static jfieldID gConfig_EGLConfigFieldID;
-static jfieldID gBitmap_NativeBitmapFieldID;
 
 static inline EGLDisplay getDisplay(JNIEnv* env, jobject o) {
     if (!o) return EGL_NO_DISPLAY;
@@ -85,9 +85,6 @@
     jclass surface_class = _env->FindClass("com/google/android/gles_jni/EGLSurfaceImpl");
     gSurface_EGLSurfaceFieldID = _env->GetFieldID(surface_class, "mEGLSurface", "J");
     gSurface_NativePixelRefFieldID = _env->GetFieldID(surface_class, "mNativePixelRef", "J");
-
-    jclass bitmap_class = _env->FindClass("android/graphics/Bitmap");
-    gBitmap_NativeBitmapFieldID = _env->GetFieldID(bitmap_class, "mNativeBitmap", "J");
 }
 
 static const jint gNull_attrib_base[] = {EGL_NONE};
@@ -280,9 +277,7 @@
     EGLConfig  cnf = getConfig(_env, config);
     jint* base = 0;
 
-    SkBitmap const * nativeBitmap =
-            (SkBitmap const *)_env->GetLongField(native_pixmap,
-                    gBitmap_NativeBitmapFieldID);
+    SkBitmap const * nativeBitmap = GraphicsJNI::getSkBitmap(_env, native_pixmap);
     SkPixelRef* ref = nativeBitmap ? nativeBitmap->pixelRef() : 0;
     if (ref == NULL) {
         jniThrowException(_env, "java/lang/IllegalArgumentException", "Bitmap has no PixelRef");
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 4b97138..ed4776b 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -2835,6 +2835,18 @@
         android:label="@string/permlab_access_keyguard_secure_storage"
         android:description="@string/permdesc_access_keyguard_secure_storage" />
 
+    <!-- Allows managing (adding, removing) fingerprint templates. Reserved for the system. @hide -->
+    <permission android:name="android.permission.MANAGE_FINGERPRINT"
+        android:protectionLevel="signature"
+        android:label="@string/permlab_manageFingerprint"
+        android:description="@string/permdesc_manageFingerprint" />
+
+    <!-- Allows an app to use fingerprint hardware. -->
+    <permission android:name="android.permission.USE_FINGERPRINT"
+        android:protectionLevel="dangerous"
+        android:label="@string/permlab_useFingerprint"
+        android:description="@string/permdesc_useFingerprint" />
+
     <!-- Allows an application to control keyguard.  Only allowed for system processes.
         @hide -->
     <permission android:name="android.permission.CONTROL_KEYGUARD"
@@ -2880,6 +2892,14 @@
         android:description="@string/permdesc_bindNotificationListenerService"
         android:protectionLevel="signature" />
 
+    <!-- Must be required by a {@link
+         android.service.chooser.ChooserTargetService}, to ensure that
+         only the system can bind to it. -->
+    <permission android:name="android.permission.BIND_CHOOSER_TARGET_SERVICE"
+        android:label="@string/permlab_bindChooserTargetService"
+        android:description="@string/permdesc_bindChooserTargetService"
+        android:protectionLevel="signature" />
+
     <!-- @SystemApi Must be required by a {@link
          android.service.notification.ConditionProviderService},
          to ensure that only the system can bind to it.
@@ -3013,6 +3033,19 @@
                 android:excludeFromRecents="true"
                 android:process=":ui">
         </activity>
+        <activity android:name="com.android.internal.app.DumpHeapActivity"
+                android:theme="@style/Theme.Translucent.NoTitleBar"
+                android:label="@string/dump_heap_title"
+                android:finishOnCloseSystemDialogs="true"
+                android:noHistory="true"
+                android:excludeFromRecents="true"
+                android:process=":ui">
+        </activity>
+        <provider android:name="com.android.server.am.DumpHeapProvider"
+                android:authorities="com.android.server.heapdump"
+                android:grantUriPermissions="true"
+                android:multiprocess="false"
+                android:singleUser="true" />
 
         <activity android:name="android.accounts.ChooseAccountActivity"
                 android:excludeFromRecents="true"
@@ -3176,6 +3209,10 @@
                  android:permission="android.permission.BIND_JOB_SERVICE" >
         </service>
 
+        <service android:name="com.android.server.backup.KeyValueBackupJob"
+                 android:permission="android.permission.BIND_JOB_SERVICE" >
+        </service>
+
         <service
             android:name="com.android.server.pm.BackgroundDexOptService"
             android:exported="true"
diff --git a/core/res/res/color/date_picker_calendar_holo_dark.xml b/core/res/res/color/date_picker_calendar_holo_dark.xml
deleted file mode 100644
index 6749ea1..0000000
--- a/core/res/res/color/date_picker_calendar_holo_dark.xml
+++ /dev/null
@@ -1,24 +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.
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item android:state_enabled="false"
-          android:color="@color/datepicker_default_disabled_text_color_holo_dark" />
-    <item android:state_activated="true"
-          android:color="@color/holo_blue_light" />
-    <item android:color="@color/datepicker_default_normal_text_color_holo_dark" />
-
-</selector>
\ No newline at end of file
diff --git a/core/res/res/color/date_picker_calendar_holo_light.xml b/core/res/res/color/date_picker_calendar_holo_light.xml
deleted file mode 100644
index 0aa116a..0000000
--- a/core/res/res/color/date_picker_calendar_holo_light.xml
+++ /dev/null
@@ -1,24 +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.
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item android:state_enabled="false"
-        android:color="@color/datepicker_default_disabled_text_color_holo_light" />
-    <item android:state_activated="true"
-        android:color="@color/holo_blue_light" />
-    <item android:color="@color/datepicker_default_normal_text_color_holo_light" />
-
-</selector>
\ No newline at end of file
diff --git a/core/res/res/color/date_picker_header_text_material.xml b/core/res/res/color/date_picker_header_text_material.xml
new file mode 100644
index 0000000..cda894b
--- /dev/null
+++ b/core/res/res/color/date_picker_header_text_material.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:state_selected="true"
+        android:color="?attr/textColorPrimaryInverse" />
+    <item
+        android:color="?attr/textColorSecondaryInverse" />
+</selector>
\ No newline at end of file
diff --git a/core/res/res/color/date_picker_selector_holo_dark.xml b/core/res/res/color/date_picker_selector_holo_dark.xml
deleted file mode 100644
index 9e5a5bd..0000000
--- a/core/res/res/color/date_picker_selector_holo_dark.xml
+++ /dev/null
@@ -1,25 +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.
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item android:state_pressed="true"
-          android:color="@color/datepicker_default_pressed_text_color_holo_dark"/>
-    <item android:state_pressed="false" android:state_selected="true"
-          android:color="@color/datepicker_default_selected_text_color_holo_dark"/>
-    <item android:state_pressed="false" android:state_selected="false"
-          android:color="@color/datepicker_default_normal_text_color_holo_dark"/>
-
-</selector>
\ No newline at end of file
diff --git a/core/res/res/color/date_picker_selector_holo_light.xml b/core/res/res/color/date_picker_selector_holo_light.xml
deleted file mode 100644
index bf8667c..0000000
--- a/core/res/res/color/date_picker_selector_holo_light.xml
+++ /dev/null
@@ -1,25 +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.
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item android:state_pressed="true"
-          android:color="@color/datepicker_default_pressed_text_color_holo_light"/>
-    <item android:state_pressed="false" android:state_selected="true"
-          android:color="@color/datepicker_default_selected_text_color_holo_light"/>
-    <item android:state_pressed="false" android:state_selected="false"
-          android:color="@color/datepicker_default_normal_text_color_holo_light"/>
-
-</selector>
\ No newline at end of file
diff --git a/core/res/res/color/date_picker_year_selector_holo_dark.xml b/core/res/res/color/date_picker_year_selector_holo_dark.xml
deleted file mode 100644
index ce519b2..0000000
--- a/core/res/res/color/date_picker_year_selector_holo_dark.xml
+++ /dev/null
@@ -1,23 +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.
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item android:state_pressed="true"
-          android:color="@color/datepicker_default_pressed_text_color_holo_dark"/>
-    <item android:state_pressed="false" android:state_selected="false"
-          android:color="@color/datepicker_default_normal_text_color_holo_dark"/>
-
-</selector>
\ No newline at end of file
diff --git a/core/res/res/color/date_picker_year_selector_holo_light.xml b/core/res/res/color/date_picker_year_selector_holo_light.xml
deleted file mode 100644
index c228711..0000000
--- a/core/res/res/color/date_picker_year_selector_holo_light.xml
+++ /dev/null
@@ -1,23 +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.
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item android:state_pressed="true"
-          android:color="@color/datepicker_default_pressed_text_color_holo_light"/>
-    <item android:state_pressed="false" android:state_selected="false"
-          android:color="@color/datepicker_default_normal_text_color_holo_light"/>
-
-</selector>
\ No newline at end of file
diff --git a/core/res/res/color/hint_foreground_material_dark.xml b/core/res/res/color/hint_foreground_material_dark.xml
new file mode 100644
index 0000000..77883d9
--- /dev/null
+++ b/core/res/res/color/hint_foreground_material_dark.xml
@@ -0,0 +1,20 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:alpha="@dimen/hint_alpha_material_dark"
+          android:color="@color/foreground_material_dark" />
+</selector>
diff --git a/core/res/res/color/hint_foreground_material_light.xml b/core/res/res/color/hint_foreground_material_light.xml
new file mode 100644
index 0000000..99168fd
--- /dev/null
+++ b/core/res/res/color/hint_foreground_material_light.xml
@@ -0,0 +1,20 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:alpha="@dimen/hint_alpha_material_light"
+          android:color="@color/foreground_material_light" />
+</selector>
diff --git a/core/res/res/color/primary_text_disable_only_material_dark.xml b/core/res/res/color/primary_text_disable_only_material_dark.xml
index a6296c96..8bfefa7 100644
--- a/core/res/res/color/primary_text_disable_only_material_dark.xml
+++ b/core/res/res/color/primary_text_disable_only_material_dark.xml
@@ -17,6 +17,6 @@
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_enabled="false"
           android:alpha="@dimen/disabled_alpha_material_dark"
-          android:color="@color/bright_foreground_material_dark"/>
-    <item android:color="@color/bright_foreground_material_dark"/>
+          android:color="@color/foreground_material_dark"/>
+    <item android:color="@color/foreground_material_dark"/>
 </selector>
diff --git a/core/res/res/color/primary_text_disable_only_material_light.xml b/core/res/res/color/primary_text_disable_only_material_light.xml
index b781844..0cc09fc 100644
--- a/core/res/res/color/primary_text_disable_only_material_light.xml
+++ b/core/res/res/color/primary_text_disable_only_material_light.xml
@@ -17,6 +17,6 @@
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_enabled="false"
           android:alpha="@dimen/disabled_alpha_material_light"
-          android:color="@color/bright_foreground_material_light"/>
-    <item android:color="@color/bright_foreground_material_light"/>
+          android:color="@color/foreground_material_light"/>
+    <item android:color="@color/foreground_material_light"/>
 </selector>
diff --git a/core/res/res/color/ripple_material_dark.xml b/core/res/res/color/ripple_material_dark.xml
new file mode 100644
index 0000000..940e5da
--- /dev/null
+++ b/core/res/res/color/ripple_material_dark.xml
@@ -0,0 +1,20 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:alpha="@dimen/highlight_alpha_material_dark"
+          android:color="@color/foreground_material_dark" />
+</selector>
diff --git a/core/res/res/color/ripple_material_light.xml b/core/res/res/color/ripple_material_light.xml
new file mode 100644
index 0000000..406a133
--- /dev/null
+++ b/core/res/res/color/ripple_material_light.xml
@@ -0,0 +1,20 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:alpha="@dimen/highlight_alpha_material_light"
+          android:color="@color/foreground_material_light" />
+</selector>
diff --git a/core/res/res/color/time_picker_header_text_material.xml b/core/res/res/color/time_picker_header_text_material.xml
new file mode 100644
index 0000000..cda894b
--- /dev/null
+++ b/core/res/res/color/time_picker_header_text_material.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:state_selected="true"
+        android:color="?attr/textColorPrimaryInverse" />
+    <item
+        android:color="?attr/textColorSecondaryInverse" />
+</selector>
\ No newline at end of file
diff --git a/core/res/res/drawable-hdpi/text_select_handle_left_mtrl_alpha.png b/core/res/res/drawable-hdpi/text_select_handle_left_mtrl_alpha.png
index 9cdc25b..1550b44 100644
--- a/core/res/res/drawable-hdpi/text_select_handle_left_mtrl_alpha.png
+++ b/core/res/res/drawable-hdpi/text_select_handle_left_mtrl_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/text_select_handle_right_mtrl_alpha.png b/core/res/res/drawable-hdpi/text_select_handle_right_mtrl_alpha.png
index 276d480..b309dfd 100644
--- a/core/res/res/drawable-hdpi/text_select_handle_right_mtrl_alpha.png
+++ b/core/res/res/drawable-hdpi/text_select_handle_right_mtrl_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/text_select_handle_left_mtrl_alpha.png b/core/res/res/drawable-mdpi/text_select_handle_left_mtrl_alpha.png
index 95c0168..b36a413 100644
--- a/core/res/res/drawable-mdpi/text_select_handle_left_mtrl_alpha.png
+++ b/core/res/res/drawable-mdpi/text_select_handle_left_mtrl_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/text_select_handle_right_mtrl_alpha.png b/core/res/res/drawable-mdpi/text_select_handle_right_mtrl_alpha.png
index 569332a..afd0bd2 100644
--- a/core/res/res/drawable-mdpi/text_select_handle_right_mtrl_alpha.png
+++ b/core/res/res/drawable-mdpi/text_select_handle_right_mtrl_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/text_select_handle_left_mtrl_alpha.png b/core/res/res/drawable-xhdpi/text_select_handle_left_mtrl_alpha.png
index a01ac10..58f8c43 100644
--- a/core/res/res/drawable-xhdpi/text_select_handle_left_mtrl_alpha.png
+++ b/core/res/res/drawable-xhdpi/text_select_handle_left_mtrl_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/text_select_handle_right_mtrl_alpha.png b/core/res/res/drawable-xhdpi/text_select_handle_right_mtrl_alpha.png
index d3602d9..42a893d 100644
--- a/core/res/res/drawable-xhdpi/text_select_handle_right_mtrl_alpha.png
+++ b/core/res/res/drawable-xhdpi/text_select_handle_right_mtrl_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/text_select_handle_left_mtrl_alpha.png b/core/res/res/drawable-xxhdpi/text_select_handle_left_mtrl_alpha.png
index 75085ce..d0f274a 100644
--- a/core/res/res/drawable-xxhdpi/text_select_handle_left_mtrl_alpha.png
+++ b/core/res/res/drawable-xxhdpi/text_select_handle_left_mtrl_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/text_select_handle_right_mtrl_alpha.png b/core/res/res/drawable-xxhdpi/text_select_handle_right_mtrl_alpha.png
index e2eb5be..f1f637a 100644
--- a/core/res/res/drawable-xxhdpi/text_select_handle_right_mtrl_alpha.png
+++ b/core/res/res/drawable-xxhdpi/text_select_handle_right_mtrl_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxxhdpi/text_select_handle_left_mtrl_alpha.png b/core/res/res/drawable-xxxhdpi/text_select_handle_left_mtrl_alpha.png
new file mode 100644
index 0000000..643168f
--- /dev/null
+++ b/core/res/res/drawable-xxxhdpi/text_select_handle_left_mtrl_alpha.png
Binary files differ
diff --git a/core/res/res/drawable-xxxhdpi/text_select_handle_right_mtrl_alpha.png b/core/res/res/drawable-xxxhdpi/text_select_handle_right_mtrl_alpha.png
new file mode 100644
index 0000000..e8f3aad
--- /dev/null
+++ b/core/res/res/drawable-xxxhdpi/text_select_handle_right_mtrl_alpha.png
Binary files differ
diff --git a/core/res/res/drawable/ic_expand_more_48dp.xml b/core/res/res/drawable/ic_expand_more_48dp.xml
new file mode 100644
index 0000000..11323e3
--- /dev/null
+++ b/core/res/res/drawable/ic_expand_more_48dp.xml
@@ -0,0 +1,27 @@
+<!--
+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="48.0dp"
+        android:height="48.0dp"
+        android:viewportWidth="48.0"
+        android:viewportHeight="48.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M33.17,17.17L24.0,26.34l-9.17,-9.17L12.0,20.0l12.0,12.0 12.0,-12.0z"/>
+    <path
+        android:pathData="M0 0h48v48H0z"
+        android:fillColor="#00000000"/>
+</vector>
diff --git a/core/res/res/drawable/immersive_cling_bg_circ.xml b/core/res/res/drawable/immersive_cling_bg_circ.xml
new file mode 100644
index 0000000..4731bbd
--- /dev/null
+++ b/core/res/res/drawable/immersive_cling_bg_circ.xml
@@ -0,0 +1,26 @@
+<?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
+  -->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="oval" >
+
+    <solid android:color="@color/white" />
+
+    <size
+        android:height="56dp"
+        android:width="56dp" />
+
+</shape>
diff --git a/core/res/res/drawable/immersive_cling_light_bg_circ.xml b/core/res/res/drawable/immersive_cling_light_bg_circ.xml
new file mode 100644
index 0000000..df5d5ad
--- /dev/null
+++ b/core/res/res/drawable/immersive_cling_light_bg_circ.xml
@@ -0,0 +1,26 @@
+<?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
+  -->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="oval" >
+
+    <solid android:color="#80ffffff" />
+
+    <size
+        android:height="76dp"
+        android:width="76dp" />
+
+</shape>
diff --git a/core/res/res/layout-land/time_picker_holo.xml b/core/res/res/layout-land/time_picker_holo.xml
deleted file mode 100644
index f6923ee..0000000
--- a/core/res/res/layout-land/time_picker_holo.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-**
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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="match_parent"
-    android:orientation="horizontal">
-    <FrameLayout
-        android:layout_width="0dp"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:minWidth="@dimen/timepicker_left_side_width"
-        android:orientation="vertical">
-        <include
-            layout="@layout/time_header_label"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_gravity="center" />
-    </FrameLayout>
-    <android.widget.RadialTimePickerView
-        android:id="@+id/radial_picker"
-        android:layout_width="@dimen/timepicker_radial_picker_dimen"
-        android:layout_height="match_parent"
-        android:layout_gravity="center" />
-</LinearLayout>
diff --git a/core/res/res/layout-land/time_picker_material.xml b/core/res/res/layout-land/time_picker_material.xml
new file mode 100644
index 0000000..1b85e8f
--- /dev/null
+++ b/core/res/res/layout-land/time_picker_material.xml
@@ -0,0 +1,155 @@
+<?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.
+-->
+
+<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
+            xmlns:tools="http://schemas.android.com/tools"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+
+    <View
+        android:id="@+id/time_header"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_column="0"
+        android:layout_row="0"
+        android:layout_rowSpan="3"
+        android:layout_gravity="center|fill"
+        tools:background="@color/accent_material_light" />
+
+    <RelativeLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_column="0"
+        android:layout_row="1"
+        android:layout_gravity="center|fill"
+        android:paddingStart="?attr/dialogPreferredPadding"
+        android:paddingEnd="?attr/dialogPreferredPadding">
+
+        <LinearLayout
+            android:id="@+id/time_layout"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal"
+            android:layout_centerInParent="true"
+            android:paddingTop="@dimen/timepicker_radial_picker_top_margin">
+
+            <!-- The hour should always be to the left of the separator,
+                 regardless of the current locale's layout direction. -->
+            <TextView
+                android:id="@+id/hours"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:singleLine="true"
+                android:ellipsize="none"
+                android:gravity="right"
+                tools:text="23"
+                tools:textSize="@dimen/timepicker_time_label_size"
+                tools:textColor="@color/white" />
+
+            <TextView
+                android:id="@+id/separator"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:importantForAccessibility="no"
+                tools:text=":"
+                tools:textSize="@dimen/timepicker_time_label_size"
+                tools:textColor="@color/white" />
+
+            <!-- The minutes should always be to the right of the separator,
+                 regardless of the current locale's layout direction. -->
+            <TextView
+                android:id="@+id/minutes"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:singleLine="true"
+                android:ellipsize="none"
+                android:gravity="left"
+                tools:text="59"
+                tools:textSize="@dimen/timepicker_time_label_size"
+                tools:textColor="@color/white" />
+        </LinearLayout>
+
+        <!-- The layout alignment of this view will switch between toRightOf
+             @id/minutes and toLeftOf @id/hours depending on the locale. -->
+        <LinearLayout
+            android:id="@+id/ampm_layout"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@+id/time_layout"
+            android:layout_centerHorizontal="true"
+            android:orientation="vertical">
+
+            <CheckedTextView
+                android:id="@+id/am_label"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:paddingStart="@dimen/timepicker_ampm_horizontal_padding"
+                android:paddingEnd="@dimen/timepicker_ampm_horizontal_padding"
+                android:paddingTop="@dimen/timepicker_am_top_padding"
+                android:lines="1"
+                android:ellipsize="none"
+                android:includeFontPadding="false"
+                tools:text="AM"
+                tools:textSize="@dimen/timepicker_ampm_label_size"
+                tools:textColor="@color/white" />
+
+            <CheckedTextView
+                android:id="@+id/pm_label"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:paddingStart="@dimen/timepicker_ampm_horizontal_padding"
+                android:paddingEnd="@dimen/timepicker_ampm_horizontal_padding"
+                android:paddingTop="@dimen/timepicker_pm_top_padding"
+                android:lines="1"
+                android:ellipsize="none"
+                android:includeFontPadding="false"
+                tools:text="PM"
+                tools:textSize="@dimen/timepicker_ampm_label_size"
+                tools:textColor="@color/white" />
+        </LinearLayout>
+    </RelativeLayout>
+
+    <ViewStub
+        android:id="@id/topPanel"
+        android:layout="@layout/alert_dialog_title_material"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_column="1"
+        android:layout_row="0"
+        android:layout_gravity="top|fill_horizontal" />
+
+    <android.widget.RadialTimePickerView
+        android:id="@+id/radial_picker"
+        android:layout_width="@dimen/timepicker_radial_picker_dimen"
+        android:layout_height="@dimen/timepicker_radial_picker_dimen"
+        android:layout_column="1"
+        android:layout_row="1"
+        android:layout_rowWeight="1"
+        android:layout_gravity="center|fill"
+        android:layout_marginTop="@dimen/timepicker_radial_picker_top_margin"
+        android:layout_marginStart="@dimen/timepicker_radial_picker_horizontal_margin"
+        android:layout_marginEnd="@dimen/timepicker_radial_picker_horizontal_margin" />
+
+    <ViewStub
+        android:id="@id/buttonPanel"
+        android:layout="@layout/alert_dialog_button_bar_material"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_column="1"
+        android:layout_row="2"
+        android:layout_gravity="bottom|fill_horizontal" />
+</GridLayout>
diff --git a/core/res/res/layout-television/user_switching_dialog.xml b/core/res/res/layout-television/user_switching_dialog.xml
new file mode 100644
index 0000000..72150e3
--- /dev/null
+++ b/core/res/res/layout-television/user_switching_dialog.xml
@@ -0,0 +1,29 @@
+<?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.
+-->
+
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+        android:id="@+id/message"
+        style="?attr/textAppearanceListItem"
+        android:layout_width="match_parent"
+        android:background="@color/background_leanback_dark"
+        android:textColor="@color/primary_text_leanback_dark"
+        android:layout_height="match_parent"
+        android:gravity="center"
+        android:paddingStart="?attr/dialogPreferredPadding"
+        android:paddingEnd="?attr/dialogPreferredPadding"
+        android:paddingTop="24dp"
+        android:paddingBottom="24dp" />
diff --git a/core/res/res/layout/alert_dialog_material.xml b/core/res/res/layout/alert_dialog_material.xml
index c8735b1..bf1e383 100644
--- a/core/res/res/layout/alert_dialog_material.xml
+++ b/core/res/res/layout/alert_dialog_material.xml
@@ -22,34 +22,7 @@
     android:layout_height="wrap_content"
     android:orientation="vertical">
 
-    <LinearLayout android:id="@+id/topPanel"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical">
-        <LinearLayout android:id="@+id/title_template"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:gravity="center_vertical|start"
-            android:paddingStart="?attr/dialogPreferredPadding"
-            android:paddingEnd="?attr/dialogPreferredPadding"
-            android:paddingTop="@dimen/dialog_padding_top_material">
-            <ImageView android:id="@+id/icon"
-                android:layout_width="32dip"
-                android:layout_height="32dip"
-                android:layout_marginEnd="8dip"
-                android:scaleType="fitCenter"
-                android:src="@null" />
-            <com.android.internal.widget.DialogTitle android:id="@+id/alertTitle"
-                style="?attr/windowTitleStyle"
-                android:singleLine="true"
-                android:ellipsize="end"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:textAlignment="viewStart" />
-        </LinearLayout>
-        <!-- If the client uses a customTitle, it will be added here. -->
-    </LinearLayout>
+    <include layout="@layout/alert_dialog_title_material" />
 
     <FrameLayout android:id="@+id/contentPanel"
         android:layout_width="match_parent"
diff --git a/core/res/res/layout/alert_dialog_title_material.xml b/core/res/res/layout/alert_dialog_title_material.xml
new file mode 100644
index 0000000..f61b90b
--- /dev/null
+++ b/core/res/res/layout/alert_dialog_title_material.xml
@@ -0,0 +1,53 @@
+<?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.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              android:id="@+id/topPanel"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content"
+              android:orientation="vertical">
+
+    <LinearLayout
+        android:id="@+id/title_template"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        android:gravity="center_vertical|start"
+        android:paddingStart="?attr/dialogPreferredPadding"
+        android:paddingEnd="?attr/dialogPreferredPadding"
+        android:paddingTop="@dimen/dialog_padding_top_material">
+
+        <ImageView
+            android:id="@+id/icon"
+            android:layout_width="32dip"
+            android:layout_height="32dip"
+            android:layout_marginEnd="8dip"
+            android:scaleType="fitCenter"
+            android:src="@null" />
+
+        <com.android.internal.widget.DialogTitle
+            android:id="@+id/alertTitle"
+            style="?attr/windowTitleStyle"
+            android:singleLine="true"
+            android:ellipsize="end"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:textAlignment="viewStart" />
+    </LinearLayout>
+
+    <!-- If the client uses a customTitle, it will be added here. -->
+</LinearLayout>
\ No newline at end of file
diff --git a/core/res/res/layout/immersive_mode_cling.xml b/core/res/res/layout/immersive_mode_cling.xml
index c0cd93d..28fbea5 100644
--- a/core/res/res/layout/immersive_mode_cling.xml
+++ b/core/res/res/layout/immersive_mode_cling.xml
@@ -13,55 +13,80 @@
      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:orientation="vertical"
-    android:padding="12dp"
-    >
-    <LinearLayout
-        android:id="@+id/text"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:orientation="vertical"
-        android:layout_marginTop="4dp"
-        android:padding="1dp"
-        >
+        android:background="#ff009688"
+        android:gravity="center_vertical"
+        android:paddingBottom="24dp">
+
+    <FrameLayout
+            android:id="@+id/immersive_cling_chevron"
+            android:layout_width="76dp"
+            android:layout_height="76dp"
+            android:layout_marginTop="-24dp"
+            android:layout_centerHorizontal="true">
+
         <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_horizontal"
-            android:src="@drawable/cling_arrow_up"
-            />
-        <FrameLayout
+                android:id="@+id/immersive_cling_back_bg_light"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:scaleType="center"
+                android:src="@drawable/immersive_cling_light_bg_circ" />
+
+        <ImageView
+                android:id="@+id/immersive_cling_back_bg"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:scaleType="center"
+                android:src="@drawable/immersive_cling_bg_circ" />
+
+        <ImageView
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:paddingTop="8dp"
+                android:scaleType="center"
+                android:src="@drawable/ic_expand_more_48dp"
+                android:tint="#ff009688"/>
+    </FrameLayout>
+
+    <TextView
+            android:id="@+id/immersive_cling_title"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:background="@drawable/cling_bg"
-            android:paddingStart="14dp"
-            android:paddingEnd="14dp"
-            android:paddingTop="24dp"
-            android:paddingBottom="24dp">
-            <TextView
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/immersive_mode_confirmation"
-                android:textColor="#80000000"
-                android:textSize="16sp"
-                />
-        </FrameLayout>
-    </LinearLayout>
+            android:layout_below="@id/immersive_cling_chevron"
+            android:paddingEnd="48dp"
+            android:paddingStart="48dp"
+            android:paddingTop="40dp"
+            android:text="@string/immersive_cling_title"
+            android:textColor="@color/primary_text_default_material_light"
+            android:textSize="24sp" />
+
+    <TextView
+            android:id="@+id/immersive_cling_description"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/immersive_cling_title"
+            android:paddingEnd="48dp"
+            android:paddingStart="48dp"
+            android:paddingTop="12.6dp"
+            android:text="@string/immersive_cling_description"
+            android:textColor="@color/primary_text_default_material_light"
+            android:textSize="16sp" />
 
     <Button
-        android:id="@+id/ok"
-        android:layout_width="160sp"
-        android:layout_height="wrap_content"
-        android:layout_gravity="right"
-        android:layout_marginTop="18dp"
-        android:gravity="center"
-        android:text="@string/ok"
-        android:background="@drawable/cling_button"
-        />
+            android:id="@+id/ok"
+            style="@style/Widget.Material.Button.Borderless"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentEnd="true"
+            android:layout_below="@+id/immersive_cling_description"
+            android:layout_marginEnd="40dp"
+            android:layout_marginTop="18dp"
+            android:paddingEnd="8dp"
+            android:paddingStart="8dp"
+            android:text="@string/immersive_cling_positive"
+            android:textColor="@android:color/white"
+            android:textSize="14sp" />
 
-</LinearLayout>
-
-
+</RelativeLayout>
\ No newline at end of file
diff --git a/core/res/res/layout/time_header_label.xml b/core/res/res/layout/time_header_label.xml
deleted file mode 100644
index 46e7c54..0000000
--- a/core/res/res/layout/time_header_label.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2013 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License
-  -->
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/time_header"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:gravity="center"
-    android:orientation="horizontal"
-    android:padding="@dimen/timepicker_separator_padding">
-
-    <!-- The hour should always be to the left of the separator,
-         regardless of the current locale's layout direction. -->
-    <TextView
-        android:id="@+id/hours"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_toLeftOf="@+id/separator"
-        android:layout_alignBaseline="@+id/separator"
-        android:gravity="right" />
-
-    <TextView
-        android:id="@+id/separator"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="@dimen/timepicker_separator_padding"
-        android:layout_marginRight="@dimen/timepicker_separator_padding"
-        android:layout_centerInParent="true"
-        android:importantForAccessibility="no" />
-
-    <!-- The minutes should always be to the left of the separator,
-         regardless of the current locale's layout direction. -->
-    <TextView
-        android:id="@+id/minutes"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_toRightOf="@+id/separator"
-        android:layout_alignBaseline="@+id/separator"
-        android:gravity="left" />
-
-    <!-- The layout alignment of this view will switch between toRightOf
-         @id/minutes and toLeftOf @id/hours depending on the locale. -->
-    <LinearLayout
-        android:id="@+id/ampm_layout"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_toRightOf="@+id/minutes"
-        android:layout_alignBaseline="@+id/minutes"
-        android:orientation="vertical"
-        android:baselineAlignedChildIndex="1">
-        <CheckedTextView
-            android:id="@+id/am_label"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:paddingStart="@dimen/timepicker_ampm_horizontal_padding"
-            android:paddingEnd="@dimen/timepicker_ampm_horizontal_padding"
-            android:paddingTop="@dimen/timepicker_ampm_vertical_padding"
-            android:lines="1"
-            android:ellipsize="none" />
-        <CheckedTextView
-            android:id="@+id/pm_label"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:paddingStart="@dimen/timepicker_ampm_horizontal_padding"
-            android:paddingEnd="@dimen/timepicker_ampm_horizontal_padding"
-            android:paddingTop="@dimen/timepicker_pm_top_padding"
-            android:lines="1"
-            android:ellipsize="none" />
-    </LinearLayout>
-</RelativeLayout>
diff --git a/core/res/res/layout/time_picker_header_material.xml b/core/res/res/layout/time_picker_header_material.xml
new file mode 100644
index 0000000..0ef404d
--- /dev/null
+++ b/core/res/res/layout/time_picker_header_material.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2013 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License
+  -->
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+                xmlns:tools="http://schemas.android.com/tools"
+                android:id="@+id/time_header"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="horizontal"
+                android:padding="@dimen/timepicker_separator_padding"
+                tools:background="@color/accent_material_light">
+
+    <!-- The hour should always be to the left of the separator,
+         regardless of the current locale's layout direction. -->
+    <TextView
+        android:id="@+id/hours"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_toLeftOf="@+id/separator"
+        android:layout_alignBaseline="@+id/separator"
+        android:singleLine="true"
+        android:ellipsize="none"
+        android:gravity="right"
+        tools:text="23"
+        tools:textSize="@dimen/timepicker_time_label_size"
+        tools:textColor="@color/white" />
+
+    <TextView
+        android:id="@+id/separator"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="@dimen/timepicker_separator_padding"
+        android:layout_marginRight="@dimen/timepicker_separator_padding"
+        android:layout_centerInParent="true"
+        android:importantForAccessibility="no"
+        tools:text=":"
+        tools:textSize="@dimen/timepicker_time_label_size"
+        tools:textColor="@color/white" />
+
+    <!-- The minutes should always be to the left of the separator,
+         regardless of the current locale's layout direction. -->
+    <TextView
+        android:id="@+id/minutes"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_toRightOf="@+id/separator"
+        android:layout_alignBaseline="@+id/separator"
+        android:singleLine="true"
+        android:ellipsize="none"
+        android:gravity="left"
+        tools:text="59"
+        tools:textSize="@dimen/timepicker_time_label_size"
+        tools:textColor="@color/white" />
+
+    <!-- The layout alignment of this view will switch between toRightOf
+         @id/minutes and toLeftOf @id/hours depending on the locale. -->
+    <LinearLayout
+        android:id="@+id/ampm_layout"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_toRightOf="@+id/minutes"
+        android:layout_alignBaseline="@+id/minutes"
+        android:orientation="vertical"
+        android:baselineAlignedChildIndex="1">
+        <CheckedTextView
+            android:id="@+id/am_label"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:paddingStart="@dimen/timepicker_ampm_horizontal_padding"
+            android:paddingEnd="@dimen/timepicker_ampm_horizontal_padding"
+            android:paddingTop="@dimen/timepicker_am_top_padding"
+            android:lines="1"
+            android:ellipsize="none"
+            tools:text="AM"
+            tools:textSize="@dimen/timepicker_ampm_label_size"
+            tools:textColor="@color/white" />
+        <CheckedTextView
+            android:id="@+id/pm_label"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:paddingStart="@dimen/timepicker_ampm_horizontal_padding"
+            android:paddingEnd="@dimen/timepicker_ampm_horizontal_padding"
+            android:paddingTop="@dimen/timepicker_pm_top_padding"
+            android:lines="1"
+            android:ellipsize="none"
+            tools:text="PM"
+            tools:textSize="@dimen/timepicker_ampm_label_size"
+            tools:textColor="@color/white" />
+    </LinearLayout>
+</RelativeLayout>
diff --git a/core/res/res/layout/time_picker_holo.xml b/core/res/res/layout/time_picker_holo.xml
deleted file mode 100644
index cb25dbe..0000000
--- a/core/res/res/layout/time_picker_holo.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-**
-** Copyright 2013, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT 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="match_parent"
-    android:orientation="vertical">
-    <include
-        layout="@layout/time_header_label"
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/timepicker_header_height"
-        android:layout_gravity="center" />
-    <android.widget.RadialTimePickerView
-        android:id="@+id/radial_picker"
-        android:layout_width="wrap_content"
-        android:layout_height="@dimen/timepicker_radial_picker_dimen"
-        android:layout_gravity="center"
-        android:layout_marginTop="?attr/dialogPreferredPadding"
-        android:layout_marginStart="?attr/dialogPreferredPadding"
-        android:layout_marginEnd="?attr/dialogPreferredPadding" />
-</LinearLayout>
diff --git a/core/res/res/layout/time_picker_legacy_holo.xml b/core/res/res/layout/time_picker_legacy_material.xml
similarity index 100%
rename from core/res/res/layout/time_picker_legacy_holo.xml
rename to core/res/res/layout/time_picker_legacy_material.xml
diff --git a/core/res/res/layout/time_picker_material.xml b/core/res/res/layout/time_picker_material.xml
new file mode 100644
index 0000000..37a7384
--- /dev/null
+++ b/core/res/res/layout/time_picker_material.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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="match_parent"
+    android:orientation="vertical">
+    <include
+        layout="@layout/time_picker_header_material"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/timepicker_header_height"
+        android:layout_gravity="center" />
+    <android.widget.RadialTimePickerView
+        android:id="@+id/radial_picker"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/timepicker_radial_picker_dimen"
+        android:layout_gravity="center"
+        android:layout_marginTop="@dimen/timepicker_radial_picker_top_margin"
+        android:layout_marginStart="@dimen/timepicker_radial_picker_horizontal_margin"
+        android:layout_marginEnd="@dimen/timepicker_radial_picker_horizontal_margin" />
+</LinearLayout>
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index a33f8af..5a12efb 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Laat die program toe om met kortveldkommunikasie- (NFC) merkers, kaarte en lesers te kommunikeer."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"deaktiveer jou skermslot"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Laat die program toe om die sleutelslot en enige verwante wagwoordsekuriteit te deaktiveer. Byvoorbeeld, die foon deaktiveer die sleutelslot wanneer ’n oproep inkom, en atkiveer dit dan weer wanneer die oproep eindig."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"bestuur vingerafdrukhardeware"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Laat die program toe om metodes te benut om vingerafdruksjablone vir gebruik by te voeg en uit te vee."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"gebruik vingerafdrukhardeware"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Laat die program toe om vingerafdrukhardeware vir stawing te gebruik"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"lees sinkroniseer-instellings"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Laat die program toe om die sinkroniseringinstellings van \'n rekening te lees. Byvoorbeeld, dit kan bepaal of die People-program met \'n rekening gesinkroniseer is."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"wissel tussen sinkronisasie aan en af"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Laat die program toe om kennisgewings op te haal, te bestudeer en te verwyder, insluitende die kennisgewings wat deur ander programme geplaas is."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"bind aan \'n kennisgewingluisteraardiens"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Laat die houer toe om aan die top-koppelvlak van \'n kennisgewingluisteraardiens te bind. Behoort nooit vir gewone programme nodig te wees nie."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"bind aan \'n kieserteikendiens"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Laat die houer toe om aan die top-koppelvlak van \'n kieserteikendiens te bind. Behoort nooit vir gewone programme nodig te wees nie."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"verbind met \'n toestandverskafferdiens"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Laat die houer toe om met die topvlak-koppelvlak van \'n toestandverskafferdiens te verbind. Behoort nooit vir normale programme nodig te wees nie."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"bind aan \'n mediaroetediens"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"bind aan \'n diensverskaffer-boodskapdiens"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Dit laat die houer toe om aan die top-koppelvlak van \'n diensverskaffer-boodskapdiens te bind. Behoort nooit vir gewone programme nodig te wees nie."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Stel wagwoordreëls"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Beheer lengte en watter karakters wat in die skermontsluit-wagwoorde gebruik word."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Beheer die lengte en die karakters wat in skermslotwagwoorde en -PIN\'e toegelaat word."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Monitor pogings om skerm te ontsluit"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Monitor die aantal keer wat \'n verkeerde wagwoorde ingevoer is wanneer die skerm ontsluit word. Sluit die tablet of vee al die data uit as die wagwoord te veel keer verkeerd ingevoer word."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Monitor die aantal verkeerde wagwoorde wat ingevoer word wanneer die skerm ontsluit word, en sluit die TV of vee al die TV se data uit as te veel verkeerde wagwoorde ingevoer word."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Monitor die aantal keer wat \'n verkeerde wagwoorde ingevoer is wanneer die skerm ontsluit word. Sluit die foon of vee al die data uit as die wagwoord te veel keer verkeerd ingevoer word."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Wysig die wagwoord wat die skerm ontsluit"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Verander die skermontsluit-wagwoord."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Monitor die aantal verkeerde wagwoorde wat ingevoer word wanneer die skerm ontsluit word, en sluit die tablet of vee al hierdie gebruiker se data uit as te veel verkeerde wagwoorde ingevoer word."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Monitor die aantal verkeerde wagwoorde wat ingevoer word wanneer die skerm ontsluit word, en sluit die TV of vee al hierdie gebruiker se data uit as te veel verkeerde wagwoorde ingevoer word."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Monitor die aantal verkeerde wagwoorde wat ingevoer word wanneer die skerm ontsluit word, en sluit die foon of vee al hierdie gebruiker se data uit as te veel verkeerde wagwoorde ingevoer word."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Verander die skermslot"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Verander die skermslot."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Sluit die skerm"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Beheer hoe en wanneer die skerm sluit."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Vee alle data uit"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Vee die tablet se data uit sonder waarskuwing, deur \'n fabrieksterugstelling uit te voer."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Vee die TV se data sonder waarskuwing uit deur \'n fabriekterugstelling te doen."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Vee die foon se data uit sonder waarskuwing, deur \'n fabrieksterugstelling uit te voer."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Vee gebruikerdata uit"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Vee hierdie gebruiker se data in hierdie tablet sonder waarskuwing uit."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Vee hierdie gebruiker se data in hierdie TV sonder waarskuwing uit."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Vee hierdie gebruiker se data in hierdie foon sonder waarskuwing uit."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Stel die toestel se globale instaan"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Stel die toestel se globale instaan wat gebruik moet word terwyl die beleid geaktiveer is. Net die eerste toesteladministrateur stel die effektiewe globale instaan op."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Stel skermslotwagwoord se vervaldatum"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Beheer hoe gereeld die skermslot-wagwoord verander moet word."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Stel die toestel se globale instaanbediener wat gebruik moet word terwyl die beleid geaktiveer is. Net die toesteladministrateur kan die globale instaanbediener stel."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Stel skermslotwagw. se verval"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Verander hoe gereeld die skermslotwagwoord, -PIN of -patroon verander moet word."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Stel bergingsenkripsie"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Vereis dat gestoorde programdata geënkripteer word."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Deaktiveer kameras"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Voorkom die gebruik van alle toestelkameras."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Deaktiveer kenmerke in \'keyguard\'"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Voorkom die gebruik van \'n paar kenmerke in \'keyguard\'."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Deaktiveer skermslotkenmerke"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Voorkom die gebruik van sommige kenmerke van skermslot."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Tuis"</item>
     <item msgid="869923650527136615">"Mobiel"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Moenie die nuwe program begin nie."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Begin <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Stop die ou program sonder om te stoor."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Kies \'n handeling vir teks"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Luiervolume"</string>
     <string name="volume_music" msgid="5421651157138628171">"Mediavolume"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Probeer weer oor 1 sekonde</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Probeer later weer"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Swiep van bo af na onder om volskerm te verlaat."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Bekyk tans volskerm"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Swiep van bo na onder as jy wil uitgaan."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Het dit"</string>
     <string name="done_label" msgid="2093726099505892398">"Klaar"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Ure se sirkelglyer"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Minute se sirkelglyer"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Werk-<xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Om hierdie skerm te ontspeld, raak en hou tegelyk Terug en Oorsig."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Om hierdie skerm te ontspeld, raak en hou Oorsig."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Skerm is vasgespeld. Jou organisasie laat nie toe dat dit ontspeld word nie."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Skerm vasgespeld"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Skerm ontspeld"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Vra PIN voordat jy ontspeld"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Een uur lank</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Tot <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Onbepaalde tyd"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Totdat jy dit afskakel"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Vou in"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Tot die volgende wekker om <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Tot die volgende wekker"</string>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index a8dea11..1741851 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"ከቅርብ ግኑኙነት መስክ (NFC) መለያዎች፣ ካርዶች እና አንባቢ ጋር ለማገናኘት ለመተግበሪያው ይፈቅዳሉ።"</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"የማያ ገጽዎን መቆለፊያ ያሰናክሉ"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"መተግበሪያው መቆለፊያውና ማንኛውም የተጎዳኘ የይለፍ ቃል ደህንነት እንዲያሰናክል ይፈቅድለታል። ለምሳሌ ስልኩ ገቢ የስልክ ጥሪ በሚቀበልበት ጊዜ መቆለፊያውን ያሰናክልና ከዚያም ጥሪው ሲጠናቀቅ መቆለፊያውን በድጋሚ ያነቃዋል።"</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"የጣት አሻራ ሃርድዌርን አስተዳድር"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"መተግበሪያው ጥቅም ላይ እንዲውሉ የጣት አሻራ ቅንብር ደንቦችን ለማከል እና ለመሰረዝ የሚያስችሉ ስልቶችን እንዲያስጀምር ያስችለዋል።"</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"የጣት አሻራ ሃርድዌርን ተጠቀም"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"መተግበሪያው የጣት አሻራ ሃርድዌር ለማረጋገጥ ስራ እንዲጠቀም ያስችለዋል"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"የሥምሪያ ቅንብሮች አንብብ"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"መተግበሪያው የአንድ መለያ የማመሳሰል ቅንብሮችን እንዲያነብ ይፈቅድለታል። ለምሳሌ ይህ የሰዎች መተግበሪያ ከመለያ ጋር መመሳሰሉን አለመመሳሰሉን ሊወስን ይችላል።"</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"ማመሳሰያ በማብራትና በማጥፋት መካከል ቀያይር"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"መተግበሪያው ማሳወቂያዎችን እንዲያስመጣ፣ እንዲመረምር እና እንዲያጸዳ ያስችለዋል፣ በሌሎች መተግበሪያዎች የተለጠፉትንም ጨምሮ።"</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"ከአንድ የማሳወቂያ አዳማጭ አገልግሎት ጋር ይሰሩ"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"ያዢው የማሳወቂያ አዳማጭ አገልግሎቱን ከከፍተኛ-ደረጃ በይነገጹ ጋር እንዲያስር ያስችለዋል። ለመደበኛ መተግበሪያዎች በጭራሽ አያስፈልግም።"</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"ከመራጭ ዒላማ አገልግሎት ጋር ይሰሩ"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"ያዢው የመራጩን ዒላማ አገልግሎቱን ከከፍተኛ-ደረጃ በይነገጽ ጋር እንዲያስር ይፈቅዳል። ለመደበኛ መተግበሪያዎች በጭራሽ ሊያስፈልግ አይገባም።"</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"ከአንድ የሁኔታ አቅራቢ አገልግሎት ጋር ይሰሩ"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"ያዢው የአንድ የሁኔታ አቅራቢ አገልግሎት የከፍተኛ ደረጃ በይነገጽ እንዲያስር ያስችለዋል። ለመደበኛ መተግበሪያዎች በጭራሽ አያስፈልግም።"</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"ከአንድ ማህደረመረጃ ማዞር አገልግሎት ጋር ያስተሳስራል"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"ወደሞባይል አገልግሎት ሰጪ የመልዕክት አገልግሎት አያይዝ"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ያዢው በሞባይል አገልግሎት ሰጪ የመልዕክት አላላክ አገልግሎት ላይ ከፍተኛውን ደረጃ በይነ ገጽ እንዲይዝ ይፈቅድለታል። ለመደበኛ መተግበሪያ በጭራሽ አያስፈልግም።"</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"የይለፍ ቃል ደንቦች አዘጋጅ"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"በማያ-መክፈት የተፈቀዱ የይለፍ ቃል ርዝመት እና ቁምፊዎች ተቆጣጠር።"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"በማያ ገጽ መቆለፊያ የይለፍ ቃሎች እና ፒኖች ውስጥ የሚፈቀዱ ቁምፊዎችን እና ርዝመታቸውን ተቆጣጠር።"</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"የማሳያ-ክፈት ሙከራዎችን አሳይ"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"ማሳያውን በምትከፍትበት ጊዜ በስህተት የተተየቡ የይለፍ ቃሎችን ቁጥር ተቆጣጠር፤ እና ጡባዊ ተኮውን ቆልፍ  ወይም በጣም ብዙ የተሳሳቱ የይለፍ ቃሎች ከተተየቡ የጡባዊ ተኮን ውሂብ አጥፋ፡፡"</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"ማያ ገጹን ሲያስከፍቱ በትክክል ያልተተየቡ የይለፍ ቃላት ብዛት ተከታተል፣ እና በጣም ብዙ ትክክል ያልሆኑ የይለፍ ቃላት ከተተየቡ ቴሌዚዥኑን ቆልፍ ወይም ሁሉንም የቴሌቪዥን ውሂብ ደምስስ።"</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"የተተየቡ ልክ ያልሆኑ የይለፍ ቃሎችን ቁጥር ተቆጣጠር፡፡ማሳያውን በምትከፍትበት ጊዜ፤ እና በጣም ብዙ ልክ ያልሆኑ የይለፍ ቃሎች ከተተየቡ ስልኩን ቆልፈው ወይም ሁሉንም የስልኩን ውሂብ ደምስሰው፡፡"</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"የማያ-መክፈቻ ይለፍ ቃል ለውጥ"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"የማያ-መክፈቻ የይለፍ ቃል ለውጥ።"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"ማያ ገጹን ሲያስከፍቱ በትክክል ያልተተየቡ የይለፍ ቃላት ብዛት ተከታተል፣ እና በጣም ብዙ ትክክል ያልሆኑ የይለፍ ቃላት ከተተየቡ ጡባዊውን ቆልፍ ወይም ሁሉንም የዚህን ተጠቃሚ ውሂብ ደምስስ።."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"ማያ ገጹን ሲያስከፍቱ በትክክል ያልተተየቡ የይለፍ ቃላት ብዛት ተከታተል፣ እና በጣም ብዙ ትክክል ያልሆኑ የይለፍ ቃላት ከተተየቡ ቴሌቪዥኑን ቆልፍ ወይም ሁሉንም የዚህን ተጠቃሚ ውሂብ ደምስስ።"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"ማያ ገጹን ሲያስከፍቱ በትክክል ያልተተየቡ የይለፍ ቃላት ብዛት ተከታተል፣ እና በጣም ብዙ ትክክል ያልሆኑ የይለፍ ቃላት ከተተየቡ ስልኩን ቆልፍ ወይም ሁሉንም የዚህን ተጠቃሚ ውሂብ ደምስስ።"</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"የማያ ገጹን መቆለፊያ ለውጥ"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"የማያ ገጽ መቆለፊያውን ለውጥ።"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"ማያ ቆልፍ"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"ማያው እንዴት እና መቼ እንደሚቆልፍ ተቆጣጠር።"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"ሁሉንም ውሂብ ሰርዝ"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"የፋብሪካው ውሂብ ዳግም አስጀምርን በማከናወን፣ያለ ማስጠንቀቂያ የጡባዊውን ውሂብ አጥፋ።"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"የፋብሪካ ውሂብ ዳግም ማስጀመር በማከናወን ያለማስጠንቀቂያ የቴሌቪዥኑን ውሂብ ይደምስሱ።"</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"የፋብሪካ ውሂብ ድጋሚ አስጀምር በማከናወን ያለ ማሰጠንቀቂያ የስልኩን ውሂብ ደምስስ።"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"የተጠቃሚ ውሂብ ደምስስ"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"ያለምንም ማስጠንቀቂያ የዚህን ጡባዊ የተጠቃሚ ውሂብ ደምስስ።"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"ያለምንም ማስጠንቀቂያ የዚህን ቴቪ የተጠቃሚ ውሂብ ደምስስ።"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"ያለምንም ማስጠንቀቂያ የዚህን ስልክ የተጠቃሚ ውሂብ ደምስስ።"</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"የመሣሪያውን ሁሉንም ፕሮክሲ አዘጋጅ"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"መመሪያ እስኪነቃ ድረስ ለመጠቀም የመሣሪያውን ሁሉንም ፕሮክሲ አዘጋጅ። የመጀመሪያው የመሣሪያ አስተዳደር ብቻ የሁሉንም ፕሮክሲ ያዘጋጃል።"</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"የማያቆልፍ ይለፍ ቃል ማብቂያ ጊዜ አዘጋጅ"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"የማያ ቆልፍ ይለፍ ቃል በምን ያህል ጊዜ ተደጋግሞ መለወጥ እንዳለበት ተቆጣጠር።"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"መመሪያ ነቅቶ እያለ ጥቅም ላይ ሊውል የሚችለውን የመሣሪያውን ሁሉንተናዊ ተኪ አዘጋጅ። የመሣሪያ ባለቤት ብቻ የሁሉንተናዊ ተኪውን ማዘጋጀት ይችላል።"</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"የማያ ገጽ መቆለፊያ የአገልግሎት ማብቂያ ጊዜን አዘጋጅ"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"የማያ ገጽ መቆለፊያ የይለፍ ቃል፣ ፒን፣ ወይም ስርዓተ ጥለት በምን ያህል ጊዜ ተደጋግሞ መለወጥ እንዳለበት ለውጥ።"</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"ማከማቻ ማመስጠር አዘጋጅ"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"የተከማቸ ትግበራ ውሂብ የተመሰጠረ እንዲሆን ጠይቅ።"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"ካሜራዎችን አቦዝን"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"የሁሉንም መሣሪያ ካሜራዎች መጠቀም ከልክል።"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"በቁልፍ ጠባቂ ውስጥ ባህሪያትን ያሰናክሉ"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"በቁልፍ ጠባቂ ውስጥ የአንዳንድ ባህሪያትን መጠቀም ያግዱ።"</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"የማያ ገጽ መቆለፊያ የተሰናከሉ ባህሪዎች"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"የማያ ገጽ መቆለፊያ ላይ ያሉ አንዳንድ ባህሪዎችን መጠቀምን ተከላከል።"</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"መነሻ"</item>
     <item msgid="869923650527136615">"ተንቀሳቃሽ"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"አዲሱን መተግበሪያ አትጀምር።"</string>
     <string name="new_app_action" msgid="5472756926945440706">"ጀምር <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"የድሮውን ትግበራ ሳታስቀምጥ አቁም።"</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"ለፅሁፍ ድርጊት ምረጥ"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"የስልክ ጥሪ ድምፅ"</string>
     <string name="volume_music" msgid="5421651157138628171">" ማህደረ መረጃ  ክፍልፍል"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="other">በ<xliff:g id="COUNT">%d</xliff:g> ሰከንዶች ውስጥ እንደገና ይሞክሩ</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"ቆይተው እንደገና ይሞክሩ"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"ከሙሉ ገጽ ማያ ለመውጣት ጣትዎን ከላይ ወደታች ያንሸራትቱ።"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"ሙሉ ገጽ በማሳየት ላይ"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"ለመውጣት፣ ከላይ ወደታች ጠረግ ያድርጉ።"</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"ገባኝ"</string>
     <string name="done_label" msgid="2093726099505892398">"ተከናውኗል"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"የሰዓታት ክብ ተንሸራታች"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"የደቂቃዎች ክብ ተንሸራታች"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"ስራ <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"ይህን ማያ ገጽ ለመንቀል ተመለስን እና አጠቃላይ እይታን በተመሳሳይ ይንኳቸውና ይያዟቸው።"</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"ይህን ማያ ገጽ ለመንቀል አጠቃላይ እይታን ይንኩትና ይያዙት።"</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"ማያ ገጽ ተሰክቷል። መንቀል በድርጅትዎ አይፈቀድም።"</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"ማያ ገጽ ተሰክቷል"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"ማያ ገጽ ተነቅሏል"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"ከመንቀል በፊት ፒን ጠይቅ"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="other">ለ%d ሰዓቶች</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"እስከ <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> ድረስ"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"ያለገደብ"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"ይህን እስኪያጠፉት ድረስ"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"ሰብስብ"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"በ<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> ላይ እስከሚቀጥለው ማንቂያ ድረስ"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"እስከሚቀጥለው ማንቂያ ድረስ"</string>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index 43355520..1d1fe54 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -742,6 +742,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"‏للسماح للتطبيق بالاتصال بعلامات الاتصال قريب المدى (NFC)، والبطاقات وبرامج القراءة."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"تعطيل قفل الشاشة"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"للسماح للتطبيق بتعطيل تأمين المفاتيح وأي أمان لكلمة مرور مرتبطة. على سبيل المثال، يعطل الهاتف تأمين المفاتيح عند استقبال مكالمة هاتفية واردة، ثم يعيد تمكين تأمين المفاتيح عند انتهاء المكالمة."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"لإدارة أجهزة بصمة الإصبع"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"للسماح للتطبيق باستدعاء طرق لإضافة نماذج من بصمات الأصابع وحذفها."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"لاستخدام أجهزة بصمة الإصبع"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"للسماح للتطبيق باستخدام أجهزة بصمة الإصبع للمصادقة"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"قراءة إعدادات المزامنة"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"للسماح للتطبيق بقراءة الإعدادات المتزامنة لحساب ما. على سبيل المثال، يمكن أن يؤدي هذا إلى تحديد ما إذا تمت مزامنة تطبيق \"الأشخاص\" مع حساب ما."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"التبديل بين تشغيل المزامنة وإيقافها"</string>
@@ -796,6 +800,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"يتيح للتطبيق استرجاع الإشعارات وفحصها ومسحها، بما في ذلك تلك التي نشرتها تطبيقات أخرى."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"الربط بخدمة تلقّي الإشعارات الصوتية"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"يتيح للمالك الربط بواجهة المستوى العلوي لخدمة تلقّي الإشعارات الصوتية. ولن تكون هناك حاجة إليه مطلقًا مع التطبيقات العادية."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"الربط بخدمة اختيار الهدف"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"للسماح للمالك بالربط بواجهة المستوى العلوي لخدمة اختيار الهدف. لن تكون هناك حاجة إليه مطلقًا مع التطبيقات العادية."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"الربط بخدمة موفر الحالة"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"للسماح للمالك بالربط بواجهة المستوى العلوي لخدمة موفر الحالة. لن تكون هناك حاجة إلى هذا الإعداد مطلقًا مع التطبيقات العادية."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"الربط بخدمة توجيه الوسائط"</string>
@@ -817,29 +823,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"الالتزام بخدمة المراسلة التابعة لمشغل شبكة الجوّال"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"يسمح لحامله بالالتزام بواجهة المستوى العالي لخدمة المراسلة التابعة لمشغل شبكة الجوَّال. ومن المفترض عدم الحاجة إليه مع التطبيقات العادية."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"تعيين قواعد كلمة المرور"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"يمكنك التحكم في الطول والأحرف المسموح بها في كلمات مرور إلغاء تأمين الشاشة."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"للتحكم في الطول والأحرف المسموح بها في كلمات المرور وأرقام التعريف الشخصي في قفل الشاشة."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"مراقبة محاولات إلغاء قفل الشاشة"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"لمراقبة عدد مرات كتابة كلمات المرور غير الصحيحة عند إلغاء تأمين الشاشة وتأمين الجهاز اللوحي أو مسح جميع بياناته في حالة كتابة الكثير من كلمات المرور غير الصحيحة."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"مراقبة عدد كلمات المرور غير الصحيحة التي تتم كتابتها عند إلغاء قفل الشاشة، وقفل التلفزيون أو محو جميع بيانات التلفزيون إذا تمت كتابة عدد كبير من كلمات المرور غير الصحيحة."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"مراقبة عدد كلمات المرور غير الصحيحة التي تمت كتابتها عند إلغاء تأمين الشاشة، وتأمين الهاتف ومحو جميع بياناته إذا تمت كتابة عدد أكبر من اللازم من كلمات المرور غير الصحيحة."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"تغيير كلمة مرور إلغاء قفل الشاشة"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"يمكنك تغيير كلمة مرور إلغاء تأمين الشاشة."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"يمكنك مراقبة عدد كلمات المرور غير الصحيحة التي تمت كتابتها عند إلغاء تأمين الشاشة، وتأمين الجهاز اللوحي ومحو جميع بيانات هذا المستخدم إذا تمت كتابة عدد أكبر من اللازم من كلمات المرور غير الصحيحة."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"يمكنك مراقبة عدد كلمات المرور غير الصحيحة التي تمت كتابتها عند إلغاء تأمين الشاشة، وتأمين التلفزيون ومحو جميع بيانات هذا المستخدم إذا تمت كتابة عدد أكبر من اللازم من كلمات المرور غير الصحيحة."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"يمكنك مراقبة عدد كلمات المرور غير الصحيحة التي تمت كتابتها عند إلغاء تأمين الشاشة، وتأمين الهاتف ومحو جميع بيانات هذا المستخدم إذا تمت كتابة عدد أكبر من اللازم من كلمات المرور غير الصحيحة."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"تغيير قفل الشاشة"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"لتغيير قفل الشاشة."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"تأمين الشاشة"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"يمكنك التحكم في كيفية ووقت تأمين الشاشة."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"مسح جميع البيانات"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"يمكنك محو بيانات الجهاز اللوحي بدون تحذير، وذلك عبر إجراء إعادة الضبط بحسب بيانات المصنع."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"محو بيانات التلفزيون بدون تحذير من خلال إجراء إعادة ضبط البيانات على إعدادات المصنع."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"يمكنك محو بيانات الهاتف بدون تحذير، وذلك عبر إجراء إعادة الضبط بحسب بيانات المصنع."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"محو بيانات المستخدم"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"لمحو بيانات هذا المستخدم على هذا الجهاز اللوحي بدون تحذير."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"لمحو بيانات هذا المستخدم على هذا التلفزيون بدون تحذير."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"لمحو بيانات هذا المستخدم على هذا الهاتف بدون تحذير."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"تعيين الخادم الوكيل العمومي للجهاز"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"تعيين الخادم الوكيل العمومي للجهاز لكي يتم استخدامه أثناء تمكين السياسة. يعين مشرف الجهاز الأول فقط الخادم الوكيل العمومي الفعال."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"ضبط انتهاء كلمة مرور تأمين شاشة"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"يمكنك التحكم في عدد مرات تغيير كلمة مرور تأمين الشاشة."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"لضبط الخادم الوكيل العام في الجهاز على الاستخدام أثناء تمكين السياسة. ولن يمكن لأحد سوى مالك الجهاز ضبط الخادم الوكيل العام."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"تعيين مدة انتهاء صلاحية كلمة مرور قفل الشاشة"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"لتغيير عدد مرات تغيير كلمة المرور ورقم التعريف الشخصي والنمط في قفل الشاشة."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"تعيين تشفير التخزين"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"يمكنك طلب تشفير بيانات التطبيق المخزنة."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"تعطيل الكاميرات"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"يمكنك منح استخدام جميع كاميرات الجهاز."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"تعطيل الميزات في وضع حماية المفاتيح"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"يمكنك منع استخدام بعض الميزات في وضع حماية المفاتيح."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"تعطيل ميزات قفل الشاشة"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"لمنع استخدام بعض ميزات قفل الشاشة."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"المنزل"</item>
     <item msgid="869923650527136615">"الجوال"</item>
@@ -1272,6 +1285,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"عدم بدء التطبيق الجديد."</string>
     <string name="new_app_action" msgid="5472756926945440706">"بدء <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"إيقاف التطبيق القديم بدون الحفظ."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"اختيار إجراء للنص"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"مستوى صوت الرنين"</string>
     <string name="volume_music" msgid="5421651157138628171">"مستوى صوت الوسائط"</string>
@@ -1801,7 +1822,9 @@
       <item quantity="one">حاول مرة أخرى خلال ثانية واحدة</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"أعد المحاولة لاحقًا"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"مرر بسرعة من أعلى لأسفل للخروج من وضع ملء الشاشة."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"جارٍ العرض بملء الشاشة"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"للخروج، مرر بسرعة من أعلى إلى أسفل."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"حسنًا"</string>
     <string name="done_label" msgid="2093726099505892398">"تم"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"شريط التمرير الدائري للساعات"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"شريط التمرير الدائري للدقائق"</string>
@@ -1816,7 +1839,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> المخصص للعمل"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"لإلغاء تثبيت هذه الشاشة، يمكنك لمس \"رجوع\" و\"نظرة عامة\" في آن واحد مع الاستمرار."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"لإلغاء تثبيت هذه الشاشة، يمكنك لمس \"نظرة عامة\" مع الاستمرار."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"الشاشة مثبتة. لا تسمح منظمتك بإلغاء التثبيت."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"تم تثبيت الشاشة"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"تم إلغاء تثبيت الشاشة"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"المطالبة برقم التعريف الشخصي قبل إزالة التثبيت"</string>
@@ -1858,7 +1882,7 @@
       <item quantity="one">لمدة ساعة واحدة</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"حتى <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"إلى أجل غير مسمى"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"لحين تعطيل هذا الإعداد"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"تصغير"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"حتى التنبيه التالي في <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"حتى التنبيه التالي"</string>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index ce2aa9a..0ca9f51 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Разрешава на приложението да комуникира с маркери, карти и четци, ползващи комуникация в близкото поле (NFC)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"деактивиране на заключването на екрана ви"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Разрешава на приложението да деактивира заключването на клавиатурата и свързаната защита с парола. Например телефонът деактивира заключването при получаване на входящо обаждане и после го активира отново, когато обаждането завърши."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"управление на хардуера за отпечатъци"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Разрешава на приложението да извиква начини за добавяне и изтриване на шаблони за отпечатъци, които да се използват."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"използване на хардуера за отпечатъци"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Разрешава на приложението да използва хардуера за отпечатъци с цел удостоверяване"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"четене на настройките за синхронизиране"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Разрешава на приложението да чете настройките за синхронизиране на профил. Например това може да определи дали приложението Хора е синхронизирано с даден профил."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"включване и изключване на синхронизирането"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Разрешава на приложението да извлича, преглежда и изчиства известия, включително публикуваните от други приложения."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"обвързване с услуга за слушател на известия"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Разрешава на притежателя да се обвърже с интерфейса от първо ниво на услуга за слушател на известия. Нормалните приложения не би трябвало никога да се нуждаят от това."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"свързване с целева услуга в инструмент за избор"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Разрешава на притежателя да се свърже с интерфейса от най-високото ниво на целева услуга в инструмент за избор. Нормалните приложения би трябвало никога да не се нуждаят от това."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"свързване с услуга за предоставяне на условия"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Разрешава на притежателя да се свърже с интерфейса от най-високото ниво на услуга за предоставяне на условия. Нормалните приложения би трябвало никога да не се нуждаят от това."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"свързване с услуга за маршрутизиране на мултимедия"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"свързване с услуга за съобщения от оператор"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Разрешава на притежателя да се свърже към интерфейса от най-високото ниво на услуга за съобщения от оператор. Нормалните приложения би трябвало никога да не се нуждаят от това."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Задаване на правила за паролата"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Контролирайте дължината и разрешените знаци за паролите за отключване на екрана."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Контролира дължината и разрешените знаци за паролите и ПИН кодовете за заключване на екрана."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Наблюдаване на опитите за отключване на екрана"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Наблюдава броя въведени неправилни пароли при отключването на екрана и заключва таблета или изтрива всички данни от него, ако неправилните пароли са твърде много."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Наблюдаване на броя на неправилно въведените пароли при отключване на екрана и заключване на телевизора или изтриване на всички данни от него, ако неуспешните опити са твърде много."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Наблюдава броя въведени неправилни пароли при отключването на екрана и заключва телефона или изтрива всички данни от него, ако неправилните пароли са твърде много."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Промяна на паролата за отключване на екрана"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Промяна на паролата за отключване на екрана."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Наблюдава броя на неправилно въведените пароли при отключване на екрана и заключва таблета или изтрива всички данни на този потребител, ако неуспешните опити са твърде много."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Наблюдава броя на неправилно въведените пароли при отключване на екрана и заключва телевизора или изтрива всички данни на този потребител, ако неуспешните опити са твърде много."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Наблюдава броя на неправилно въведените пароли при отключване на екрана и заключва телефона или изтрива всички данни на този потребител, ако неуспешните опити са твърде много."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Промяна на заключването на екрана"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Променя заключването на екрана."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Заключване на екрана"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Контролирайте как и кога екранът се заключва."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Изтриване на всички данни"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Изтриване на данните в таблета без предупреждение чрез възстановяване на фабричните настройки."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Изтриване на данните от телевизора без предупреждение чрез възстановяване на фабричните настройки."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Изтриване на данните в телефона без предупреждение чрез възстановяване на фабричните настройки."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Изтриване на потребителските данни"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Изтрива данните на този потребител от таблета без предупреждение."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Изтрива данните на този потребител от телевизора без предупреждение."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Изтрива данните на този потребител от телефона без предупреждение."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Задаване на глобален прокси сървър за устройството"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Задаване на глобалния прокси сървър, който да се използва, когато правилото е активирано. Само първият администратор на устройството задава действителния глобален прокси сървър."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Изтичане на паролата"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Контролирайте колко често трябва да се променя паролата за заключен екран."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Задава глобалния прокси сървър за устройството, който да се използва, когато правилото е активирано. Само собственикът на устройството може да задава такъв сървър."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Задав. на валидност на паролата на закл. на екрана"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Променя колко често трябва да се сменят паролата, ПИН кодът или фигурата за заключване на екрана."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Шифроване за хранилището"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Изисква съхраняваните данни за приложенията да бъдат шифровани."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Деактивиране на камерите"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Предотвратява употребата на камерите на всички устройства."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Функции при защита на клавишите: Деакт."</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Предотвратява използването на някои функции при защита на клавишите."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Функции на закл. на екрана: Деакт."</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Предотвратява използването на някои функции на заключването на екрана."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Домашен"</item>
     <item msgid="869923650527136615">"Мобилен"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Новото приложение да не се стартира."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Стартиране на <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Спиране на старото приложение без запазване."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Избиране на действие за текст"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Сила на звука при звънене"</string>
     <string name="volume_music" msgid="5421651157138628171">"Сила на звука"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Опитайте отново след 1 секунда</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Опитайте отново по-късно"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"За изход от цял екран прекарайте пръст отгоре надолу."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Изглед на цял екран"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"За изход прекарайте пръст надолу от горната част."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Разбрах"</string>
     <string name="done_label" msgid="2093726099505892398">"Готово"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Кръгов плъзгач за часовете"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Кръгов плъзгач за минутите"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> за работа"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"За да освободите екрана, докоснете и задръжте едновременно бутона за връщане назад и този за общ преглед."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"За да освободите този екран, докоснете и задръжте бутона „Общ преглед“."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Екранът е фиксиран. Освобождаването не е разрешено от организацията ви."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Екранът е фиксиран"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Екранът е освободен"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Запитване за ПИН код преди освобождаване"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">За един час</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"До <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"За неопределено време"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Докато не изключите това"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Свиване"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"До следващия будилник в <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"До следващия будилник"</string>
diff --git a/core/res/res/values-bn-rBD/strings.xml b/core/res/res/values-bn-rBD/strings.xml
index 4afa0a3..8a60320 100644
--- a/core/res/res/values-bn-rBD/strings.xml
+++ b/core/res/res/values-bn-rBD/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"অ্যাপ্লিকেশানকে নিয়ার ফিল্ড কমিউনিকেশন (NFC) ট্যাগ, কার্ড এবং রিডারগুলির সাথে যোগাযোগ করতে দেয়৷"</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"আপনার স্ক্রীন লক অক্ষম করুন"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"কী-লক এবং যেকোনো সংশ্লিষ্ট পাসওয়ার্ড সুরক্ষা অক্ষম করতে অ্যাপ্লিকেশানটিকে মঞ্জুর করে৷ উদাহরণস্বরূপ, একটি ইনকামিং ফোন কল গ্রহণ করার সময়ে ফোনটি কী-লক অক্ষম করে, তারপরে কল শেষ হয়ে গেলে কী-লকটিকে পুনরায় সক্ষম করে৷"</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"আঙ্গুলের ছাপ নেওয়ার হার্ডওয়্যার পরিচালনা করুন"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"ব্যবহার করার জন্য আঙ্গুলের ছাপের টেম্প্লেটগুলি যোগ করা এবং মোছার পদ্ধতিগুলি গ্রহন করতে অ্যাপ্লিকেশানটিতে অমুমতি দেয়৷"</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"আঙ্গুলের ছাপ নেওয়ার হার্ডওয়্যার ব্যবহার করুন"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"অনুমোদনের জন্য আঙ্গুলের ছাপ নেওয়ার হার্ডওয়্যার ব্যবহার করতে অ্যাপ্লিকেশানটিতে অনুমতি দেয়"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"সিঙ্ক সেটিংস পড়ে"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"অ্যাপ্লিকেশানটিকে একটি অ্যাকাউন্টের জন্য সিঙ্ক সেটিংস পড়ার অনুমতি দেয়৷ উদাহরণস্বরূপ, \'পিপল\' অ্যাপ্লিকেশানটি কোনো অ্যাকাউন্টের সাথে সিঙ্ক করা আছে কিনা তা নির্ধারণ করতে পারে৷"</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"সমন্বয় চালু এবং বন্ধ করা টগল করুন"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"অ্যাপ্লিকেশানটিকে অন্যান্য অ্যাপ্লিকেশান যেগুলি পোস্ট করে সেগুলি সমেত, বিজ্ঞপ্তিগুলি পুনরুদ্ধার করতে, পরীক্ষা করতে এবং সাফ করার অনুমতি দেয়৷"</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"একটি বিজ্ঞপ্তি শ্রোতা পরিষেবাতে সংলগ্ন করে"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"ধারককে, একটি বিজ্ঞপ্তি শ্রোতা পরিষেবার উচ্চ স্তরের ইন্টারফেসে জুড়তে অনুমতি দেয়৷ সধারণ অ্যাপ্লিকেশানগুলির জন্য কখনই প্রয়োজন হয় না৷"</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"একটি লক্ষ চয়নকারী পরিষেবাতে আবদ্ধ করুন"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"ধারককে, একটি লক্ষ্য চয়নকারী পরিষেবার উচ্চ স্তরের ইন্টারফেসে জুড়তে অনুমতি দেয়৷ সধারণ অ্যাপ্লিকেশানগুলির জন্য কখনই প্রয়োজন হয় না৷"</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"একটি শর্ত প্রদানকারীর পরিষেবা বাঁধাই করে"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"ধারককে, একটি শর্ত প্রদানকারী পরিষেবার উচ্চ স্তরের ইন্টারফেসে জুড়তে অনুমতি দেয়৷ সধারণ অ্যাপ্লিকেশানগুলির জন্য কখনই প্রয়োজন হয় না৷"</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"একটি মিডিয়া রুট পরিষেবায় জুড়ুন"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"একটি ক্যারিয়ার বার্তাপ্রেরণ পরিষেবা আবদ্ধ করতে"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ধারককে, একটি ক্যারিয়ার বার্তাপ্রেরণ পরিষেবার উচ্চ স্তরের ইন্টারফেসে জুড়তে অনুমতি দেয়৷ সধারণ অ্যাপ্লিকেশানগুলির জন্য কখনই প্রয়োজন হয় না৷"</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"পাসওয়ার্ড নিয়মগুলি সেট করে"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"স্ক্রীন আনলক করার পাসওয়ার্ডগুলিতে অনুমতিপ্রাপ্ত অক্ষর এবং দৈর্ঘ্য নিয়ন্ত্রণ করে৷"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"স্ক্রীন লক করার পাসওয়ার্ডগুলিতে অনুমতিপ্রাপ্ত অক্ষর এবং দৈর্ঘ্য নিয়ন্ত্রণ করে৷"</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"স্ক্রীণ আনলক করার প্রচেষ্টাগুলি নিরীক্ষণ করে"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"স্ক্রীণ আনলক করার সময় ভুলভাবে লেখা পাসওয়ার্ড প্রবেশের সংখ্যা মনিটার করে, এবং ট্যাবলেট লক করে এবং অনেক বার পাসওয়ার্ড ভুল ভাবে লেখা হলে ট্যাবলেটের ডেটা মুছে ফেলে৷"</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"স্ক্রীন আনলক করার সময় ভুলভাবে লেখা পাসওয়ার্ড প্রবেশের সংখ্যা মনিটার করে, এবং টিভি লক করে এবং অনেক বার পাসওয়ার্ড ভুল ভাবে লেখা হলে টিভির ডেটা মুছে ফেলে৷"</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"স্ক্রীণ আনলক করার সময় ভুলভাবে লেখা পাসওয়ার্ড প্রবেশের সংখ্যা মনিটার করে, এবং ফোন লক করে এবং অনেক বার পাসওয়ার্ড ভুল ভাবে লেখা হলে ফোনের ডেটা মুছে ফেলে৷"</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"স্ক্রীণ আনলক করার পাসওয়ার্ড পরিবর্তন করে"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"স্ক্রীন আনলক করার পাসওয়ার্ড পরিবর্তন করে৷"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"স্ক্রীন আনলক করার সময় ভুলভাবে লেখা পাসওয়ার্ড প্রবেশের সংখ্যা মনিটার করে, এবং ট্যাবলেট লক করে এবং অনেক বার পাসওয়ার্ড ভুল ভাবে লেখা হলে ব্যবহারকারীর ডেটা মুছে ফেলে৷"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"স্ক্রীন আনলক করার সময় ভুলভাবে লেখা পাসওয়ার্ড প্রবেশের সংখ্যা মনিটার করে, এবং টিভি লক করে এবং অনেক বার পাসওয়ার্ড ভুল ভাবে লেখা হলে ব্যবহারকারীর ডেটা মুছে ফেলে৷"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"স্ক্রীন আনলক করার সময় ভুলভাবে লেখা পাসওয়ার্ড প্রবেশের সংখ্যা মনিটার করে, এবং ফোন লক করে এবং অনেক বার পাসওয়ার্ড ভুল ভাবে লেখা হলে ব্যবহারকারীর ডেটা মুছে ফেলে৷"</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"স্ক্রীন লক পরিবর্তন করুন"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"স্ক্রীন লক পরিবর্তন করুন৷"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"স্ক্রীণটি লক করে"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"স্ক্রীন কখন কিভাবে লক হবে তা নিয়ন্ত্রণ করে৷"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"সমস্ত ডেটা মুছে দেয়"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"ফ্যাক্টরি ডেটা পুনরায় সেট কার্য সম্পাদনার দ্বারা কোনো রকম সতর্কতা ছাড়াই ট্যাবলেটের ডেটা মোছে৷"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"সতর্কীকরণ ছাড়াই একটি ফ্যাক্টরি ডেটা পুনরায় সেট করার দ্বারা টিভির ডেটা মুছে ফেলে৷"</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"ফ্যাক্টরি ডেটা পুনরায় সেট কার্য সম্পাদনার দ্বারা কোনো রকম সতর্কতা ছাড়াই ফোনের ডেটা মোছে৷"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"ব্যবহারকারীর ডেটা মুছুন"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"সতর্কীকরণ ছাড়াই এই ট্যাবলেটে থাকা ব্যাবহারকার্রী ডেটা মুছে ফেলে৷"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"সতর্কীকরণ ছাড়াই এই টিভিতে থাকা ব্যাবহারকার্রী ডেটা মুছে ফেলে৷"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"সতর্কীকরণ ছাড়াই এই ফোনে থাকা ব্যাবহারকার্রী ডেটা মুছে ফেলে৷"</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"ডিভাইসের বৈশ্বিক প্রক্সী সেট করে"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"যখন নীতি সক্ষম করা হয় তখন ডিভাইসের বৈশ্বিক প্রক্সী ব্যবহার করা হবে সেই হিসাবে সেট করে৷ শুধুমাত্র প্রথম ডিভাইস প্রশাসক কার্যকর বৈশ্বিক প্রক্সী সেট করে৷"</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"লক-স্ক্রীণ পাসওয়ার্ডের মেয়াদ শেষ হওয়ার সময়কাল সেট করে"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"স্ক্রীন লক করার পাসওয়ার্ড কত ঘন ঘন পরিবর্তন করা আবশ্যক তা নিয়ন্ত্রণ করে৷"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"নীতিযখন নীতি সক্ষম করা হয় তখন ডিভাইসের বৈশ্বিক প্রক্সী ব্যবহার করা হবে সেই হিসাবে সেট করে৷ শুধুমাত্র ডিভাইসের মালিক বৈশ্বিক প্রক্সী সেট করতে পারেন৷"</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"স্ক্রীন লক করার জন্য পাসওয়ার্ডের মেয়াদ শেষ হওয়ার সময় সেট করে"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"স্ক্রীন লক করার পাসওয়ার্ড কত ঘন ঘন পরিবর্তন করা আবশ্যক তা পরিবর্তন করুন৷"</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"সঞ্চয়স্থানের এনক্রিপশান সেট করে"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"এই সঞ্চিত অ্যাপ্লিকেশান ডেটা এনক্রিপ্ট করা দরকার৷"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"ক্যামেরাগুলি অক্ষম করে"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"সমস্ত ডিভাইসের ক্যামেরার ব্যবহার আটকায়৷"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"কীগার্ডে বৈশিষ্ট্যগুলি নিষ্ক্রিয় করুন"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"কীগার্ডে কিছু বৈশিষ্ট্যের ব্যবহার আটকায়৷"</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"স্ক্রীন লকের বৈশিষ্ট্য নিষ্ক্রিয় করুন"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"স্ক্রীন লকের কিছু বৈশিষ্ট্যের ব্যবহার আটকায়৷"</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"হোম"</item>
     <item msgid="869923650527136615">"মোবাইল"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"নতুন অ্যাপ্লিকেশান চালু করবেন না৷"</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> শুরু করুন"</string>
     <string name="new_app_description" msgid="1932143598371537340">"সংরক্ষণ না করেই পুরোনো অ্যাপ্লিকেশানটি বন্ধ করুন৷"</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"পাঠ্যের জন্য একটি কাজ বেছে নিন"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"রিং ভলিউম"</string>
     <string name="volume_music" msgid="5421651157138628171">"মিডিয়ার ভলিউম"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> সেকেন্ডের মধ্যে আবার চেষ্টা করুন</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"পরে আবার চেষ্টা করুন"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"পূর্ণস্ক্রীণ থেকে প্রস্থান করতে উপর থেকে নীচের দিকে সোয়াইপ করুন৷"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"পূর্ণ স্ক্রীণে দেখা হচ্ছে"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"প্রস্থান করতে উপর থেকে নীচের দিকে সোয়াইপ করুন"</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"বুঝেছি"</string>
     <string name="done_label" msgid="2093726099505892398">"সম্পন্ন হয়েছে"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"বৃত্তাকার ঘন্টা নির্বাচকের স্লাইডার"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"বৃত্তাকার মিনিট নির্বাচকের স্লাইডার"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"কর্মক্ষেত্র <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"এই স্ক্রীনটিকে আনপিন করতে, \'ফিরুন\' এবং \'এক নজরে\' একসাথে স্পর্শ করুন এবং ধরে রাখুন৷"</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"এই স্ক্রীনটিকে আনপিন করতে, \'এক নজরে\' স্পর্শ করুন এবং ধরে রাখুন৷"</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"স্ক্রীন পিন করা আছে। আপনার প্রতিষ্ঠান এটিকে পিনমুক্ত করার অনুমতি দেয়নি।"</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"স্ক্রীন পিন করা হয়েছে"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"পিন না করা স্ক্রীন"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"আনপিন করার আগে PIN চান"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="other">%d ঘন্টার জন্য</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> পর্যন্ত"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"অনির্দিষ্টভাবে"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"আপনার দ্বারা এটি বন্ধ করা পর্যন্ত"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"সঙ্কুচিত করুন"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> এ পরবর্তী অ্যালার্ম পর্যন্ত"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"পরবর্তী অ্যালার্ম পর্যন্ত"</string>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index 63365bb..8884cae 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -738,6 +738,10 @@
     <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="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>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Permet que l\'aplicació invoqui mètodes per afegir i suprimir plantilles d\'empremtes digitals que es puguin fer servir."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"Utilitzar el maquinari d\'empremtes digitals"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Permet que l\'aplicació faci servir maquinari d\'empremtes digitals per a l\'autenticació"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"llegir la configuració de sincronització"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Permet que l\'aplicació llegeixi la configuració de sincronització d\'un compte. Per exemple, això pot determinar que l\'aplicació Persones estigui sincronitzada amb un compte."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"activar o desactivar la sincronització"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Permet que l\'aplicació recuperi, examini i esborri les notificacions, incloses les que han publicat altres aplicacions."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"vincula a un servei oient de notificacions"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Permet que el titular vinculi la interfície de nivell superior d\'un servei oient de notificacions. No s\'hauria de necessitar mai per a les aplicacions normals."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"vincular-se a un servei de destí de selector"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Permet que el propietari la pugui vincular a la interfície principal d\'un servei de destí de selector. No s\'hauria de necessitar mai per a les aplicacions normals."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"enllaçar amb el servei de proveïdor de condicions"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Permet enllaçar amb la interfície de nivell superior d\'un servei de proveïdor de condicions. No ha de ser mai necessari per a aplicacions normals."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"vincular-se amb un servei de rutes multimèdia"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"vincular-la al servei de missatgeria d\'un operador"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permet que el propietari la pugui vincular a la interfície principal del servei de missatgeria d\'un operador. No s\'hauria de necessitar mai per a les aplicacions normals."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Definir les normes de contrasenya"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Controla la longitud i els caràcters permesos a les contrasenyes de desbloqueig de pantalla."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Permet controlar la longitud i el nombre de caràcters permesos a les contrasenyes i als PIN del bloqueig de pantalla."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Controlar els intents de desbloqueig de pantalla"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Supervisa el nombre de contrasenyes incorrectes introduïdes per desbloquejar la pantalla i bloqueja la tauleta o n\'esborra totes les dades si s\'introdueixen massa contrasenyes incorrectes."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Fa un seguiment del nombre de contrasenyes incorrectes que s\'han escrit en intentar desbloquejar la pantalla i bloqueja el televisor o n\'esborra totes les dades si s\'escriuen massa contrasenyes incorrectes."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Supervisa el nombre de contrasenyes incorrectes introduïdes en desbloquejar la pantalla, i bloqueja el telèfon o esborra totes les dades del telèfon si s\'introdueixen massa contrasenyes incorrectes."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Canvia la contrasenya de desbloqueig de pantalla"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Canvia la contrasenya de desbloqueig de pantalla."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Fa un seguiment del nombre de contrasenyes incorrectes que s\'han escrit en intentar desbloquejar la pantalla i bloqueja la tauleta o n\'esborra totes les dades de l\'usuari si s\'escriuen massa contrasenyes incorrectes."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Fa un seguiment del nombre de contrasenyes incorrectes que s\'han escrit en intentar desbloquejar la pantalla i bloqueja el televisor o n\'esborra totes les dades de l\'usuari si s\'escriuen massa contrasenyes incorrectes."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Fa un seguiment del nombre de contrasenyes incorrectes que s\'han escrit en intentar desbloquejar la pantalla i bloqueja el telèfon o n\'esborra totes les dades de l\'usuari si s\'escriuen massa contrasenyes incorrectes."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Canviar el bloqueig de pantalla"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Permet canviar el bloqueig de pantalla."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Bloqueig de pantalla"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Controla com i quan es bloqueja la pantalla."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Esborrar totes les dades"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Esborra les dades de la tauleta sense advertiment mitjançant un restabliment de les dades de fàbrica."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Esborra les dades del televisor sense advertiment mitjançant un restabliment de les dades de fàbrica."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Esborra les dades del telèfon sense avisar, restablint les dades de fàbrica."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Esborrar les dades de l\'usuari"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Esborra les dades de l\'usuari desades a la tauleta sense avisar-ne."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Esborra les dades de l\'usuari desades al televisor sense avisar-ne."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Esborra les dades de l\'usuari desades al telèfon sense avisar-ne."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Definir el servidor intermediari global del dispositiu"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Defineix el servidor intermediari global del dispositiu que cal utilitzar mentre la política estigui activada. Només el primer administrador del dispositiu pot definir el servidor intermediari global efectiu."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Definir caducitat de bloqueig de pantalla"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Controla la freqüència amb què cal canviar la contrasenya de bloqueig de pantalla."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Si la política s\'activa, s\'utilitza el servidor intermediari global del dispositiu. Només el propietari del dispositiu el pot establir."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Definir caducitat bloqueig"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Permet canviar la freqüència amb què cal canviar la contrasenya, el PIN o el patró del bloqueig de pantalla."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Encriptació d’emmagatzematge"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Requereix que les dades de l\'aplicació emmagatzemades estiguin encriptades."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Desactivar les càmeres"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Impedeix l\'ús de les càmeres del dispositiu."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Desactivar les funcions en bloqueig"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Impedeix l\'ús d\'algunes funcions en bloqueig de tecles."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Desactivar funcions bloqueig"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Impedeix l\'ús d\'algunes funcions del bloqueig de pantalla."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Casa"</item>
     <item msgid="869923650527136615">"Mòbil"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"No iniciïs l\'aplicació nova."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Inicia <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Atura l\'aplicació antiga sense desar."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Tria una acció per al text"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Volum del timbre"</string>
     <string name="volume_music" msgid="5421651157138628171">"Volum de multimèdia"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Torna-ho a provar d\'aquí a 1 segon</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Torna-ho a provar més tard"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Fes lliscar el dit cap avall per sortir de la pantalla completa."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Visualització en pantalla completa"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Per sortir, fes lliscar el dit cap avall des de la part superior."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"D\'acord"</string>
     <string name="done_label" msgid="2093726099505892398">"Fet"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Control circular de les hores"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Control circular dels minuts"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> de la feina"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Per anul·lar la fixació d\'aquesta pantalla, mantén premudes les opcions Enrere i Visió general alhora."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Per anul·lar la fixació d\'aquesta pantalla, mantén premuda l\'opció Visió general."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"S\'ha fixat la pantalla. La teva organització no permet anul·lar-ne la fixació."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Pantalla fixada"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Fixació de la pantalla anul·lada"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Demana el codi PIN abans d\'anul·lar la fixació"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Durant 1 hora</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Fins a les <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Indefinidament"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Fins que no ho desactivis"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Replega"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Fins que soni l\'alarma següent a les <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Fins que soni l\'alarma següent"</string>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index 3c75764..1a023578 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -740,6 +740,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Umožňuje aplikaci komunikovat se štítky, kartami a čtečkami s podporou technologie NFC."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"vypnutí zámku obrazovky"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Umožňuje aplikaci vypnout zámek kláves a související zabezpečení heslem. Telefon například vypne zámek klávesnice při příchozím hovoru a po skončení hovoru jej zase zapne."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"správa hardwaru na čtení otisků prstů"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Umožňuje aplikaci volat metody k přidání a smazání šablon otisků prstů, které budou použity."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"použití hardwaru na čtení otisků prstů"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Umožňuje aplikaci použít k ověření hardware na čtení otisků prstů"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"čtení nastavení synchronizace"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Umožňuje aplikaci číst nastavení synchronizace v účtu. Může například určit, zda je s účtem synchronizována aplikace Lidé."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"vypnutí nebo zapnutí synchronizace"</string>
@@ -794,6 +798,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Umožňuje aplikacím načítat, zobrazovat a mazat oznámení včetně těch přidaných jinými aplikacemi."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"navázání na službu pro poslouchání oznámení"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Umožňuje držiteli navázat se na nejvyšší úroveň služby pro poslouchání oznámení. Běžné aplikace by toto oprávnění neměly nikdy požadovat."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"navázat se na cílovou službu nástroje pro výběr"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Umožňuje držiteli navázat se na rozhraní nejvyšší úrovně cílové služby nástroje pro výběr. Běžné aplikace by toto oprávnění neměly nikdy potřebovat."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"navázání na službu poskytovatele podmínky"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Umožňuje držiteli navázat se na nejvyšší úroveň rozhraní služby poskytovatele podmínky. Běžné aplikace by toto oprávnění neměly nikdy potřebovat."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"navázání na službu směrování médií"</string>
@@ -815,29 +821,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"navázat se na nejvyšší úroveň rozhraní služby zasílání zpráv prostřednictvím operátora"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Umožňuje držiteli navázat se na nejvyšší úroveň rozhraní služby zasílání zpráv prostřednictvím operátora. Běžné aplikace by toto oprávnění neměly nikdy potřebovat."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Nastavit pravidla pro heslo"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Řídit délku hesel pro odemčení obrazovky a povolené znaky."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Ovládání délky a znaků povolených v heslech a kódech PIN zámku obrazovky."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Sledovat pokusy o odemčení obrazovky"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Sledovat počet nesprávných hesel zadaných při odemykání obrazovky a uzamknout tablet nebo vymazat z tabletu všechna data, pokud bylo zadáno příliš mnoho nesprávných hesel."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Umožňuje monitorovat počet nesprávných hesel zadaných při odemykání obrazovky a uzamknout televizi nebo vymazat veškerá data v televizi, pokud je zadáno příliš mnoho nesprávných hesel."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Sledovat počet nesprávných hesel zadaných při odemykání obrazovky a uzamknout telefon nebo vymazat z telefonu všechna data, pokud bylo zadáno příliš mnoho nesprávných hesel."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Změnit heslo pro odemknutí obrazovky"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Změnit heslo pro odemknutí obrazovky."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Monitorovat počet nesprávných hesel zadaných při odemykání obrazovky, a pokud je zadáno příliš mnoho nesprávných hesel, uzamknout tablet nebo vymazat veškerá data uživatele."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Monitorovat počet nesprávných hesel zadaných při odemykání obrazovky, a pokud je zadáno příliš mnoho nesprávných hesel, uzamknout televizi nebo vymazat veškerá data uživatele."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Monitorovat počet nesprávných hesel zadaných při odemykání obrazovky, a pokud je zadáno příliš mnoho nesprávných hesel, uzamknout telefon nebo vymazat veškerá data uživatele."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Změnit zámek obrazovky"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Změnit zámek obrazovky."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Uzamknout obrazovku"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Řídit, jak a kdy se obrazovka uzamkne."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Vymazat všechna data"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Bez upozornění smazat všechna data tabletu obnovením továrních dat."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Umožňuje provést obnovení továrních dat a bez varování tím vymazat data v televizi."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Bez upozornění smazat všechna data telefonu obnovením továrních dat."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Vymazat data uživatele"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Vymazat data tohoto uživatele v tomto tabletu bez upozornění."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Vymazat data tohoto uživatele v této televizi bez upozornění."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Vymazat data tohoto uživatele v tomto telefonu bez upozornění."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Nastavit globální proxy server zařízení"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Vyberte globální proxy server, který se bude používat, když jsou zásady aktivní. Aktuální globální proxy server nastavuje pouze první správce zařízení."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Nastavit vypršení hesla zámku"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Určuje, jak často je třeba měnit heslo pro uzamčení obrazovky."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Nastaví globální proxy server, který bude používán, když je zásada zapnuta. Globální proxy server může nastavit pouze vlastník zařízení."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Nastavit vypršení hesla zámku obrazovky"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Mění, jak často je potřeba měnit heslo, PIN nebo gesto zámku obrazovky."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Nastavit šifrování úložiště"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Požadovat šifrování uložených dat aplikací."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Vypnout fotoaparáty"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Zakázat používání všech fotoaparátů zařízení."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Zakázat funkce v zámku zařízení"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Zabránit používání některých funkcí v zámku zařízení."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Zakázat funkce zámku obrazovky"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Zabránit použití některých funkcí zámku obrazovky."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Domů"</item>
     <item msgid="869923650527136615">"Mobil"</item>
@@ -1262,6 +1275,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Nespouštět novou aplikaci."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Spustit aplikaci <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Zastavit starou aplikaci bez uložení."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Vyberte akci pro text"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Hlasitost vyzvánění"</string>
     <string name="volume_music" msgid="5421651157138628171">"Hlasitost médií"</string>
@@ -1783,7 +1804,9 @@
       <item quantity="one">Zkuste to znovu za 1 sekundu</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Zkuste to znovu později"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Režim celé obrazovky ukončíte přejetím dolů."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Zobrazení celé obrazovky"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Režim ukončíte přejetím prstem shora dolů."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Rozumím"</string>
     <string name="done_label" msgid="2093726099505892398">"Hotovo"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Kruhový posuvník hodin"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Kruhový posuvník minut"</string>
@@ -1798,7 +1821,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Pracovní <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Chcete-li tuto obrazovku uvolnit, klepněte současně na možnosti Zpět a Přehled a podržte je."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Chcete-li tuto obrazovku uvolnit, klepněte na možnost Přehled a podržte ji."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Obrazovka je připnuta. Vaše organizace uvolnění zakázala."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Obrazovka připnuta"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Obrazovka uvolněna"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Před uvolněním požádat o kód PIN"</string>
@@ -1806,7 +1830,7 @@
     <string name="lock_to_app_unlock_password" msgid="6380979775916974414">"Před uvolněním požádat o heslo"</string>
     <string name="battery_saver_description" msgid="1960431123816253034">"Spořič baterie za účelem prodloužení výdrže baterie snižuje výkon zařízení a omezuje vibrace, služby určování polohy a většinu dat na pozadí. E-mail, aplikace pro zasílání zpráv a další aplikace, které používají synchronizaci, se nemusejí aktualizovat, dokud je neotevřete.\n\nPři nabíjení zařízení se spořič baterie automaticky vypne."</string>
     <string name="downtime_condition_summary" msgid="8761776337475705749">"Dokud v <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> neskončí pozastavení"</string>
-    <string name="downtime_condition_line_one" msgid="8762708714645352010">"Dokud neskončí výpadek"</string>
+    <string name="downtime_condition_line_one" msgid="8762708714645352010">"Dokud neskončí pozastavení"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848">
       <item quantity="few">%1$d minuty (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
       <item quantity="many">%1$d minuty (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
@@ -1832,7 +1856,7 @@
       <item quantity="one">Jednu hodinu</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Na dobu neurčitou"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Dokud tuto funkci nevypnete"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Sbalit"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Do dalšího budíku v <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Do příštího budíku"</string>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index 733b7a7..07a588a 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Tillader, at appen kan kommunikere med NFC-tags (Near Field Communication), -kort og -læsere."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"deaktivere din skærmlås"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Tillader, at appen kan deaktivere tastaturlåsen og anden form for tilknyttet adgangskodesikkerhed. Telefonen deaktiverer f.eks. tastaturlåsen ved indgående telefonopkald og aktiverer tastaturlåsen igen, når opkaldet er afsluttet."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"administrer fingeraftrykhardware"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Tillader, at appen kan køre metoder til at tilføje og slette fingeraftryksskabeloner"</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"brug fingeraftrykhardware"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Tillader, at appen kan bruge fingeraftrykhardware til godkendelse"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"læse indstillinger for synkronisering"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Tillader, at appen kan læse synkroniseringsindstillingerne for en konto. Denne tilladelse kan f.eks. fastslå, om appen Personer er synkroniseret med en konto."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"slå synkronisering til og fra"</string>
@@ -782,7 +786,7 @@
     <string name="permdesc_bind_connection_service" msgid="4008754499822478114">"Tillader, at appen kan interagere med telefonitjenester for at foretage/modtage opkald."</string>
     <string name="permlab_control_incall_experience" msgid="9061024437607777619">"leverer brugeroplevelsen under opkald"</string>
     <string name="permdesc_control_incall_experience" msgid="915159066039828124">"Tillader, at appen leverer brugeroplevelsen under opkald."</string>
-    <string name="permlab_readNetworkUsageHistory" msgid="7862593283611493232">"læse oversigt over netværksbrug"</string>
+    <string name="permlab_readNetworkUsageHistory" msgid="7862593283611493232">"læse historisk netværksbrug"</string>
     <string name="permdesc_readNetworkUsageHistory" msgid="7689060749819126472">"Tillader, at appen kan læse historisk netværksbrug for specifikke netværk og apps."</string>
     <string name="permlab_manageNetworkPolicy" msgid="2562053592339859990">"administrer netværkspolitik"</string>
     <string name="permdesc_manageNetworkPolicy" msgid="7537586771559370668">"Tillader, at appen kan administrere netværkspolitikker og definere appspecifikke regler."</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Tillader, at appen kan hente, undersøge og rydde underretninger, f.eks. dem, der er sendt af andre apps."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"forpligte sig til en underretningslyttertjeneste"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Tillader brugeren at forpligte sig til en underretningslyttertjenestes grænseflade på øverste niveau. Bør aldrig være nødvendigt til almindelige apps."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"knytte sig til en tjeneste til valg af mål"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Tillader, at appen kan knytte sig til det øverste grænsefladeniveau for en tjeneste til valg af mål. Dette bør aldrig være nødvendigt for almindelige apps."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"oprette binding til en tjeneste til formidling af betingelser"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Tillader, at brugeren opretter en binding til det øverste niveau af grænsefladen i en tjeneste til formidling af betingelser. Dette bør aldrig være nødvendigt for almindelige apps."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"opret binding til en medierutetjeneste"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"knytte til et mobilselskabs beskedtjeneste"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Dette giver indehaveren mulighed for at knytte sig til det øverste grænsefladeniveau for et mobilselskabs beskedtjeneste. Dette bør ikke være nødvendigt i normale apps."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Indstil regler for adgangskode"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Kontroller længden samt tilladte tegn i adgangskoder til oplåsning af skærmen."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrollér længden samt tilladte tegn i adgangskoder og pinkoder til skærmlåsen."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Overvåg forsøg på oplåsning af skærm"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Overvåg antallet af forkert indtastede adgangskoder, når du låser skærmen op, og lås din tablet, eller slet alle data i den, hvis der er indtastet for mange forkerte adgangskoder."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Overvåg antallet af forkert indtastede adgangskoder ved oplåsning af skærmen, og lås tv\'et eller slet alle dets data, hvis der indtastes for mange forkerte adgangskoder."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Overvåg antallet af forkerte adgangskoder ved oplåsning af skærmen, og lås telefonen eller slet alle data på telefonen, hvis der er indtastet for mange forkerte adgangskoder."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Skifte adgangskode til oplåsning af skærm"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Skifter adgangskode til oplåsning af skærmen."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Registrer antallet af forkerte adgangskoder, der indtastes ved oplåsning af skærmen, og lås din tablet, eller slet alle brugerens data, hvis adgangskoden tastes forkert for mange gange."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Registrer antallet af forkerte adgangskoder, der indtastes ved oplåsning af skærmen, og lås tv-adgangen, eller slet alle brugerens data, hvis adgangskoden tastes forkert for mange gange."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Registrer antallet af forkerte adgangskoder, der indtastes ved oplåsning af skærmen, og lås telefonen, eller slet alle brugerens data, hvis adgangskoden tastes forkert for mange gange."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Skift skærmlås"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Skift skærmlås."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Låse skærmen"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Kontrollerer, hvordan og hvornår skærmen låses."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Slette alle data"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Slet din tablets data uden varsel ved at gendanne fabriksindstillingerne."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Slet tv\'ets data uden varsel ved at nulstille til fabrinksindstillingerne."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Sletter telefonens data uden varsel ved at gendanne fabriksindstillingerne."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Slet brugerdata"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Slet denne brugers data på denne tablet uden varsel."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Slet denne brugers data på dette tv uden varsel."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Slet denne brugers data på denne telefon uden varsel."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Angiv enhedens globale proxy"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Angiv enhedens globale proxy, der skal bruges, mens politikken er aktiveret. Kun den første enhedsadministrator angiver den effektive globale proxy."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Angiv udløb for skærmlåskoden"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Kontroller, hvor ofte skærmlåsens adgangskode skal skiftes."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Indstil den globale proxy for enheden, der skal bruges, mens politikken er aktiveret. Det er kun enhedens ejer, der kan indstille den globale proxy."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Angiv udløbsdato for adgangskoden til skærmlås"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Rediger, hvor ofte skærmlåsens adgangskode, pinkode eller adgangsmønster skal skiftes."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Angiv kryptering af lager"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Kræver, at gemte appdata krypteres."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Deaktiver kameraer"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Bloker brug af alle kameraer på enheden."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Deaktiver tastaturlåsfunktioner"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Forbyd brugen af ​​visse tastaturlåsfunktioner."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Deaktiver skærmlåsfunktioner"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Undgå brugen af visse skærmlåsfunktioner."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Hjem"</item>
     <item msgid="869923650527136615">"Mobil"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Åbn ikke den nye app."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Start <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Stop den gamle app uden at gemme."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Vælg en handling for teksten"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Lydstyrke for opkald"</string>
     <string name="volume_music" msgid="5421651157138628171">"Lydstyrke for medier"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="other">Prøv igen om <xliff:g id="COUNT">%d</xliff:g> sekunder</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Prøv igen senere"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Stryg ned fra toppen for at afslutte fuld skærm"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Visning i fuld skærm"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Stryg ned fra toppen for at afslutte."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"OK, det er forstået"</string>
     <string name="done_label" msgid="2093726099505892398">"Udfør"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Cirkulær timevælger"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Cirkulær minutvælger"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> – arbejde"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Hvis du vil frigøre dette skærmbillede, skal du trykke på Tilbage og Oversigt på samme tid og holde fingeren nede."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Hvis du vil frigøre dette skærmbillede, skal du trykke på Oversigt og holde fingeren nede."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Skærmen er fastgjort. Frigørelse er ikke tilladt af din organisation."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Skærmen blev fastgjort"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Skærmen blev frigjort"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Bed om pinkode inden frigørelse"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="other">I %d timer</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Indtil <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Uendeligt"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Indtil du slår denne indstilling fra"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Skjul"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Indtil næste alarm kl. <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Indtil næste alarm"</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index c246c242..72eff6f 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Ermöglicht der App die Kommunikation mit Tags für die Nahfeldkommunikation, Karten und Readern"</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"Displaysperre deaktivieren"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Ermöglicht der App, die Tastensperre sowie den damit verbundenen Passwortschutz zu deaktivieren. Das Telefon deaktiviert die Tastensperre beispielsweise, wenn ein Anruf eingeht, und aktiviert sie wieder, nachdem das Gespräch beendet wurde."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"Fingerabdruckhardware verwalten"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Erlaubt der App, Methoden zum Hinzufügen und Löschen zu verwendender Fingerabdruckvorlagen aufzurufen"</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"Fingerabdruckhardware verwenden"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Erlaubt der App, Fingerabdruckhardware zur Authentifizierung zu verwenden"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"Synchronisierungseinstellungen lesen"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Ermöglicht der App, die Synchronisierungseinstellungen eines Kontos zu lesen. Beispielsweise kann damit festgestellt werden, ob Kontakte mit einem Konto synchronisiert werden."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"Synchronisierung aktivieren oder deaktivieren"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Ermöglicht der App das Abrufen, Überprüfen und Löschen von Benachrichtigungen, einschließlich Benachrichtigungen, die von anderen Apps gepostet wurden"</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"An Benachrichtigungs-Listener-Dienst binden"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Ermöglicht dem Inhaber, sich an die Oberfläche der obersten Ebene eines Benachrichtigungs-Listener-Dienstes zu binden. Sollte nie für normale Apps benötigt werden."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"An einen Zielauswahldienst binden"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Ermöglicht dem Inhaber, sich an die Oberfläche eines Zielauswahldienstes auf oberster Ebene zu binden. Für normale Apps sollte dies nie erforderlich sein."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"An einen Bedingungsproviderdienst binden"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Ermöglicht dem Inhaber, sich an die Oberfläche eines Bedingungsproviderdienstes auf oberster Ebene zu binden. Für normale Apps sollte dies nie erforderlich sein."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"An Mediarouting-Dienst binden"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"An einen Mobilfunkanbieter-SMS/MMS-Dienst binden"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Ermöglicht dem Inhaber die Bindung an die Oberfläche eines Mobilfunkanbieter-SMS/MMS-Dienstes auf oberster Ebene. Für normale Apps sollte dies nie erforderlich sein."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Passwortregeln festlegen"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Zulässige Länge und Zeichen für Passwörter zum Entsperren des Bildschirms festlegen"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Zulässige Länge und Zeichen für Passwörter für die Displaysperre festlegen"</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Versuche zum Entsperren des Displays überwachen"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Anzahl der falsch eingegebenen Passwörter beim Entsperren des Displays überwachen und Tablet sperren oder alle Daten auf dem Tablet löschen, wenn zu häufig ein falsches Passwort eingegeben wird."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Anzahl der falsch eingegebenen Passwörter beim Entsperren des Bildschirms überwachen und Fernseher sperren oder alle Daten auf dem Fernseher löschen, wenn zu häufig ein falsches Passwort eingegeben wird"</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Anzahl der falsch eingegebenen Passwörter beim Entsperren des Bildschirms überwachen und Telefon sperren oder alle Daten auf dem Telefon löschen, wenn zu häufig ein falsches Passwort eingegeben wird."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Passwort zum Entsperren des Bildschirms ändern"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Ändern Sie das Passwort zum Entsperren des Bildschirms."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Anzahl der falsch eingegebenen Passwörter beim Entsperren des Displays überwachen und Tablet sperren oder alle Daten dieses Nutzers löschen, wenn zu häufig ein falsches Passwort eingegeben wird"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Anzahl der falsch eingegebenen Passwörter beim Entsperren des Displays überwachen und Fernseher sperren oder alle Daten dieses Nutzers löschen, wenn zu häufig ein falsches Passwort eingegeben wird"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Anzahl der falsch eingegebenen Passwörter beim Entsperren des Displays überwachen und Smartphone sperren oder alle Daten dieses Nutzers löschen, wenn zu häufig ein falsches Passwort eingegeben wird"</string>
+    <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">"Legen Sie fest, 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">"Setzen Sie das Telefon auf die Werkseinstellungen zurück. Dabei werden alle Daten ohne Warnung gelöscht."</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>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Daten dieses Nutzers auf diesem Smartphone ohne vorherige Warnung löschen"</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Den globalen Proxy des Geräts festlegen"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Den bei aktivierter Richtlinie zu verwendenden globalen Proxy des Geräts festlegen. Nur der erste Geräteadministrator kann den gültigen globalen Proxy festlegen."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Ablauf von Sperr-Passwort festlegen"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Legen Sie fest, wie häufig das Passwort zum Sperren des Bildschirms geändert werden muss."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Bei aktivierter Richtlinie zu verwendenden globalen Geräteproxy festlegen. Nur der Eigentümer des Geräts kann den globalen Proxy festlegen."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Passwortablauf für Sperre festlegen"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Häufigkeit ändern, mit der das Passwort, die PIN oder das Muster für die Displaysperre geändert werden muss"</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Speicherverschlüsselung"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Anforderung, dass gespeicherte App-Daten verschlüsselt werden"</string>
     <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="266329104542638802">"Funktionen in Keyguard deaktivieren"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Verhindert in Keyguard die Verwendung einiger Funktionen"</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Sperrfunktionen deaktivieren"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Verhindert die Verwendung einiger Funktionen der Displaysperre"</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Privat"</item>
     <item msgid="869923650527136615">"Mobil"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Neue App nicht starten"</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> starten"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Alte App beenden, ohne zu speichern"</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Aktion für Text auswählen"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Klingeltonlautstärke"</string>
     <string name="volume_music" msgid="5421651157138628171">"Medienlautstärke"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">In 1 Sek. wiederholen</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Später erneut versuchen"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Zum Schließen des Vollbilds von oben nach unten wischen"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Vollbildmodus wird aktiviert"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Zum Beenden von oben nach unten wischen"</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"OK"</string>
     <string name="done_label" msgid="2093726099505892398">"Fertig"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Kreisförmiger Schieberegler für Stunden"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Kreisförmiger Schieberegler für Minuten"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> (geschäftlich)"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Um die Fixierung dieses Bildschirms aufzuheben, berühren und halten Sie gleichzeitig \"Zurück\" und \"Übersicht\"."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Um die Fixierung dieses Bildschirms aufzuheben, berühren und halten Sie \"Übersicht\"."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Der Bildschirm ist fixiert. Sie sind nicht berechtigt, diese Einstellung zu beenden."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Bildschirm fixiert"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Bildschirm gelöst"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Vor dem Beenden nach PIN fragen"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Für eine Stunde</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Bis <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Unbegrenzt"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Bis zur Deaktivierung"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Minimieren"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Bis zum nächsten Weckruf um <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Bis zum nächsten Weckruf"</string>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index 7e12895..caa3408 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Επιτρέπει στην εφαρμογή την επικοινωνία με ετικέτες, κάρτες και αναγνώστες της Επικοινωνίας κοντινού πεδίου (NFC)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"απενεργοποίηση κλειδώματος οθόνης"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Επιτρέπει στην εφαρμογή την απενεργοποίηση του κλειδώματος πληκτρολογίου και άλλης σχετικής ασφάλειας με κωδικό πρόσβασης. Για παράδειγμα, το κλείδωμα πληκτρολογίου στο τηλέφωνο απενεργοποιείται όταν λαμβάνεται εισερχόμενη τηλεφωνική κλήση και ενεργοποιείται ξανά όταν η κλήση τερματιστεί."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"διαχείριση εξοπλισμού μοναδικού χαρακτηριστικού"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Επιτρέπει στην εφαρμογή να επικαλείται μεθόδους για την προσθήκη και τη διαγραφή προτύπων μοναδικού χαρακτηριστικού για χρήση."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"χρήση εξοπλισμού μοναδικού χαρακτηριστικού"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Επιτρέπει στην εφαρμογή να χρησιμοποιεί εξοπλισμό μοναδικού χαρακτηριστικού για έλεγχο ταυτότητας"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"ανάγνωση ρυθμίσεων συγχρονισμού"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Επιτρέπει στην εφαρμογή την ανάγνωση των ρυθμίσεων συγχρονισμού για έναν λογαριασμό. Για παράδειγμα, αυτό μπορεί να καθορίσει εάν η εφαρμογή \"Άτομα\" είναι συγχρονισμένη με έναν λογαριασμό."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"εναλλαγή ενεργοποίησης και απενεργοποίησης συγχρονισμού"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Επιτρέπει στην εφαρμογή να ανακτά, να εξετάζει και να απαλείφει ειδοποιήσεις, συμπεριλαμβανομένων εκείνων που δημοσιεύονται από άλλες εφαρμογές."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"δέσμευση σε υπηρεσία ακρόασης ειδοποίησης"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Επιτρέπει στον κάτοχο τη δέσμευση στη διεπαφή ανωτάτου επιπέδου μιας υπηρεσίας ακρόασης ειδοποιήσεων. Δεν απαιτείται σε κανονικές εφαρμογές."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"δέσμευση σε υπηρεσία επιλογής στόχευσης"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Επιτρέπει στον κάτοχο τη δέσμευση στη διεπαφή ανωτάτου επιπέδου μιας υπηρεσίας επιλογής στόχευσης. Δεν απαιτείται σε κανονικές εφαρμογές."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"σύνδεση σε μια υπηρεσία παρόχου συνθηκών"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Επιτρέπει στον κάτοχο τη σύνδεση στη διεπαφή ανωτάτου επιπέδου ενός παρόχου συνθηκών. Δεν απαιτείται για κανονικές εφαρμογές."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"σύνδεση σε μια υπηρεσία δρομολόγησης μέσων"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"δέσμευση σε υπηρεσία ανταλλαγής μηνυμάτων εταιρείας κινητής τηλεφωνίας"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Επιτρέπει στον κάτοχο τη δέσμευση στη διεπαφή ανωτάτου επιπέδου μιας υπηρεσίας ανταλλαγής μηνυμάτων εταιρείας κινητής τηλεφωνίας. Δεν απαιτείται για συνήθεις εφαρμογές."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Ορισμός κανόνων κωδικού πρόσβασης"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Έλεγχος του μεγέθους και των χαρακτήρων που επιτρέπονται στους κωδικούς πρόσβασης ξεκλειδώματος οθόνης."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Ελέγξτε την έκταση και τους επιτρεπόμενους χαρακτήρες σε κωδικούς πρόσβασης κλειδώματος οθόνης και PIN."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Παρακολούθηση προσπαθειών ξεκλειδώματος οθόνης"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Παρακολούθηση του αριθμού λανθασμένων κωδικών πρόσβασης που πληκτρολογούνται κατά το ξεκλείδωμα της οθόνης και κλείδωμα του tablet ή διαγραφή όλων των δεδομένων του σε περίπτωση πληκτρολόγησης πάρα πολλών εσφαλμένων κωδικών πρόσβασης."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Παρακολούθηση του αριθμού των εσφαλμένων κωδικών πρόσβασης που πληκτρολογούνται κατά το ξεκλείδωμα της οθόνης και κλείδωμα της τηλεόρασης ή διαγραφή όλων των δεδομένων της τηλεόρασης, αν έχουν πληκτρολογηθεί πάρα πολλοί εσφαλμένοι κωδικοί πρόσβασης."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Παρακολούθηση του αριθμού λανθασμένων κωδικών πρόσβασης που πληκτρολογούνται κατά το ξεκλείδωμα της οθόνης και κλείδωμα του τηλεφώνου ή διαγραφή όλων των δεδομένων του σε περίπτωση πληκτρολόγησης πάρα πολλών εσφαλμένων κωδικών πρόσβασης."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Αλλαγή κωδικού πρόσβασης ξεκλειδώματος οθόνης"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Αλλαγή του κωδικού πρόσβασης ξεκλειδώματος οθόνης."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Παρακολουθήστε τον αριθμό των εσφαλμένων κωδικών πρόσβασης που πληκτρολογούνται κατά το ξεκλείδωμα της οθόνης και κλειδώστε το tablet ή διαγράψτε όλα τα δεδομένα του χρήστη, σε περίπτωση εισαγωγής πάρα πολλών εσφαλμένων κωδικών πρόσβασης."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Παρακολουθήστε τον αριθμό των εσφαλμένων κωδικών πρόσβασης που πληκτρολογούνται κατά το ξεκλείδωμα της οθόνης και κλειδώστε την τηλεόραση ή διαγράψτε όλα τα δεδομένα του χρήστη, σε περίπτωση εισαγωγής πάρα πολλών εσφαλμένων κωδικών πρόσβασης."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Παρακολουθήστε τον αριθμό των εσφαλμένων κωδικών πρόσβασης που πληκτρολογούνται κατά το ξεκλείδωμα της οθόνης και κλειδώστε το τηλέφωνο ή διαγράψτε όλα τα δεδομένα του χρήστη, σε περίπτωση εισαγωγής πάρα πολλών εσφαλμένων κωδικών πρόσβασης."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Αλλαγή του κλειδώματος οθόνης"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Αλλαγή του κλειδώματος οθόνης"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Κλείδωμα οθόνης"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Έλεγχος του τρόπου και του χρόνου κλειδώματος της οθόνης."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Διαγραφή όλων των δεδομένων"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Διαγραφή των δεδομένων του tablet χωρίς προειδοποίηση με επαναφορά των εργοστασιακών ρυθμίσεων."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Διαγραφή των δεδομένων της τηλεόρασης χωρίς προειδοποίηση με εκτέλεση επαναφοράς εργοστασιακών ρυθμίσεων."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Διαγραφή των δεδομένων του τηλεφώνου χωρίς προειδοποίηση με επαναφορά των εργοστασιακών ρυθμίσεων."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Διαγραφή δεδομένων χρήστη"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Διαγραφή των δεδομένων αυτού του χρήστη σε αυτό το tablet χωρίς προειδοποίηση."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Διαγραφή των δεδομένων αυτού του χρήστη σε αυτήν την τηλεόραση χωρίς προειδοποίηση."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Διαγραφή των δεδομένων αυτού του χρήστη σε αυτό το τηλέφωνο χωρίς προειδοποίηση."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Ρύθμιση του γενικού διακομιστή μεσολάβησης της συσκευής"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Ορίστε τη χρήση του γενικού διακομιστή μεσολάβησης της συσκευής όταν είναι ενεργοποιημένη η πολιτική. Μόνο ο διαχειριστής της πρώτης συσκευής ορίζει τον ισχύοντα γενικό διακομιστή μεσολάβησης."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Ορισμός λήξης κωδ. κλειδ. οθ."</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Έλεγχος της συχνότητας αλλαγής του κωδικού πρόσβασης κλειδώματος οθόνης."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Ρυθμίστε τη χρήση του γενικού διακομιστή μεσολάβησης της συσκευής, ενώ η πολιτική είναι ενεργοποιημένη. Μόνο ο κάτοχος της συσκευής μπορεί να ρυθμίσει τον γενικό διακομιστής μεσολάβησης."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Ορίστε λήξη κωδ.πρόσ.κλειδ.οθ."</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Αλλάξτε τη συχνότητας αλλαγής του κωδικού πρόσβασης κλειδώματος οθόνης, του PIN ή του μοτίβου."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Ορισμός κρυπτογρ. αποθ. χώρου"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Να απαιτείται η κρυπτογράφηση των αποθηκευμένων δεδομένων εφαρμογής"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Απενεργοποίηση φωτογρ. μηχανών"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Να αποτρέπεται η χρήση των φωτογραφικών μηχανών της συσκευής."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Απενεργοποίηση λειτουργιών στο κλείδωμα πληκτρολογίου"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Αποφυγή της χρήσης ορισμένων λειτουργιών στο κλείδωμα πληκτρολογίου."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Απεν. λειτ.κλειδώματος οθόνης"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Αποφυγή της χρήσης ορισμένων λειτουργιών στο κλείδωμα οθόνης."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Οικία"</item>
     <item msgid="869923650527136615">"Κινητό"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Μην εκκινήσετε τη νέα εφαρμογή."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Εκκίνηση της εφαρμογής <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Διακοπή της παλιάς εφαρμογής χωρίς αποθήκευση."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Επιλέξτε μια ενέργεια για το κείμενο"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Ένταση ήχου ειδοποίησης"</string>
     <string name="volume_music" msgid="5421651157138628171">"Ένταση ήχου πολυμέσων"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Δοκιμάστε ξανά σε 1 δευτερόλεπτο</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Δοκιμάστε ξανά αργότερα"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Σάρωση προς τα κάτω για έξοδο από πλήρη οθόνη"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Προβολή σε πλήρη οθόνη"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Για έξοδο, σύρετε προς τα κάτω από το επάνω μέρος."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Το κατάλαβα"</string>
     <string name="done_label" msgid="2093726099505892398">"Τέλος"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Κυκλικό ρυθμιστικό ωρών"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Κυκλικό ρυθμιστικό λεπτών"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Εργασία <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Για να ξεκαρφιτσώσετε αυτήν την οθόνη, πατήστε παρατεταμένα \"Επιστροφή\" και \"Επισκόπηση\" ταυτόχρονα."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Για να ξεκαρφιτσώσετε αυτήν την οθόνη, αγγίξτε παρατεταμένα \"Επισκόπηση\"."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Η οθόνη καρφιστώθηκε. Το ξεκαρφίτσωμα δεν επιτρέπεται από τον οργανισμό σας."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Η οθόνη καρφιτσώθηκε"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Η οθόνη ξεκαρφιτσώθηκε"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Να γίνεται ερώτηση για το PIN, πριν από το ξεκαρφίτσωμα"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Για μία ώρα</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Έως τις <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Επ\' αόριστον"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Μέχρι να το απενεργοποιήσετε"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Σύμπτυξη"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Έως την επόμενη ειδοποίηση στις <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Έως την επόμενη ειδοποίηση"</string>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index dcbc375..e75df385 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Allows the app to communicate with Near Field Communication (NFC) tags, cards and readers."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"disable your screen lock"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Allows the app to disable the keylock and any associated password security. For example, the phone disables the keylock when receiving an incoming phone call, then re-enables the keylock when the call is finished."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"manage fingerprint hardware"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Allows the app to invoke methods to add and delete fingerprint templates for use."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"use fingerprint hardware"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Allows the app to use fingerprint hardware for authentication"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"read sync settings"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Allows the app to read the sync settings for an account. For example, this can determine whether the People app is synced with an account."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"toggle sync on and off"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Allows the app to retrieve, examine, and clear notifications, including those posted by other apps."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"bind to a notification listener service"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Allows the holder to bind to the top-level interface of a notification listener service. Should never be needed for normal apps."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"bind to a chooser target service"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Allows the holder to bind to the top-level interface of a chooser target service. Should never be needed for normal apps."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"bind to a condition provider service"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Allows the holder to bind to the top-level interface of a condition provider service. Should never be needed for normal apps."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"bind to a media route service"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"bind to a carrier messaging service"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Allows the holder to bind to the top-level interface of a carrier messaging service. Should never be needed for normal apps."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Set password rules"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Control the length and the characters allowed in screen-unlock passwords."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Control the length and the characters allowed in screen lock passwords and PINs."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Monitor screen-unlock attempts"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Monitor the number of incorrect passwords typed when unlocking the screen and lock the tablet or erase all the tablet\'s data if too many incorrect passwords are typed."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Monitor the number of incorrect passwords typed when unlocking the screen, and lock the TV or erase all the TV\'s data if too many incorrect passwords are typed."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Monitor the number of incorrect passwords typed when unlocking the screen and lock the phone or erase all the phone\'s data if too many incorrect passwords are typed."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Change the screen-unlock password"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Change the screen-unlock password."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Monitor the number of incorrect passwords typed when unlocking the screen, and lock the tablet or erase all this user\'s data if too many incorrect passwords are typed."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Monitor the number of incorrect passwords typed when unlocking the screen, and lock the TV or erase all this user\'s data if too many incorrect passwords are typed."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Monitor the number of incorrect passwords typed when unlocking the screen, and lock the phone or erase all this user\'s data if too many incorrect passwords are typed."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Change the screen lock"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Change the screen lock."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Lock the screen"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Control how and when the screen locks."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Erase all data"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Erase the tablet\'s data without warning by performing a factory data reset."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Erase the TV\'s data without warning by performing a factory data reset."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Erase the phone\'s data without warning by performing a factory data reset."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Erase user data"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Erase this user\'s data on this tablet without warning."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Erase this user\'s data on this TV without warning."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Erase this user\'s data on this phone without warning."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Set the device global proxy"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Set the device\'s global proxy to be used while policy is enabled. Only the first device admin sets the effective global proxy."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Set lock-screen password expiry"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Control how frequently the lock-screen password must be changed."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Set the device global proxy to be used while policy is enabled. Only the device owner can set the global proxy."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Set screen lock password expiry"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Change how frequently the screen lock password, PIN or pattern must be changed."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Set storage encryption"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Require that stored app data be encrypted."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Disable cameras"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Prevent use of all device cameras."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Disable features in keyguard"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Prevent use of some features in keyguard."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Disable features of screen lock"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Prevent use of some features of screen lock."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Home"</item>
     <item msgid="869923650527136615">"Mobile"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Don\'t start the new app."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Start <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Stop the old app without saving."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Choose an action for text"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Ringer volume"</string>
     <string name="volume_music" msgid="5421651157138628171">"Media volume"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Try again in 1 second</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Try again later"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Swipe down from the top to exit full screen."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Viewing full screen"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"To exit, swipe down from the top."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Got it"</string>
     <string name="done_label" msgid="2093726099505892398">"Done"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Hours circular slider"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Minutes circular slider"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Work <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"To unpin this screen, touch and hold Back and Overview at the same time."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"To unpin this screen, touch and hold Overview."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Screen is pinned. Unpinning isn\'t allowed by your organisation."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Screen pinned"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Screen unpinned"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Ask for PIN before unpinning"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">For one hour</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Until <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Indefinitely"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Until you turn this off"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Collapse"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Until next alarm at <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Until next alarm"</string>
diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml
index dcbc375..e75df385 100644
--- a/core/res/res/values-en-rIN/strings.xml
+++ b/core/res/res/values-en-rIN/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Allows the app to communicate with Near Field Communication (NFC) tags, cards and readers."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"disable your screen lock"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Allows the app to disable the keylock and any associated password security. For example, the phone disables the keylock when receiving an incoming phone call, then re-enables the keylock when the call is finished."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"manage fingerprint hardware"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Allows the app to invoke methods to add and delete fingerprint templates for use."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"use fingerprint hardware"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Allows the app to use fingerprint hardware for authentication"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"read sync settings"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Allows the app to read the sync settings for an account. For example, this can determine whether the People app is synced with an account."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"toggle sync on and off"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Allows the app to retrieve, examine, and clear notifications, including those posted by other apps."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"bind to a notification listener service"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Allows the holder to bind to the top-level interface of a notification listener service. Should never be needed for normal apps."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"bind to a chooser target service"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Allows the holder to bind to the top-level interface of a chooser target service. Should never be needed for normal apps."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"bind to a condition provider service"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Allows the holder to bind to the top-level interface of a condition provider service. Should never be needed for normal apps."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"bind to a media route service"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"bind to a carrier messaging service"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Allows the holder to bind to the top-level interface of a carrier messaging service. Should never be needed for normal apps."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Set password rules"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Control the length and the characters allowed in screen-unlock passwords."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Control the length and the characters allowed in screen lock passwords and PINs."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Monitor screen-unlock attempts"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Monitor the number of incorrect passwords typed when unlocking the screen and lock the tablet or erase all the tablet\'s data if too many incorrect passwords are typed."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Monitor the number of incorrect passwords typed when unlocking the screen, and lock the TV or erase all the TV\'s data if too many incorrect passwords are typed."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Monitor the number of incorrect passwords typed when unlocking the screen and lock the phone or erase all the phone\'s data if too many incorrect passwords are typed."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Change the screen-unlock password"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Change the screen-unlock password."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Monitor the number of incorrect passwords typed when unlocking the screen, and lock the tablet or erase all this user\'s data if too many incorrect passwords are typed."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Monitor the number of incorrect passwords typed when unlocking the screen, and lock the TV or erase all this user\'s data if too many incorrect passwords are typed."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Monitor the number of incorrect passwords typed when unlocking the screen, and lock the phone or erase all this user\'s data if too many incorrect passwords are typed."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Change the screen lock"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Change the screen lock."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Lock the screen"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Control how and when the screen locks."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Erase all data"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Erase the tablet\'s data without warning by performing a factory data reset."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Erase the TV\'s data without warning by performing a factory data reset."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Erase the phone\'s data without warning by performing a factory data reset."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Erase user data"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Erase this user\'s data on this tablet without warning."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Erase this user\'s data on this TV without warning."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Erase this user\'s data on this phone without warning."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Set the device global proxy"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Set the device\'s global proxy to be used while policy is enabled. Only the first device admin sets the effective global proxy."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Set lock-screen password expiry"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Control how frequently the lock-screen password must be changed."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Set the device global proxy to be used while policy is enabled. Only the device owner can set the global proxy."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Set screen lock password expiry"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Change how frequently the screen lock password, PIN or pattern must be changed."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Set storage encryption"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Require that stored app data be encrypted."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Disable cameras"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Prevent use of all device cameras."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Disable features in keyguard"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Prevent use of some features in keyguard."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Disable features of screen lock"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Prevent use of some features of screen lock."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Home"</item>
     <item msgid="869923650527136615">"Mobile"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Don\'t start the new app."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Start <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Stop the old app without saving."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Choose an action for text"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Ringer volume"</string>
     <string name="volume_music" msgid="5421651157138628171">"Media volume"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Try again in 1 second</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Try again later"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Swipe down from the top to exit full screen."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Viewing full screen"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"To exit, swipe down from the top."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Got it"</string>
     <string name="done_label" msgid="2093726099505892398">"Done"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Hours circular slider"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Minutes circular slider"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Work <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"To unpin this screen, touch and hold Back and Overview at the same time."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"To unpin this screen, touch and hold Overview."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Screen is pinned. Unpinning isn\'t allowed by your organisation."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Screen pinned"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Screen unpinned"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Ask for PIN before unpinning"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">For one hour</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Until <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Indefinitely"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Until you turn this off"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Collapse"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Until next alarm at <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Until next alarm"</string>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index e916cb6..84718dd 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Permite que la aplicación se comunique con lectores, tarjetas y etiquetas de Comunicación de campo cercano (NFC)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"desactivar el bloqueo de pantalla"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Permite que la aplicación desactive el bloqueo del teclado y cualquier protección con contraseña asociada. Por ejemplo, el dispositivo puede desactivar el bloqueo del teclado cuando recibe una llamada telefónica y volver a activarlo cuando finaliza la llamada."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"Administrar el hardware de huellas digitales"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Permite que la aplicación emplee métodos para agregar y eliminar plantillas de huellas digitales para su uso."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"Utilizar hardware de huellas digitales"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Permite que la aplicación utilice el hardware de huellas digitales para realizar la autenticación."</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"leer la configuración de sincronización"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Este permiso permite que la aplicación consulte la configuración de sincronización de una cuenta. Esto permite, por ejemplo, determinar si la aplicación Personas está sincronizada con una cuenta."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"activar y desactivar la sincronización"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Permite que la aplicación recupere, examine y elimine notificaciones, incluidas aquellas publicadas por otras aplicaciones."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"Vincular a un servicio de agente de escucha de notificaciones"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Permite al propietario vincularse a la interfaz de nivel superior de un servicio de agente de escucha de notificaciones. Las aplicaciones normales no deberían necesitar este permiso."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"vincularse a un servicio de destino selector"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Permite al propietario vincularse a la interfaz de nivel superior de un servicio de destino. Las aplicaciones normales no deberían necesitar este permiso."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"vincular con un servicio de proveedor de condiciones"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Permite vincular con la interfaz de nivel superior de un servicio de proveedor de condiciones. Las aplicaciones normales no deberían necesitar este permiso."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"vincular a un servicio de enrutamiento de contenido multimedia"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"vincular al servicio de mensajería del proveedor"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite al propietario vincularse a la interfaz de nivel superior del servicio de mensajería del proveedor. Las aplicaciones regulares no lo necesitan."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Establecer reglas de contraseña"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Controlar la longitud y los caracteres permitidos en las contraseñas para desbloquear la pantalla"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Permite controlar la longitud y los caracteres permitidos en las contraseñas y los PIN para el bloqueo de pantalla."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Supervisa los intentos para desbloquear la pantalla"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Controla la cantidad de contraseñas incorrectas ingresadas al desbloquear la pantalla y bloquea la tablet o borra todos los datos de la tablet si se ingresaron demasiadas contraseñas incorrectas."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Permite controlar la cantidad de contraseñas incorrectas que se escriben al desbloquear la pantalla y permite bloquear la TV o borrar todos los datos de la TV si se escriben demasiadas contraseñas incorrectas."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Controla la cantidad de contraseñas ingresadas incorrectamente al desbloquear la pantalla y bloquea el dispositivo o borra todos sus datos si se ingresan demasiadas contraseñas incorrectas."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Cambiar la contraseña para desbloquear la pantalla"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Cambiar la contraseña para desbloquear la pantalla"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Permite controlar la cantidad de contraseñas incorrectas que se escriben al desbloquear la pantalla y bloquear la tablet, o borrar todos los datos del usuario, si se ingresan demasiadas contraseñas incorrectas."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Permite controlar la cantidad de contraseñas incorrectas que se escriben al desbloquear la pantalla y bloquear la televisión, o borrar todos los datos del usuario, si se ingresan demasiadas contraseñas incorrectas."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Permite controlar la cantidad de contraseñas incorrectas que se escriben al desbloquear la pantalla y bloquear el teléfono, o borrar todos los datos del usuario, si se ingresan demasiadas contraseñas incorrectas."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Cambiar el bloqueo de pantalla"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Permite cambiar el bloqueo de pantalla."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Bloquear la pantalla"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Controlar cómo y cuándo se bloquea la pantalla"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Eliminar todos los datos"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Eliminar los datos de la tablet sin avisar y restablecer la configuración de fábrica"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Permite borrar los datos de la TV sin previo aviso mediante el restablecimiento de la configuración de fábrica."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Eliminar los datos del dispositivo sin avisar y restablecer la configuración de fábrica"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Borrar los datos del usuario"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Permite borrar los datos del usuario en esta tablet sin previo aviso."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Permite borrar los datos del usuario en esta televisión sin previo aviso."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Permite borrar los datos del usuario en este teléfono sin previo aviso."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Configura el proxy global de dispositivo"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Configuración del proxy global de dispositivo que se utilizará mientras se habilita la política. Sólo la primera administración de dispositivo configura el proxy global efectivo."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Establecer la caducidad del bloqueo de pantalla"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Controlar la frecuencia con la que se debe cambiar la contraseña de bloqueo de pantalla"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Configura el proxy global de dispositivo que se usará mientras se habilita la política. Solo el propietario del dispositivo puede configurar el proxy global."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Config. vencimiento contraseña"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Permite modificar la frecuencia con que se cambia la contraseña, el PIN o el patrón de bloqueo de pantalla."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Establecer la encriptación del almacenamiento"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Exige que se encripten los datos de la aplicación almacenados."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Desactivar cámaras"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Evita el uso de todas las cámaras del dispositivo."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Desactiv. funciones en bloqueo"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Evita el uso de algunas funciones con el bloqueo del teclado."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Inhabilitar funciones bloqueo"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Permite evitar el uso de algunas funciones de bloqueo de pantalla."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Casa"</item>
     <item msgid="869923650527136615">"Móvil"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"No iniciar la nueva aplicación."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Inicio <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Interrumpe la aplicación anterior sin guardar los cambios."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Seleccionar una acción para el texto"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Volumen del timbre"</string>
     <string name="volume_music" msgid="5421651157138628171">"Volumen de los medios"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Vuelve a intentarlo en 1 segundo.</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Vuelve a intentar más tarde."</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Desliza el dedo hacia abajo para salir de la pantalla completa."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Visualización en pantalla completa"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Para salir, desliza el dedo hacia abajo desde la parte superior."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Entendido"</string>
     <string name="done_label" msgid="2093726099505892398">"Listo"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Control deslizante circular de horas"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Control deslizante circular de minutos"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> de trabajo"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Para dejar de fijar esta pantalla, mantén presionados los botones para volver y Recientes al mismo tiempo."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Para dejar de fijar esta pantalla, mantén presionado el botón Recientes."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"La pantalla está fija. La organización no permite dejar de fijar la pantalla."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Pantalla fija"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Pantalla no fija"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Solicitar PIN para quitar fijación"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Durante 1 hora</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Hasta la(s) <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Indefinidamente"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Hasta que lo desactives"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Contraer"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Hasta la próxima alarma a la(s) <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Hasta la próxima alarma"</string>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index 60a543f..df148a0 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -542,9 +542,9 @@
     <string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"Permite que la aplicación acceda a otros comandos del proveedor de ubicación. De esta forma, la aplicación podrá interferir en el funcionamiento del GPS o de otras fuentes de ubicación."</string>
     <string name="permlab_installLocationProvider" msgid="6578101199825193873">"permiso para instalar un proveedor de ubicación"</string>
     <string name="permdesc_installLocationProvider" msgid="9066146120470591509">"Permite crear fuentes de ubicación simuladas para hacer pruebas o instalar un nuevo proveedor de ubicación. Este permiso autoriza a la aplicación a sobrescribir la ubicación o el estado proporcionados por otras fuentes de ubicación, como los proveedores de ubicación o GPS."</string>
-    <string name="permlab_accessFineLocation" msgid="1191898061965273372">"ubicación precisa (basada en red y GPS)"</string>
+    <string name="permlab_accessFineLocation" msgid="1191898061965273372">"ubicación precisa (basada en redes y GPS)"</string>
     <string name="permdesc_accessFineLocation" msgid="5295047563564981250">"Permite que la aplicación obtenga tu ubicación precisa mediante el Sistema de posicionamiento global (GPS) o fuentes de ubicación de red, como torres de telefonía y redes Wi-Fi. Estos servicios de ubicación deben estar activados y disponibles para que la aplicación pueda utilizarlos. Las aplicaciones pueden utilizar este permiso para determinar tu ubicación y es posible que el dispositivo consuma más batería."</string>
-    <string name="permlab_accessCoarseLocation" msgid="4887895362354239628">"ubicación aproximada (basada en red)"</string>
+    <string name="permlab_accessCoarseLocation" msgid="4887895362354239628">"ubicación aproximada (basada en redes)"</string>
     <string name="permdesc_accessCoarseLocation" msgid="2538200184373302295">"Permite que la aplicación obtenga tu ubicación aproximada. Esta ubicación se deriva de los servicios de ubicación que utilizan fuentes de ubicación de red, como torres de telefonía y redes Wi-Fi. Estos servicios de ubicación deben estar activados y disponibles para que la aplicación pueda utilizarlos. Las aplicaciones pueden utilizar este permiso para determinar tu ubicación de forma aproximada."</string>
     <string name="permlab_accessSurfaceFlinger" msgid="2363969641792388947">"acceder a SurfaceFlinger"</string>
     <string name="permdesc_accessSurfaceFlinger" msgid="1041619516733293551">"Permite que la aplicación use funciones de SurfaceFlinger de nivel inferior."</string>
@@ -690,7 +690,7 @@
     <string name="permdesc_useCredentials" msgid="7984227147403346422">"Permite que la aplicación solicite tokens de autenticación."</string>
     <string name="permlab_accessNetworkState" msgid="4951027964348974773">"ver conexiones de red"</string>
     <string name="permdesc_accessNetworkState" msgid="8318964424675960975">"Permite que la aplicación vea información sobre conexiones de red (por ejemplo, qué redes existen y están conectadas)."</string>
-    <string name="permlab_createNetworkSockets" msgid="8018758136404323658">"acceso completo a red"</string>
+    <string name="permlab_createNetworkSockets" msgid="8018758136404323658">"acceso completo a la red"</string>
     <string name="permdesc_createNetworkSockets" msgid="3403062187779724185">"Permite que la aplicación cree sockets de red y utilice protocolos de red personalizados. El navegador y otras aplicaciones proporcionan los medios necesarios para el envío de datos a Internet, por lo que no hace falta utilizar este permiso para eso."</string>
     <string name="permlab_writeApnSettings" msgid="505660159675751896">"cambiar/interceptar el tráfico y la configuración de red"</string>
     <string name="permdesc_writeApnSettings" msgid="5333798886412714193">"Permite que la aplicación modifique los ajustes de red y que intercepte e inspeccione todo el tráfico de red para, por ejemplo, cambiar el proxy y el puerto de cualquier APN. Las aplicaciones malintencionadas pueden controlar, redirigir o modificar los paquetes de red sin el consentimiento del usuario."</string>
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Permite que la aplicación se comunique con lectores, tarjetas y etiquetas de Comunicación de campo cercano (NFC)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"inhabilitar el bloqueo de pantalla"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Permite que la aplicación inhabilite el bloqueo del teclado y cualquier protección con contraseña asociada. Por ejemplo, el teléfono puede inhabilitar el bloqueo del teclado cuando se recibe una llamada telefónica y volver a habilitarlo cuando finaliza la llamada."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"administrar hardware de huellas digitales"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Permite que la aplicación invoque métodos para añadir y eliminar plantillas de huellas digitales y utilizarlas."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"utilizar hardware de huellas digitales"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Permite que la aplicación utilice el hardware de huellas digitales para realizar la autenticación"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"leer la configuración de sincronización"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Permite que la aplicación consulte la configuración de sincronización de una cuenta. La aplicación puede utilizar este permiso, por ejemplo, para determinar si la aplicación Contactos está sincronizada con una cuenta."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"activar y desactivar la sincronización"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Permite que la aplicación recupere, examine y borre notificaciones, incluidas las que han publicado otras aplicaciones."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"enlazar con un servicio de detector de notificaciones"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Permite enlazar con la interfaz de nivel superior de un servicio de detector de notificaciones. No debe ser necesario para las aplicaciones normales."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"enlazar con un servicio de destino selector"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Permite que el titular enlace con la interfaz de nivel superior de un servicio de destino selector. Las aplicaciones normales no deberían necesitar nunca este permiso."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"enlazar con un servicio de proveedor de condiciones"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Permite enlazar con la interfaz de nivel superior de un servicio de proveedor de condiciones. Las aplicaciones normales no deberían necesitar este permiso."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"enlazar a un servicio de rutas multimedia"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"enlazar con el servicio de mensajería de un operador"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite enlazar con la interfaz de nivel superior del servicio de mensajería de un operador. Las aplicaciones normales no deberían necesitar este permiso."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Establecimiento de reglas de contraseña"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Controlar la longitud y los caracteres permitidos en las contraseñas de bloqueo de pantalla"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Controla la longitud y los caracteres permitidos en los PIN y en las contraseñas de bloqueo de pantalla."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Control de intentos de bloqueo de pantalla"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Controla el número de contraseñas incorrectas introducidas al desbloquear la pantalla y bloquea el tablet o elimina todos sus datos si se introducen demasiadas contraseñas incorrectas."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Controla el número de contraseñas incorrectas introducidas al desbloquear la pantalla y bloquea la TV o borra todos los datos de la TV si se introducen demasiadas contraseñas incorrectas."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Controla el número de contraseñas incorrectas introducidas al desbloquear la pantalla y bloquea el teléfono o elimina todos sus datos si se introducen demasiadas contraseñas incorrectas."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Modificación de contraseña de bloqueo de pantalla"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Modificar la contraseña de bloqueo de pantalla"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Controla el número de contraseñas incorrectas introducidas para desbloquear la pantalla y bloquea el tablet o borra todos los datos del usuario si se introducen demasiadas contraseñas incorrectas."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Controla el número de contraseñas incorrectas introducidas para desbloquear la pantalla y bloquea la TV o borra todos los datos del usuario si se introducen demasiadas contraseñas incorrectas."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Controla el número de contraseñas incorrectas introducidas para desbloquear la pantalla y bloquea el teléfono o borra todos los datos del usuario si se introducen demasiadas contraseñas incorrectas."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Cambiar el bloqueo de pantalla"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Cambia el bloqueo de pantalla."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Bloqueo de pantalla"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Controlar cómo y cuándo se bloquea la pantalla"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Borrar todos los datos"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Borrar los datos del tablet sin avisar restableciendo datos de fábrica"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Borra los datos de la TV sin advertencia previa restableciendo la TV a los valores predeterminados de fábrica."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Borrar los datos del teléfono sin avisar restableciendo datos de fábrica"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Borrar datos del usuario"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Borra los datos del usuario en este tablet sin avisar."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Borra los datos del usuario en esta TV sin avisar."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Borra los datos del usuario en este teléfono sin avisar."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Definir el servidor proxy global"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Define el servidor proxy global que se debe utilizar mientras la política esté habilitada. Solo el primer administrador de dispositivos define el servidor proxy global efectivo."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Definir caducidad bloqueo pantalla"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Controlar la frecuencia con la que se debe cambiar el bloqueo de la pantalla"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Define el servidor proxy global que se debe utilizar mientras la política esté habilitada. Solo el propietario del dispositivo puede definir el proxy global."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Definir caducidad contraseña"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Cambia la frecuencia con la que se debe cambiar el patrón, el PIN o la contraseña del bloqueo de pantalla."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Cifrado del almacenamiento"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Exige que se cifren los datos de la aplicación almacenados."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Inhabilitar cámaras"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Evitar el uso de las cámaras del dispositivo"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Inhabilitar funciones en bloqueo"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Evita el uso de algunas funciones durante el bloqueo."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Desactivar funciones bloqueo"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Evita el uso de algunas funciones del bloqueo de pantalla."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Casa"</item>
     <item msgid="869923650527136615">"Móvil"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"No iniciar la nueva aplicación"</string>
     <string name="new_app_action" msgid="5472756926945440706">"Iniciar <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Detener la aplicación anterior sin guardar"</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Selecciona una acción para el texto"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Volumen del timbre"</string>
     <string name="volume_music" msgid="5421651157138628171">"Volumen multimedia"</string>
@@ -1332,7 +1353,7 @@
     <string name="perms_new_perm_prefix" msgid="8257740710754301407"><font size="12" fgcolor="#ff33b5e5">"NUEVO:"</font></string>
     <string name="perms_description_app" msgid="5139836143293299417">"Proporcionado por <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="no_permissions" msgid="7283357728219338112">"No es necesario ningún permiso"</string>
-    <string name="perm_costs_money" msgid="4902470324142151116">"es posible que se cobre por usar la aplicación."</string>
+    <string name="perm_costs_money" msgid="4902470324142151116">"es posible que esto te cueste dinero"</string>
     <string name="usb_storage_activity_title" msgid="4465055157209648641">"Almacenamiento USB masivo"</string>
     <string name="usb_storage_title" msgid="5901459041398751495">"Conexión por USB"</string>
     <string name="usb_storage_message" product="nosdcard" msgid="3308538094316477839">"Has conectado el dispositivo al ordenador por USB. Toca el siguiente botón si quieres transferir archivos entre el ordenador y el almacenamiento USB del dispositivo."</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Vuelve a intentarlo en 1 segundo</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Volver a intentar más tarde"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Desliza el dedo hacia abajo para salir de la pantalla completa"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Mostrando pantalla completa"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Para salir, desliza el dedo hacia abajo desde la parte superior de la pantalla."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Entendido"</string>
     <string name="done_label" msgid="2093726099505892398">"Listo"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Control deslizante circular de horas"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Control deslizante circular de minutos"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> de trabajo"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Para desactivar esta pantalla, mantén pulsados los botones de retroceso y Visión general al mismo tiempo."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Para desactivar esta pantalla, mantén pulsado Visión general."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Se ha activado la pantalla. Tu organización no puede desactivarla."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Pantalla fijada"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"La pantalla ya no está fija"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Solicitar PIN para desactivar"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Durante una hora</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Hasta las <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Indefinidamente"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Hasta apagar el dispositivo"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Contraer"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Hasta la próxima alarma a las <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Hasta la próxima alarma"</string>
diff --git a/core/res/res/values-et-rEE/strings.xml b/core/res/res/values-et-rEE/strings.xml
index fe077c8..a428496 100644
--- a/core/res/res/values-et-rEE/strings.xml
+++ b/core/res/res/values-et-rEE/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Võimaldab rakendusel suhelda lähiväljaside (NFC) märgendite, kaartide ja lugeritega."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"keelake ekraanilukk"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Võimaldab rakendusel keelata klahviluku ja muu seotud parooli turvalisuse. Näiteks keelab telefon klahviluku sissetuleva kõne vastuvõtmisel ja lubab klahviluku uuesti, kui kõne on lõpetatud."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"sõrmejälje riistvara haldamine"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Võimaldab rakendusel tühistada meetodid kasutatavate sõrmejäljemallide lisamiseks ja kustutamiseks."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"sõrmejälje riistvara kasutamine"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Võimaldab rakendusel autentimiseks kasutada sõrmejälje riistvara"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"loe sünkroonimisseadeid"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Võimaldab rakendusel lugeda konto sünkroonimisseadeid. Näiteks võib see määrata, kas rakendus Inimesed on kontoga sünkroonitud."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"lülitage sünkroonimine sisse ja välja"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Võimaldab rakendusel tuua, kontrollida ja kustutada märguandeid, sh neid, mille on postitanud teised rakendused."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"seo märguannete kuulamisteenusega"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Võimaldab omanikul siduda märguannete kuulamisteenuse ülemise taseme kasutajaliidese. Seda ei tohiks tavarakenduste puhul kunagi vaja olla."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"valija sihtteenusega sidumine"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Võimaldab omanikul siduda valija sihtteenuse ülataseme liidesega. Tavarakenduste puhul ei peaks seda kunagi vaja minema."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"seo tingimuse pakkuja teenusega"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Lubab omanikul siduda tingimuse pakkuja teenuse ülataseme liidesega. Pole kunagi vajalik tavaliste rakenduste puhul."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"meediumi marsruutimise teenusega sidumine"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"seose loomine operaatori sõnumisideteenusega"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Lubab omanikul luua seose operaatori sõnumisideteenuse ülataseme liidesega. Pole kunagi vajalik tavalise rakenduse puhul."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Parooli reeglite määramine"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Kontrollige ekraaniluku avamise paroolide pikkust ja tähemärke."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Juhitakse ekraaniluku paroolide ja PIN-koodide pikkusi ning lubatud tähemärkide seadeid."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Ekraani avamiskatsed"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Jälgib ekraani avamisel valesti sisestatud paroolide arvu ja lukustab tahvelarvuti või kustutab kõik selle andmed, kui vale parool sisestatakse liiga palju kordi."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Ekraani avamiseks valesti sisestatud paroolide arvu jälgimine ja teleri lukustamine või teleri andmete kustutamine, kui parool sisestatakse liiga mitu korda valesti."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Jälgib ekraani avamisel valesti sisestatud paroolide arvu ja lukustab telefoni või kustutab kõik selle andmed, kui vale parool sisestatakse liiga palju kordi."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Ekraaniluku parooli muutmine"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Ekraaniluku parooli muutmine."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Jälgitakse ekraani avamisel sisestatud valede paroolide arvu ja lukustatakse tahvelarvuti või kustutatakse kõik selle kasutaja andmed, kui vale parool sisestatakse liiga palju kordi."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Jälgitakse ekraani avamisel sisestatud valede paroolide arvu ja lukustatakse teler või kustutatakse kõik selle kasutaja andmed, kui vale parool sisestatakse liiga palju kordi."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Jälgitakse ekraani avamisel sisestatud valede paroolide arvu ja lukustatakse telefon või kustutatakse kõik selle kasutaja andmed, kui vale parool sisestatakse liiga palju kordi."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Ekraaniluku muutmine"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Muudetakse ekraanilukku."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Ekraani lukustamine"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Määrake, kuidas ja millal ekraan lukustub."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Kõikide andmete kustutamine"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Kustutage tahvelarvuti andmed hoiatamata, lähtestades arvuti tehaseandmetele."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Teleri andmete hoiatamata kustutamine tehase andmetele lähtestamise abil."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Kustuta telefoniandmed hoiatuseta, lähtestades telefoni tehaseandmetele."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Kasutaja andmete kustutamine"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Kustutatakse selle kasutaja andmed sellest tahvelarvutist ilma hoiatamata."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Kustutatakse selle kasutaja andmed sellest telerist ilma hoiatamata."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Kustutatakse selle kasutaja andmed sellest telefonist ilma hoiatamata."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Määra seadme globaalne puhverserver"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Eeskirjade lubamise ajal kasutatava seadme globaalse puhverserveri määramine. Ainult esimese seadme administraator määrab tõhusa globaalse puhverserveri."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Ekraaniluku parooli aegumise määramine"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Määrake ekraaniluku parooli muutmissagedus."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Määratakse kasutatava seadme üldine puhverserver, kui reegel on lubatud. Üldise puhverserveri saab määrata ainult seadme omanik."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Ekraaniluku parooli aegum. määram."</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Muudetakse ekraaniluku parooli, PIN-koodi või mustri kohustusliku muutmise sagedust."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Salvestamise krüpt. määramine"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Nõua salvestatud rakenduse andmete krüpteerimist."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Keela kaamerad"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Vältige seadme kõigi kaamerate kasutamist."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Klahviluku funkts. keelamine"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Takistage klahviluku mõne funktsiooni kasutamist."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Ekraaniluku funkts. keelamine"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Takistatakse ekraaniluku mõne funktsiooni kasutamist."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Kodu"</item>
     <item msgid="869923650527136615">"Mobiil"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Ärge käivitage uut rakendust."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Käivitage rakendus <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Peatage vana rakendus salvestamata."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Valige teksti jaoks toiming"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Helina helitugevus"</string>
     <string name="volume_music" msgid="5421651157138628171">"Meediumi helitugevus"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Proovige uuesti 1 sekundi pärast</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Proovige hiljem uuesti"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Täisekraanilt väljumiseks pühkige ülevalt alla."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Kuvamine täisekraanil"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Väljumiseks pühkige ülevalt alla."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Selge"</string>
     <string name="done_label" msgid="2093726099505892398">"Valmis"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Ringikujuline tunniliugur"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Ringikujuline minutiliugur"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Töö <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Ekraanikuva vabastamiseks puudutage pikalt samal ajal nuppe Tagasi ja Ülevaade."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Ekraanikuva vabastamiseks puudutage pikalt nuppu Ülevaade."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Ekraan on kinnitatud. Teie organisatsioon ei luba vabastamist."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Ekraan on kinnitatud"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Ekraan on vabastatud"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Enne vabastamist küsi PIN-koodi"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Üheks tunniks</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Kuni <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Määramata ajaks"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Kuni lülitate selle välja"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Ahendamine"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Kuni järgmise alarmini <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Kuni järgmise alarmini"</string>
diff --git a/core/res/res/values-eu-rES/strings.xml b/core/res/res/values-eu-rES/strings.xml
index 0b24d08..953a5fa 100644
--- a/core/res/res/values-eu-rES/strings.xml
+++ b/core/res/res/values-eu-rES/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Near Field Communication (NFC) etiketekin, txartelekin eta irakurgailuekin komunikatzea baimentzen die aplikazioei."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"pantailaren blokeoa desgaitzea"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Teklen blokeoa eta erlazionatutako pasahitz-segurtasuna desgaitzeko baimena ematen die aplikazioei. Adibidez, telefonoak teklen blokeoa desgaitzen du telefono-deiak jasotzen dituenean, eta berriro gaitzen du deiak amaitzean."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"Kudeatu hatz-marka digitalen hardwarea"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Hatz-marka digitalen txantiloiak gehitzeko eta ezabatzeko metodoei dei egitea baimentzen die aplikazioei."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"Erabili hatz-marka digitalen hardwarea"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Autentifikatzeko hatz-marka digitalen hardwarea erabiltzea baimentzen die aplikazioei."</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"Irakurri sinkronizazio-ezarpenak"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Kontu baten sinkronizazio-ezarpenak irakurtzeko baimena ematen die aplikazioei. Adibidez, Jendea aplikazioa konturen batekin sinkronizatuta dagoen zehatz dezake."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"sinkronizazioa aktibatzea eta desaktibatzea"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Jakinarazpenak berreskuratu, aztertu eta garbitzeko aukera ematen die aplikazioei, beste aplikazioek argitaratutako jakinarazpenak barne."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"Lotu jakinarazpenak hautemateko zerbitzu batera"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Jakinarazpenak hautemateko zerbitzu baten goi-mailako interfazera lotzeko aukera ematen dio titularrari. Aplikazio normalek ez dute baimen hau behar."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"Lotu hautatzailearen zerbitzu jakin batera"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Zerbitzu jakin baten goi-mailako interfazera lotzea baimentzen die titularrei. Aplikazio normalek ez dute baimen hau behar."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"Lotu baldintza-hornitzaileen zerbitzuei"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Baldintza-hornitzaileen zerbitzuen goi-mailako interfazeari lotzea baimentzen die titularrei. Aplikazio normalek ez lukete beharko."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"lotetsi multimedia-irteerako zerbitzu bati"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"lotu operadorearen mezularitza-zerbitzuari"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Operadore baten mezularitza-zerbitzuaren goi-mailako interfazeari lotzea baimentzen die erabiltzaileei. Aplikazio normalek ez lukete inoiz beharko."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Ezarri pasahitzen arauak"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Kontrolatu pantaila desblokeatzeko pasahitzen luzera eta onartutako karaktereak."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrolatu pantaila blokeoaren pasahitzen eta PINen luzera eta onartutako karaktereak."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Kontrolatu pantaila desblokeatzeko saiakerak"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Kontrolatu pantaila desblokeatzen saiatzean idatzitako pasahitz oker kopurua, eta blokeatu tableta edo ezabatu bere datuak pasahitza gehiegitan oker idazten bada."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Kontrolatu pantaila desblokeatzen saiatzean idatzitako pasahitz oker kopurua, eta blokeatu telebista edo ezabatu haren datuak pasahitza gehiegitan oker idazten bada."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Kontrolatu pantaila desblokeatzen saiatzean idatzitako pasahitz oker kopurua, eta blokeatu telefonoa edo ezabatu bere datuak pasahitza gehiegitan oker idazten bada."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Aldatu pantaila desblokeatzeko pasahitza"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Aldatu pantaila desblokeatzeko pasahitza."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Kontrolatu pantaila desblokeatzen saiatzean idatzitako pasahitz oker kopurua, eta blokeatu tableta edo ezabatu erabiltzailearen datuak pasahitza gehiegitan oker idazten bada."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Kontrolatu pantaila desblokeatzen saiatzean idatzitako pasahitz oker kopurua, eta blokeatu telebista edo ezabatu erabiltzailearen datuak pasahitza gehiegitan oker idazten bada."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Kontrolatu pantaila desblokeatzen saiatzean idatzitako pasahitz oker kopurua, eta blokeatu telefonoa edo ezabatu erabiltzailearen datuak pasahitza gehiegitan oker idazten bada."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Aldatu pantailaren blokeoa"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Aldatu pantailaren blokeoa."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Blokeatu pantaila"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Kontrolatu pantaila nola eta noiz blokeatzen den."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Ezabatu datu guztiak"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Ezabatu tabletaren datuak abisatu gabe, jatorrizko datuak berrezarrita."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Ezabatu telebistaren datuak abisatu gabe, jatorrizko datuak berrezarrita."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Ezabatu telefonoaren datuak abisatu gabe, jatorrizko datuak berrezarrita."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Ezabatu erabiltzailearen datuak"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Ezabatu erabiltzaileak tabletan dituen datuak abisatu gabe."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Ezabatu erabiltzaileak telebistan dituen datuak abisatu gabe."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Ezabatu erabiltzaileak telefonoan dituen datuak abisatu gabe."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Ezarri gailuaren proxy orokorra"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Ezarri gailuaren proxy orokorra gidalerroak gaituta dauden bitartean erabiltzeko. Gailuaren lehen administratzaileak soilik ezartzen du proxy orokor eraginkorra."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Ezarri blokeatzeko pasahitzaren iraungitzea"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Kontrolatu pantaila blokeatuko pasahitza aldatu beharreko maiztasuna."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Ezarri gailuaren proxy orokorra gidalerroak gaituta dauden bitartean erabiltzeko. Gailuaren jabeak soilik ezar dezake proxy orokorra."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Ezarri pasahitzaren iraungitzea"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Aldatu pantaila blokeatuko pasahitza, PINa edo eredua aldatu beharreko maiztasuna."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Ezarri memoria-enkriptatzea"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Eskatu gordetako aplikazio-datuak enkriptatzea."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Desgaitu kamerak"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Eragotzi gailuaren kamerak erabiltzea."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Teklen blokeoko eginbideak desgaitzea"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Eragotzi teklen blokeoko eginbide batzuk erabiltzea."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Desgaitu blokeoko eginbideak"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Eragotzi pantailaren blokeoko eginbide batzuk erabiltzea."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Etxekoa"</item>
     <item msgid="869923650527136615">"Mugikorra"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Ez abiarazi aplikazio berria."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Hasi <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Gelditu aplikazio zaharra ezer gorde gabe."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Aukeratu testurako ekintza"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Tonu-jotzailearen bolumena"</string>
     <string name="volume_music" msgid="5421651157138628171">"Multimedia-edukiaren bolumena"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Saiatu berriro segundo bat igarotakoan</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Saiatu berriro geroago"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Pantaila osotik irteteko, pasatu hatza goitik behera."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Pantaila osoan ikusten"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Irteteko, pasatu hatza goitik behera."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Ados"</string>
     <string name="done_label" msgid="2093726099505892398">"Eginda"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Ordua aukeratzeko ikuspegi zirkularra"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Minutuak aukeratzeko ikuspegi zirkularra"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Laneko <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Aingura kentzeko, eduki ukituta Atzera eta Ikuspegi orokorra botoiak aldi berean."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Aingura kentzeko, eduki ukituta Ikuspegi orokorra botoia."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Pantaila ainguratu da. Erakundeak ez du aingura kentzea onartzen."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Pantaila ainguratu da"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Aingura kendu zaio pantailari"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Eskatu PIN kodea aingura kendu aurretik"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Ordubetez</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> arte"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Mugagabea"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Zuk desaktibatu arte"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Tolestu"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Hurrengo alarmara arte (<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>)"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Hurrengo alarmara arte"</string>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index 2e040e3..7419f5b 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"‏به برنامه اجازه می‎دهد تا با تگهای ارتباط میدان نزدیک (NFC)، کارتها و فایل خوان ارتباط برقرار کند."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"غیرفعال کردن قفل صفحه شما"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"به برنامه امکان می‌دهد قفل کلید و هر گونه امنیت گذرواژه مرتبط را غیرفعال کند. به‌عنوان مثال تلفن هنگام دریافت یک تماس تلفنی ورودی قفل کلید را غیرفعال می‌کند و بعد از پایان تماس، قفل کلید را دوباره فعال می‌کند."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"مدیریت سخت‌افزار اثر انگشت"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"به برنامه امکان می‌دهد روش‌هایی را برای افزودن و حذف الگوهای اثر انگشت جهت استفاده، فعال کند."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"استفاده از سخت‌افزار اثر انگشت"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"به برنامه امکان می‌دهد از سخت‌افزار اثر انگشت برای احراز هویت استفاده کند"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"خواندن تنظیمات همگام‌سازی"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"به برنامه اجازه می‌دهد تنظیمات را برای یک حساب بخواند. به‌عنوان مثال، این ویژگی می‌تواند تعیین کند آیا حساب «افراد» شما با یک حساب همگام‌سازی شده است."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"تغییر وضعیت همگام‌سازی بین فعال و غیرفعال"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"به برنامه اجازه می‌دهد به بازیابی، بررسی و پاک کردن اعلان‌ها از جمله موارد پست شده توسط سایر برنامه‌ها بپردازد."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"اتصال به یک سرویس شنونده اعلان"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"به دارنده اجازه می‌دهد به یک رابط سطح بالای سرویس شنونده اعلان متصل شود. هرگز نباید برای برنامه‌های عادی لازم شود."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"اتصال به یک سرویس هدف‌یابی انتخابگر"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"به دارنده اجازه می‌دهد به رابط سطح بالای یک سرویس هدف‌یابی انتخابگر متصل شود. هرگز برای برنامه‌های معمولی مورد نیاز نیست."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"مقید بودن به سرویس ارائه‌دهنده وضعیت"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"به دارنده امکان می‌دهد تا به واسط سطح بالای سرویس ارائه‌دهنده وضعیت مقید باشد. برای برنامه‌های عادی هرگز نباید لازم باشد."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"اتصال به یک سرویس مسیر رسانه‌ای"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"مقید به سرویس پیام‌رسانی شرکت مخابراتی"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"به کنترل‌کننده اجازه می‌دهد که به سطح بالای رابط کاربر سرویس پیام‌رسانی شرکت مخابراتی مقید شود. هرگز نباید برای برنامه‌های عادی مورد نیاز شود."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"تنظیم قوانین رمز ورود"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"‏طول و نویسه‎های مجاز در گذرواژه‌های بازکردن قفل صفحه را کنترل کنید."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"کنترل طول و نوع نویسه‌هایی که در گذرواژه و پین قفل صفحه مجاز است."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"نمایش تلاش‌های قفل گشایی صفحه"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"‏تعداد گذرواژه‎های نادرست تایپ شده را هنگام بازکردن قفل صفحه کنترل می‌کند، و اگر دفعات زیادی گذرواژه نادرست وارد شود رایانهٔ لوحی را قفل می‌کند و همه داده‎های رایانهٔ لوحی را پاک می‌کند."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"بر تعداد گذرواژه‌های نادرست تایپ‌شده در زمان باز کردن قفل صفحه نظارت کنید و اگر تعدا زیادی گذرواژه‌های اشتباه تایپ شده است، تلویزیون را قفل کنید یا همه داده‌های تلویزیون را پاک کنید."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"‏تعداد گذرواژه‎های نادرست تایپ شده را هنگام بازکردن قفل صفحه کنترل می‎کند. اگر دفعات زیادی گذرواژه نادرست وارد شود، تلفن را قفل می‌کند یا همه داده‎های تلفن را پاک می‌کند."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"تغییر رمز ورود قفل گشایی صفحه"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"گذرواژه بازگشایی قفل صفحه را تغییر دهید."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"بر تعداد گذرواژه‌های نادرستی که هنگام باز کردن قفل صفحه تایپ شده، نظارت می‌کند، و اگر تعداد گذرواژه‌های تایپ شده نادرست بیش از حد بود، رایانه لوحی را قفل می‌کند یا کلیه داده‌های کاربر را پاک می‌کند."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"بر تعداد گذرواژه‌های نادرستی که هنگام باز کردن قفل صفحه تایپ شده، نظارت می‌کند، و اگر تعداد گذرواژه‌های تایپ شده نادرست بیش از حد بود، تلویزیون را قفل می‌کند یا کلیه داده‌های کاربر را پاک می‌کند."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"بر تعداد گذرواژه‌های نادرستی که هنگام باز کردن قفل صفحه تایپ شده، نظارت می‌کند، و اگر تعداد گذرواژه‌های تایپ شده نادرست بیش از حد بود، تلفن را قفل می‌کند یا کلیه داده‌های کاربر را پاک می‌کند."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"تغییر قفل صفحه"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"تغییر قفل صفحه."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"قفل کردن صفحه"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"نحوه و زمان قفل شدن صفحه را کنترل کنید."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"پاک کردن تمام داده‌ها"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"با انجام بازنشانی به داده‌های کارخانه، داده‌های رایانهٔ لوحی بدون هشدار پاک می‌شود."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"داده‌های تلویزیون را بدون هشدار با انجام بازنشانی به داده کارخانه پاک کنید."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"با انجام بازنشانی به داده‌های کارخانه، داده‌های تلفن بدون هشدار پاک می‌شود."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"پاک کردن داده‌های کاربر"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"داده‌های این کاربر را در این رایانه لوحی بدون هشدار پاک می‌کند."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"داده‌های این کاربر را در این تلویزیون بدون هشدار پاک می‌کند."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"داده‌های این کاربر را در این تلفن بدون هشدار پاک می‌کند."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"تنظیم پروکسی جهانی دستگاه"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"پروکسی جهانی دستگاه مورد نظر را جهت استفاده هنگام فعال بودن خط مشی تنظیم کنید. فقط اولین سرپرست دستگاه پروکسی جهانی مفید را تنظیم می‌کند."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"تنظیم زمان انقضای رمز ورود قفل صفحه"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"کنترل کنید چند وقت یک بار باید گذرواژه صفحه قفل عوض شود."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"پروکسی کلی دستگاه را برای استفاده هنگام فعال بودن این خط‌مشی تنظیم می‌کند. تنها مالک دستگاه می‌تواند پروکسی کلی را تنظیم کند."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"تنظیم تاریخ انقضای گذرواژه قفل صفحه"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"تغییر تعداد دفعاتی که گذرواژه، پین یا الگوی قفل صفحه باید تغییر کند."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"تنظیم رمزگذاری حافظه"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"اطلاعات ذخیره شده برنامه باید رمزگذاری شود."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"غیر فعال کردن دوربین ها"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"جلوگیری از استفاده از همه دوربین‌های دستگاه."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"غیرفعال کردن ویژگی‌‌ها در محافظ کلید"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"از استفاده از برخی ویژگی‌ها در محافظ کلید جلوگیری شود."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"غیرفعال کردن ویژگی‌های قفل صفحه"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"از استفاده از بعضی ویژگی‌های قفل صفحه جلوگیری می‌کند."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"خانه"</item>
     <item msgid="869923650527136615">"تلفن همراه"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"برنامه جدید شروع نشود."</string>
     <string name="new_app_action" msgid="5472756926945440706">"شروع <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"برنامه قدیمی را بدون ذخیره متوقف کنید."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"انتخاب یک عملکرد برای نوشتار"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"میزان صدای زنگ"</string>
     <string name="volume_music" msgid="5421651157138628171">"میزان صدای رسانه"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ثانیه دیگر دوباره امتحان کنید</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"بعداً دوباره امتحان کنید"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"برای خروج از حالت تمام صفحه، انگشت خود را به تندی از بالای صفحه به پایین بکشید."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"مشاهده در حالت تمام صفحه"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"برای خروج، انگشتتان را از بالای صفحه به پایین بکشید."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"متوجه شدم"</string>
     <string name="done_label" msgid="2093726099505892398">"انجام شد"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"لغزنده دایره‌ای ساعت"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"لغزنده دایره‌ای دقیقه"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> محل کار"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"برای برداشتن پین این صفحه، هم‌زمان «بازگشت» و «نمای کلی» را لمس کنید و نگه دارید."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"برای برداشتن پین این صفحه، «نمای کلی» را لمس کنید و نگه دارید."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"صفحه پین شده است. سازمان شما برداشتن پین را غیرمجاز کرده است."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"صفحه پین شد"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"پین صفحه برداشته شد"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"درخواست کد پین قبل از برداشتن پین"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="other">‏به مدت %d ساعت</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"تا <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"نامحدود"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"تا وقتی آن را خاموش کنید"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"کوچک کردن"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"تا هشدار بعدی در <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"تا هشدار بعدی"</string>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index ce9d6ee..9eed4a1 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -580,13 +580,13 @@
     <string name="permdesc_camera" msgid="8497216524735535009">"Antaa sovelluksen ottaa kuvia ja kuvata videoita kameralla. Sovellus voi käyttää kameraa milloin tahansa ilman lupaasi."</string>
     <string name="permlab_cameraDisableTransmitLed" msgid="2651072630501126222">"poista lähetyksen merkkivalo käytöstä, kun kameraa käytetään"</string>
     <string name="permdesc_cameraDisableTransmitLed" msgid="4764585465480295341">"Antaa valmiiksi asennetun järjestelmäsovelluksen poistaa käytöstä kameran käytössäolon merkkivalon."</string>
-    <string name="permlab_brick" product="tablet" msgid="2961292205764488304">"poista tablet-laite käytöstä lopullisesti"</string>
+    <string name="permlab_brick" product="tablet" msgid="2961292205764488304">"poista tabletti käytöstä lopullisesti"</string>
     <string name="permlab_brick" product="tv" msgid="4912674222121249410">"Poista televisio pysyvästi käytöstä"</string>
     <string name="permlab_brick" product="default" msgid="8337817093326370537">"poista puhelin käytöstä pysyvästi"</string>
     <string name="permdesc_brick" product="tablet" msgid="4334818808001699530">"Antaa sovelluksen poistaa koko tablet-laitteen käytöstä lopullisesti. Tämä on hyvin vaarallista."</string>
     <string name="permdesc_brick" product="tv" msgid="7070924544316356349">"Antaa sovelluksen poistaa koko television pysyvästi käytöstä. Tämä on hyvin vaarallista."</string>
     <string name="permdesc_brick" product="default" msgid="5788903297627283099">"Antaa sovelluksen poistaa koko puhelimen käytöstä lopullisesti. Tämä on hyvin vaarallista."</string>
-    <string name="permlab_reboot" product="tablet" msgid="3436634972561795002">"pakota tablet-laite käynnistymään uudelleen"</string>
+    <string name="permlab_reboot" product="tablet" msgid="3436634972561795002">"pakota tabletti käynnistymään uudelleen"</string>
     <string name="permlab_reboot" product="tv" msgid="2112102119558886236">"Pakota television uudelleenkäynnistys"</string>
     <string name="permlab_reboot" product="default" msgid="2898560872462638242">"pakota puhelin käynnistymään uudelleen"</string>
     <string name="permdesc_reboot" product="tablet" msgid="8172056180063700741">"Antaa sovelluksen pakottaa tablet-laitteen käynnistymään uudelleen."</string>
@@ -650,7 +650,7 @@
     <string name="permdesc_transmitIr" product="tablet" msgid="5358308854306529170">"Antaa sovelluksen käyttää tablet-laitteen infrapunalähetintä."</string>
     <string name="permdesc_transmitIr" product="tv" msgid="3926790828514867101">"Antaa sovelluksen käyttää television infrapunalähetintä."</string>
     <string name="permdesc_transmitIr" product="default" msgid="7957763745020300725">"Antaa sovelluksen käyttää puhelimen infrapunalähetintä."</string>
-    <string name="permlab_devicePower" product="tablet" msgid="2787034722616350417">"käynnistä tai sammuta tablet-laite"</string>
+    <string name="permlab_devicePower" product="tablet" msgid="2787034722616350417">"käynnistä tai sammuta tabletti"</string>
     <string name="permlab_devicePower" product="tv" msgid="7579718349658943416">"Sammuta ja käynnistä televisio"</string>
     <string name="permlab_devicePower" product="default" msgid="4928622470980943206">"sammutta tai käynnistä puhelin"</string>
     <string name="permdesc_devicePower" product="tablet" msgid="6689862878984631831">"Antaa sovelluksen sammuttaa tai käynnistää tablet-laitteen."</string>
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Antaa sovelluksen kommunikoida NFC (Near Field Communication) -tagien, -korttien ja -lukijoiden kanssa."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"poista ruudun lukitus käytöstä"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Antaa sovelluksen ottaa näppäinlukon ja siihen liittyvän salasanasuojauksen pois käytöstä. Esimerkki: puhelin poistaa näppäinlukon käytöstä puhelun saapuessa ja asettaa lukon takaisin käyttöön puhelun päättyessä."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"sormenjälkilaitteiston hallinnointi"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Sallii sovelluksen käyttää menetelmiä, joilla voidaan lisätä tai poistaa sormenjälkimalleja."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"sormenjälkilaitteiston käyttö"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Sallii sovelluksen käyttää sormenjälkilaitteistoa todennukseen."</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"lue synkronointiasetuksia"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Antaa sovelluksen lukea tilien synkronointiasetuksia. Sovellus voi esimerkiksi määrittää, onko Henkilöt-sovellus synkronoitu tilin kanssa."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"ota synkronointi käyttöön tai poista se käytöstä"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Antaa sovelluksen noutaa, tutkia ja tyhjentää ilmoituksia (myös muiden sovelluksien lähettämiä)."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"sido ilmoituskuuntelijapalveluun"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Antaa sovelluksen sitoutua ilmoituskuuntelijan ylimmän tason käyttöliittymään. Ei tavallisten sovelluksien käyttöön."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"luo sidos valitsimen kohdepalveluun"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Antaa sovelluksen luoda sidoksen valitsimen kohdepalvelun ylemmän tason rajapintaan. Ei tavallisten sovelluksien käyttöön."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"ehtojen toimituspalveluun sitominen"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Antaa sovelluksen luoda sidoksen ehtojen toimituspalvelun ylätason rajapintaan. Ei tavallisten sovelluksien käyttöön."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"median reitityspalveluun sitoutuminen"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"Operaattorin viestipalveluun sitoutuminen"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Antaa sovelluksen sitoutua operaattorin viestipalvelun ylätason liittymään. Ei tavallisten sovellusten käyttöön."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Aseta salasanasäännöt"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Hallinnoi ruudun lukituksenpoistosalasanoissa sallittuja merkkejä ja salasanan pituutta."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Hallinnoi ruudun ruudun lukituksen salasanoissa ja PIN-koodeissa sallittuja merkkejä ja niiden pituutta."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Tarkkaile ruudun lukituksen poistoyrityksiä"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Valvoo väärien salasanojen lukumäärää näytön lukituksen poistossa sekä lukitsee tablet-laitteen tai poistaa sen tiedot, jos salasana syötetään väärin liian monta kertaa."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Valvo väärien salasanojen määrää poistettaessa näytön lukitusta ja lukitse televisio tai poista television kaikki tiedot, jos salasana kirjoitetaan väärin liian monta kertaa."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Valvoo väärien salasanojen lukumäärää näytön lukituksen poistossa ja lukitsee puhelimen tai poistaa sen kaikki tiedot, jos väärä salasana syötetään liian monta kertaa."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Vaihda ruudunlukituksen poiston salasanaa"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Vaihda ruudunlukituksen poiston salasanaa."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Valvo väärien salasanojen määrää ruudun lukitusta avattaessa ja lukitse tabletti tai poista kaikki tämän käyttäjän tiedot, jos salasana kirjoitetaan väärin liian monta kertaa."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Valvo väärien salasanojen määrää ruudun lukitusta avattaessa ja lukitse televisio tai poista kaikki tämän käyttäjän tiedot, jos salasana kirjoitetaan väärin liian monta kertaa."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Valvo väärien salasanojen määrää ruudun lukitusta avattaessa ja lukitse puhelin tai poista kaikki tämän käyttäjän tiedot, jos salasana kirjoitetaan väärin liian monta kertaa."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Muuta ruudun lukitus"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Muuta ruudun lukitus."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Lukitse ruutu"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Hallinnoi, milloin ja miten ruutu lukittuu."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Pyyhi kaikki tiedot"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Tyhjennä tablet-laitteen tiedot varoituksetta palauttamalla tehdasasetukset."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Palauta tehdasasetukset ja poista television tiedot ilman varoitusta."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Tyhjennä puhelimen tiedot varoituksetta palauttamalla tehdasasetukset."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Pyyhi käyttäjän tiedot"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Pyyhi tämän käyttäjän tiedot tabletista ilman varoitusta."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Pyyhi tämän käyttäjän tiedot televisiosta ilman varoitusta."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Pyyhi tämän käyttäjän tiedot puhelimesta ilman varoitusta."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Aseta laitteen yleinen välityspalvelin"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Aseta laitteen yleinen välityspalvelin käyttöön, kun käytäntö on käytössä. Vain ensimmäinen laitteen järjestelmänhallitsija voi asettaa käytettävän yleisen välityspalvelimen."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Aseta ruudunlukituksen salasanan voimassaoloaika"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Määritä, miten usein ruudunlukituksen salasana tulee vaihtaa."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Aseta laitteen yleinen välityspalvelin käyttöön, kun käytäntö on käytössä. Vain laitteen omistaja voi asettaa yleisen välityspalvelimen."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Määritä ruudun lukituksen salasanan viimeinen voimassaolopäivä"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Muuta sitä, miten usein ruudun lukituksen salasana, PIN-koodi tai kuvio tulee vaihtaa."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Aseta tallennustilan salaus"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Pakota tallennettujen sovellustietojen salaus."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Poista kamerat käytöstä"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Estä laitteen kaikkien kameroiden käyttö."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Poista omin. käyt. näppäinluk."</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Estä joidenkin ominaisuuksien käyttö näppäinlukolla."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Poista ruudun lukituksen ominaisuudet"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Estä joidenkin ruudun lukituksen ominaisuuksien käyttö."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Puhelinnumero (koti)"</item>
     <item msgid="869923650527136615">"Mobiili"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Älä käynnistä uutta sovellusta."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Käynnistä <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Pysäytä vanha sovellus tallentamatta."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Valitse tekstille toiminto"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Soittoäänen voimakkuus"</string>
     <string name="volume_music" msgid="5421651157138628171">"Median äänenvoimakkuus"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Yritä uudelleen 1 sekunnin kuluttua</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Yritä myöhemmin uudelleen"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Poistu koko näytön tilasta pyyhkäisemällä alas."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Koko ruudun tilassa"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Sulje palkki pyyhkäisemällä alas ruudun ylälaidasta."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Selvä"</string>
     <string name="done_label" msgid="2093726099505892398">"Valmis"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Tuntien ympyränmuotoinen liukusäädin"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Minuuttien ympyränmuotoinen liukusäädin"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> (työ)"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Poista näytön kiinnitys painamalla Edellinen- ja Viimeisimmät-kohtaa samanaikaisesti pitkään."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Poista näytön kiinnitys painamalla Viimeisimmät-kohtaa pitkään."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Näyttö on kiinnitetty. Irrottaminen ei ole sallittu organisaatiossasi."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Näyttö kiinnitetty"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Näyttö irrotettu"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Pyydä PIN-koodi ennen irrotusta"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Tunniksi</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Kunnes kello on <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Toistaiseksi"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Kunnes poistat tämän käytöstä"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Kutista"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Seuraavaan herätykseen saakka (<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>)"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Seuraavaan herätykseen saakka"</string>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index aa10dd6..8002744 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -572,7 +572,7 @@
     <string name="permdesc_mediaContentControl" msgid="1637478200272062">"Permet à l\'application de contrôler la lecture des contenus multimédias et d\'accéder aux données associées (titre, auteur...)."</string>
     <string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"modifier vos paramètres audio"</string>
     <string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"Permet à l\'application de modifier les paramètres audio généraux, tels que le volume et la sortie audio utilisée."</string>
-    <string name="permlab_recordAudio" msgid="3876049771427466323">"enregistrer fichier audio"</string>
+    <string name="permlab_recordAudio" msgid="3876049771427466323">"enregistrer des fichiers audio"</string>
     <string name="permdesc_recordAudio" msgid="4906839301087980680">"Permet à l\'application d\'enregistrer des contenus audio à l\'aide du microphone. Cette autorisation lui donne la possibilité d\'enregistrer du contenu audio à tout moment sans votre consentement."</string>
     <string name="permlab_sim_communication" msgid="1180265879464893029">"Communication avec la carte SIM"</string>
     <string name="permdesc_sim_communication" msgid="5725159654279639498">"Permet à l\'application d\'envoyer des commandes à la carte SIM. Cette fonctionnalité est très dangereuse."</string>
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Permet à l\'application de communiquer avec des bornes, des cartes et des lecteurs compatibles avec la technologie NFC (communication en champ proche)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"désactiver le verrouillage de l\'écran"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Permet à l\'application de désactiver le verrouillage des touches et toute mesure de sécurité par mot de passe associée. Par exemple, votre téléphone désactive le verrouillage des touches lorsque vous recevez un appel, puis le réactive lorsque vous raccrochez."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"gérer le matériel d\'empreinte digitale"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Permet à l\'application de faire appel à des méthodes d\'ajout et de suppression de modèles d\'empreinte digitale que vous pouvez utiliser."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"utiliser le matériel d\'empreinte digitale"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Permet à l\'application d\'utiliser du matériel d\'empreinte digitale pour l\'authentification"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"lire les paramètres de synchronisation"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Permet à l\'application d\'accéder aux paramètres de synchronisation d\'un compte. Par exemple, cette autorisation peut permettre de déterminer si l\'application Contacts est synchronisée avec un compte ou non."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"activer ou désactiver la synchronisation"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Permet aux applications de récupérer, d\'examiner et d\'autoriser les notifications, y compris celles envoyées par d\'autres applications."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"s\'associer à l\'interface de niveau supérieur d\'un service d\'écoute des notifications"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Permet à l\'application de s\'associer à l\'interface de niveau supérieur d\'un service d\'écoute des notifications. Ne devrait jamais être nécessaire pour les applications normales."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"se lier à un service cible de sélecteur"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Permet au propriétaire de se lier à l\'interface de haut niveau d\'un service cible de sélecteur. Ne devrait jamais être nécessaire pour les applications normales."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"s\'associer à un service de fournisseur de conditions"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Permet à l\'application de s\'associer à l\'interface de niveau supérieur d\'un service de fournisseur de conditions. Ne devrait pas être nécessaire pour les applications standards."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"s\'associer à un service d\'itinéraires multimédias"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"s\'associer à un service de messagerie d\'un fournisseur"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permet à l\'application autorisée de s\'associer à l\'interface de plus haut niveau d\'un service de messagerie d\'un fournisseur. Les applications standards ne devraient jamais avoir recours à cette fonctionnalité."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Définir les règles du mot de passe"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Choisir le nombre et le type de caractères autorisés dans les mots de passe de déverrouillage de l\'écran"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Gérer le nombre et le type de caractères autorisés dans les mots de passe et les NIP de verrouillage de l\'écran."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Gérer les tentatives de déverrouillage de l\'écran"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Contrôler le nombre de mots de passe incorrects saisis pour le déverrouillage de l\'écran, puis verrouiller la tablette ou effacer toutes ses données si le nombre maximal de tentatives de saisie du mot de passe est atteint"</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Surveille le nombre de mots de passe incorrects entrés lors du déverrouillage de l\'écran et verrouille le téléviseur ou efface toutes ses données en cas d\'un nombre trop élevé de tentatives."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Contrôler le nombre de mots de passe incorrects saisis pour le déverrouillage de l\'écran, puis verrouille le téléphone ou efface toutes ses données si le nombre maximal de tentatives de saisie du mot de passe est atteint."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Modifier le mot de passe de déverrouillage de l\'écran"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Modifier le mot de passe de déverrouillage de l\'écran"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Surveille le nombre de mots de passe incorrects entrés lors du déverrouillage de l\'écran et verrouille la tablette ou efface toutes les données de l\'utilisateur en cas d\'un nombre trop élevé de tentatives."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Surveille le nombre de mots de passe incorrects entrés lors du déverrouillage de l\'écran et verrouille le téléviseur ou efface toutes les données de l\'utilisateur en cas d\'un nombre trop élevé de tentatives."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Surveille le nombre de mots de passe incorrects entrés lors du déverrouillage de l\'écran et verrouille le téléphone ou efface toutes les données de l\'utilisateur en cas d\'un nombre trop élevé de tentatives."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Modifier le verrouillage de l\'écran"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Modifier le verrouillage de l\'écran"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Verrouiller l\'écran"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Gérer le mode et les conditions de verrouillage de l\'écran"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Effacer toutes les données"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Effacer les données de la tablette sans avertissement, en rétablissant la configuration d\'usine"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Effacer les données du téléviseur sans avertissement en effectuant une réinitialisation des paramètres d\'usine."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Effacer les données du téléphone sans avertissement, en rétablissant la configuration d\'usine"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Effacer les données de l\'utilisateur"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Effacer les données de l\'utilisateur sur cette tablette sans avertissement."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Effacer les données de l\'utilisateur sur ce téléviseur sans avertissement."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Effacer les données de l\'utilisateur sur ce téléphone sans avertissement."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Définir le serveur mandataire global du mobile"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Indiquer le serveur mandataire global à utiliser pour ce mobile lorsque les règles sont activées. Seul l\'administrateur principal du mobile peut définir le serveur mandataire global utilisé."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Définir exp. mot passe verr."</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Contrôler la fréquence de modification du mot de passe de verrouillage de l\'écran"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Indiquer le mandataire global à utiliser pour l\'appareil lorsque la politique est activée. Seul le propriétaire de l\'appareil peut définir le mandataire global."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Déf. expir. m. passe verr. écr."</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Modifier la fréquence de modification du mot de passe, du NIP ou du motif de verrouillage de l\'écran."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Définir cryptage du stockage"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Exiger le chiffrement des données d\'application stockées"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Désactiver les appareils photo"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Empêcher l\'utilisation de tous les appareils photos"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Désact. fonct. si protec. clav."</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Empêcher l\'utilisation de certaines fonctionnalités lorsque la protection du clavier est activée"</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Désact. fonctions verr. écran"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Empêcher l\'utilisation de certaines fonctionnalités du verrouillage de l\'écran."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Domicile"</item>
     <item msgid="869923650527136615">"Mobile"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Ne pas lancer la nouvelle application"</string>
     <string name="new_app_action" msgid="5472756926945440706">"Démarrer <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Arrêtez l\'ancienne application sans enregistrer."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Sélectionner une action pour le texte"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Volume de la sonnerie"</string>
     <string name="volume_music" msgid="5421651157138628171">"Volume"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="other">Réessayer dans <xliff:g id="COUNT">%d</xliff:g> secondes</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Réessayez plus tard"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Balayez vers le bas pour quitter le mode plein écran"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Affichage plein écran"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Pour quitter, balayez vers le bas à partir du haut."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"OK"</string>
     <string name="done_label" msgid="2093726099505892398">"Terminé"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Curseur circulaire des heures"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Curseur circulaire des minutes"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> (travail)"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Pour annuler l\'épinglage de cet écran, appuyez de manière prolongée sur Retour et Aperçu simultanément."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Pour annuler l\'épinglage, appuyez de manière prolongée sur Aperçu."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"L\'écran est épinglé. Votre organisation n\'autorise pas l\'annulation d\'épinglage."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Écran épinglé"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Épinglage d\'écran annulé"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Demander le NIP avant d\'annuler l\'épinglage"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="other">Pendant %d heures</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Jusqu\'à <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Indéfiniment"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Jusqu\'à la désactivation"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Réduire"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Jusqu\'à la prochaine alarme, à <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Jusqu\'à la prochaine alarme"</string>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index 0c7e7ba..c1fe962 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -620,7 +620,7 @@
     <string name="permdesc_hardware_test" msgid="6597964191208016605">"Permet à l\'application de contrôler différents périphériques à des fins de test matériel."</string>
     <string name="permlab_fm" msgid="8749504526866832">"accéder aux radios FM"</string>
     <string name="permdesc_fm" msgid="4145699441237962818">"Permet à l\'application d\'accéder aux radios FM afin d\'écouter des programmes."</string>
-    <string name="permlab_callPhone" msgid="3925836347681847954">"Appeler directement les numéros de téléphone"</string>
+    <string name="permlab_callPhone" msgid="3925836347681847954">"appeler directement les numéros de téléphone"</string>
     <string name="permdesc_callPhone" msgid="3740797576113760827">"Permet à l\'application d\'appeler des numéros de téléphone sans votre intervention. Cette autorisation peut entraîner des frais ou des appels imprévus et ne permet pas à l\'application d\'appeler des numéros d\'urgence. Les applications malveillantes peuvent générer des frais en passant des appels sans votre consentement."</string>
     <string name="permlab_callPrivileged" msgid="4198349211108497879">"Appel direct de tout numéro de téléphone"</string>
     <string name="permdesc_callPrivileged" msgid="1689024901509996810">"Permet à l\'application d\'appeler n\'importe quel numéro de téléphone, y compris les numéros d\'urgence, sans votre intervention. Des applications malveillantes peuvent passer des appels inutiles et interdits aux services d\'urgence."</string>
@@ -694,7 +694,7 @@
     <string name="permdesc_createNetworkSockets" msgid="3403062187779724185">"Permet à l\'application de créer des sockets réseau et d\'utiliser des protocoles réseau personnalisés. Le navigateur et d\'autres applications permettent d\'envoyer des données sur Internet. Cette autorisation n\'est donc pas nécessaire pour envoyer des données sur Internet."</string>
     <string name="permlab_writeApnSettings" msgid="505660159675751896">"changer/intercepter les paramètres et le trafic du réseau"</string>
     <string name="permdesc_writeApnSettings" msgid="5333798886412714193">"Permet à l\'application de modifier les paramètres réseau, ainsi que d\'intercepter et de surveiller tout le trafic réseau ayant pour but de modifier le proxy et le port d\'un APN, par exemple. Des applications malveillantes peuvent exploiter cette fonctionnalité pour surveiller, rediriger ou modifier les paquets réseau à votre insu."</string>
-    <string name="permlab_changeNetworkState" msgid="958884291454327309">"Modification de la connectivité du réseau"</string>
+    <string name="permlab_changeNetworkState" msgid="958884291454327309">"modifier la connectivité réseau"</string>
     <string name="permdesc_changeNetworkState" msgid="6789123912476416214">"Permet à l\'application de modifier l\'état de la connectivité du réseau."</string>
     <string name="permlab_changeTetherState" msgid="5952584964373017960">"changer la connectivité du partage de connexion"</string>
     <string name="permdesc_changeTetherState" msgid="1524441344412319780">"Permet à l\'application de modifier l\'état de la connectivité du partage de connexion."</string>
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Permet à l\'application de communiquer avec des tags, des cartes et des lecteurs compatibles avec la technologie NFC (communication en champ proche)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"désactiver le verrouillage de l\'écran"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Permet à l\'application de désactiver le verrouillage des touches et toute mesure de sécurité via mot de passe associée. Par exemple, votre téléphone désactive le verrouillage des touches lorsque vous recevez un appel, puis le réactive lorsque vous raccrochez."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"Gérer le matériel d\'empreintes digitales"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Autoriser l\'application à invoquer des méthodes pour ajouter et supprimer des modèles d\'empreintes digitales"</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"Utiliser le matériel d\'empreintes digitales"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Autoriser l\'application à utiliser le matériel d\'empreintes digitales pour l\'authentification"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"lire les paramètres de synchronisation"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Permet à l\'application d\'accéder aux paramètres de synchronisation d\'un compte. Par exemple, cette autorisation peut permettre de déterminer si l\'application Contacts est synchronisée avec un compte ou non."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"activer/désactiver la synchronisation"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Permet aux applications de récupérer, d\'examiner et d\'autoriser les notifications, y compris celles envoyées par d\'autres applications."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"s\'associer à l\'interface de niveau supérieur d\'un service d\'écoute des notifications"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Permet à l\'application de s\'associer à l\'interface de niveau supérieur d\'un service d\'écoute des notifications. Ne devrait jamais être nécessaire pour les applications normales."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"S\'associer à un service de cible d\'un sélecteur"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Permet à l\'application autorisée de s\'associer à l\'interface de niveau supérieur du service de cible d\'un sélecteur. Cette fonctionnalité ne devrait pas être nécessaire pour les applications standards."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"s\'associer à un service de fournisseur de conditions"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Permet à l\'application de s\'associer à l\'interface de niveau supérieur d\'un service de fournisseur de conditions. Ne devrait pas être nécessaire pour les applications standards."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"s\'associer à un service d\'itinéraires médias"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"s\'associer au service SMS/MMS d\'un opérateur"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permettre à l\'application de s\'associer à l\'interface de niveau supérieur du service SMS/MMS d\'un opérateur. Ne devrait jamais être nécessaire pour les applications standards."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Définir les règles du mot de passe"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Choisir le nombre et le type de caractères autorisés dans les mots de passe de déverrouillage de l\'écran"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Gérer le nombre et le type de caractères autorisés dans les mots de passe et les codes d\'accès de verrouillage de l\'écran"</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Gérer les tentatives de déverrouillage de l\'écran"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Contrôler le nombre de mots de passe incorrects saisis pour le déverrouillage de l\'écran, puis verrouiller la tablette ou effacer toutes ses données si le nombre maximal de tentatives de saisie du mot de passe est atteint"</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Contrôlez le nombre de fois qu\'un mot de passe incorrect est saisi lors du déverrouillage de l\'écran, et verrouillez le téléviseur ou effacez-en les données en cas de dépassement du nombre maximal de mots de passe incorrects autorisés."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Contrôler le nombre de mots de passe incorrects saisis pour le déverrouillage de l\'écran, puis verrouiller le téléphone ou effacer toutes ses données si le nombre maximal de tentatives de saisie du mot de passe est atteint"</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Modifier le mot de passe de déverrouillage de l\'écran"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Modifier le mot de passe de déverrouillage de l\'écran"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Contrôlez le nombre de fois qu\'un mot de passe incorrect est saisi lors du déverrouillage de l\'écran, et verrouillez la tablette ou effacez toutes les informations sur l\'utilisateur si le nombre maximal de mots de passe incorrects autorisés est dépassé."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Contrôlez le nombre de fois qu\'un mot de passe incorrect est saisi lors du déverrouillage de l\'écran, et verrouillez le téléviseur ou effacez toutes les informations sur l\'utilisateur si le nombre maximal de mots de passe incorrects autorisés est dépassé."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Contrôlez le nombre de fois qu\'un mot de passe incorrect est saisi lors du déverrouillage de l\'écran, et verrouillez le téléphone ou effacez toutes les informations sur l\'utilisateur si le nombre maximal de mots de passe incorrects autorisés est dépassé."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Modifier le verrouillage de l\'écran"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Modifier le verrouillage de l\'écran"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Verrouiller l\'écran"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Gérer le mode et les conditions de verrouillage de l\'écran"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Effacer toutes les données"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Effacer les données de la tablette sans avertissement, en rétablissant la configuration d\'usine"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Effacez les données du téléviseur sans préavis via le rétablissement de sa configuration d\'usine."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Effacer les données du téléphone sans avertissement, en rétablissant la configuration d\'usine"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Effacer les informations sur l\'utilisateur"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Effacer les informations sur cet utilisateur de cette tablette sans avertissement"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Effacer les informations sur cet utilisateur de ce téléviseur sans avertissement"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Effacer les informations sur cet utilisateur de ce téléphone sans avertissement"</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Définir le proxy global du mobile"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Indiquer le proxy global à utiliser pour ce mobile lorsque les règles sont activées. Seul l\'administrateur principal du mobile peut définir le proxy global utilisé."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Définir exp. mot passe verr."</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Contrôler la fréquence de modification du mot de passe de verrouillage de l\'écran"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Indiquer le proxy global à utiliser pour l\'appareil lorsque la règle est activée. Seul le propriétaire de l\'appareil peut définir le proxy global."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Config. expir. mot passe verr. écran"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Modifier la fréquence de modification du mot de passe, du code d\'accès ou du motif de verrouillage de l\'écran"</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Définir chiffrement du stockage"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Exiger le chiffrement des données d\'application stockées"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Désactiver les appareils photo"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Empêcher l\'utilisation de tous les appareils photos"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Désact. fonct. si protec. clav."</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Empêcher l\'utilisation de certaines fonctionnalités lorsque la protection du clavier est activée"</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Désact. fonctions verr. écran"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Empêcher l\'utilisation de certaines fonctionnalités du verrouillage de l\'écran"</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Domicile"</item>
     <item msgid="869923650527136615">"Mobile"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Ne pas lancer la nouvelle application"</string>
     <string name="new_app_action" msgid="5472756926945440706">"Démarrer <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Arrêtez l\'ancienne application sans enregistrer."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Sélectionner une action pour le texte"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Volume de la sonnerie"</string>
     <string name="volume_music" msgid="5421651157138628171">"Volume"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="other">Réessayer dans <xliff:g id="COUNT">%d</xliff:g> secondes</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Veuillez réessayer ultérieurement."</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Faites glisser le doigt vers le bas pour quitter le mode plein écran."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Affichage en plein écran"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Pour quitter, balayez l\'écran du haut vers le bas."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"OK"</string>
     <string name="done_label" msgid="2093726099505892398">"OK"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Curseur circulaire des heures"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Curseur circulaire des minutes"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> (travail)"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Pour annuler l\'épinglage, appuyez de manière prolongée et simultanée sur \"Retour\" et \"Aperçu\"."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Pour annuler l\'épinglage, appuyez de manière prolongée sur \"Aperçu\"."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"L\'écran est épinglé. L\'annulation de l\'épinglage n\'est pas autorisée par votre organisation."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Écran épinglé."</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Épinglage d\'écran annulé."</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Demander le code PIN avant d\'annuler l\'épinglage"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="other">Pendant %d heures</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Jusqu\'à <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Indéfiniment"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Jusqu\'à la désactivation"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Réduire"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Jusqu\'à la prochaine alarme à <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Jusqu\'à la prochaine alarme"</string>
diff --git a/core/res/res/values-gl-rES/strings.xml b/core/res/res/values-gl-rES/strings.xml
index babbb67..8df4d62 100644
--- a/core/res/res/values-gl-rES/strings.xml
+++ b/core/res/res/values-gl-rES/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Permite á aplicación comunicarse con etiquetas, tarxetas e lectores Near Field Communication (NFC)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"desactivar o bloqueo da pantalla"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Permite á aplicación desactivar o bloqueo do teclado e calquera seguridade dos contrasinais asociada. Por exemplo, o teléfono desactiva o bloqueo do teclado ao recibir unha chamada telefónica entrante e, a continuación, volve activar o bloqueo do teclado unha vez finalizada a chamada."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"xestionar hardware de identificación dixital"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Permite que a aplicación invoque métodos para engadir e eliminar modelos de uso de identificación dixital."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"usar hardware de identificación dixital"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Permite que a aplicación utilice hardware de identificación dixital para a autenticación"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"ler a configuración de sincronización"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Permite á aplicación ler a configuración de sincronización dunha conta. Por exemplo, esta acción pode determinar se a aplicación Contactos se sincroniza cunha conta."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"activar e desactivar a sincronización"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Permite á aplicación recuperar, examinar e borrar notificacións, incluídas as publicadas por outras aplicacións."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"vincular a un servizo de axente de escoita de notificacións"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Permite ao propietario vincularse á interface de nivel superior dun servizo axente de escoita de notificacións.  Non debería ser nunca necesario para as aplicacións normais."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"vincular a un servizo de destino de selector"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Permite ao propietario vincularse á interface de nivel superior dun servizo de destino de selector. Non se debería necesitar para as aplicacións normais."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"vincular a un servizo de provedor de condicións"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Permite ao propietario vincularse á interface de nivel superior dun servizo provedor de condicións. As aplicacións normais non deberían necesitar este permiso."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"vincular a un servizo de ruta de medios"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"vincular a un servizo de mensaxería"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite ao propietario vincularse á interface de nivel superior dun servizo de mensaxería. As aplicacións normais non deberían necesitar este permiso."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Establecer as normas de contrasinal"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Controlar a lonxitude e os caracteres permitidos nos contrasinais de desbloqueo da pantalla."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Controla a lonxitude e os caracteres permitidos nos contrasinais e nos PIN de bloqueo da pantalla."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Supervisar os intentos de desbloqueo da pantalla"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Supervisa o número de contrasinais incorrectos escritos ao desbloquear a pantalla e bloquea o tablet ou borra todos os datos do tablet se se escriben demasiados contrasinais incorrectos."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Controla o número de contrasinais incorrectos introducidos ao desbloquear a pantalla e bloquea a televisión ou borra todos os seus datos se se introducen demasiados contrasinais incorrectos."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Supervisa o número de contrasinais incorrectos escritos ao desbloquear a pantalla e bloquea o teléfono ou borra todos os datos do teléfono se se escriben demasiados contrasinais incorrectos."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Cambiar o contrasinal de desbloqueo da pantalla"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Cambiar o contrasinal de desbloqueo da pantalla."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Supervisar o número de contrasinais incorrectos escritos ao desbloquear a pantalla e bloquear o tablet ou borrar todos os datos do usuario se se escriben demasiados contrasinais incorrectos."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Supervisar o número de contrasinais incorrectos escritos ao desbloquear a pantalla e bloquear a televisión ou borrar todos os datos do usuario se se escriben demasiados contrasinais incorrectos."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Supervisar o número de contrasinais incorrectos escritos ao desbloquear a pantalla e bloquear o teléfono ou borrar todos os datos do usuario se se escriben demasiados contrasinais incorrectos."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Cambiar o bloqueo da pantalla"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Cambia o bloqueo da pantalla."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Bloquear a pantalla"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Controlar como e cando se bloquea a pantalla."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Borrar todos os datos"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Borrar os datos do tablet sen previo aviso mediante a realización dun restablecemento dos datos de fábrica."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Borra os datos da televisión sen previo aviso a través do restablecemento dos valores de fábrica."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Borrar os datos do teléfono sen previo aviso mediante a realización dun restablecemento dos datos de fábrica."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Borrar os datos do usuario"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Borra os datos deste usuario neste tablet sen previo aviso."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Borra os datos deste usuario nesta televisión sen previo aviso."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Borra os datos deste usuario neste teléfono sen previo aviso."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Establecer o proxy global do dispositivo"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Establecer o proxy global do dispositivo que se debe usar mentres a política estea activada. Só o primeiro administrador do dispositivo establece o proxy global que se usará."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Definir caducidade bloqueo pantalla"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Controlar a frecuencia coa que se debe cambiar o contrasinal da pantalla de bloqueo."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Configura o proxy global do dispositivo que se debe usar cando a política está activada. Só o propietario do dispositivo pode configurar o proxy global."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Establecer a caducidade do contrasinal de bloqueo da pantalla"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Cambia a frecuencia coa que se debe modificar o contrasinal, o PIN ou o padrón do bloqueo da pantalla."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Encriptación de almacenamento"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Esixir que os datos da aplicación almacenados estean encriptados."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Desactivar cámaras"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Evitar o uso de todas as cámaras do dispositivo."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Desactivar as funcións de bloqueo do teclado"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Evitar o uso dalgunhas funcións de bloqueo do teclado."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Desactivar as funcións de bloqueo da pantalla"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Evita o uso dalgunhas funcións de bloqueo da pantalla."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Particular"</item>
     <item msgid="869923650527136615">"Móbil"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Non inicies a aplicación nova."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Iniciar <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Deter a aplicación antiga sen gardar."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Seleccionar unha acción para o texto"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Volume do timbre"</string>
     <string name="volume_music" msgid="5421651157138628171">"Volume dos elementos multimedia"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Téntao de novo dentro nun segundo</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Téntao de novo máis tarde"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Pasa o dedo cara abaixo desde a parte superior para saír da pantalla completa."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Vendo pantalla completa"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Para saír, pasa o dedo cara abaixo desde arriba."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"De acordo"</string>
     <string name="done_label" msgid="2093726099505892398">"Feito"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Control de desprazamento circular das horas"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Control de desprazamento circular dos minutos"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> do traballo"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Para soltar a pantalla, mantén premido Atrás e Visión xeral ao mesmo tempo."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Para soltar a pantalla, mantén premido Visión xeral."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"A pantalla está fixada. A túa organización non permite desactivar a pantalla."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Pantalla fixada"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Pantalla desactivada"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Solicitar un PIN antes de soltar a pantalla"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Durante unha hora</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Ata as <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Indefinidamente"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Ata que desactives isto"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Contraer"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Ata que soe a seguinte alarma ás <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Ata que soe a seguinte alarma"</string>
diff --git a/core/res/res/values-h320dp/bools.xml b/core/res/res/values-h320dp/bools.xml
index 8dbc2e1..3bbfe96 100644
--- a/core/res/res/values-h320dp/bools.xml
+++ b/core/res/res/values-h320dp/bools.xml
@@ -1,21 +1,20 @@
 <?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.
-*/
+     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>
     <bool name="allow_stacked_button_bar">true</bool>
 </resources>
diff --git a/core/res/res/values-h320dp/dimens.xml b/core/res/res/values-h320dp/dimens.xml
new file mode 100644
index 0000000..d0de6a1
--- /dev/null
+++ b/core/res/res/values-h320dp/dimens.xml
@@ -0,0 +1,28 @@
+<?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>
+    <!-- Used by RadialTimePicker in clock-style TimePicker. -->
+    <dimen name="timepicker_text_inset_inner">58dp</dimen>
+    <dimen name="timepicker_radial_picker_dimen">224dp</dimen>
+    <integer name="timepicker_title_visibility">2</integer>
+
+    <dimen name="floating_window_margin_left">16dp</dimen>
+    <dimen name="floating_window_margin_top">8dp</dimen>
+    <dimen name="floating_window_margin_right">16dp</dimen>
+    <dimen name="floating_window_margin_bottom">32dp</dimen>
+</resources>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index 1f0381b..f063560 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"ऐप्स  को नियर फ़ील्ड कम्यूनिकेशन (NFC) टैग, कार्ड, और रीडर के साथ संचार करने देता है."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"अपना स्‍क्रीन लॉक अक्षम करें"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"ऐप्स को कीलॉक और कोई भी संबद्ध पासवर्ड सुरक्षा अक्षम करने देता है. उदाहरण के लिए, इनकमिंग फ़ोन कॉल प्राप्त करते समय फ़ोन, कीलॉक को अक्षम कर देता है, फिर कॉल समाप्त होने पर कीलॉक को पुन: सक्षम कर देता है."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"अंगुली की छाप के लिए हार्डवेयर को प्रबंधित करें"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"अंगुली की छाप वाले टेम्पलेट का उपयोग करने के लिए जोड़ने और हटाने हेतु ऐप को विधियां प्रारंभ करने देती है."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"अंगुली की छाप के लिए हार्डवेयर का उपयोग करें"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"ऐप के प्रमाणीकरण के लिए अंगुली की छाप हार्डवेयर का उपयोग करने देती है"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"समन्वयन सेटिंग पढ़ें"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"ऐप्स  को किसी खाते की समन्वयन सेटिंग पढ़ने देता है. उदाहरण के लिए, इससे यह निर्धारित किया जा सकता है कि लोग ऐप्स  किसी खाते के साथ समन्‍वयित है या नहीं."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"समन्‍वयन बंद या चालू टॉगल करें"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"ऐप्स  को नोटिफिकेशन को प्राप्त करने, जांच करने, और साफ़ करने देता है, जिनमें अन्य ऐप्स  के द्वारा पोस्ट की गई सूचनाएं भी शामिल हैं."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"नोटिफिकेशन श्रवणकर्ता सेवा से जुड़ें"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"धारक को नोटिफिकेशन श्रवणकर्ता सेवा के शीर्ष स्तरीय इंटरफ़ेस से जुड़ने देती है. सामान्य ऐप्स  के लिए कभी भी आवश्यक नहीं होनी चाहिए."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"किसी चयनकर्ता लक्ष्य सेवा से आबद्ध हों"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"धारक को किसी चयनकर्ता लक्ष्य सेवा के शीर्ष-स्तरीय इंटरफ़ेस से आबद्ध होने देती है. सामान्‍य ऐप्‍स के लिए कभी भी आवश्यक नहीं होना चाहिए."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"किसी स्थिति प्रदाता सेवा से आबद्ध हों"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"धारक को किसी स्थिति प्रदाता सेवा के शीर्ष-स्तर के इंटरफ़ेस से आबद्ध होने देती है. सामान्य ऐप्स के लिए कभी भी आवश्यक नहीं होना चाहिए."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"मीडिया रूट सेवा से आबद्ध हों"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"किसी वाहक संदेश सेवा से आबद्ध करें"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"धारक को किसी वाहक संदेश सेवा के शीर्ष-स्‍तरीय इंटरफ़ेस से आबद्ध होने देती है. सामान्‍य ऐप्‍स के लिए कभी भी आवश्‍यक नहीं होना चाहिए."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"पासवर्ड नियम सेट करें"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"स्‍क्रीन-अनलॉक पासवर्ड में अनुमति प्राप्त लंबाई और वर्णों को नियंत्रित करें."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"स्‍क्रीन लॉक पासवर्ड तथा पिन की लंबाई और उसमें अनुमत वर्णों को नियंत्रित करें."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"स्‍क्रीन-अनलॉक के प्रयासों पर निगरानी रखें"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"स्‍क्रीन को अनलॉक करते समय गलत लिखे गए पासवर्ड की संख्‍या पर निगरानी करें, और बहुत अधिक बार गलत पासवर्ड लिखे जाने पर टेबलेट लॉक करें या टेबलेट का संपूर्ण डेटा मिटाएं."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"स्‍क्रीन को अनलॉक करते समय गलत तरीके से लिखे गए पासवर्ड पर नज़र रखें और यदि बहुत अधिक गलत पासवर्ड लिखे जाते हैं तो टीवी को लॉक करें या टीवी का सभी डेटा मिटा दें."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"गलत लिखे गए पासवर्ड की संख्‍या पर निगरानी करें. स्क्रीन अनलॉक करते समय, बहुत अधिक बार गलत पासवर्ड लिखे जाने पर फ़ोन लॉक करें या फ़ोन का संपूर्ण डेटा मिटाएं."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"स्‍क्रीन-अनलॉक पासवर्ड बदलें"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"स्‍क्रीन-अनलॉक पासवर्ड बदलें."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"स्‍क्रीन को अनलॉक करते समय गलत तरीके से लिखे गए पासवर्ड पर नज़र रखें और यदि बार बार अधिक पासवर्ड लिखे जाते हैं तो टैबलेट को लॉक करें या इस उपयोगकर्ता का सभी डेटा मिटा दें."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"स्‍क्रीन को अनलॉक करते समय गलत तरीके से लिखे गए पासवर्ड पर नज़र रखें यदि बार बार गलत पासवर्ड लिखे जाने पर टीवी को लॉक करें या इस उपयोगकर्ता का सभी डेटा मिटा दें."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"स्‍क्रीन को अनलॉक करते समय गलत तरीके से लिखे गए पासवर्ड पर नज़र रखें और यदि बार बार गलत पासवर्ड लिखे जाते हैं तो फ़ोन को लॉक करें या इस उपयोगकर्ता का सभी डेटा मिटा दें."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"स्‍क्रीन लॉक बदलें"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"स्‍क्रीन लॉक को बदलें."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"स्‍क्रीन लॉक करें"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"नियंत्रित करें कि स्‍क्रीन कैसे और कब लॉक हो."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"सभी डेटा मिटाएं"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"फ़ैक्टरी डेटा रीसेट करके, बिना चेतावनी के टेबलेट का डेटा मिटाएं."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"फ़ैक्‍टरी डेटा रीसेट करके चेतावनी दिए बिना टीवी का डेटा मिटा दें."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"फ़ैक्‍टरी डेटा रीसेट करके, बिना चेतावनी के फ़ोन का डेटा मिटाएं."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"उपयोगकर्ता डेटा मिटाएं"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"इस टैबलेट पर मौजूद इस उपयोगकर्ता का डेटा बिना चेतावनी के मिटा दें."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"इस टीवी पर मौजूद इस उपयोगकर्ता का डेटा बिना चेतावनी के मिटा दें."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"इस फ़ोन पर मौजूद इस उपयोगकर्ता का डेटा बिना चेतावनी के मिटा दें."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"डिवाइस वैश्विक प्रॉक्‍सी सेट करें"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"नीति सक्षम होने के दौरान डिवाइस वैश्विक प्रॉक्‍सी सेट करें. केवल पहला डिवाइस नियंत्रक, प्रभावी वैश्विक प्रॉक्‍सी सेट करता है."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"स्‍क्रीन लॉक करें पासवर्ड समाप्ति सेट करें"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"नियंत्रित करें कि कितने समय में लॉक-स्‍क्रीन पासवर्ड बदला जाना चाहिए."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"नीति सक्षम होने के दौरान डिवाइस वैश्विक प्रॉक्‍सी सेट करें. केवल डिवाइस स्‍वामी ही वैश्‍विक प्रॉक्‍सी सेट कर सकता है."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"स्‍क्रीन लॉक पासवर्ड समाप्‍ति सेट करें"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"यह बदलें कि स्‍क्रीन लॉक पासवर्ड, पिन या पैटर्न को कितने समय में बदला जाना चाहिए."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"मेमोरी एन्‍क्रिप्‍शन सेट करें"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"संग्रहीत ऐप्स डेटा को एन्क्रिप्ट किया जाना आवश्‍यक है."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"कैमरों को अक्षम करें"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"सभी डिवाइस कैमरों का उपयोग रोकें."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"कीगार्ड में सुविधाएं अक्षम करें"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"कीगार्ड में कुछ सुविधाओं का उपयोग रोकें."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"स्‍क्रीन लॉक सुविधाएं अक्षम करें"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"स्‍क्रीन लॉक की कुछ सुविधाओं का उपयोग रोकें."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"घर"</item>
     <item msgid="869923650527136615">"मोबाइल"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"नया ऐप्स प्रारंभ न करें."</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> प्रारंभ करें"</string>
     <string name="new_app_description" msgid="1932143598371537340">"पुराने ऐप्स को बिना सहेजे बंद करें."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"लेख के लिए किसी क्रिया को चुनें"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"रिंगर वॉल्‍यूम"</string>
     <string name="volume_music" msgid="5421651157138628171">"मीडिया वॉल्‍यूम"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> सेकंड में पुन: प्रयास करें</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"बाद में फिर से प्रयास करें"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"पूर्ण स्क्रीन से बाहर आने के लिए ऊपर से नीचे स्वाइप करें."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"पूर्ण स्क्रीन में देखें"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"बाहर निकलने के लिए, ऊपर से नीचे स्वा‍इप करें."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"समझ लिया"</string>
     <string name="done_label" msgid="2093726099505892398">"पूर्ण"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"घंटो का चक्राकार स्लाइडर"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"मिनटों का चक्राकार स्लाइडर"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"कार्यस्थल का <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"इस स्क्रीन को अनपिन करने के लिए, एक ही समय में वापस जाएं और अवलोकन को स्पर्श करके रखें."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"इस स्क्रीन को अनपिन करने के लिए, अवलोकन को स्पर्श करके रखें."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"स्‍क्रीन पिन की गई है. आपके संगठन के द्वारा अनपिन करने की अनुमति नहीं है."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"स्‍क्रीन पिन की गई"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"स्‍क्रीन अनपिन की गई"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"अनपिन करने से पहले पिन के लिए पूछें"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="other">%d घंटे के लिए</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> तक"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"अनिश्चित समय तक"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"जब तक आप इसे बंद नहीं कर देते"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"संक्षिप्त करें"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> पर अगले अलार्म तक"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"अगले अलार्म तक"</string>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index fbb9160..59893da2 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -739,6 +739,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Aplikaciji omogućuje komunikaciju s oznakama, karticama i čitačima komunikacije kratkog dometa (NFC)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"onemogućavanje zaključavanja zaslona"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Aplikaciji omogućuje onemogućavanje zaključavanja tipkovnice i svih pripadajućih sigurnosnih zaporki. Na primjer, telefon onemogućuje zaključavanje tipkovnice kod primanja dolaznog telefonskog poziva, nakon kojeg se zaključavanje tipkovnice ponovo omogućuje."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"upravljanje hardverom za čitanje otisaka prstiju"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Aplikaciji omogućuje pozivanje načina za dodavanje i brisanje predložaka otisaka prstiju koji će se upotrijebiti."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"upotreba hardvera za čitanje otisaka prstiju"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Aplikaciji omogućuje upotrebu hardvera za čitanje otisaka prstiju radi autentifikacije."</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"čitanje postavki sinkronizacije"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Aplikaciji omogućuje čitanje postavki sinkronizacije za račun. Time se, primjerice, može utvrditi je li aplikacija Osobe sinkronizirana s računom."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"uključivanje/isključivanje sinkronizacije"</string>
@@ -793,6 +797,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Omogućuje aplikaciji dohvaćanje, pregledavanje i brisanje obavijesti, uključujući obavijesti drugih aplikacija."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"vezanje uz uslugu slušatelja obavijesti"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Nositelju omogućuje vezanje uz sučelje najviše razine usluge slušatelja obavijesti. Ne bi smjelo biti potrebno za uobičajene aplikacije."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"povezivanje s uslugom biranja cilja"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Omogućuje nositelju povezivanje sa sučeljem najviše razine usluge biranja cilja. Ne bi smjelo biti potrebno za uobičajene aplikacije."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"povezivanje s uslugom davatelja uvjeta"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Vlasniku omogućuje povezivanje sa sučeljem najviše razine usluge davatelja uvjeta. Nije potrebno za normalne aplikacije."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"povezivanje s uslugom za usmjeravanje medija"</string>
@@ -814,29 +820,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"povezivanje s uslugom mobilnog operatera za slanje poruka"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Omogućuje nositelju povezivanje sa sučeljem najviše razine usluge mobilnog operatera za slanje poruka. Ne bi trebalo biti potrebno za uobičajene aplikacije."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Postavi pravila zaporke"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Upravljajte duljinom zaporki za otključavanje zaslona i dopuštenim znakovima u tim zaporkama."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Upravlja duljinom i znakovima koji su dopušteni u zaporkama i PIN-ovima zaključavanja zaslona."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Nadgledaj pokušaje otključavanja zaslona"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Nadziri broj netočnih zaporki unesenih pri otključavanju zaslona i zaključaj tabletno računalo ili izbriši sve podatke na njemu ako je uneseno previše netočnih zaporki."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Prati broj netočnih zaporki unesenih prilikom otključavanja zaslona i zaključava televizor ili briše sve njegove podatke ako se unese previše netočnih zaporki."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Nadzire broj netočno unesenih zaporki pri otključavanju zaslona i zaključava telefon ili briše sve podatke na telefonu ako je uneseno previše netočnih zaporki."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Promijeni zaporku za otključavanje zaslona"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Promijenite zaporku za otključavanje zaslona."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Prati broj netočnih zaporki unesenih prilikom otključavanja zaslona i zaključava tablet ili briše sve podatke korisnika ako se unese previše netočnih zaporki."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Prati broj netočnih zaporki unesenih prilikom otključavanja zaslona i zaključava televizor ili briše sve podatke korisnika ako se unese previše netočnih zaporki."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Prati broj netočnih zaporki unesenih prilikom otključavanja zaslona i zaključava telefon ili briše sve podatke korisnika ako se unese previše netočnih zaporki."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Promijeni zaključavanje zaslona"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Mijenja zaključavanje zaslona."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Zaključaj zaslon"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Upravljanje načinom i vremenom zaključavanja zaslona"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Izbriši sve podatke"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Vraćanjem u tvorničko stanje izbriši podatke tabletnog računala bez upozorenja."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Briše podatke televizora bez upozorenja vraćanjem na tvorničko stanje."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Vraćanjem na tvorničko stanje izbrišite podatke telefona bez upozorenja."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Izbriši podatke korisnika"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Briše podatke korisnika na ovom tabletu bez upozorenja."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Briše podatke korisnika na ovom televizoru bez upozorenja."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Briše podatke korisnika na ovom telefonu bez upozorenja."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"postavi globalni proxy uređaja"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Postavi globalni proxy uređaja za upotrebu dok su pravila omogućena. Samo prvi administrator uređaja postavlja djelotvoran globalni proxy."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Post. istek zap. zaklj. zasl."</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Upravljajte učestalošću promjena zaporke za zaključavanje zaslona."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Postavlja globalni proxy za uređaj koji će se upotrebljavati dok je pravilo omogućeno. Samo vlasnik uređaja može postaviti globalni proxy."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Postavi rok zaporke zaklj. zaslona"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Mijenja učestalost obaveznog mijenjanja zaporke, PIN-a ili uzorka zaključavanja zaslona."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Postavi enkripciju za pohranu"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Zahtijevajte da pohranjeni podaci aplikacije budu šifrirani."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Onemogući fotoaparate"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Spriječite upotrebu svih kamera uređaja."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Onemogući zaštitu tipkovnice"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Sprječava se upotreba nekih značajki u zaštitnom zaključavanju tipkovnice."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Onemogući znač. zaklj. zaslona"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Sprječava upotrebu nekih značajki zaključavanja zaslona."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Početna"</item>
     <item msgid="869923650527136615">"Mobilni"</item>
@@ -1257,6 +1270,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Ne pokreći novu aplikaciju."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Pokreni <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Zaustavi staru aplikaciju bez spremanja."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Izaberite radnju za tekst"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Glasnoća zvona"</string>
     <string name="volume_music" msgid="5421651157138628171">"Glasnoća medija"</string>
@@ -1774,7 +1795,9 @@
       <item quantity="other">Pokušajte ponovo za <xliff:g id="COUNT">%d</xliff:g> sekundi</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Pokušajte ponovo kasnije"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Prijeđite prstom s vrha prema dolje za izlaz iz cijelog zaslona."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Gledanje preko cijelog zaslona"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Za izlaz prijeđite prstom prema od vrha prema dolje."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Shvaćam"</string>
     <string name="done_label" msgid="2093726099505892398">"Gotovo"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Kružni klizač sati"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Kružni klizač minuta"</string>
@@ -1789,7 +1812,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> za posao"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Da biste otkvačili ovaj zaslon, istovremeno dodirnite i zadržite Natrag i Pregled."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Da biste otkvačili ovaj zaslon, dodirnite i zadržite Pregled."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Zaslon je pričvršćen. Vaša organizacija ne dopušta otkvačivanje."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Zaslon je pričvršćen"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Zaslon je otkvačen"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Traži PIN radi otkvačivanja"</string>
@@ -1819,7 +1843,7 @@
       <item quantity="other">%d sati</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Neodređeno"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Dok ne isključite"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Sažmi"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Do sljedećeg alarma u <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Do sljedećeg alarma"</string>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index 5a929bd..12a0fb7 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Lehetővé teszi az alkalmazás számára, hogy NFC (Near Field Communication - kis hatósugarú vezeték nélküli kommunikáció) technológiát használó címkékkel, kártyákkal és leolvasókkal kommunikáljon."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"képernyőzár kikapcsolása"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Lehetővé teszi az alkalmazás számára a billentyűzár és bármely kapcsolódó jelszavas védelem kikapcsolását. Például a telefon feloldja a billentyűzárat bejövő hívás esetén, majd újra bekapcsolja azt a hívás végeztével."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"ujjlenyomat-olvasó hardver kezelése"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Lehetővé teszi az alkalmazás számára a használni kívánt ujjlenyomatsablonok hozzáadására és törlésére szolgáló metódusok indítását."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"ujjlenyomat-olvasó hardver használata"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Lehetővé teszi az alkalmazás számára az ujjlenyomat-olvasó hardver hitelesítésre való használatát"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"szinkronizálási beállítások olvasása"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Lehetővé teszi az alkalmazás számára egy fiók szinkronizálási beállításainak beolvasását. Például ellenőrizheti, hogy a Személyek alkalmazás szinkronizálva van-e egy fiókkal."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"szinkronizálás be-és kikapcsolása"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Lehetővé teszi, hogy az alkalmazás értesítéseket kérdezzen le, vizsgáljon és tisztítson meg, beleértve az egyéb alkalmazások által közzétett értesítéseket is."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"csatlakozzon értesítésfigyelő szolgáltatáshoz"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Lehetővé teszi a használó számára, hogy csatlakozzon egy értesítésfigyelő szolgáltatás legfelső szintű felületéhez. A normál alkalmazásoknak erre soha nincs szükségük."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"csatlakozás célválasztó szolgáltatáshoz"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Lehetővé teszi a használó számára, hogy csatlakozzon egy célválasztó szolgáltatás legfelső szintű kezelőfelületéhez. A normál alkalmazásoknak erre soha nincs szükségük."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"csatlakozás egy feltételbiztosító szolgáltatáshoz"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Lehetővé teszi a használó számára, hogy csatlakozzon egy feltételbiztosító szolgáltatás legfelső szintű kezelőfelületéhez. A normál alkalmazásoknak erre soha nincs szükségük."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"csatlakozás egy médiaútvonal-szolgáltatáshoz"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"kapcsolódás egy üzenetszolgáltatáshoz"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Lehetővé teszi, hogy a tulajdonos kapcsolódjon egy üzenetszolgáltatás legfelső szintű kezelőfelületéhez. A normál alkalmazásoknak erre soha nincs szükségük."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Jelszavakkal kapcsolatos szabályok beállítása"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"A képernyőzár-feloldási jelszavakban engedélyezett karakterek és hosszúság vezérlése."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"A képernyőzár jelszavaiban és PIN kódjaiban engedélyezett karakterek és hosszúság vezérlése."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Képernyőzár-feloldási kísérletek figyelése"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Megfigyeli a képernyő feloldásakor helytelenül beírt jelszavak számát, és túl sok hibásan beírt jelszó esetén lezárja a táblagépet, vagy törli a táblagép összes adatát."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"A képernyőzárolás során megadott helytelen jelszavak számának figyelése, és a tévé zárolása vagy a tévé összes adatának törlése abban az esetben, ha túl sokszor adtak meg helytelen jelszót."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Megfigyeli a képernyő feloldásakor helytelenül beírt jelszavak számát, és túl sok hibásan beírt jelszó esetén lezárja a telefont, vagy törli a telefon összes adatát."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"A képernyőzárat feloldó jelszó módosítása"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"A képernyőzárat feloldó jelszó módosítása."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"A képernyőzárolás során megadott helytelen jelszavak számának figyelése, és a táblagép zárolása vagy a felhasználó összes adatának törlése abban az esetben, ha túl sokszor adtak meg helytelen jelszót."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"A képernyőzárolás során megadott helytelen jelszavak számának figyelése, és a tévé zárolása vagy a felhasználó összes adatának törlése abban az esetben, ha túl sokszor adtak meg helytelen jelszót."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"A képernyőzárolás során megadott helytelen jelszavak számának figyelése, és a telefon zárolása vagy a felhasználó összes adatának törlése abban az esetben, ha túl sokszor adtak meg helytelen jelszót."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"A képernyőzár módosítása"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"A képernyőzár módosítása."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"A képernyő zárolása"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"A képernyőzárolás módjának és idejének vezérlése."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Minden adat törlése"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Figyelmeztetés nélkül törli a táblagép adatait, visszaállítva a gyári adatokat."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"A tévé adatainak törlése a gyári alapbeállítások visszaállításával anélkül, hogy figyelmeztetés jelenne meg erről."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Figyelmeztetés nélkül törli a telefon összes adatát, visszaállítva a gyári adatokat."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"A felhasználói adatok törlése"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"A felhasználó összes adatának törlése erről a táblagépről figyelmeztetés nélkül."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"A felhasználó összes adatának törlése erről a tévéről figyelmeztetés nélkül."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"A felhasználó összes adatának törlése erről a telefonról figyelmeztetés nélkül."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Az eszköz globális proxyjának beállítása"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Az eszköz globális proxyja lesz használatban, amíg az irányelv engedélyezve van. Csak az eszköz első rendszergazdája állíthatja be a tényleges globális proxyt."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Képernyőjelszó érvényessége"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Azt vezérli, hogy milyen gyakran kell módosítani a képernyőzár jelszavát."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Az eszköz globális proxyja lesz használatban, amíg a házirend engedélyezve van. A globális proxyt csak az eszköz tulajdonosa állíthatja be."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Zárolási jelszó lejárati ideje"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Annak módosítása, hogy a képernyőzár jelszavát, PIN kódját vagy mintáját milyen gyakran kell megváltoztatni."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Tárhelytitkosítás beállítása"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Megköveteli a tárolt alkalmazásadatok titkosítását."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Kamerák letiltása"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Az összes eszközkamera használatának megakadályozása."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Funkciók letiltása billentyűzár esetén."</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Bizonyos funkciók használatának megakadályozása billentyűzár esetén."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Képernyőzár-funkciók letiltása"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Egyes képernyőzár-funkciók használatának megakadályozása."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Otthoni"</item>
     <item msgid="869923650527136615">"Mobil"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Ne indítsa el az új alkalmazást."</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> indítása"</string>
     <string name="new_app_description" msgid="1932143598371537340">"A régi alkalmazás leállítása mentés nélkül."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Válasszon ki egy műveletet a szöveghez"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Csengetés hangereje"</string>
     <string name="volume_music" msgid="5421651157138628171">"Média hangereje"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Próbálja újra 1 másodperc múlva</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Próbálkozzon később"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"A teljes képernyős nézetből való kilépéshez húzza ujját a képernyő tetejétől lefelé."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Megtekintése teljes képernyőn"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Kilépéshez csúsztassa ujját fentről lefelé."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Értem"</string>
     <string name="done_label" msgid="2093726099505892398">"Kész"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Óra kör alakú csúszkája"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Perc kör alakú csúszkája"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Munkahelyi <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"A képernyő rögzítésének feloldásához tartsa lenyomva a Vissza és az Áttekintés lehetőséget egyszerre."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"A képernyő rögzítésének feloldásához tartsa lenyomva az Áttekintés lehetőséget."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"A képernyő rögzítve van. Szervezete nem engedélyezi a rögzítés feloldását."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Képernyő rögzítve"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Képernyő rögzítése feloldva"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"PIN kód kérése a rögzítés feloldásához"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Egy órán át</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Eddig: <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Határozatlan ideig"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Amíg ki nem kapcsolja ezt"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Összecsukás"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"A következő ébresztésig ekkor: <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"A következő ébresztésig"</string>
diff --git a/core/res/res/values-hy-rAM/strings.xml b/core/res/res/values-hy-rAM/strings.xml
index a6f9496..29510b3 100644
--- a/core/res/res/values-hy-rAM/strings.xml
+++ b/core/res/res/values-hy-rAM/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Թույլ է տալիս հավելվածին հաղորդակցվել Մոտ տարածությամբ հաղորդակցման (NFC) պիտակների, քարտերի և ընթերցիչների հետ:"</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"անջատել ձեր էկրանի կողպեքը"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Թույլ է տալիս հավելվածին անջատել ստեղնաշարի կողպումը և ցանկացած համակցված գաղտնաբառի պաշտպանվածությունը: Սրա ճիշտ օրինակն է, երբ հեռախոսը անջատում է ստեղնաշարի կողպումը մուտքային զանգ ստանալիս, հետո այն կրկին միացնում է, երբ զանգը ավարտվում է:"</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"կառավարել մատնահետքերի գրանցման սարքը"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Հավելվածին թույլ է տալիս կատարել այնպիսի գործառույթներ, որոնց միջոցով կարելի է օգտագործման համար ավելացնել և հեռացնել մատնահետքերի նմուշներ:"</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"օգտագործել մատնահետքերի գրանցման սարքը"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Հավելվածին թույլ է տալիս նույնականացման համար օգտագործել մատնահետքերի գրանցման սարքը"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"կարդալ համաժամեցման կարգավորումները"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Թույլ է տալիս հավելվածին կարդալ համաժամեցման կարգավորումները հաշվի համար: Օրինակ` այն կարող է որոշել, արդյոք Մարդիկ հավելվածը համաժամեցված է հաշվի հետ:"</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"համաժամեցումը փոխարկել միացվածի և անջատվածի"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Թույլ է տալիս հավելվածին առբերել, ուսումնասիրել և մաքրել ծանուցումներն, այդ թվում նաև այլ հավելվածների կողմից գրառվածները:"</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"միանալ ծանուցումների ունկնդրիչ ծառայությանը"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Թույլ է տալիս սեփականատիրոջը միանալ ծանուցումները ունկնդրող ծառայության վերին մակարդակի ինտերֆեյսին: Սովորական հավելվածների համար երբևէ չպետք է անհրաժեշտ լինի:"</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"միանալ ընտրողի թիրախային ծառայությանը"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Թույլ է տալիս միանալ ընտրողի թիրախային ծառայության վերին մակարդակի միջերեսին: Սովորական հավելվածների համար երբևէ չպետք է անհրաժեշտ լինի:"</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"կապվել պայմանների մատակարարի ծառայությանը"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Թույլ է տալիս սեփականատիրոջը միանալ պայմանների մատակարարների բազային միջերեսին: Սովորական ծրագրերի համար երբևէ չպետք է անհրաժեշտ լինի:"</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"կապվել մեդիա երթուղու ծառայությանը"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"Կապակցում օպերատորի հաղորդագրությունների ծառայության հետ"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Թույլ է տալիս տիրոջը կապվել օպերատորի հաղորդագրությունների ծառայության վերին մակարդակի միջերեսի հետ: Սա երբեք չի պահանջվում սովորական հավելվածների համար:"</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Սահմանել գաղտնաբառի կանոնները"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Վերահսկել էկրանի ապակողպման գաղտնաբառերի թույլատրելի երկարությունն ու գրանշանները:"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Կառավարել էկրանի ապակողպման գաղտնաբառերի և PIN կոդերի թույլատրելի երկարությունն ու գրանշանները:"</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Վերահսկել էկրանի ապակողպման փորձերը"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Վերահսկել սխալ գաղտնաբառերի թիվը, որոնք մուտքագրվել են էկրանն ապակողպելիս, և կողպել գրասալիկը կամ ջնջել գրասալիկի բոլոր տվյալները, եթե մուտքագրվել են չափից շատ սխալ գաղտնաբառեր:"</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Վերահսկել սխալ գաղտնաբառերի թիվը, որոնք մուտքագրվել են էկրանը ապակողպելիս, և կողպել հեռուստացույցը կամ ջնջել բոլոր տվյալները, եթե չափից ավելի սխալ գաղտնաբառեր են մուտքագրվել:"</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Վերահսկել սխալ գաղտնաբառերի թիվը, որոնք մուտքագրվել են էկրանն ապակողպելիս, և կողպել հեռախոսը կամ ջնջել հեռախոսի բոլոր տվյալները, եթե մուտքագրվել են չափից շատ սխալ գաղտնաբառեր:"</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Փոխել էկրանի ապակողպման գաղտնաբառը"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Փոխել էկրանի ապակողպման գաղտնաբառը:"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Կառավարել էկրանն ապակողպելիս մուտքագրվող սխալ գաղտնաբառերի թիվը և կողպել գրասալիկը կամ ջնջել այս օգտվողի բոլոր տվյալները չափից ավելի սխալ գաղտնաբառեր մուտքագրելու դեպքում:"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Կառավարել էկրանն ապակողպելիս մուտքագրվող սխալ գաղտնաբառերի թիվը և կողպել հեռուստացույցը կամ ջնջել այս օգտվողի բոլոր տվյալները չափից ավելի սխալ գաղտնաբառեր մուտքագրելու դեպքում:"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Կառավարել էկրանն ապակողպելիս մուտքագրվող սխալ գաղտնաբառերի թիվը և կողպել հեռախոսը կամ ջնջել այս օգտվողի բոլոր տվյալները չափից ավելի սխալ գաղտնաբառեր մուտքագրելու դեպքում:"</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Փոխել էկրանի կողպման գաղտնաբառը"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Փոխել էկրանի կողպման գաղտնաբառը:"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Կողպել էկրանը"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Վերահսկել` ինչպես և երբ է էկրանը կողպվում:"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Ջնջել բոլոր տվյալները"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Ջնջել գրասալիկի տվյալներն առանց նախազգուշացման` կատարելով գործարանային տվյալների վերակայում:"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Ջնջել հեռուստացույցի տվյալները առանց զգուշացման՝ վերականգնելով գործարանային կարգավորումները:"</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Ջնջել հեռախոսի տվյալներն առանց նախազգուշացման` կատարելով գործարանային տվյալների վերակայում:"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Ջնջել օգտվողի տվյալները"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Ջնջել այս օգտվողի տվյալներն այս գրասալիկում առանց նախազգուշացման:"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Ջնջել այս օգտվողի տվյալներն այս հեռուստացույցում առանց նախազգուշացման:"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Ջնջել այս օգտվողի տվյալներն այս հեռախոսում առանց նախազգուշացման:"</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Կարգավորել սարքի համաշխարհային պրոքսին"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Սարքը կարգավորել, որ համաշխարհային պրոքսին օգտագործվի, երբ քաղաքականությունը միացված է: Միայն առաջին սարքի կառավարիչն է կարգավորում գործող համաշխարհային պրոքսին:"</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Սահմանել էկրանի կողպման գաղտնաբառի սպառման ժամկետը"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Վերահսկել` ինչ հաճախականությամբ պետք է էկրանի կողպման գաղտնաբառը փոխվի:"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Կարգավորել, որ սարքի համընդհանուր պրոքսի-սերվերն օգտագործվի, երբ քաղաքականությունը միացված է: Միայն սարքի սեփականատերը կարող է կարգավորել համընդհանուր պրոքսի-սերվերը:"</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Նշել էկր կողպ գաղտնաբ սպառումը"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Փոխել էկրանի կողպման գաղտնաբառի, PIN-ի կամ նախշի փոփոխման հաճախականությունը:"</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Կարգավորել պահոցի կոդավորումը"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Պահանջել, որ պահվող հավելվածների տվյալները լինեն կոդավորված:"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Կասեցնել տեսախցիկները"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Կանխել բոլոր սարքերի ֆոտոխցիկների օգտագործումը:"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Անջատել ստեղնակողպեքի գործառույթները"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Կանխել ստեղնակողպեքի որոշ գործառույթների օգտագործումը:"</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Անջ. էկր. կողպ. գործառույթները"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Կանխել էկրանի կողպման որոշ գործառույթների օգտագործումը:"</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Տնային"</item>
     <item msgid="869923650527136615">"Բջջային"</item>
@@ -1097,7 +1110,7 @@
     <string name="permlab_readVoicemail" msgid="8415201752589140137">"կարդալ ձայնային փոստը"</string>
     <string name="permdesc_readVoicemail" msgid="8926534735321616550">"Ծրագրին թույլ է տալիս կարդալ ձեր ձայնային փոստը"</string>
     <string name="permlab_writeGeolocationPermissions" msgid="5962224158955273932">"փոփոխել դիտարկչի աշխարհագրական տեղանքի թույլտվությունները"</string>
-    <string name="permdesc_writeGeolocationPermissions" msgid="1083743234522638747">"Թույլ է տալիս հավելվածին փոփոխել զննարկչի աշխարհագրական դիրքի թույլտվությունները: Վնասարար հավելվածները կարող են օգտագործել սա` թույլատրելու ուղարկել տեղադրության վերաբերյալ տեղեկությունները կամայական վեբ կայքերին:"</string>
+    <string name="permdesc_writeGeolocationPermissions" msgid="1083743234522638747">"Թույլ է տալիս հավելվածին փոփոխել դիտարկչի աշխարհագրական դիրքի թույլտվությունները: Վնասարար հավելվածները կարող են օգտագործել սա` թույլատրելու ուղարկել տեղադրության վերաբերյալ տեղեկությունները կամայական վեբ կայքերին:"</string>
     <string name="permlab_packageVerificationAgent" msgid="5568139100645829117">"հաստատել փաթեթները"</string>
     <string name="permdesc_packageVerificationAgent" msgid="8437590190990843381">"Թույլ է տալիս հավելվածին հաստատել, որ փաթեթը տեղադրելի է:"</string>
     <string name="permlab_bindPackageVerifier" msgid="4187786793360326654">"միանալ փաթեթի ստուգիչին"</string>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Չսկսել նոր հավելված:"</string>
     <string name="new_app_action" msgid="5472756926945440706">"Սկիզբ <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Դադարեցնել նախկին ծրագիրն առանց պահպանման:"</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Ընտրեք գործողություն տեքստի համար"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Զանգակի ձայնի ուժգնությունը"</string>
     <string name="volume_music" msgid="5421651157138628171">"Մեդիա ձայնի բարձրություն"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="other">Կրկին փորձեք <xliff:g id="COUNT">%d</xliff:g> վայրկյանից</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Կրկին փորձեք մի փոքր ուշ"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Սահահարվածեք վերից վար՝ ամբողջական էկրանից դուրս գալու համար:"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Լիաէկրան դիտում"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Դուրս գալու համար վերևից սահահարվածեք դեպի ներքև:"</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Պարզ է"</string>
     <string name="done_label" msgid="2093726099505892398">"Պատրաստ է"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Ժամերի ընտրություն թվատախտակից"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Րոպեների ընտրություն թվատախտակից"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Աշխատանքային <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Այս էկրան ապամրացնելու համար միաժամանակ հպեք և պահեք Հետ և Համատեսք կոճակները:"</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Այս էկրանն ապամրացնելու համար հպեք և պահեք Համատեսքի կոճակը:"</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Էկրանն ամրացված է: Ապամրացումը չի թույլատրվում ձեր կազմակերպության կողմից:"</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Էկրանն ամրացված է"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Էկրանն ապամրացված է"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Ապաամրացնելուց առաջ հարցնել PIN-կոդը"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="other">%d ժամ</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Մինչև <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Անորոշ ժամանակով"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Քանի դեռ չեք անջատել"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Թաքցնել"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Մինչև հաջորդ զարթուցիչը՝ <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Մինչև հաջորդ զարթուցիչը"</string>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 4dc7d62..502f318 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Mengizinkan apl berkomunikasi dengan tag, kartu, dan alat pembaca Komunikasi Nirkabel Jarak Dekat (NFC)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"nonaktifkan kunci layar Anda"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Memungkinkan aplikasi menonaktifkan kunci tombol dan keamanan sandi apa pun yang terkait. Misalnya, ponsel menonaktifkan kunci tombol saat menerima panggilan telepon masuk, kemudian mengaktifkan kembali kunci tombol ketika panggilan selesai."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"kelola perangkat keras sidik jari"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Mengizinkan aplikasi memanggil metode untuk menambahkan dan menghapus template sidik jari untuk digunakan."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"gunakan perangkat keras sidik jari"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Mengizinkan aplikasi untuk menggunakan perangkat keras sidik jari untuk otentikasi"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"baca setelan sinkron"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Memungkinkan aplikasi membaca setelan sinkronisasi untuk sebuah akun. Misalnya, izin ini dapat menentukan apakah aplikasi Orang disinkronkan dengan sebuah akun."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"nyalakan dan matikan sinkronisasi"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Mengizinkan aplikasi mengambil, memeriksa, dan menghapus pemberitahuan, termasuk pemberitahuan yang diposkan oleh aplikasi lain."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"mengikat layanan pendengar pemberitahuan"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Memungkinkan pemegang mengikat antarmuka tingkat teratas dari suatu layanan pendengar pemberitahuan. Tidak pernah diperlukan oleh aplikasi normal."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"mengikat ke layanan sasaran pemilik"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Memungkinkan pemegang mengikat antarmuka tingkat tinggi dari layanan interaksi suara. Tidak pernah diperlukan oleh aplikasi normal."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"mengikat ke layanan penyedia ketentuan"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Memungkinkan pemegang mengikat antarmuka tingkat tinggi dari layanan penyedia ketentuan. Tidak pernah diperlukan oleh aplikasi normal."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"mengikat ke layanan rute media"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"ikat ke layanan perpesanan operator"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Mengizinkan operator untuk mengikat ke antarmuka tingkat tinggi dari suatu layanan perpesanan operator. Fitur ini seharusnya tidak diperlukan oleh aplikasi normal."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Setel aturan sandi"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Kontrol panjang dan karakter yang diizinkan dalam sandi pembuka layar."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Mengontrol panjang dan karakter yang diizinkan dalam sandi dan PIN kunci layar."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Upaya pembukaan kunci layar monitor"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Memantau jumlah sandi yang salah ketik saat membuka kunci layar, dan mengunci tablet atau menghapus semua data tablet jika sandi yang salah ketik terlalu banyak."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Memantau banyaknya sandi salah yang diketikkan saat membuka kunci layar, dan mengunci TV atau menghapus semua data TV jika terlalu banyak sandi salah diketikkan."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Memantau jumlah sandi salah ketik saat membuka kunci layar, dan mengunci ponsel atau menghapus semua data ponsel jika sandi yang salah ketik terlalu banyak."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Ubah sandi pembuka kunci layar"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Ubah sandi pembuka kunci layar."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Memantau banyaknya sandi salah yang diketikkan saat membuka kunci layar, dan mengunci tablet atau menghapus semua data pengguna ini jika terlalu banyak sandi salah diketikkan."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Memantau banyaknya sandi salah yang diketikkan saat membuka kunci layar, dan mengunci TV atau menghapus semua data pengguna ini jika terlalu banyak sandi salah diketikkan."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Memantau banyaknya sandi salah yang diketikkan saat membuka kunci layar, dan mengunci ponsel atau menghapus semua data pengguna ini jika terlalu banyak sandi salah diketikkan."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Mengubah kunci layar"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Mengubah kunci layar."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Kunci layar"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Kontrol cara dan kapan layar mengunci."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Hapus semua data"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Hapus data tablet tanpa peringatan dengan menyetel ulang data pabrik."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Menghapus data TV tanpa peringatan dengan mengembalikan ke setelan pabrik."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Hapus data ponsel tanpa peringatan dengan menyetel ulang data pabrik."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Menghapus data pengguna"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Menghapus data pengguna ini di tablet ini tanpa peringatan."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Menghapus data pengguna ini di TV ini tanpa peringatan."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Menghapus data pengguna ini di ponsel ini tanpa peringatan."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Setel proxy global perangkat"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Setel proxy global perangkat yang akandigunakan ketika kebijakan diaktifkan. Hanya admin perangkat pertama yang menyetel procy global yang berlaku."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Setel kedaluwarsa sandi pengunci layar"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Kontrol seberapa sering sandi pengunci layar harus diganti."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Menyetel proxy global perangkat yang akan digunakan jika kebijakan diaktifkan. Hanya pemilik perangkat yang dapat menyetel proxy global."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Menyetel berakhirnya sandi kunci layar"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Mengubah seberapa sering sandi, PIN, atau pola kunci layar harus diubah."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Setel enkripsi penyimpanan"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Mengharuskan data apl yang disimpan untuk dienkripsi."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Nonaktifkan kamera"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Mencegah penggunaan semua kamera perangkat."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Nonaktifkan fitur di pengaman"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Mencegah penggunaan beberapa fitur dalam pengaman."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Menonaktifkan fitur kunci layar"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Mencegah penggunaan beberapa fitur kunci layar."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Rumah"</item>
     <item msgid="869923650527136615">"Seluler"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Jangan memulai aplikasi baru."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Mulai <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Hentikan apl lama tanpa menyimpan."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Pilih tindakan untuk teks"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Volume dering"</string>
     <string name="volume_music" msgid="5421651157138628171">"Volume media"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Coba 1 detik lagi</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Coba lagi nanti"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Gesek dari atas ke bawah untuk keluar dari layar penuh."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Melihat layar penuh"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Untuk keluar, gesek ke bawah dari atas."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Mengerti"</string>
     <string name="done_label" msgid="2093726099505892398">"Selesai"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Penggeser putar jam"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Penggeser putar menit"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Kantor <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Untuk melepas pin layar ini, sentuh lama tombol Kembali dan Ringkasan secara bersamaan."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Untuk melepas pin layar ini, sentuh lama tombol Ringkasan."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Layar disematkan. Pelepasan sematan tidak diizinkan oleh organisasi Anda."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Layar disematkan"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Layar dicopot sematannya"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Meminta PIN sebelum melepas sematan"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Selama satu jam</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Hingga <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Tidak ditentukan"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Hingga Anda menonaktifkan ini"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Ciutkan"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Sampai alarm berikutnya pukul <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Sampai alarm berikutnya"</string>
diff --git a/core/res/res/values-is-rIS/strings.xml b/core/res/res/values-is-rIS/strings.xml
index 6f8bd07..11b4d98 100644
--- a/core/res/res/values-is-rIS/strings.xml
+++ b/core/res/res/values-is-rIS/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Leyfir forriti að eiga samskipti við NFC-merki, -spjöld og -lesara (nándarsamskipti)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"slökkva á skjálásnum"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Leyfir forriti að slökkva á símalásnum og öðrum öryggisaðgerðum tengdum aðgangsorði. Til dæmis gerir síminn lásinn óvirkan þegar símtal berst og læsist svo aftur að símtali loknu."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"stjórna fingrafarabúnaði"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Gerir forritinu kleift að beita aðferðum til að bæta við og eyða fingrafarasniðmátum til notkunar."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"nota fingrafarabúnað"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Leyfir forritinu að nota fingrafarabúnað til auðkenningar"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"lesa samstillingar"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Leyfir forriti að lesa kosti samstillingar fyrir reikning. Þetta er til dæmis hægt að nota til að komast að því hvort forritið Fólk er samstillt við reikning."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"kveikja og slökkva á samstillingu"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Leyfir forriti að sækja, skoða og hreinsa tilkynningar, þ. á m. þær sem önnur forrit birta."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"bindast hlustunarþjónustu tilkynninga"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Leyfir forriti að bindast efsta viðmótslagi hlustunarþjónustu tilkynninga. Ætti aldrei að vera nauðsynlegt fyrir venjuleg forrit."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"bindast valþjónustu fyrir markmið"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Leyfir handhafa að bindast efsta viðmótslagi valþjónustu fyrir markmið. Ætti aldrei að vera nauðsynlegt fyrir venjuleg forrit."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"bindast þjónustu skilyrðaveitu"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Leyfir handhafa að bindast efsta viðmótslagi skilyrðaveitu. Ætti aldrei að vera nauðsynlegt fyrir venjuleg forrit."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"bindast beiningarþjónustu fyrir margmiðlun"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"bindast skilaboðaþjónustu símafyrirtækis"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Leyfir forriti að bindast efsta viðmótslagi skilaboðaþjónustu símafyrirtækis. Ætti aldrei að vera nauðsynlegt fyrir venjuleg forrit."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Setja reglur um aðgangsorð"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Stjórna lengd aðgangsorða til að taka skjáinn úr lás og leyfðum stöfum."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Stjórna lengd og fjölda stafa í aðgangsorðum og PIN-númerum skjáláss."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Fylgjast með tilraunum til að taka skjáinn úr lás"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Fylgjast með fjölda rangra innskráningartilrauna með aðgangsorði þegar skjárinn er tekinn úr lás og læsa spjaldtölvunni eða eyða öllum gögnum hennar ef rangt aðgangsorð er fært inn of oft."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Fylgjast með fjölda rangra innskráningartilrauna með aðgangsorði þegar skjárinn er tekinn úr lás og læsa sjónvarpinu eða eyða öllum gögnum þess ef rangt aðgangsorð er fært inn of oft."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Fylgjast með fjölda rangra innskráningartilrauna með aðgangsorði þegar skjárinn er tekinn úr lás og læsa símanum eða eyða öllum gögnum hans ef rangt aðgangsorð er fært inn of oft."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Breyta aðgangsorði skjáláss"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Breyta aðgangsorðinu til að taka skjáinn úr lás."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Fylgjast með fjölda rangra innskráningartilrauna með aðgangsorði þegar skjárinn er tekinn úr lás og læsa spjaldtölvunni eða eyða öllum gögnum viðkomandi notanda ef rangt aðgangsorð er fært inn of oft."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Fylgjast með fjölda rangra innskráningartilrauna með aðgangsorði þegar skjárinn er tekinn úr lás og læsa sjónvarpinu eða eyða öllum gögnum viðkomandi notanda ef rangt aðgangsorð er fært inn of oft."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Fylgjast með fjölda rangra innskráningartilrauna með aðgangsorði þegar skjárinn er tekinn úr lás og læsa símanum eða eyða öllum gögnum viðkomandi notanda ef rangt aðgangsorð er fært inn of oft."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Breyta skjálásnum"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Breyta skjálásnum."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Læsa skjánum"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Stjórna hvernig og hvenær skjárinn læsist."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Eyða öllum gögnum"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Eyða gögnum spjaldtölvunnar fyrirvaralaust með núllstillingu."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Eyða gögnum sjónvarpsins fyrirvaralaust með núllstillingu."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Eyða gögnum símans fyrirvaralaust með núllstillingu."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Eyða gögnum notanda"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Eyða gögnum viðkomandi notanda í þessari spjaldtölvu án viðvörunar."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Eyða gögnum viðkomandi notanda í þessu sjónvarpi án viðvörunar."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Eyða gögnum viðkomandi notanda í þessum síma án viðvörunar."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Stilla altækan proxy-þjón fyrir tækið"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Stilla altækan proxy-þjón tækisins sem nota á þegar stefnan er virk. Aðeins fyrsti stjórnandi tækisins stillir virkan altækan proxy-þjón."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Stilla fyrningu aðgangsorðs"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Stjórna hversu oft þarf að skipta um aðgangsorð til að taka skjáinn úr lás."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Velja altækan proxy-þjón tækisins sem nota á þegar stefnan er virk. Aðeins eigandi tækisins getur valið altækan proxy-þjón."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Velja gildistíma aðgangsorðs"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Breyta því hversu oft þarf að skipta um aðgangsorð, PIN-númer eða mynstur skjáláss."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Velja dulkóðun geymslu"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Krefjast þess að geymd forritsgögn séu dulkóðuð."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Slökkva á myndavélum"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Koma í veg fyrir notkun allra myndavéla tækisins."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Óvirkja eiginleika lyklavörslu"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Koma í veg fyrir notkun sumra eiginleika lyklavörslu."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Slökkva á eiginleikum skjáláss"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Koma í veg fyrir notkun sumra eiginleika skjáláss."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Heima"</item>
     <item msgid="869923650527136615">"Farsími"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Ekki ræsa nýja forritið."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Ræsa <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Stöðva gamla forritið án þess að vista."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Veldu aðgerð fyrir texta"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Hljóðstyrkur hringingar"</string>
     <string name="volume_music" msgid="5421651157138628171">"Hljóðstyrkur efnisspilunar"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="other">Reyndu aftur eftir <xliff:g id="COUNT">%d</xliff:g> sekúndur</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Reyndu aftur síðar"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Strjúktu niður frá efri brún til að hætta að nota allan skjáinn."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Notar allan skjáinn"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Strjúktu niður frá efri brún til að hætta."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Ég skil"</string>
     <string name="done_label" msgid="2093726099505892398">"Lokið"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Valskífa fyrir klukkustundir"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Valskífa fyrir mínútur"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> í vinnu"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Til að taka lásinn af þessari skjámynd skaltu halda inni Til baka og Yfirliti samtímis."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Til að taka lásinn af þessari skjámynd skaltu halda inni Yfirliti."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Skjárinn er festur. Póstskipanin þín leyfir ekki að hann sé losaður."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Skjár festur"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Skjár opnaður"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Biðja um PIN-númer til að losa"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="other">Í %d klukkustundir</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Til <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Án tímatakmarkana"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Þar til þú slekkur á þessu"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Minnka"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Fram að næsta vekjara kl. <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Fram að næsta vekjara"</string>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index c6b18e8..2ab192f 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Consente all\'applicazione di comunicare con tag, schede e lettori NFC (Near Field Communication)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"disattivazione blocco schermo"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Consente all\'applicazione di disattivare il blocco tastiera ed eventuali protezioni tramite password associate. Ad esempio, il telefono disattiva il blocco tastiera quando riceve una telefonata in arrivo e lo riattiva al termine della chiamata."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"gestisci hardware per il riconoscimento delle impronte digitali"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Consente all\'app di richiamare metodi per aggiungere e rimuovere modelli di impronte digitali da utilizzare."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"utilizza hardware per il riconoscimento delle impronte digitali"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Consente all\'app di utilizzare l\'hardware per il riconoscimento delle impronte digitali per eseguire l\'autenticazione"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"lettura impostazioni di sincronizz."</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Consente all\'applicazione di leggere le impostazioni di sincronizzazione per un account. Ad esempio, questa autorizzazione può determinare se l\'applicazione Persone è sincronizzata con un account."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"attivazione e disattivazione della sincronizzazione"</string>
@@ -756,7 +760,7 @@
     <string name="permlab_sdcardRead" product="default" msgid="2188156462934977940">"lettura contenuti scheda SD"</string>
     <string name="permdesc_sdcardRead" product="nosdcard" msgid="3446988712598386079">"L\'app può leggere i contenuti dell\'archivio USB."</string>
     <string name="permdesc_sdcardRead" product="default" msgid="2607362473654975411">"Consente all\'applicazione di leggere i contenuti della scheda SD."</string>
-    <string name="permlab_sdcardWrite" product="nosdcard" msgid="8485979062254666748">"Modifica/eliminazione contenuti USB"</string>
+    <string name="permlab_sdcardWrite" product="nosdcard" msgid="8485979062254666748">"modifica/eliminazione contenuti USB"</string>
     <string name="permlab_sdcardWrite" product="default" msgid="8805693630050458763">"modifica o eliminazione dei contenuti della scheda SD"</string>
     <string name="permdesc_sdcardWrite" product="nosdcard" msgid="6175406299445710888">"Consente all\'applicazione di scrivere nell\'archivio USB."</string>
     <string name="permdesc_sdcardWrite" product="default" msgid="4337417790936632090">"Consente all\'applicazione di scrivere sulla scheda SD."</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Consente all\'app di recuperare, esaminare e cancellare notifiche, comprese quelle pubblicate da altre app."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"vincolo a un servizio listener di notifica"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Consente al titolare di vincolarsi all\'interfaccia di primo livello di un servizio listener di notifica. Non dovrebbe mai essere necessaria per le normali applicazioni."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"collegamento al servizio di destinazione di un utente"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Consente al titolare di collegarsi all\'interfaccia di primo livello del servizio di destinazione di un utente. Non dovrebbe essere mai necessaria per le normali applicazioni."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"collegamento a un servizio provider di condizioni"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Consente al titolare di collegarsi all\'interfaccia di primo livello di un servizio provider di condizioni. Non dovrebbe essere mai necessaria per le normali app."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"associa a servizio di routing multimediale"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"associazione a un servizio di messaggi dell\'operatore"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Consente l\'associazione di un servizio di messaggi dell\'operatore all\'interfaccia principale. Non dovrebbe mai essere necessaria per le normali applicazioni."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Impostazione regole password"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Controlla la lunghezza e i caratteri ammessi nelle password di sblocco dello schermo."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Controlla la lunghezza e i caratteri ammessi nelle password e nei PIN del blocco schermo."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Controllo tentativi di sblocco dello schermo"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Monitora il numero di password errate digitate durante lo sblocco dello schermo e blocca il tablet o cancella tutti i dati del tablet se vengono digitate troppe password errate."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Consente di monitorare il numero di password sbagliate inserite per sbloccare lo schermo, nonché di bloccare la TV e cancellarne tutti i dati se vengono digitate troppe password errate."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Monitora il numero di password errate digitate durante lo sblocco dello schermo e blocca il telefono o cancella tutti i dati del telefono se vengono digitate troppe password errate."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Cambia la password di sblocco dello schermo"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Cambia la password di sblocco dello schermo."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Monitora il numero di password errate digitate durante lo sblocco dello schermo e blocca il tablet o resetta tutti i dati dell\'utente se è stato raggiunto il limite massimo consentito."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Monitora il numero di password errate digitate durante lo sblocco dello schermo e blocca la TV o resetta tutti i dati dell\'utente se è stato raggiunto il limite massimo consentito."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Monitora il numero di password errate digitate durante lo sblocco dello schermo e blocca il telefono o resetta tutti i dati dell\'utente se è stato raggiunto il limite massimo consentito."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Modifica blocco schermo"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Modifica il blocco schermo."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Blocco dello schermo"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Controlla come e quando si blocca lo schermo."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Cancellazione di tutti i dati"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Cancella i dati del tablet senza preavviso eseguendo un ripristino dati di fabbrica."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Consente di cancellare i dati della TV senza preavviso eseguendo un ripristino dei dati di fabbrica."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Cancella i dati del telefono senza preavviso eseguendo un ripristino dati di fabbrica."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Resetta i dati dell\'utente"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Resetta i dati dell\'utente sul tablet senza preavviso."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Resetta i dati dell\'utente sulla TV senza preavviso."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Resetta i dati dell\'utente sul telefono senza preavviso."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Imposta il proxy globale del dispositivo"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Imposta il proxy globale del dispositivo in modo da utilizzarlo mentre la norma è attiva. Il proxy globale effettivo è impostabile solo dal primo amministratore del dispositivo."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Impostazione scadenza password blocco schermo"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Stabilisci la frequenza di modifica della password di blocco dello schermo."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Imposta il proxy globale del dispositivo in modo da utilizzarlo mentre la norma è attiva. Il proxy globale può essere impostato solo dal proprietario del dispositivo."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Imposta scadenza password blocco schermo"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Cambia la frequenza di modifica di password, PIN o sequenza del blocco schermo."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Impostazione crittografia archivio"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Richiede la crittografia dei dati applicazione memorizzati."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Disattivazione fotocamere"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Impedisci l\'utilizzo di tutte le fotocamere del dispositivo."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Disattiva le funzioni con il blocco tastiera"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Impedisce l\'utilizzo di alcune funzioni con il blocco tastiera."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Disattiva funzioni blocco schermo"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Impedisce l\'utilizzo di alcune funzioni del blocco schermo."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Casa"</item>
     <item msgid="869923650527136615">"Cellulare"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Non avviare la nuova applicazione."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Avvia <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Interrompi la vecchia applicazione senza salvare."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Scegli un\'azione per il testo"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Volume suoneria"</string>
     <string name="volume_music" msgid="5421651157138628171">"Volume contenuti multimediali"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Riprova tra 1 secondo</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Riprova più tardi"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Scorri dall\'alto verso il basso per uscire dalla modalità schermo intero."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Visualizzazione a schermo intero"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Per uscire, scorri dall\'alto verso il basso."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"OK"</string>
     <string name="done_label" msgid="2093726099505892398">"Fine"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Dispositivo di scorrimento circolare per le ore"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Dispositivo di scorrimento circolare per i minuti"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> lavoro"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Per sbloccare questa schermata, tocca e tieni premute contemporaneamente le opzioni Indietro e Panoramica."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Per sbloccare questa schermata, tocca e tieni premuta l\'opzione Panoramica."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"La schermata è bloccata. La tua organizzazione non ne consente lo sblocco."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Schermata bloccata"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Schermata sbloccata"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Richiedi il PIN prima di sbloccare"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Per un\'ora</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Fino alle ore <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Sempre"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Fino alla disattivazione"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Comprimi"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Fino alla prossima sveglia alle ore <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Fino alla prossima sveglia"</string>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index 21ae52a..15c1b35 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -740,6 +740,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"מאפשר לאפליקציה נהל תקשורת עם תגים, כרטיסים וקוראים מסוג \'תקשורת מטווח קצר\'."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"ביטול נעילת המסך שלך"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"מאפשר לאפליקציה להשבית את נעילת המקשים וכל אמצעי אבטחה משויך המבוסס על סיסמה. לדוגמה, הטלפון משבית את נעילת המקשים בעת קבלה של שיחת טלפון נכנסת, ולאחר מכן מפעיל מחדש את נעילת המקשים עם סיום השיחה."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"ניהול חומרה של טביעות אצבעות"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"מאפשר לאפליקציה להפעיל שיטות להוספה ומחיקה של תבניות טביעות אצבעות שבהן ייעשה שימוש."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"שימוש בחומרה של טביעות אצבעות"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"מאפשר לאפליקציה להשתמש בחומרה של טביעות אצבעות לצורך אימות"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"קרא את הגדרות הסינכרון"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"מאפשר לאפליקציה לקרוא את הגדרות הסנכרון של חשבון. לדוגמה, ניתן לגלות כך האם האפליקציה \'אנשים\' מסונכרן עם חשבון כלשהו."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"הפעלת וכיבוי סנכרון"</string>
@@ -794,6 +798,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"מאפשר לאפליקציה לאחזר, לבדוק ולמחוק התראות, כולל כאלה שפורסמו על ידי אפליקציות אחרות."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"איגוד לשירות של מאזין להתראות"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"הרשאה זו מאפשרת למשתמש לבצע איגוד לממשק הרמה העליונה של שירות מאזין להתראות. הרשאה זו אף פעם אינה נחוצה לאפליקציות רגילים."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"‏איגוד אל שירות Chooser Target"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"‏מאפשר לבעלים לאגד לממשק ברמה העליונה של שירות Chooser Target. לעולם לא אמור להיות נחוץ עבור אפליקציות רגילות."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"איגוד לשירות ספק תנאי"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"מאפשרת לבעלים לאגד לממשק ברמה העליונה של שירות ספק תנאי. לעולם לא אמורה להיות נחוצה עבור אפליקציות רגילות."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"איגוד לשירות ניתוב מדיה"</string>
@@ -815,29 +821,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"איגוד לשירות העברת הודעות של ספק"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"מאפשרת לבעלים לאגד לממשק ברמה העליונה של שירות העברת הודעות של ספק. לעולם לא אמורה להיות נחוצה עבור אפליקציות רגילות."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"הגדר כללי סיסמה"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"שלוט באורך ובתווים המותרים בסיסמאות לביטול נעילת מסך."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"‏קביעת האורך הנדרש והתווים המותרים בסיסמאות ובקודי PIN של מסך הנעילה."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"עקוב אחר ניסיונות לביטול נעילת מסך"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"ניהול מעקב אחר מספר הסיסמאות השגויות שמוקלדות בעת ביטול נעילת המסך, וביצוע נעילה של הטאבלט, או מחיקה של כל נתוני הטאבלט, אם מוקלדות יותר מדי סיסמאות שגויות."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"מעקב אחר מספר הסיסמאות השגויות שהוזנו בעת נעילת המסך, ונעילת הטלוויזיה או מחיקה של כל נתוני הטלוויזיה אם הוזנו סיסמאות שגויות רבות מדי."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"ניהול מעקב אחר מספר הסיסמאות השגויות שהוקלדו בעת ביטול נעילה המסך, וביצוע נעילה של הטלפון או מחיקה של כל נתוני הטלפון אם הוקלדו יותר מדי סיסמאות שגויות."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"שנה את הסיסמה לביטול נעילת המסך"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"שנה את הסיסמה לביטול נעילת המסך."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"מעקב אחר מספר הסיסמאות השגויות שהוזנו בעת ביטול נעילת המסך, כמו גם נעילת הטאבלט או מחיקה של כל נתוני המשתמש הזה אם הוזנו יותר מדי סיסמאות שגויות."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"מעקב אחר מספר הסיסמאות השגויות שהוזנו בעת ביטול נעילת המסך, כמו גם נעילת הטלוויזיה או מחיקה של כל נתוני המשתמש הזה אם הוזנו יותר מדי סיסמאות שגויות."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"מעקב אחר מספר הסיסמאות השגויות שהוזנו בעת ביטול נעילת המסך, כמו גם נעילת הטלפון או מחיקה של כל נתוני המשתמש הזה אם הוזנו יותר מדי סיסמאות שגויות."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"שינוי נעילת המסך"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"שינוי של נעילת המסך."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"נעל את המסך"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"שלוט באופן ובתזמון של נעילת המסך"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"מחק את כל הנתונים"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"מחק את נתוני הטאבלט ללא אזהרה על ידי ביצוע איפוס נתוני יצרן."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"מחיקה של נתוני הטלוויזיה ללא אזהרה, על ידי ביצוע איפוס לנתוני היצרן."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"מחק את נתוני הטלפון ללא אזהרה על ידי ביצוע איפוס נתוני יצרן."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"מחיקת נתוני משתמש"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"מחיקה ללא אזהרה של נתוני המשתמש הזה בטאבלט הזה."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"מחיקה ללא אזהרה של נתוני המשתמש הזה בטלוויזיה הזו."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"מחיקה ללא אזהרה של נתוני המשתמש הזה בטלפון הזה."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"‏הגדר את שרת ה-Proxy הכללי של המכשיר"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"‏הגדר שימוש בשרת ה-Proxy הגלובלי של המכשיר כאשר המדיניות מופעלת. רק מנהל המכשיר הראשון מגדיר את שרת ה-Proxy הגלובלי הפעיל."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"הגדר תאריך תפוגה לסיסמה של נעילת המסך"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"שלוט בתדירות שבה יש לשנות את הסיסמה של נעילת המסך."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"‏הגדרה של שרת ה-proxy הגלובלי שבו ייעשה שימוש כשהמדיניות פועלת. רק הבעלים של המכשיר יכול להגדיר את שרת ה-proxy הגלובלי."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"הגדרת תפוגה לסיסמת מסך הנעילה"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"‏שינוי התדירות לדרישת השינוי של הסיסמה, ה-PIN או קו ביטול הנעילה של מסך הנעילה."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"הגדר הצפנת אחסון"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"דרוש שנתוני אפליקציות מאוחסנות יהיו מוצפנים."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"השבת מצלמות"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"מנע שימוש בכל המצלמות שבמכשיר."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"‏השבת תכונות ב-Keyguard"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"‏מנע שימוש בתכונות מסוימות ב-Keyguard."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"השבתת תכונות של נעילת המסך"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"מניעת השימוש בתכונות מסוימות של מסך הנעילה."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"בית"</item>
     <item msgid="869923650527136615">"נייד"</item>
@@ -1262,6 +1275,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"אל תפעיל את האפליקציה החדש."</string>
     <string name="new_app_action" msgid="5472756926945440706">"הפעל את <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"עצור את האפליקציה הישן ללא שמירה."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"בחירת פעולה לביצוע עם טקסט"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"עוצמת קול של צלצול"</string>
     <string name="volume_music" msgid="5421651157138628171">"עוצמת קול של מדיה"</string>
@@ -1783,7 +1804,9 @@
       <item quantity="one">נסה שוב בעוד שנייה אחת</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"נסה שוב מאוחר יותר"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"החלק מטה מהחלק העליון כדי לצאת ממסך מלא."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"צפייה במסך מלא"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"כדי לצאת, החלק מלמעלה למטה."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"הבנתי"</string>
     <string name="done_label" msgid="2093726099505892398">"בוצע"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"מחוון שעות מעגלי"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"מחוון דקות מעגלי"</string>
@@ -1798,7 +1821,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"עבודה <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"כדי לבטל את הקפאת המסך הזה, גע בו-זמנית נגיעה ממושכת ב\'הקודם\' ו\'סקירה\'."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"כדי לבטל את הקפאת המסך הזה, גע נגיעה ממושכת ב\'סקירה\'."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"המסך מוצמד. הארגון אוסר לבטל את הצמדתו."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"המסך מוצמד"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"הצמדת המסך בוטלה"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"בקש קוד אימות לפני ביטול הצמדה"</string>
@@ -1832,7 +1856,7 @@
       <item quantity="one">למשך שעה אחת</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"עד <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"ללא הגבלה"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"עד שתכבה"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"כווץ"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"עד ההתראה הבאה ב-<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"עד ההתראה הבאה"</string>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 2efd676..c4849b2 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -528,7 +528,7 @@
     <string name="permdesc_readSocialStream" product="default" msgid="4255706027172050872">"あなたや友だちのソーシャル更新情報へのアクセスと同期をアプリに許可します。情報の共有は慎重に行ってください。これを許可すると、あなたと友だちがソーシャルネットワークで行ったやり取りを、機密性に関係なくアプリから読み取ることができるようになります。注: この許可は、一部のソーシャルネットワークでは適用されない場合があります。"</string>
     <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"ソーシャルストリームに書く"</string>
     <string name="permdesc_writeSocialStream" product="default" msgid="3086557552204114849">"友だちのソーシャル更新情報の表示をアプリに許可します。情報の共有は慎重に行ってください。これによりアプリは、友だちから発信されたかのようなメッセージを作成できるようになります。注: この許可は、一部のソーシャルネットワークでは適用されない場合があります。"</string>
-    <string name="permlab_readCalendar" msgid="5972727560257612398">"カレンダーの予定と機密情報を読み取る"</string>
+    <string name="permlab_readCalendar" msgid="5972727560257612398">"カレンダーの予定と機密情報の読み取り"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="4216462049057658723">"タブレットに保存されているカレンダーの予定(友だちや同僚の予定も含めすべて)を読み取ることをアプリに許可します。これにより、アプリがカレンダーのデータを機密性に関係なく共有または保存できるようになる可能性があります。"</string>
     <string name="permdesc_readCalendar" product="tv" msgid="3191352452242394196">"テレビに保存されているカレンダーの予定(友だちや同僚の予定も含めすべて)を読み取ることをアプリに許可します。これにより、アプリがカレンダーのデータを機密性に関係なく共有または保存できるようになる可能性があります。"</string>
     <string name="permdesc_readCalendar" product="default" msgid="7434548682470851583">"携帯端末に保存されているカレンダーの予定(友だちや同僚の予定も含めすべて)を読み取ることをアプリに許可します。これにより、アプリがカレンダーのデータを機密性に関係なく共有または保存できるようになる可能性があります。"</string>
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"NFCタグ、カード、リーダーとの通信をアプリに許可します。"</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"画面ロックの無効化"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"キーロックとキーロックに関連付けられたパスワードのセキュリティを無効にすることをアプリに許可します。たとえば、かかってきた電話を受ける際にキーロックを無効にし、通話が終了したらキーロックを再度有効にする場合などに使用します。"</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"指紋ハードウェアの管理"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"使用する指紋テンプレートの追加や削除を行う方法の呼び出しをアプリに許可します。"</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"指紋ハードウェアの使用"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"指紋ハードウェアを認証に使用することをアプリに許可します"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"同期設定の読み取り"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"アカウントの同期設定の読み取りをアプリに許可します。たとえば、連絡帳アプリがアカウントと同期しているかどうかをアプリから特定できるようになります。"</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"同期のON/OFFの切り替え"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"通知(他のアプリから投稿されたものも含む)を取得、調査、クリアすることをアプリに許可します。"</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"通知リスナーサービスにバインド"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"通知リスナーサービスのトップレベルインターフェースにバインドすることを所有者に許可します。通常のアプリでは不要です。"</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"選択した対象サービスへのバインド"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"選択した対象サービスのトップレベルインターフェースにバインドすることを所有者に許可します。通常のアプリでは不要です。"</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"コンディションプロバイダサービスへのバインド"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"コンディションプロバイダサービスのトップレベルインターフェースにバインドすることを所有者に許可します。通常のアプリでは不要です。"</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"メディアルートサービスへのバインド"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"携帯通信会社のSMSサービスへのバインド"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"携帯通信会社のSMSサービスのトップレベルインターフェースにバインドすることを所有者に許可します。通常のアプリでは不要です。"</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"パスワードルールの設定"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"画面ロック解除パスワードの長さと使用できる文字を制御します。"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"画面ロックのパスワードとPINの長さと使用できる文字を制御します。"</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"画面ロック解除試行の監視"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"画面のロック解除に正しくないパスワードを入力した回数を監視し、回数が多すぎる場合はタブレットをロックするかタブレットのデータをすべて消去します。"</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"画面のロック解除に入力したパスワードが間違っていた回数を監視し、回数が多すぎる場合はテレビをロックするかテレビのデータをすべて消去します。"</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"画面のロック解除に正しくないパスワードを入力した回数を監視し、回数が多すぎる場合は携帯端末をロックするか携帯端末のデータをすべて消去します。"</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"画面ロック解除パスワードの変更"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"画面ロック解除パスワードを変更します。"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"画面のロック解除の際に入力したパスワードが間違っていた回数を監視し、回数が多すぎる場合はタブレットをロックするかこのユーザーのデータをすべて消去します。"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"画面のロック解除の際に入力したパスワードが間違っていた回数を監視し、回数が多すぎる場合はテレビをロックするかこのユーザーのデータをすべて消去します。"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"画面のロック解除の際に入力したパスワードが間違っていた回数を監視し、回数が多すぎる場合はスマートフォンをロックするかこのユーザーのデータをすべて消去します。"</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"画面ロックの変更"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"画面ロックを変更します。"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"画面のロック"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"画面をロックする方法とタイミングを制御します。"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"すべてのデータを消去"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"警告せずにデータの初期化を実行してタブレット内のデータを消去します。"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"警告せずにデータの初期化を実行してテレビ内のデータを消去します。"</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"警告せずにデータの初期化を実行して端末内のデータを消去します。"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"ユーザーデータの消去"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"このタブレットのこのユーザーのデータを警告なく消去します。"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"このテレビのこのユーザーのデータを警告なく消去します。"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"このスマートフォンのこのユーザーのデータを警告なく消去します。"</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"端末のグローバルプロキシを設定"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"ポリシーが有効になっている場合は端末のグローバルプロキシが使用されるように設定します。有効なグローバルプロキシを設定できるのは最初のデバイス管理者だけです。"</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"解除パスワードの有効期限の設定"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"ロック解除パスワードの変更が必要になる頻度を指定します。"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"ポリシーが有効になっている場合は端末のグローバルプロキシが使用されるように設定します。グローバルプロキシを設定できるのは端末の所有者だけです。"</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"画面ロックのパスワード有効期限の設定"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"画面ロックのパスワード、PIN、パターンの変更が必要になる頻度を変更します。"</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"ストレージ暗号化の設定"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"保存したアプリデータが暗号化されるようにします。"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"カメラを無効にする"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"すべての端末カメラを使用できないようにします。"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"キーガードの機能を無効にする"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"キーガードの一部の機能の使用を禁止します。"</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"画面ロック機能の無効化"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"画面ロックの一部の機能の使用を禁止します。"</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"自宅"</item>
     <item msgid="869923650527136615">"携帯"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"新しいアプリを起動しません。"</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g>を起動"</string>
     <string name="new_app_description" msgid="1932143598371537340">"古いアプリを保存せずに停止します。"</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"アプリケーションを選択"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"着信音量"</string>
     <string name="volume_music" msgid="5421651157138628171">"メディアの音量"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">1秒後にもう一度お試しください</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"しばらくしてから再試行"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"全画面表示を終了するには、上から下にスワイプ"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"全画面表示"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"終了するには、上部から下にスワイプします。"</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"OK"</string>
     <string name="done_label" msgid="2093726099505892398">"完了"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"円形スライダー(時)"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"円形スライダー(分)"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"仕事の<xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"この画面の固定を解除するには[戻る]と[最近]を同時に押し続けます。"</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"この画面の固定を解除するには[最近]を押し続けます。"</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"画面が固定されています。会社/組織により解除は許可されていません。"</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"画面を固定しました"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"画面固定を解除しました"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"オフライン再生を解除する前にPINの入力を求める"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">1時間</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>まで"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"制限なし"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"ユーザーがOFFにするまで"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"折りたたむ"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"次のアラーム(<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>)まで"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"次のアラームまで"</string>
diff --git a/core/res/res/values-ka-rGE/strings.xml b/core/res/res/values-ka-rGE/strings.xml
index a7fac00..f0b3f31 100644
--- a/core/res/res/values-ka-rGE/strings.xml
+++ b/core/res/res/values-ka-rGE/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"აპს შეეძლება ახლო მოქმედების რადიოკავშირის (NFC) მეშვეობით ტეგების, ბარათებისა და წამკითხველების შემცველი მონაცემების მიმოცვლა."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"თქვენი ეკრანის ბლოკის გათიშვა"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"შეეძლება კლავიატურის დაბლოკვისა და პაროლით უზრუნველყოფილი ნებისმიერი უსაფრთხოების ფუნქციის დეაქტივაცია. მაგალითად, ტელეფონი შემომავალი ზარის დროს აუქმებს კლავიატურის დაბლოკვას და კვლავ ააქტიურებს მას, როგორც კი ზარი დასრულდება."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"თითის ანაბეჭდის აპარატის მართვა"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"საშუალებას აძლევს აპლიკაციას დაამატოს ან ამოშალოს გამოსაყენებელი თითის ანაბეჭდის ნიმუშები,"</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"თითის ანაბეჭდის აპარატის გამოყენება"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"საშუალებას აძლევს აპლიკაციას გამოიყენოს ავტენთიფიკაციისათვის თითის ანაბეჭდის აპარატი"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"სინქრონიზაციის პარამეტრების წაკითხვა"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"აპს შეეძლება, წაიკითხოს ანგარიშის სინქრონიზაციის პარამეტრები. მაგალითად, მას შეეძლება განსაზღვროს, არის თუ არა People აპი სინქრონიზებული ანგარიშთან."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"სინქრონიზაციის ჩართვა და გამორთვა"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"აპს შეეძლება მოიძიოს, გამოიკვლიოს და წაშალოს შეტყობინებები, მათ შორის სხვა აპების მიერ გამოქვეყნებული."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"შეტყობინებების მოსმენის სერვისთან დაკავშირება"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"მფლობელს შეეძლება შეტყობინებების მსმენლის სერვისის ზედა დონის ინტერფეისთან დაკავშირება. არ უნდა მოხდეს მისი გამოყენება ჩვეუელებრივი აპებისთვის.ფ"</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"აკავშირებს შერჩეულ სამიზნე მომსახურებასთან"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"საშუალებას აძლევს მფლობელს, დააკავშიროს ზედა დონის ინტერფეისი შერჩეულ სამიზნე მომსახურებასთან. არასდროს უნდა იყოს საჭირო ნორმალურ აპლიკაციებში."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"მდგომარეობის პროვაიდერის სერვისებთან შეკავშირება"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"მფლობელს შეეძლება შეკავშირდეს მდგომარეობის პროვაიდერის სერვისების ზედა დონის ინტერფეისთან. ჩვეულებრივ აპს ეს წესით არასოდეს უნდა დასჭირდეს."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"მედიის მარშრუტის სერვისთან შეკავშირება"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"აკავშირებს შეტყობინების გაცვლის მომსახურებას"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"საშუალებას აძლევს მფლობელს შექმნას შეტყობინების გაცვლის მომსახურების უმახლესი დონის ინტერფეისი. არასდროს იქნება საჭირო ნორმალური აპლიკაციებისათვის."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"პაროლის წესების დაყენება"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"გააკონტროლეთ ეკრანის განბლოკვის პაროლში დაშვებული სიმბოლოები და მისი სიგრძე."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"აკონტროლეთ ეკრანის ბლოკირების პაროლებისა და PIN-ების სიმბოლოების სიგრძე."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"ეკრანის განბლოკვის მცდელობების გაკონტროლება"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"ეკრანის განბლოკვისთვის არასწორად აკრეფილი პაროლების რაოდენობის მონიტორინგი. ტაბლეტის დაბლოკვა ან მასზე არსებული ყველა მონაცემის წაშლა ძალიან ბევრჯერ არასწორი პაროლის შეყვანის შემთხვევაში."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"ეკრანის განბლოკვის დროს, გააკონტროლეთ არასწორად შეყვანილი პაროლების რაოდენობა და ჩაკეტეთ ტელევიზორი ან წაშალეთ ტელვიზორის ყველა მონაცემები, იმ შემთხვევაში, თუ პაროლის მრავალჯერად, არასწორად შეყვანას ექნება ადგილი."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"ეკრანის განბლოკვისთვის არასწორად აკრეფილი პაროლების რაოდენობის მონიტორინგი. ტელეფონის დაბლოკვა ან მასზე არსებული ყველა მონაცემის წაშლა ძალიან ბევრჯერ არასწორი პაროლის შეყვანის შემთხვევაში."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"ეკრანის განბლოკვის პაროლის შეცვლა"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"შეცვალეთ ეკრანის განბლოკვის პაროლი."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"ეკრანის განბლოკვისას არასწორი პაროლების შეყვანილი რაოდენობის მონიტორინგი და ტაბლეტის დაბლოკვა ან მრავლალჯერ არასწორი პაროლის შეყვანის შემთხვევაში ამ მომხმარებლის მთელი ინფორმაციის წაშლა."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"ეკრანის განბლოკვისას არასწორი პაროლების შეყვანილი რაოდენობის მონიტორინგი და ტელევიზორის დაბლოკვა ან მრავლალჯერ არასწორი პაროლის შეყვანის შემთხვევაში ამ მომხმარებლის მთელი ინფორმაციის წაშლა."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"ეკრანის განბლოკვისას არასწორი პაროლების შეყვანილი რაოდენობის მონიტორინგი და ტელეფონის დაბლოკვა ან მრავლალჯერ არასწორი პაროლის შეყვანის შემთხვევაში ამ მომხმარებლის მთელი ინფორმაციის წაშლა."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"ეკრანის დაბლოკვის შეცვლა"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"ეკრანის დაბლოკვის შეცვლა"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"ეკრანის დაბლოკვა"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"გააკონტროლეთ, როგორ და როდის დაიბლოკოს ეკრანი."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"ყველა მონაცემის წაშლა"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"ტაბლეტის მონაცემების გაუფრთხილებლად წაშლა, ქარხნული მონაცემების აღდგენით"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"ტელევიზორის მონაცემები წაშლილია, ქარხნულ მონაცემებზე დაბრუნების გაფრთხილების გარეშე."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"ტელეფონის მონაცემების გაუფრთხილებლად წაშლა, ქარხნული მონაცემების აღდგენით"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"მომხმარებლის მონაცემების წაშლა"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"ამ მომხმარებლის მონაცემების გაუფრთხილებელი წაშლა ამ ტაბლეტზე."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"ამ მომხმარებლის მონაცემების გაუფრთხილებელი წაშლა ამ ტელევიზორში."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"ამ მომხმარებლის მონაცემების გაუფრთხილებელი წაშლა ამ ტელეფონზე."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"მოწყობილობის გლობალური პროქსის დაყენება"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"დააყენეთ მოწყობილობა გლობალურ პროქსის სერვერის გამოსაყენებლად, როდესაც დებულება გააქტიურებულია. მხოლოდ მოწყობილობის პირველი ადმინი აყენებს ეფექტურ გლობალურ პროქსი სერვერს."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"ეკრანის პაროლის ვადის დაყენება"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"გააკონტროლეთ, თუ რამდენად ხშირად უნდა შეიცვალოს ეკრანის დაბლოკვის პაროლი."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"ჩართული პოლიტიკის დროს მოწყობილობის გლობალური პროქსის დაყენება. მხოლოდ მოწყობილობის მფლობელს შეუძლია გლობალური პროქსის დაყენება."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"მითითებული ეკრანის დაბლოკვის პაროლის ვადა"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"შეცვალეთ ეკრანის ბლოკირების პაროლების, PIN-ებისა და მონახაზების შეცვლის სიხშირე."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"მეხსიერების დაშიფრვის დაყენება"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"საჭიროა შენახული აპის მონაცემების დაშიფრვა."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"კამერების გათიშვა"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"მოწყობილობის კამერების გამოყენების აღკვეთა."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"დაბლოკვის ფუნქციების გათიშვა"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"დაბლოკვისას ზოგიერთი ფუნქციის გამოყენების თავიდან აცილება."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"ეკრანის დაბლოკვის მახასიათებლების გამორთვა"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"დაიცავით ეკრანის ბლოკირება გარკვეული მახასიათებლებისაგან."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"სახლი"</item>
     <item msgid="869923650527136615">"მობილური"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"არ ჩართოთ ახალი აპი."</string>
     <string name="new_app_action" msgid="5472756926945440706">"დასაწყისი <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"შეაჩერე ძველი აპი ცვლილებების შენახვის გარეშე."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"შეარჩიეთ ქმედება ტექსტისთვის."</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"მრეკავის ხმა"</string>
     <string name="volume_music" msgid="5421651157138628171">"მედიის ხმა"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">ხელახლა სცადეთ 1 წამში</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"სცადეთ მოგვიანებით"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"ჩამოასრიალეთ ზევიდან სრული ეკრანის დასახურად."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"სრულ ეკრანზე ნახვა"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"გამოსვლისათვის, გაასრიალეთ ზემოდან ქვემოთ."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"გასაგებია"</string>
     <string name="done_label" msgid="2093726099505892398">"დასრულდა"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"საათების წრიული სლაიდერი"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"წუთების წრიული სლაიდერი"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"სამსახური <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"მიმაგრების გასაუქმებლად ერთდროულად შეეხეთ და არ აუშვათ ღილაკებს „უკან“ და „მიმოხილვა“."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"ამ ეკრანისთვის მიმაგრების გასაუქმებლად, შეეხეთ და არ აუშვათ „მიმოხილვა“-ს."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"ეკრანი დაფიქსირებული. ფიქსაციის მოხსნა თქვენო ორგანიზაციის მიერ ნებადართული არ არის."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"ეკრანი დაფიქსირდა"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"ეკრანს ფიქსაცია მოეხსნა"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"ფიქსაციის მოხსნამდე PIN-ის მოთხოვნა"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">ერთი საათის განმავლობაში</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>-მდე"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"სამუდამოდ"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"სანამ ამას გამორთავდეთ"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"აკეცვა"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"შემდეგ მაღვიძარამდე <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>-ში"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"შემდეგ მაღვიძარამდე"</string>
diff --git a/core/res/res/values-kk-rKZ/strings.xml b/core/res/res/values-kk-rKZ/strings.xml
index 02fcd62..3d52607 100644
--- a/core/res/res/values-kk-rKZ/strings.xml
+++ b/core/res/res/values-kk-rKZ/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Қолданбаға NFC белгілерімен, карталармен және оқу құралдарымен байланысуға рұқсат береді."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"экран бекітпесін істен шығару"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Қолданбаларға кілтперне және басқа кілтсөзге қатысты қауіпсіздік шараларын өшіру мүмкіндігін береді. Мысалы, телефон кіріс қоңырауларын алғанда кілтпернені өшіреді және қоңырау аяқталғанда қайта қосады."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"саусақ ізі жабдығын басқару"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Қолданбаға пайдаланатын саусақ ізі үлгілерін қосу және жою әдістерін шақыруға мүмкіндік береді."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"саусақ ізі жабдығын пайдалану"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Қолданбаға аутентификацияалу үшін саусақ ізі жабдығын пайдалануға мүмкіндік береді"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"синх параметрлерін оқу"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Қолданбаға есептік жазба синхрондау параметрлерін оқу мүмкіндігін береді. Мысалы, бұл арқылы People қолданбасының есептік жазбамен сихрондалғаны анықталуы мүмкін."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"синх қосу және өшіру арасында ауысу"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Қолданбаға хабарларды алу, тексеру және тазалау мүмкіндігін береді, басқа қолданбалар арқылы қойылған хабарларды қоса."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"хабар тыңдау қызметіне қосылу"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Пайдаланушыға хабар есту қызметінің жоғары деңгейлі интерфейсіне жалғану мүмкіндігін ұсынады. Қалыпты қолданбаны ешқашан қажет етпеуі тиіс."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"таңдау мақсатты қызметіне байластыру"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Иесіне таңдау мақсатты қызметінің жоғарғы деңгейлі интерфейсіне байластыруға мүмкіндік береді. Қалыпты қолданбаларға үшін ешқашан қажет болмайды."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"шарттар провайдері қызметіне байластыру"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Пайдаланушыға шарт провайдері қызметінің жоғары деңгейлі интерфейсіне байластыруға рұқсат береді. Қалыпты қолданбалар үшін ешқашан қажет болмайды."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"медианы бағыттау қызметіне байластыру"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"оператордың хабар алмасу қызметіне байластыру"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Иесіне оператордың хабар алмасу қызметінің жоғарғы деңгейлі интерфейсіне байластыруға рұқсат етеді. Қалыпты қолданбалар үшін ешқашан қажет болмайды."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Кілтсөз ережелерін тағайындау"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Экранды ашу кілтсөздерінің ұзындығы мен қолдануға болатын таңбаларды басқару."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Экран бекітпесінің құпия сөздерінің және PIN кодтарының ұзындығын және оларда рұқсат етілген таңбаларды басқару."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Экранды ашу әркеттерін бақылау"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Экран бекітпесін ашқан кезде терілген қате құпия сөздердің санын бақылау және планшетті бекіту немесе тым көп қате құпия сөздер терілген болса, планшеттің бүкіл деректерін өшіру."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Экран бекітпесін ашу кезінде терілген дұрыс емес құпия сөздердің санын бақылау және тым көп дұрыс емес құпия сөз терілсе, ТД бекіту немесе бүкіл ТД деректерін өшіру."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Экран бекітпесін ашқан кезде терілген қате құпия сөздердің санын бақылау және телефонды бекіту немесе тым көп қате құпия сөздер терілген болса, телефонның бүкіл деректерін өшіру."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Экранды ашу кілтсөзін өзгерту"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Экранды ашу кілтсөзін өзгерту."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Экран бекітпесін ашқанда терілген қате құпия сөздердің санын бақылау және тым көп қате құпия сөздер терілсе, планшетті бекіту немесе осы пайдаланушының барлық деректерін өшіру."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Экран бекітпесін ашқанда терілген қате құпия сөздердің санын бақылау және тым көп қате құпия сөздер терілсе, теледидарды бекіту немесе осы пайдаланушының барлық деректерін өшіру."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Экран бекітпесін ашқанда терілген қате құпия сөздердің санын бақылау және тым көп қате құпия сөздер терілсе, телефонды бекіту немесе осы пайдаланушының барлық деректерін өшіру."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Экран бекітпесін өзгерту"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Экран бекітпесін өзгерту."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Экранды бекіту"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Экранның қашан және қалай бекітілетінін басқару."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Барлық деректерді өшіру"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Планшет дерекқорын ескертусіз, зауыттық дерекқорын қайта реттеу арқылы өшіру."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Зауыттық деректерді қалпына келтіруді орындау арқылы ТД деректерін ескертусіз өшіру."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Телефон дерекқорын ескертусіз, зауыттық дерекқорын қайта реттеу арқылы өшіру."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Пайдаланушы деректерін өшіру"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Осы пайдаланушының осы планшеттегі деректерін ескертусіз өшіру."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Осы пайдаланушының осы теледидардағы деректерін ескертусіз өшіру."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Осы пайдаланушының осы телефондағы деректерін ескертусіз өшіру."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Құрылғы жаһандық прокси қызметін орнату"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Саясат қосылғанда қолдану үшін құрылғы жаһандық прокси қызметін орнату. Бірінші құрылғы әкімшісі ғана қолданыстағы жаһандық проксиді орнатады."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Экранды бекіту кілт сөзінің жарамдылық мерзімін тағайындау"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Экранды бекіту кілтсөзін өзгерту жиілігін басқару."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Саясат қосулы болғанда пайдаланылатын құрылғының ғаламдық прокси-серверін орнатыңыз. Ғаламдық прокси-серверді тек құрылғы иесі орната алады."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Экран бекітпесі құпия сөзінің мерзімін орнату"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Экран бекітпесінің құпия сөзін, PIN кодын немесе өрнегін өзгерту жиілігін өзгерту."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Жад қорының шрифтін тағайындау"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Сақталған қолданба деректерінің кодталуын қажет етеді."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Камераларды өшіру"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Құрылғыдағы барлық камералар қолданысын бөгеу."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Кілтпернедегі функциялары өшіру"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Кілтпернедегі кейбір функцияларды қолдануды бөгеу."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Экран бекітпесінің мүмкіндіктерін өшіру"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Экран бекітпесінің кейбір мүмкіндіктерін пайдалануды болдырмау."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Үй"</item>
     <item msgid="869923650527136615">"Ұялы тел."</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Жаңа қолданбаны іске қоспау."</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> қолданбасын қосу"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Ескі қолданбаны сақтаусыз тоқтату."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Мәтін үшін әрекет таңдау"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Қоңырау шырылының қаттылығы"</string>
     <string name="volume_music" msgid="5421651157138628171">"Meдиа дыбысының қаттылығы"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Әрекетті 1 секундтан кейін қайталаңыз</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Кейінірек қайта әрекеттеніңіз."</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Толық экраннан шығу үшін саусағыңызды жоғарыдан төмен қарай жылжытыңыз."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Толық экранда көру"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Шығу үшін жоғарыдан төмен қарай жанап өтіңіз."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Түсіндім"</string>
     <string name="done_label" msgid="2093726099505892398">"Орындалды"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Сағаттар айналымының қозғалтқышы"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Минут айналымын қозғалтқыш"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Жұмыс <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Осы экранды босату үшін «Кері» және «Шолу» пәрмендерін бір уақытта түртіп, ұстап тұрыңыз."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Осы экранды босату үшін «Шолу» пәрменін түртіп, ұстап тұрыңыз."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Экран түйрелген. Босатуға ұйымыңыз рұқсат етпейді."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Экран түйрелді"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Экран босатылды"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Босату алдында PIN кодын сұрау"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Бір сағат бойы</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> дейін"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Белгісіз уақыт бойы"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Сіз осыны өшіргенше"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Тасалау"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> уақытындағы келесі дабылға дейін"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Келесі дабылға дейін"</string>
diff --git a/core/res/res/values-km-rKH/strings.xml b/core/res/res/values-km-rKH/strings.xml
index 491688c..f429f59 100644
--- a/core/res/res/values-km-rKH/strings.xml
+++ b/core/res/res/values-km-rKH/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"ឲ្យ​កម្មវិធី​ទាក់ទង​ជា​មួយ​ស្លាក (NFC) កាត និង​កម្មវិធី​អាន។"</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"បិទ​ការ​ចាក់​សោ​អេក្រង់​របស់​អ្នក"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"ឲ្យ​កម្មវិធី​បិទ​ការ​ចាក់សោ​សុវត្ថិភាព​ពាក្យ​សម្ងាត់​ដែល​បាន​ភ្ជាប់​ណា​មួយ។ ​ឧទាហរណ៍​ត្រឹមត្រូវ​​​នៃ​ការ​បិទ​ទូរស័ព្ទ​ពេល​ទទួលការ​ហៅ​ចូល បន្ទាប់​ម​បើក​សោ​ពេល​ការ​ហៅ​បាន​បញ្ចប់។"</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"គ្រប់គ្រងផ្នែករឹងស្នាមម្រាមដៃ"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"អនុញ្ញាតឲ្យកម្មវិធីប្រើវិធីសាស្ត្របន្ថែម និងលុបពុម្ពម្រាមដៃសម្រាប់ប្រើប្រាស់។"</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"ប្រើផ្នែករឹងស្នាមម្រាមដៃ"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"អនុញ្ញាតឲ្យកម្មវិធីប្រើផ្នែករឹងស្នាមម្រាមដៃសម្រាប់ការផ្ទៀងផ្ទាត់"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"អាន​ការ​កំណត់​ធ្វើ​សម​កាល​កម្ម"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"ឲ្យ​កម្មវិធី​អាន​ការ​កំណត់​ធ្វើ​សម​កាល​កម្ម​សម្រាប់​គណនី។ ឧទាហរណ៍ វា​អាច​កំណត់​ថា​តើ​​​កម្មវិធី​ត្រូវ​បាន​បើក​ជា​មួយ​គណនី​ដែរ​ឬទេ។"</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"បិទ/បើក​ការ​ធ្វើ​សម​កាល​កម្ម"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"ឲ្យ​កម្មវិធី​ទៅ​យក ពិនិត្យ និង​សម្អាត​ការ​ជូន​ដំណឹង រួមមាន​​ប្រកាស​ដោយ​កម្មវិធី​ផ្សេងៗ។"</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"ចង​ទៅ​សេវាកម្ម​ស្ដាប់​ការ​ជូន​ដំណឹង"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"ឲ្យ​ម្ចាស់​ចង​ចំណុច​ប្រទាក់​កម្រិត​កំពូល​នៃ​សេវាកម្ម​កម្មវិធី​ស្ដាប់​ការ​ជូន​ដំណឹង។ មិន​គួរ​ចាំបាច់​សម្រាប់​កម្មវិធី​ធម្មតា​​ទេ។"</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"ចងភ្ជាប់ទៅសេវាកម្មគោលដៅជ្រើសរើស"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"អនុញ្ញាតឲ្យអ្នកប្រើចងភ្ជាប់ទៅអ៊ីនធឺហ្វេសកម្រិតខ្ពស់នៃសេវាកម្មគោលដៅជ្រើសរើស។ អាចនឹងមិនចាំបាច់សម្រាប់កម្មវិធីធម្មតាទេ។"</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"ភ្ជាប់​ទៅ​សេវាកម្ម​ក្រុមហ៊ុន​ផ្ដល់​លក្ខខណ្ឌ"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"អនុញ្ញាត​ឲ្យ​ម្ចាស់​ភ្ជាប់​ទៅ​ចំណុច​ប្រទាក់​កម្រិត​កំពូល​​របស់​សេវាកម្ម​ក្រុមហ៊ុន​ផ្ដល់​លក្ខខណ្ឌ។ មិន​គួរ​ចាំបាច់​សម្រាប់​កម្មវិធី​ធម្មតា​ទេ។"</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"ភ្ជាប់​​ទៅ​សេវា​ផ្លូវ​មេឌៀ"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"ភ្ជាប់ទៅសេវាកម្មសារអ្នកផ្តល់សេវាកម្មទូរស័ព្ទ"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"អនុញ្ញាតឲ្យអ្នកប្រើភ្ជាប់ទៅអ៊ីនធឺហ្វេសកម្រិតខ្ពស់នៃសេវាកម្មសារអ្នកផ្តល់សេវាកម្មទូរស័ព្ទ។ មិនគួរចាំបាច់សម្រាប់កម្មវិធីធម្មតាទេ។"</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"កំណត់​ក្បួន​ពាក្យ​សម្ងាត់"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"ពិនិត្យ​ប្រវែង និង​តួអក្សរ​ដែល​បាន​អនុញ្ញាត​ក្នុង​ពាក្យ​សម្ងាត់​ចាក់​សោ​អេក្រង់។"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"គ្រប់គ្រងប្រវែង និងតួអក្សរដែលអនុញ្ញាតឲ្យប្រើក្នុងពាក្យសម្ងាត់ និងលេខសម្ងាត់ចាក់សោអេក្រង់។"</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"ពិនិត្យ​ការ​ព្យាយាម​ដោះ​សោ​អេក្រង់"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"ពិនិត្យ​ចំនួន​​បញ្ចូល​ពាក្យ​សម្ងាត់​មិន​ត្រឹមត្រូវ។ ពេល​ដោះ​សោ​អេក្រង់ និង​ចាក់​សោ​ទូរស័ព្ទ ឬ​លុប​ទិន្នន័យ​ទូរស័ព្ទ​ទាំងអស់​ ប្រសិន​បើ​មាន​ពាក្យ​សម្ងាត់​បញ្ចូល​មិន​ត្រឹមត្រូវ​ច្រើន​ដង​ពេក។"</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"ត្រួតពិនិត្យចំនួននៃការវាយបញ្ចូលពាក្យសម្ងាត់ដែលមិនត្រឹមត្រូវ នៅពេលដោះសោអេក្រង់ និងចាក់សោទូរទស្សន៍ ឬលុបទិន្នន័យទូរទស្សន៍ទាំង ប្រសិនបើមានការវាយបញ្ចូលពាក្យសម្ងាត់ខុសច្រើនដងពេក។"</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"ពិនិត្យ​ចំនួន​​បញ្ចូល​ពាក្យ​សម្ងាត់​មិន​ត្រឹមត្រូវ។ ពេល​ដោះ​សោ​អេក្រង់ និង​ចាក់​សោ​ទូរស័ព្ទ ឬ​លុប​ទិន្នន័យ​ទូរស័ព្ទ​ទាំងអស់​ ប្រសិន​បើ​មាន​ពាក្យ​សម្ងាត់​បញ្ចូល​មិន​ត្រឹមត្រូវ​ច្រើន​ដង​ពេក។"</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"ប្ដូរ​ពាក្យ​សម្ងាត់​ដោះ​សោ​អេក្រង់"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"ប្ដូរ​ពាក្យ​សម្ងាត់​​ដោះ​សោ​អេក្រង់។"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"ត្រួតពិនិត្យចំនួននៃការវាយបញ្ចូលពាក្យសម្ងាត់ដែលមិនត្រឹមត្រូវ នៅពេលដោះសោអេក្រង់ និងចាក់សោថេប្លេត ឬលុបទិន្នន័យអ្នកប្រើនេះទាំងអស់ ប្រសិនបើមានការវាយបញ្ចូលពាក្យសម្ងាត់ខុសច្រើនដងពេក។"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"ត្រួតពិនិត្យចំនួននៃការវាយបញ្ចូលពាក្យសម្ងាត់ដែលមិនត្រឹមត្រូវ នៅពេលដោះសោអេក្រង់ និងចាក់សោទូរទស្សន៍ ឬលុបទិន្នន័យអ្នកប្រើនេះទាំងអស់ ប្រសិនបើមានការវាយបញ្ចូលពាក្យសម្ងាត់ខុសច្រើនដងពេក។"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"ត្រួតពិនិត្យចំនួននៃការវាយបញ្ចូលពាក្យសម្ងាត់ដែលមិនត្រឹមត្រូវ នៅពេលដោះសោអេក្រង់ និងចាក់សោទូរស័ព្ទ ឬលុបទិន្នន័យអ្នកប្រើនេះទាំងអស់ ប្រសិនបើមានការវាយបញ្ចូលពាក្យសម្ងាត់ខុសច្រើនដងពេក។"</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"ប្តូរការចាក់សោអេក្រង់"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"ប្តូរការចាក់សោអេក្រង់។"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"ចាក់សោ​អេក្រង់"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"ពិនិត្យ​វិធី និង​ពេលវេលា​ចាក់សោ​អេក្រង់។"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"លុប​ទិន្នន័យ​ទាំង​អស់"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"លុប​ទិន្នន័យ​កុំព្យូទ័រ​បន្ទះ​ដោយ​មិន​​ព្រមាន​ដោយ​អនុវត្ត​ការ​កំណត់​ទិន្នន័យ​ដូច​ចេញ​ពី​រោងចក្រ។"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"លុបទិន្នន័យរបស់ទូរទស្សន៍ដោយមិនចាំបាច់ព្រមានដោយការប្រតិបត្តិការកំណត់ឡើងវិញទាំងស្រុង។"</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"លុប​ទិន្នន័យ​ទូរស័ព្ទ​ដោយ​មិន​ព្រមាន ដោយ​អនុវត្ត​ការ​កំណត់​ទិន្នន័យ​ដូច​ចេញ​ពី​រោងចក្រ ។"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"លុបទិន្នន័យរបស់អ្នកប្រើ"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"លុបទិន្នន័យរបស់អ្នកប្រើនេះនៅលើថេប្លេតនេះដោយគ្មានការព្រមាន។"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"លុបទិន្នន័យរបស់អ្នកប្រើនេះនៅលើទូរទស្សន៍នេះដោយគ្មានការព្រមាន។"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"លុបទិន្នន័យរបស់អ្នកប្រើនេះនៅលើទូរស័ព្ទនេះដោយគ្មានការព្រមាន។"</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"កំណត់​ប្រូកស៊ី​សកល​របស់​ឧបករណ៍"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"កំណត់​ប្រូកស៊ី​សកល​របស់​ឧបករណ៍​ត្រូវ​ប្រើ​ពេល​បាន​បើក​គោលនយោបាយ។ មាន​តែ​អ្នក​គ្រប់គ្រង​ឧបករណ៍​ដំបូង​ប៉ុណ្ណោះ​កំណត់​ប្រូកស៊ី​សកល​ត្រឹមត្រូវ។"</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"កំណត់​សុពលភាព​ពាក្យ​សម្ងាត់​ចាក់សោ​អេក្រង់"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"ពិនិត្យ​វិធី​ដែល​ប្ដូរ​ពាក្យ​សម្ងាត់​ចាក់​សោ​អេក្រង់​ញឹកញាប់។"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"កំណត់ប្រូកស៊ីសកលឧបករណ៍ដើម្បីប្រើប្រាស់ ខណៈពេលដែលគោលការណ៍បើកដំណើរការ។ មានតែឧបករណ៍ម្ចាស់ប៉ុណ្ណោះអាចកំណត់ប្រូកស៊ីសកលនេះបាន។"</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"កំណត់ពេលផុតកំណត់ពាក្យសម្ងាត់ចាក់សោអេក្រង់"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"ប្តូរពីភាពញឹកញាប់ដែលពាក្យសម្ងាត់ លេខសម្ងាត់ និងគំរូចាក់សោអេក្រង់ត្រូវផ្លាស់ប្តូរ។"</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"កំណត់​ការ​ដាក់លេខ​កូដ​ការ​ផ្ទុក"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"តម្រូវ​ឲ្យ​ដាក់​លេខ​កូដ​ទិន្នន័យ​កម្មវិធី​បាន​រក្សាទុក។"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"បិទ​ម៉ាស៊ីន​ថត"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"ការពារ​ការ​ប្រើ​ម៉ាស៊ីន​ថត​ឧបករណ៍​ទាំងអស់។"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"បិទ​លក្ខណៈ​ក្នុង​ការ​ចាក់សោ"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"ការ​ពារ​មិន​ឲ្យ​ប្រើ​លក្ខណៈ​មួយ​ចំនួន​ក្នុង​ការ​ចាក់សោ។"</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"បិទលក្ខណៈពិសេសចាក់សោអេក្រង់"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"រារាំងអ្នកប្រើពីការប្រើលក្ខណៈពិសេសនៃការចាក់សោអេក្រង់មួយចំនួន។"</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"ផ្ទះ"</item>
     <item msgid="869923650527136615">"​ចល័ត"</item>
@@ -1254,6 +1267,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"កុំ​ចាប់ផ្ដើម​កម្មវិធី​ថ្មី។"</string>
     <string name="new_app_action" msgid="5472756926945440706">"ចាប់ផ្ដើម <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"បញ្ឈប់​កម្មវិធី​ចាស់​ដោយ​មិន​រក្សាទុក"</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"ជ្រើស​សកម្មភាព​សម្រាប់​អត្ថបទ"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"កម្រិត​សំឡេង​រោទ៍"</string>
     <string name="volume_music" msgid="5421651157138628171">"កម្រិត​សំឡេង​មេឌៀ"</string>
@@ -1767,7 +1788,9 @@
       <item quantity="one">ព្យាយាមម្តងទៀតក្នុងរយៈពេល 1 វិនាទី</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"សូម​ព្យាយាម​ម្ដងទៀត​នៅ​ពេល​ក្រោយ។"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"អូស​​​​ពីលើ​ចុះក្រោម ដើម្បី​ចេញ​ពី​ការ​បង្ហាញ​ពេញ​អេក្រង់។"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"កំពុងមើលពេញអេក្រង់"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"ដើម្បីចាកចេញ សូមអូសពីលើចុះក្រោម។"</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"យល់ហើយ"</string>
     <string name="done_label" msgid="2093726099505892398">"រួចរាល់"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"គ្រាប់​រំកិល​រង្វង់​ម៉ោង"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"គ្រាប់​រំកិល​រង្វង់​នាទី"</string>
@@ -1782,7 +1805,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"កន្លែង​ធ្វើការ <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"ដើម្បី​មិន​ភ្ជាប់​អេក្រង់​នេះ ប៉ះ ហើយ​សង្កត់​ថយក្រោយ និង​ទិដ្ឋភាព​នៅ​ពេល​តែ​មួយ។"</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"ដើម្បី​មិន​ភ្ជាប់​អេក្រង់​នេះ ប៉ះ ហើយ​សង្កត់​ទិដ្ឋភាព។"</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"អេក្រង់​ត្រូវ​បាន​ភ្ជាប់។ ការ​ផ្ដាច់​មិន​​ត្រូវ​បាន​អនុញ្ញាត​ដោយ​ស្ថាប័ន​របស់​អ្នក។"</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"បាន​ភ្ជាប់​អេក្រង់"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"មិន​បាន​ភ្ជាប់​អេក្រង់"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"សួរ​រក​កូដ PIN មុន​ពេល​ផ្ដាច់"</string>
@@ -1808,7 +1832,7 @@
       <item quantity="one">រយៈពេលមួយម៉ោង</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"រហូត​ដល់ <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"គ្មាន​​កំណត់"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"រហូត​ដល់ពេល​​អ្នក​បិទ​វា"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"បង្រួម"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"រហូត​ដល់​ការ​ជូន​ដំណឹង​បន្ទាប់​នៅ <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"រហូត​ការ​ជូន​ដំណឹង​បន្ទាប់"</string>
diff --git a/core/res/res/values-kn-rIN/strings.xml b/core/res/res/values-kn-rIN/strings.xml
index 92aa838..a834721 100644
--- a/core/res/res/values-kn-rIN/strings.xml
+++ b/core/res/res/values-kn-rIN/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"ಸಮೀಪದ ಕ್ಷೇತ್ರ ಸಂವಹನ (NFC) ಟ್ಯಾಗ್‌ಗಳು, ಕಾರ್ಡ್‌ಗಳು, ಮತ್ತು ಓದುಗರನ್ನು ಅಪ್ಲಿಕೇಶನ್‌ ಅನುಮತಿಸುತ್ತದೆ."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"ನಿಮ್ಮ ಪರದೆ ಲಾಕ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"ಕೀಲಾಕ್ ಮತ್ತು ಯಾವುದೇ ಸಂಬಂಧಿತ ಭದ್ರತಾ ಪಾಸ್‍‍ವರ್ಡ್ ಭದ್ರತೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಅಪ್ಲಿಕೇಶನ್‍‍ಗೆ ಅನುಮತಿ ನೀಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಒಳಬರುವ ಕರೆಯನ್ನು ಸ್ವೀಕರಿಸುವಾಗ ಕೀಲಾಕ್ ಅನ್ನು ಫೋನ್ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ, ನಂತರ ಕರೆಯು ಅಂತ್ಯಗೊಂಡಾಗ ಕೀಲಾಕ್ ಅನ್ನು ಮರು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಹಾರ್ಡ್‌ವೇರ್ ನಿರ್ವಹಿಸಿ"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"ಬಳಕೆಗೆ ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಟೆಂಪ್ಲೇಟ್‌ಗಳನ್ನು ಸೇರಿಸಲು ಮತ್ತು ಅಳಿಸಲು ವಿಧಾನಗಳನ್ನು ಮನವಿ ಮಾಡಲು ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಅನುಮತಿಸುತ್ತದೆ."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಹಾರ್ಡ್‌ವೇರ್ ಬಳಸಿ"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"ಪ್ರಮಾಣೀಕರಣಕ್ಕಾಗಿ ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಹಾರ್ಡ್‌ವೇರ್ ಬಳಸಲು ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಅನುಮತಿಸುತ್ತದೆ"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"ಸಿಂಕ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ರೀಡ್‌ ಮಾಡು"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"ಒಂದು ಖಾತೆಯ ಸಿಂಕ್ ಸೆಟ್ಟಿಂಗ್‍‍ಗಳನ್ನು ಓದಲು ಅಪ್ಲಿಕೇಶನ್‍‍ಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಖಾತೆಯೊಂದಿಗೆ ಜನರ ಅಪ್ಲಿಕೇಶನ್ ಸಿಂಕ್ ಮಾಡಲಾಗಿದೆಯೇ ಎಂಬುದನ್ನು ಇದು ನಿರ್ಧರಿಸಬಹುದು."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"ಸಿಂಕ್ ಆನ್ ಮತ್ತು ಸಿಂಕ್ ಆಫ್ ಟಾಗಲ್ ಮಾಡಿ"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"ಇತರ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಮೂಲಕ ಪೋಸ್ಟ್ ಮಾಡಿರುವ ಅಧಿಸೂಚನೆಗಳೂ ಸೇರಿದಂತೆ, ಅಂತಹ ಅಧಿಸೂಚನೆಗಳನ್ನು ಹಿಂಪಡೆದುಕೊಳ್ಳಲು, ಪರೀಕ್ಷಿಸಲು ಮತ್ತು ತೆರವುಗೊಳಿಸಲು ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಅನುಮತಿಸುತ್ತದೆ."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"ಅಧಿಸೂಚನೆ ಕೇಳುಗರ ಸೇವೆಗೆ ಪ್ರತಿಬಂಧಿಸಿ"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"ಅಧಿಸೂಚನೆ ಕೇಳುಗ ಸೇವೆಯ ಮೇಲ್ಮಟ್ಟದ ಇಂಟರ್ಫೇಸ್‌ಗೆ ಪ್ರತಿಬಂಧಿಸಲು ಹೊಂದಿರುವವರಿಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತದೆ. ಸಾಮಾನ್ಯ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಎಂದಿಗೂ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"ಆಯ್ಕೆಮಾಡುವವರ ಗುರಿ ಸೇವೆಗೆ ಪ್ರತಿಬಂಧಿಸಿ"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"ಆಯ್ಕೆಮಾಡುವವರ ಗುರಿ ಸೇವೆಯ ಮೇಲ್ಮಟ್ಟದ ಇಂಟರ್ಫೇಸ್‌ಗೆ ಪ್ರತಿಬಂಧಿಸಲು ಹೊಂದಿರುವವರಿಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತದೆ. ಸಾಮಾನ್ಯ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಎಂದಿಗೂ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"ಕಂಡೀಶನ್‌‌ ಪೂರೈಕೆದಾರರ ಸೇವೆಯನ್ನು ಪ್ರತಿಬಂಧಿಸು"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"ಕಂಡೀಶನ್‌ ಪೂರೈಕೆದಾರರ ಮೇಲ್ಮಟ್ಟದ ಇಂಟರ್ಫೇಸ್‌ಗೆ ಪ್ರತಿಬಂಧಿಸಲು ಹೊಂದಿರುವವರಿಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತದೆ. ಸಾಮಾನ್ಯ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಎಂದಿಗೂ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"ಮಾಧ್ಯಮ ಮಾರ್ಗ ಸೇವೆಯನ್ನು ಪ್ರತಿಬಂಧಿಸು"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"ವಾಹಕ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ ಸೇವೆಗೆ ಪ್ರತಿಬಂಧಿಸಿ"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ವಾಹಕ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ ಸೇವೆಯ ಮೇಲ್ಮಟ್ಟದ ಇಂಟರ್ಫೇಸ್‌ಗೆ ಪ್ರತಿಬಂಧಿಸಲು ಹೊಂದಿರುವವರಿಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತದೆ. ಸಾಮಾನ್ಯ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಎಂದಿಗೂ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"ಪಾಸ್‌ವರ್ಡ್ ನಿಮಯಗಳನ್ನು ಹೊಂದಿಸಿ"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"ಪರದೆ-ಅನ್‍‍ಲಾಕ್ ಪಾಸ್‍‍ವರ್ಡ್‌ಗಳಲ್ಲಿ ಅನುಮತಿಸಿರುವ ಅಳತೆ ಮತ್ತು ಅಕ್ಷರಗಳನ್ನು ನಿಯಂತ್ರಿಸಿ."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"ಪರದೆ ಲಾಕ್‌ನಲ್ಲಿನ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು ಮತ್ತು ಪಿನ್‌ಗಳ ಅನುಮತಿಸಲಾದ ಅಕ್ಷರಗಳ ಪ್ರಮಾಣವನ್ನು ನಿಯಂತ್ರಿಸಿ."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"ಪರದೆಯ-ಅನ್‌ಲಾಕ್ ಪ್ರಯತ್ನಗಳನ್ನು ಮಾನಿಟರ್ ಮಾಡಿ"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"ಪರದೆಯನ್ನು ಅನ್‌ಲಾಕ್‌ ಮಾಡುವಾಗ ತಪ್ಪಾಗಿ ಟೈಪ್‌ ಮಾಡಿದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಿ, ಮತ್ತು ಟ್ಯಾಬ್ಲೆಟ್‌ ಅನ್ನು ಲಾಕ್‌ ಮಾಡಿ ಅಥವಾ ಹಲವಾರು ತಪ್ಪಾದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಟೈಪ್‌ ಮಾಡಿದ್ದರೆ ಟ್ಯಾಬ್ಲೆಟ್‌ನ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಅಳಿಸಿಹಾಕಿ."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"ಪರದೆ ಅನ್‌ಲಾಕ್ ಮಾಡುವಾಗ ಟೈಪ್ ಮಾಡಿದ ತಪ್ಪು ಪಾಸ್‌ವರ್ಡ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಿ ಮತ್ತು ಒಂದು ವೇಳೆ ಹಲವಾರು ತಪ್ಪು ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಟೈಪ್ ಮಾಡಿದ್ದರೆ ಟಿವಿಯನ್ನು ಲಾಕ್ ಮಾಡಿ ಅಥವಾ  ಟಿವಿಯ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಅಳಿಸಿ."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"ಪರದೆಯನ್ನು ಅನ್‌ಲಾಕ್‌ ಮಾಡಿದಾಗ ತಪ್ಪಾಗಿ ಟೈಪ್‌ ಮಾಡಿದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಿ, ಮತ್ತು ಫೋನ್‌‌ ಅನ್ನು ಲಾಕ್‌ ಮಾಡಿ ಅಥವಾ ಹಲವಾರು ತಪ್ಪಾದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಟೈಪ್‌ ಮಾಡಿದ್ದರೆ ಫೋನ್‌‌ನ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಅಳಿಸಿಹಾಕಿ."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"ಸ್ಕ್ರೀನ್‌-ಅನ್‌ಲಾಕ್ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಬದಲಾಯಿಸಿ"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"ಪರದೆಯ-ಅನ್‍‍ಲಾಕ್ ಪಾಸ್‍ವರ್ಡ್ ಬದಲಾಯಿಸಿ."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"ಪರದೆಯನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡುವಾಗ ಟೈಪ್ ಮಾಡಲಾದ ತಪ್ಪಾಗಿರುವ ಪಾಸ್‌ವರ್ಡ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು ವೀಕ್ಷಿಸಿ ಮತ್ತು ಟ್ಯಾಬ್ಲೆಟ್ ಲಾಕ್ ಮಾಡಿ ಅಥವಾ ಹಲವಾರು ತಪ್ಪಾದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಟೈಪ್ ಮಾಡಲಾಗಿದ್ದರೆ ಈ ಬಳಕೆದಾರರ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಅಳಿಸಿಹಾಕಿ."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"ಪರದೆಯನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡುವಾಗ ಟೈಪ್ ಮಾಡಲಾದ ತಪ್ಪಾಗಿರುವ ಪಾಸ್‌ವರ್ಡ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು ವೀಕ್ಷಿಸಿ ಮತ್ತು ಟಿವಿಯನ್ನು ಲಾಕ್ ಮಾಡಿ ಅಥವಾ ಹಲವಾರು ತಪ್ಪಾದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಟೈಪ್ ಮಾಡಲಾಗಿದ್ದರೆ ಈ ಬಳಕೆದಾರರ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಅಳಿಸಿಹಾಕಿ."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"ಪರದೆಯನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡುವಾಗ ಟೈಪ್ ಮಾಡಲಾದ ತಪ್ಪಾಗಿರುವ ಪಾಸ್‌ವರ್ಡ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು ವೀಕ್ಷಿಸಿ ಮತ್ತು ಫೋನ್ ಲಾಕ್ ಮಾಡಿ ಅಥವಾ ಹಲವಾರು ತಪ್ಪಾದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಟೈಪ್ ಮಾಡಲಾಗಿದ್ದರೆ ಈ ಬಳಕೆದಾರರ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಅಳಿಸಿಹಾಕಿ."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"ಪರದೆ ಲಾಕ್ ಬದಲಾಯಿಸಿ"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"ಪರದೆ ಲಾಕ್ ಬದಲಾಯಿಸಿ."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"ಪರದೆ ಲಾಕ್ ಮಾಡಿ"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"ಪರದೆಯು ಯಾವಾಗ ಮತ್ತು ಹೇಗೆ ಲಾಕ್ ಆಗಬೇಕೆಂಬುದನ್ನು ನಿಯಂತ್ರಿಸಿ."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಅಳಿಸಿ"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"ಫ್ಯಾಕ್ಟರಿ ಡೇಟಾ ಮರುಹೊಂದಿಕೆಯನ್ನು ನಿರ್ವಹಿಸುವ ಮೂಲಕ ಎಚ್ಚರಿಕೆಯನ್ನು ನೀಡದೆಯೇ ಟ್ಯಾಬ್ಲೆಟ್ ಡೇಟಾವನ್ನು ಅಳಿಸಿಹಾಕಿ."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"ಒಂದು ಫ್ಯಾಕ್ಟರಿ ಡೇಟಾವನ್ನು ಮರುಹೊಂದಿಸುವ ಮೂಲಕ ಎಚ್ಚರಿಕೆ ನೀಡದೆಯೆ ಟಿವಿ ಡೇಟಾವನ್ನು ಅಳಿಸಿ."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"ಫ್ಯಾಕ್ಟರಿ ಡೇಟಾ ಮರುಹೊಂದಿಕೆಯನ್ನು ನಿರ್ವಹಿಸುವ ಮೂಲಕ ಎಚ್ಚರಿಕೆಯನ್ನು ನೀಡದೆಯೇ ಫೋನ್ ಡೇಟಾವನ್ನು ಅಳಿಸಿಹಾಕಿ."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"ಬಳಕೆದಾರ ಡೇಟಾ ಅಳಿಸಿ"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"ಯಾವುದೇ ಸೂಚನೆ ಇಲ್ಲದೆ ಈ ಟ್ಯಾಬ್ಲೆಟ್‌ನಲ್ಲಿ ಈ ಬಳಕೆದಾರರ ಡೇಟಾವನ್ನು ಅಳಿಸಿ."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"ಯಾವುದೇ ಸೂಚನೆ ಇಲ್ಲದೆ ಈ ಟಿವಿಯಲ್ಲಿ ಈ ಬಳಕೆದಾರರ ಡೇಟಾವನ್ನು ಅಳಿಸಿ."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"ಯಾವುದೇ ಸೂಚನೆ ಇಲ್ಲದೆ ಈ ಫೋನ್‌ನಲ್ಲಿ ಈ ಬಳಕೆದಾರರ ಡೇಟಾವನ್ನು ಅಳಿಸಿ."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"ಸಾಧನವನ್ನು ಜಾಗತಿಕ ಪ್ರಾಕ್ಸಿಗೆ ಹೊಂದಿಸಿ"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"ನೀತಿಯು ಸಕ್ರಿಯವಾಗಿರುವಾಗ ಬಳಸಲು ಸಾಧನವನ್ನು ಜಾಗತಿಕ ಪ್ರಾಕ್ಸಿಗೆ ಹೊಂದಿಸಿ. ಮೊದಲ ಸಾಧನ ನಿರ್ವಾಹಕರು ಮಾತ್ರ ಪರಿಣಾಮಕಾರಿ ಜಾಗತಿಕ ಪ್ರಾಕ್ಸಿಗೆ ಹೊಂದಿಸುತ್ತಾರೆ."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"ಲಾಕ್-ಪರದೆ ಪಾಸ್‌ವರ್ಡ್ ಮುಕ್ತಾಯ ಅವಧಿಯನ್ನು ಹೊಂದಿಸಿ"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"ಲಾಕ್-ಪರದೆ ಪಾಸ್‍‍ವರ್ಡ್ ಅನ್ನು ಎಷ್ಟು ಬಾರಿ ಬದಲಿಸಬೇಕು ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸಿ."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"ನೀತಿಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ ಬಳಸಬೇಕಾದ ಸಾಧನದ ಜಾಗತಿಕ ಪ್ರಾಕ್ಸಿಯನ್ನು ಹೊಂದಿಸಿ. ಸಾಧನದ ಮಾಲೀಕರು ಮಾತ್ರ ಜಾಗತಿಕ ಪ್ರಾಕ್ಸಿಯನ್ನು ಹೊಂದಿಸಬಹುದಾಗಿರುತ್ತದೆ."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"ಪರದೆ ಲಾಕ್ ಪಾಸ್‌ವರ್ಡ್ ಮುಕ್ತಾಯವನ್ನು ಹೊಂದಿಸಿ"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"ಪರದೆ ಲಾಕ್ ಪಾಸ್‌ವರ್ಡ್, ಪಿನ್, ಅಥವಾ ನಮೂನೆಯನ್ನು ಹೆಚ್ಚು ಪದೆ ಪದೇ ಬದಲಾಯಿಸಬೇಕಾಗಿರುತ್ತದೆ ಎಂಬುದನ್ನು ಬದಲಾಯಿಸಿ."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"ಸಂಗ್ರಹಣೆ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಹೊಂದಿಸಿ"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"ಸಂಗ್ರಹಿಸಿರುವ ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾವನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಬೇಕಾದ ಅಗತ್ಯವಿದೆ."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"ಕ್ಯಾಮರಾಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"ಎಲ್ಲಾ ಸಾಧನ ಕ್ಯಾಮರಾಗಳ ಬಳಕೆಯನ್ನು ತಡೆಯಿರಿ."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"ಕೀಗಾರ್ಡ್ ವೈಶಿಷ್ಟ್ಯ ನಿಷ್ಕ್ರಿಯ"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"ಕೀಗಾರ್ಡ್‌ನಲ್ಲಿ ಕೆಲವು ವೈಶಿಷ್ಟ್ಯಗಳ ಬಳಕೆಯನ್ನು ತಡೆಯಿರಿ."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"ಪರದೆ ಲಾಕ್‌ನ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"ಪರದೆ ಲಾಕ್‌ನ ಕೆಲವು ವೈಶಿಷ್ಟ್ಯಗಳ ಬಳಕೆಯನ್ನು ತಡೆಯಿರಿ."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"ನಿವಾಸ"</item>
     <item msgid="869923650527136615">"ಮೊಬೈಲ್"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"ಹೊಸ ಅಪ್ಲಿಕೇಶನ್‌ ಪ್ರಾರಂಭಿಸಬೇಡಿ."</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> ಪ್ರಾರಂಭಿಸಿ"</string>
     <string name="new_app_description" msgid="1932143598371537340">"ಉಳಿಸದೇ ಹಳೆಯ ಅಪ್ಲಿಕೇಶನ್ ನಿಲ್ಲಿಸಿ."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"ಪಠ್ಯಕ್ಕೆ ಕ್ರಿಯೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"ರಿಂಗರ್ ವಾಲ್ಯೂಮ್"</string>
     <string name="volume_music" msgid="5421651157138628171">"ಮೀಡಿಯಾ ವಾಲ್ಯೂಮ್"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"ಪೂರ್ಣ ಪರದೆಯನ್ನು ನಿರ್ಗಮಿಸಲು ಮೇಲಿನಿಂದ ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"ಪೂರ್ಣ ಪರದೆಯನ್ನು ವೀಕ್ಷಿಸಲಾಗುತ್ತಿದೆ"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"ನಿರ್ಗಮಿಸಲು, ಮೇಲಿನಿಂದ ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"ತಿಳಿಯಿತು"</string>
     <string name="done_label" msgid="2093726099505892398">"ಮುಗಿದಿದೆ"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"ಗಂಟೆಗಳ ವೃತ್ತಾಕಾರ ಸ್ಲೈಡರ್"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"ನಿಮಿಷಗಳ ವೃತ್ತಾಕಾರ ಸ್ಲೈಡರ್"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"ಕೆಲಸ <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"ಈ ಪರದೆಯನ್ನು ಅನ್‌ಪಿನ್ ಮಾಡಲು, ‘ಹಿಂದೆ’ ಮತ್ತು ‘ಸಮಗ್ರ ನೋಟ’ವನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"ಈ ಪರದೆಯನ್ನು ಅನ್‌ಪಿನ್ ಮಾಡಲು, ‘ಸಮಗ್ರ ನೋಟ’ವನ್ನು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಒತ್ತಿ ಹಿಡಿಯಿರಿ."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"ಪರದೆ ಪಿನ್‌ ಮಾಡಲಾಗಿದೆ. ಅನ್‌ಪಿನ್‌ ಮಾಡಲು ನಿಮ್ಮ ಸಂಸ್ಥೆ ಅವಕಾಶ ಮಾಡಿಕೊಟ್ಟಿಲ್ಲ."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"ಸ್ಕ್ರೀನ್‌ ಪಿನ್‌ ಮಾಡಲಾಗಿದೆ"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"ಸ್ಕ್ರೀನ್‌ ಅನ್‌ಪಿನ್‌ ಮಾಡಲಾಗಿದೆ"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"ಅನ್‌ಪಿನ್ ಮಾಡುವುದಕ್ಕೂ ಮೊದಲು ಪಿನ್‌ ಕೇಳಿ"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="other">%d ಗಂಟೆಗಳವರೆಗೆ</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> ವರೆಗೆ"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"ಅನಿರ್ದಿಷ್ಟವಾಗಿ"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"ನೀವಿದನ್ನು ಆಫ್‌ ಮಾಡುವವರೆಗೆ"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"ಸಂಕುಚಿಸು"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"ಮುಂದಿನ ಅಲಾರಮ್ <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> ವರೆಗೆ"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"ಮುಂದಿನ ಅಲಾರಮ್‌ವರೆಗೆ"</string>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index 027f994..c263ce9 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"앱이 NFC(근거리 무선 통신) 태그, 카드 및 리더와 통신할 수 있도록 허용합니다."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"화면 잠금 사용 중지"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"앱이 키 잠금 및 관련 비밀번호 보안을 사용중지할 수 있도록 허용합니다. 예를 들어, 휴대전화가 수신전화를 받을 때 키 잠금을 사용중지했다가 통화가 끝나면 키 잠금을 다시 사용할 수 있습니다."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"지문 하드웨어 관리"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"사용할 지문 템플릿의 추가 및 삭제 메소드를 앱에서 실행하도록 허용합니다."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"지문 하드웨어 사용"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"앱에서 지문 하드웨어를 인증에 사용하도록 허용합니다."</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"동기화 설정 읽기"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"앱이 계정의 동기화 설정을 읽을 수 있도록 허용합니다. 예를 들어, 계정에서 주소록 앱을 동기화할지 여부를 확인할 수 있습니다."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"동기화 사용 및 사용 중지 전환"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"앱이 다른 앱에서 게시한 알림을 비롯하여 알림을 검색하고 살펴보며 삭제할 수 있도록 허용합니다."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"알림 수신기 서비스 사용"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"권한을 가진 프로그램이 알림 수신기 서비스에 대한 최상위 인터페이스를 사용하도록 허용합니다. 일반 앱에는 필요하지 않습니다."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"선택기 타겟 서비스 사용"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"권한을 가진 프로그램이 선택기 타겟 서비스에 대한 최상위 인터페이스를 사용하도록 허용합니다. 일반 앱에는 필요하지 않습니다."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"조건 제공자 서비스 사용"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"권한을 가진 프로그램이 조건 제공자 서비스의 최상위 인터페이스를 사용하도록 합니다. 일반 앱에는 필요하지 않습니다."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"미디어 경로 서비스 사용"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"이동통신사 메시지 서비스에 고정"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"보유자가 이동통신사 메시지 서비스의 최상위 인터페이스에 고정할 수 있습니다. 일반 앱에는 필요하지 않습니다."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"비밀번호 규칙 설정"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"화면 잠금해제 비밀번호에 허용되는 길이 및 문자 수를 제어합니다."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"화면 잠금 비밀번호와 PIN에 허용되는 길이와 문자 수를 제어합니다."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"화면 잠금해제 시도 모니터링"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"화면 잠금해제 시 비밀번호를 잘못 입력한 횟수를 모니터링하고, 잘못된 비밀번호 입력 횟수가 너무 많은 경우 태블릿을 잠그거나 태블릿에 있는 데이터를 모두 지웁니다."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"화면을 잠금 해제할 때 잘못된 비밀번호를 입력한 횟수를 모니터링하고 잘못된 비밀번호 입력 횟수가 너무 많을 때 TV를 잠그거나 TV의 데이터를 모두 삭제합니다."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"화면 잠금해제 시 비밀번호를 잘못 입력한 횟수를 모니터링하고, 잘못된 비밀번호 입력 횟수가 너무 많은 경우 휴대전화를 잠그거나 휴대전화에 있는 데이터를 모두 지웁니다."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"화면 잠금해제 비밀번호 변경"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"화면 잠금해제 비밀번호를 변경합니다."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"화면 잠금 해제 시 비밀번호를 잘못 입력한 횟수를 모니터링하고 잘못된 비밀번호 입력 횟수가 너무 많은 경우 태블릿을 잠그거나 이 사용자의 데이터를 모두 삭제합니다."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"화면 잠금 해제 시 비밀번호를 잘못 입력한 횟수를 모니터링하고 잘못된 비밀번호 입력 횟수가 너무 많은 경우 TV를 잠그거나 이 사용자의 데이터를 모두 삭제합니다."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"화면 잠금 해제 시 비밀번호를 잘못 입력한 횟수를 모니터링하고 잘못된 비밀번호 입력 횟수가 너무 많은 경우 휴대전화를 잠그거나 이 사용자의 데이터를 모두 삭제합니다."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"화면 잠금 변경"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"화면 잠금을 변경합니다."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"화면 잠금"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"화면을 잠그는 방법과 시기를 제어합니다."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"모든 데이터 삭제"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"초기화를 수행하여 경고 없이 태블릿 데이터를 지웁니다."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"초기화를 수행해서 TV의 데이터를 경고 없이 삭제합니다."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"초기화를 수행하여 경고 없이 휴대전화 데이터를 지웁니다."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"사용자 데이터 삭제"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"이 태블릿에서 사용자의 데이터를 경고 없이 삭제합니다."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"이 TV에서 사용자의 데이터를 경고 없이 삭제합니다."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"이 휴대전화에서 사용자의 데이터를 경고 없이 삭제합니다."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"기기 전체 프록시 설정"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"정책이 사용 설정되어 있는 동안 사용될 기기 전체 프록시를 설정합니다. 첫 번째 기기 관리자가 설정한 전체 프록시만 유효합니다."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"화면 잠금 비밀번호 만료 설정"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"화면 잠금 비밀번호 변경 빈도를 설정합니다."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"정책이 사용 설정되어 있는 동안 사용될 기기 전체 프록시를 설정합니다. 기기 소유자만 전체 프록시를 설정할 수 있습니다."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"화면 잠금 비밀번호 만료 설정"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"화면 잠금 비밀번호, PIN 또는 패턴의 변경 빈도를 변경합니다."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"저장소 암호화 설정"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"저장한 애플리케이션 데이터를 암호화해야 합니다."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"카메라 사용 안함"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"모든 기기 카메라의 사용 차단"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"키가드에서 기능 사용중지"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"키가드에서 일부 기능의 사용을 차단합니다."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"화면 잠금 기능 사용 중지"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"일부 화면 잠금 기능의 사용을 차단합니다."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"집"</item>
     <item msgid="869923650527136615">"모바일"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"새 앱을 시작하지 마세요."</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> 시작"</string>
     <string name="new_app_description" msgid="1932143598371537340">"저장하지 않고 이전 앱을 중단합니다."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"텍스트에 대한 작업 선택"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"벨소리 볼륨"</string>
     <string name="volume_music" msgid="5421651157138628171">"미디어 볼륨"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">1초 후에 다시 시도하세요.</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"나중에 다시 시도"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"전체화면을 종료하려면 위에서 아래로 스와이프하세요."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"전체 화면 보기"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"종료하려면 위에서 아래로 스와이프합니다."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"확인"</string>
     <string name="done_label" msgid="2093726099505892398">"완료"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"시간 원형 슬라이더"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"분 원형 슬라이더"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"업무용 <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"화면 고정을 해제하려면 \'뒤로\'와 \'개요\'를 동시에 길게 터치합니다."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"화면 고정을 해제하려면 \'개요\'를 길게 터치합니다."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"화면이 고정되었습니다. 소속된 조직에서 고정 해제를 허용하지 않습니다."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"화면 고정됨"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"화면 고정 해제됨"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"고정 해제 이전에 PIN 요청"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">1시간 동안</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>까지"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"무제한"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"이 기능을 사용 중지할 때까지"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"접기"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"다음 <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> 알람까지"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"다음 알람까지"</string>
diff --git a/core/res/res/values-ky-rKG/strings.xml b/core/res/res/values-ky-rKG/strings.xml
index dfb23a3..f8a1e48 100644
--- a/core/res/res/values-ky-rKG/strings.xml
+++ b/core/res/res/values-ky-rKG/strings.xml
@@ -940,6 +940,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Колдонмого Жакынкы аралыкта байланышуу (NFC) белгилери, карталары жана окугучтары менен байланышуу мүмкүнчүлүгүн берет."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"экранды бөгөттөөнү өчүрүү"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Колдонмого экрандын бөгөттөөчү жана ага байланыштуу сырсөз коргоосун өчүрүү уруксатын берет. Мисалы, чалуу келгенде экрандын бөгөтүн алып салат, чалуу бүткөндө кайрадан орнотот."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"манжа изинин аппараттык камсыздоосун башкаруу"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Колдонмого пайдалануу үчүн манжа изинин үлгүлөрүн кошуу жана жок кылуу мүмкүндүгүн берет."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"манжа изинин аппараттык камсыздоосун колдонуу"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Колдонмого аныктыгын текшерүү үчүн манжа изинин аппараттык камсыздоосун пайдалануу мүмкүндүгүн берет"</string>
     <!-- no translation found for permlab_readSyncSettings (6201810008230503052) -->
     <skip />
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Колдонмого эсеп менен синхрондошуу тууралоолорун окуганга уруксат берет. Мисалы, Кишилер колдонмосу эсеп менен синхрондошкондугун аныктай алат."</string>
@@ -1003,6 +1007,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Колдонмого (башка колдонмолор жайгаштырган дагы) эскертүүлөрдү алуу, изилдөө, жана аларды тазалоо мүмкүнчүлүгүн берет."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"эскертүү тыңшагыч кызматына байланыштыруу"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Ээсине эскертүү тыңшагыч кызматтын жогорку деңгээл интерфейсине туташуу мүмкүнчүлүгүн берет. Жөнөкөй колдонмолордо эч качан керектелбейт."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"тандоочунун каалоосу кызматына туташуу"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Кармоочуга тандоочунун каалоосу кызматынын жогорку деңгээл интерфейсин жалгаштырууга мүмкүндүк берет. Кадимки колдонмолорго эч качан талап кылынбайт."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"шарт түзүүчү кызматына жалгаштыруу"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Кармоочуга шарт түзүүчү кызматтын жогорку деңгээлдеги интерфейсине жалгашуу мүмкүнчүлүгүн берет. Кадимки колдонмолорго эч качан талап кылынбайт."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"медиа жол кызматына жалгаштыруу"</string>
@@ -1025,15 +1031,17 @@
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Кармоочуга оператордун билдирүү кызматынын жогорку деңгээлдеги интерфейсине байланышуу мүмкүнчүлүгүн берет. Кадимки колдонмолорго эч качан талап кылынбашы мүмкүн."</string>
     <!-- no translation found for policylab_limitPassword (4497420728857585791) -->
     <skip />
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Экранды бөгөттөн чыгаруу сырсөзүнүн узундугун жана уруксат берилген белгилерди башкаруу."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Экран кулпусунун сырсөздөрү менен PIN\'дерине уруксат берилген узундук менен белгилерди көзөмөлдөө."</string>
     <!-- no translation found for policylab_watchLogin (914130646942199503) -->
     <skip />
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Экрандын кулпусу ачылып жатканда туура эмес терилген сырсөздөрдүн санын текшерип, эгер алардын саны өтө эле көп болсо, планшетти кулпулаңыз же планшеттеги бардык дайындарды тазалап салыңыз."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Экрандын кулпусун ачуу учурунда туура эмес терилген сырсөздөрдү тескөө жана сырсөз өтө көп жолу туура эмес терилген болсо, сыналгыны кулпулап же бардык сыналгы дайындарын тазалап салуу."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Экрандын кулпусу ачылып жатканда туура эмес терилген сырсөздөрдүн санын текшерип, эгер алардын саны өтө эле көп болсо, телефонду кулпулаңыз же телефондогу бардык дайындарды тазалап салыңыз."</string>
-    <!-- no translation found for policylab_resetPassword (2620077191242688955) -->
-    <skip />
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Экранды бөгөттөн чыгаруу сырсөзүн алмаштыруу."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Экрандын кулпусун ачуу учурунда туура эмес терилген сырсөздөрдү тескөө жана сырсөз өтө көп жолу туура эмес терилген болсо, планшетти кулпулап же бул колдонуучунун бардык дайындарын тазалап салуу."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Экрандын кулпусун ачуу учурунда туура эмес терилген сырсөздөрдү тескөө жана сырсөз өтө көп жолу туура эмес терилген болсо, сыналгыны кулпулап же бул колдонуучунун бардык дайындарын тазалап салуу."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Экрандын кулпусун ачуу учурунда туура эмес терилген сырсөздөрдү тескөө жана сырсөз өтө көп жолу туура эмес терилген болсо, телефонду кулпулап же бул колдонуучунун бардык дайындарын тазалап салуу."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Экран кулпусун өзгөртүү"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Экран кулпусун өзгөртүү."</string>
     <!-- no translation found for policylab_forceLock (2274085384704248431) -->
     <skip />
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Экран качан жана кантип бөгөттөлөөрүн башкаруу."</string>
@@ -1042,21 +1050,23 @@
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Баштапкы абалга кайтарууну колдонуп, планшеттин бардык берилиштерин эскертүүсүз тазалоо."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Сыналгынын дайындарын баштапкы абалга кайтарып, алдын-ала эскертпестен өчүрүп салуу."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Баштапкы абалга кайтарууну колдонуп, телефондун бардык берилиштерин эскертүүсүз тазалоо."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Колдонуучунун дайындарын тазалоо"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Бул колдонуучунун ушул планшеттеги дайындарын эскертүүсүз тазалоо."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Бул колдонуучунун ушул сыналгыдагы дайындарын эскертүүсүз тазалоо."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Бул колдонуучунун ушул телефондогу дайындарын эскертүүсүз тазалоо."</string>
     <!-- no translation found for policylab_setGlobalProxy (2784828293747791446) -->
     <skip />
-    <!-- no translation found for policydesc_setGlobalProxy (6387497466660154931) -->
-    <skip />
-    <!-- no translation found for policylab_expirePassword (885279151847254056) -->
-    <skip />
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Бөгөттөөчү көшөгөнүн сырсөзүнүн алмаштырылыш тартибин башкаруу."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Саясат иштетилгенде түзмөктүн глобалдык проксиси колдонулгудай кылып коюңуз. Түзмөк ээси гана глобалдык проксини коё алат."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Экран кулпснн сырсөзнн мөөнөтү"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Экран кулпусунун сырсөзү, PIN же үлгүсү канча убакыт аралыгында өзгөртүлүшү керектигин өзгөртүү."</string>
     <!-- no translation found for policylab_encryptedStorage (8901326199909132915) -->
     <skip />
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Колдонмонун сакталган берилиштери шифрленишин талап кылуу."</string>
     <!-- no translation found for policylab_disableCamera (6395301023152297826) -->
     <skip />
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Түзмөктүн бардык камераларын колдонууга тыюу салуу."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Тергич бөгөттөөсүнүн мүмкүнчүлүктөрүн өчүрүү"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Тергич бөгөттөөсүнүн кээ бир мүмкүнчүлүктөрүн колдонууга тыюу салуу."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Экран кулпснн өзгчлктрн өчүрүү"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Экран кулпусунун айрым өзгөчөлүктөрүн колдонуунун алдын алуу."</string>
     <!-- no translation found for phoneTypes:0 (8901098336658710359) -->
     <!-- no translation found for phoneTypes:1 (869923650527136615) -->
     <!-- no translation found for phoneTypes:2 (7897544654242874543) -->
@@ -1647,6 +1657,14 @@
     <!-- no translation found for new_app_action (5472756926945440706) -->
     <skip />
     <string name="new_app_description" msgid="1932143598371537340">"Эски колдонмону сактабастан токтотуу."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Текст үчүн аракет тандаңыз"</string>
     <!-- no translation found for volume_ringtone (6885421406845734650) -->
     <skip />
@@ -2283,7 +2301,9 @@
       <item quantity="one">1 секунддан кийин кайталаңыз</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Кийинчерээк кайталаңыз"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Толук экран абалынан чыгуу үчүн жогорудан төмөн сүрүңүз."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Толук экранды көрүүдө"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Чыгуу үчүн, жогурдан төмөн сүрүңүз."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Түшүндүм"</string>
     <string name="done_label" msgid="2093726099505892398">"Даяр"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Саат жебеси"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Мүнөт жебеси"</string>
@@ -2298,7 +2318,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Жумуш <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Бул экранды бошотуу үчүн Артка жана Көз жүгүртүүнү чогуу басып, кармап туруңуз."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Бул экранды бошотуу үчүн Көз жүгүртүүнү басып, кармап туруңуз."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Экран кадалды. Уюмуңуздун уруксатысыз бошото албайсыз."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Экран кадалды"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Экран бошотулду"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Бошотуудан мурун PIN суралсын"</string>
@@ -2324,7 +2345,7 @@
       <item quantity="one">Бир саатка</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> чейин"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Белгисиз"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Бул өчүрүлгөнгө чейин"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Жыйнап коюу"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Саат <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> боло турган кийинки айгайга чейин"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Кийинки айгайга чейин"</string>
diff --git a/core/res/res/values-land/dimens_material.xml b/core/res/res/values-land/dimens_material.xml
index 77719a6..379ccf6 100644
--- a/core/res/res/values-land/dimens_material.xml
+++ b/core/res/res/values-land/dimens_material.xml
@@ -24,4 +24,28 @@
     <!-- Default text size for action bar subtitle.-->
     <dimen name="text_size_subtitle_material_toolbar">12dp</dimen>
 
+    <!-- Floating window margins are small until we hit sw380dp-land. -->
+    <dimen name="floating_window_margin_left">16dp</dimen>
+    <dimen name="floating_window_margin_top">4dp</dimen>
+    <dimen name="floating_window_margin_right">16dp</dimen>
+    <dimen name="floating_window_margin_bottom">16dp</dimen>
+
+    <!-- Material time picker dimensions. -->
+    <!-- Text size for the time picker header HH:MM label. This value is large
+         enough that we don't need to use scaled pixels, dp is fine. -->
+    <dimen name="timepicker_time_label_size">48dp</dimen>
+    <dimen name="timepicker_ampm_label_size">16sp</dimen>
+    <dimen name="timepicker_am_top_padding">8dp</dimen>
+    <dimen name="timepicker_pm_top_padding">3dp</dimen>
+    <!-- Radial picker is small until we hit sw380dp-land. -->
+    <dimen name="timepicker_radial_picker_dimen">180dp</dimen>
+    <dimen name="timepicker_radial_picker_top_margin">16dp</dimen>
+    <dimen name="timepicker_radial_picker_horizontal_margin">24dp</dimen>
+
+    <!-- Used by RadialTimePicker in clock-style TimePicker. -->
+    <dimen name="timepicker_text_inset_normal">22dp</dimen>
+    <!-- Landscape inset is small until we hit sw380dp-land. -->
+    <dimen name="timepicker_text_inset_inner">46dp</dimen>
+    <dimen name="timepicker_text_size_normal">14sp</dimen>
+    <dimen name="timepicker_text_size_inner">12sp</dimen>
 </resources>
diff --git a/core/res/res/values-lo-rLA/strings.xml b/core/res/res/values-lo-rLA/strings.xml
index fa546f2..70d8c65 100644
--- a/core/res/res/values-lo-rLA/strings.xml
+++ b/core/res/res/values-lo-rLA/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"ອະນຸຍາດໃຫ້ແອັບຯຕິດຕໍ່ສື່ສານກັບປ້າຍກຳກັບ, ບັດ ແລະໂຕອ່ານຂອງການສື່ສານໄລຍະສັ້ນ (NFC)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"ປິດການລັອກໜ້າຈໍ"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"ອະນຸຍາດໃຫ້ແອັບຯປິດການເຮັດວຽກຂອງປຸ່ມລັອກ ແລະລະບົບຄວາມປອດໄພຂອງລະຫັດຜ່ານທີ່ເຊື່ອມໂຍງກັນ. ໂຕຢ່າງ: ໂທລະສັບຈະປິດການເຮັດວຽກຂອງປຸ່ມລັອກເມື່ອມີສາຍໂທເຂົ້າ ຈາກນັ້ນຈຶ່ງເປີດໃຊ້ໄດ້ອີກເມື່ອວາງສາຍແລ້ວ."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"ຈັດ​ການ​ຮາດ​ແວ​ລາຍ​ນີ້ວ​ມື"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"ອະ​ນຸ​ຍາດ​ໃຫ້​ແອັບ​ເຮັດ​ໃຫ້​ວິ​ທີ​ການ​ຕ່າງໆ​ເພີ່ມ ແລະ​ລຶບ​ແມ່​ແບບ​ລາຍ​ນີ້ວ​ມື​ສຳ​ລັບ​ການ​ໃຊ້."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"ໃຊ້​ຮາດ​ແວ​ລາຍ​ນີ້ວ​ມື"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"ອະ​ນຸ​ຍາດ​ໃຫ້​ແອັບ​ນຳ​ໃຊ້​ຮາດ​ແວ​ລາຍ​ນີ້ວ​ມື​ສຳ​ລັບ​ການ​ຮັບ​ຮອງ"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"ອ່ານການຕັ້ງຄ່າຊິ້ງຂໍ້ມູນ"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"ອະນຸຍາດໃຫ້ແອັບຯ ອ່ານການຕັ້ງຄ່າການຊິ້ງຂໍ້ມູນຂອງບັນຊີໄດ້. ຕົວຢ່າງເຊັ່ນ: ມັນຈະສາມາດກວດສອບໄດ້ແອັບຯ People ຖືກຊິ້ງຂໍ້ມູນກັບບັນຊີໃດນຶ່ງແລ້ວຫຼືຍັງ."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"ສະລັບການເປີດ ແລະປິດການຊິ້ງຂໍ້ມູນ"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"ອະນຸຍາດໃຫ້ແອັບຯດຶງຂໍ້ມູນ, ກວດສອບ ແລະລຶບລ້າງການແຈ້ງເຕືອນ ຮວມທັງພວກທີ່ໂພສໂດຍແອັບຯອື່ນໆນຳ."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"ເຊື່ອມໂຍງກັບບໍລິການໂຕຟັງການແຈ້ງເຕືອນ"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"ອະນຸຍາດໃຫ້ເຈົ້າຂອງເຊື່ອມໂຍງສ່ວນຕິດຕໍ່ລະດັບເທິງສຸດ ຂອງຜູ່ຟັງບໍລິການການແຈ້ງເຕືອນ. ບໍ່ຈຳເປັນສຳລັບແອັບຯທົ່ວໄປ."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"ຜູກ​ພັນ​ກັບ​ເປົ້າ​ໝາຍ​ການ​ບໍ​ລິ​ການ​ຜູ້​ເລືອກ"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"ອະນຸຍາດໃຫ້ຜູ້ຖືຜູກ​ພັນ​ກັບຕົວ​ປະ​ສານລະດັບສູງສຸດຂອງການບໍລິການເປົ້າ​ໝາຍ​ຜູ້​ເລືອກ. ບໍ່ຈຳເປັນສຳລັບແອັບຯທົ່ວໄປ."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"ເຊື່ອມ​ໂຍງ​ກັບ​ບໍ​ລິ​ການ​ຜູ່​ສະ​ໜອງ​ເງື່ອນ​ໄຂ"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"ອະນຸຍາດ​ໃຫ້​ເຈົ້າຂອງ​ເຊື່ອມໂຍງ​ສ່ວນຕິດຕໍ່​ລະດັບ​ສູງສຸດ​ຂອງ​ບໍ​ລິ​ການ​ສະ​ໜອງ​ເງື່ອນ​ໄຂ. ບໍ່ຈຳເປັນ​ສຳລັບ​ແອັບຯທົ່ວໄປ."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"​ເຊື່ອມ​ໂຍງ​ກັບ​ບໍ​ລິ​ການ​ເສັ້ນ​ທາງ​ມີ​ເດຍ"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"ຜູກ​ພັນ​ກັບ​ການ​ບໍ​ລິ​ການ​ສົ່ງ​ຂໍ້​ຄວາມ​ຜູ້​ໃຫ້​ບໍ​ລິ​ການ"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ອະນຸຍາດໃຫ້ຜູ້ຖືຜູກ​ພັນ​ກັບຕົວ​ປະ​ສານລະດັບສູງສຸດຂອງບໍລິການສົ່ງ​ຂໍ້​ຄວາມ​ຜູ້​ໃຫ້​ບໍ​ລິ​ການ. ບໍ່ຈຳເປັນສຳລັບແອັບຯທົ່ວໄປ."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"ຕັ້ງຄ່າກົດຂອງລະຫັດຜ່ານ"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"ຄວບຄຸມຄວາມຍາວຂອງໂຕອັກສອນທີ່ສາມາດໃຊ້ກັບລະຫັດປົດລັອກໜ້າຈໍ"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"ຄວບຄຸມຄວາມຍາວ ແລະຕົວອັກສອນທີ່ອະ​ນຸ​ຍາດ​ໃຫ້​ຢູ່​ໃນລະ​ຫັດລັອກໜ້າຈໍ ແລະ PIN."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"ຕິດຕາມການພະຍາຍາມປົດລັອກໜ້າຈໍ"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"ຕິດຕາມເບິ່ງຈຳນວນການພິມລະຫັດຜ່ານທີ່ບໍ່ຖືກຕ້ອງ ໃນເວລາປົດລັອກໜ້າຈໍ ແລະລັອກແທັບເລັດ ຫຼືລຶບຂໍ້ມູນທັງໝົດຂອງແທັບເລັດ ຖ້າມີການພິມລະຫັດຜ່ານບໍ່ຖືກຕ້ອງຫຼາຍເທື່ອເກີນໄປ."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"ຕິດ​ຕາມ​ຈຳ​ນວນ​ຂອງ​ລະ​ຫັດ​ຜ່ານ​ບໍ່​ຖືກ​ຕ້ອງ​ທີ່​ພິມ​ໄປ​ແລ້ວ ເມື່ອ​ປົດ​ລັອກ​ໜ້າ​ຈໍ, ແລະ​ລັອກໂທລະພາບຫຼື​ລຶບ​ທຸກ​ຂໍ້​ມູນ​ຂອງໂທລະພາບຖ້າ​ໄດ້​ພິມ​ລະ​ຫັດ​ຜ່ານ​ບໍ່​ຖືກ​ຕ້ອງ​ເຂົ້າ​ໄປ​ຫຼາຍ​ອັນ​ເກີນ​ໄປ."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"ຕິດຕາມເບິ່ງຈຳນວນການພິມລະຫັດຜ່ານບໍ່ຖືກຕ້ອງ ໃນເວລາປົດລັອກໜ້າຈໍ ແລະລັອກໂທລະສັບ ຫຼືລຶບຂໍ້ມູນທັງໝົດຂອງໂປລະສັບ ຖ້າມີການພິມລະຫັດຜ່ານບໍ່ຖືກຕ້ອງຫຼາຍເທື່ອເກີນໄປ."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"ປ່ຽນລະຫັດລັອກໜ້າຈໍ"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"ປ່ຽນລະຫັດປົດລັອກໜ້າຈໍ"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"ຕິດ​ຕາມ​ຈຳ​ນວນ​ຂອງ​ລະ​ຫັດ​ຜ່ານ​ບໍ່​ຖືກ​ຕ້ອງ​ທີ່​ພິມ​ໄປ​ແລ້ວ ເມື່ອ​ປົດ​ລັອກ​ໜ້າ​ຈໍ, ແລະ​ລັອກແທັບ​ເລັດ ຫຼື​ລຶບ​ທຸກ​ຂໍ້​ມູນຜູ້​ໃຊ້​ນີ້ ຖ້າ​ໄດ້​ພິມ​ລະ​ຫັດ​ຜ່ານ​ບໍ່​ຖືກ​ຕ້ອງ​ເຂົ້າ​ໄປ​ຫຼາຍ​ອັນ​ເກີນ​ໄປ."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"ຕິດ​ຕາມ​ຈຳ​ນວນ​ຂອງ​ລະ​ຫັດ​ຜ່ານ​ບໍ່​ຖືກ​ຕ້ອງ​ທີ່​ພິມ​ໄປ​ແລ້ວ ເມື່ອ​ປົດ​ລັອກ​ໜ້າ​ຈໍ, ແລະ​ລັອກໂທລະພາບ ຫຼື​ລຶບ​ທຸກ​ຂໍ້​ມູນຜູ້​ໃຊ້​ນີ້ ຖ້າ​ໄດ້​ພິມ​ລະ​ຫັດ​ຜ່ານ​ບໍ່​ຖືກ​ຕ້ອງ​ເຂົ້າ​ໄປ​ຫຼາຍ​ອັນ​ເກີນ​ໄປ."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"ຕິດ​ຕາມ​ຈຳ​ນວນ​ຂອງ​ລະ​ຫັດ​ຜ່ານ​ບໍ່​ຖືກ​ຕ້ອງ​ທີ່​ພິມ​ໄປ​ແລ້ວ ເມື່ອ​ປົດ​ລັອກ​ໜ້າ​ຈໍ, ແລະ​ລັອກໂທລະສັບ ຫຼື​ລຶບ​ທຸກ​ຂໍ້​ມູນຜູ້​ໃຊ້​ນີ້ ຖ້າ​ໄດ້​ພິມ​ລະ​ຫັດ​ຜ່ານ​ບໍ່​ຖືກ​ຕ້ອງ​ເຂົ້າ​ໄປ​ຫຼາຍ​ອັນ​ເກີນ​ໄປ."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"ປ່ຽນ​ລັອກ​ໜ້າ​ຈໍ"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"ປ່ຽນ​ລັອກ​ໜ້າ​ຈໍ."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"ລັອກໜ້າຈໍ"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"ຄວບຄຸມວ່າໜ້າຈໍຄວນຈະຖືກລັອກເມື່ອໃດ ແລະແນວໃດ"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"ລຶບຂໍ້ມູນທັງໝົດ"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"ລຶບຂໍ້ມູນຂອງແທັບເລັດໂດຍບໍ່ມີການເຕືອນ ໂດຍການຣີເຊັດກັບຄືນໃຫ້ເປັນແບບທີ່ມາຈາກໂຮງງານ."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"ລຶບ​ຂໍ້​ມູນ​ຂອງໂທລະພາບໂດຍ​ບໍ່​ມີ​ການ​ເຕືອນ ດ້ວຍ​ການ​ເຮັດ​ການ​ຕັ້ງ​ຄ່າ​ຂໍ້​ມູນ​ໂຮງ​ງານ​ຄືນ​ໃໝ່."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"ລຶບຂໍ້ມູນຂອງໂທລະສັບໂດຍບໍ່ມີການເຕືອນ ໂດຍການຣີເຊັດກັບຄືນໃຫ້ເປັນແບບທີ່ມາຈາກໂຮງງານ."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"ລຶບ​ຂໍ້​ມູນ​ຜູ້​ໃຊ້"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"ລຶບ​ຂໍ້​ມູນ​ຂອງ​ຜູ້​ໃຊ້​ນີ້​ຢູ່​ໃນ​ໂທ​ລະ​ທັດ​ນີ້​ໂດຍ​ບໍ່​ມີ​ການ​ເຕືອນ."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"ລຶບ​ອຸ​ປະ​ກອນ​ຜູ້​ໃຊ້​ນີ້​ຢູ່​ໃນ​ໂທ​ລະ​ທັດ​ນີ້​ໂດຍ​ບໍ່​ມີ​ການ​ເຕືອນ."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"ລຶບ​ຂໍ້​ມູນ​ຂອງ​ຜູ້​ໃຊ້​ນີ້​ຢູ່​ໃນ​ໂທ​ລະ​ສັບ​ນີ້​ໂດຍ​ບໍ່​ມີ​ການ​ເຕືອນ."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"ປ່ຽນ proxy ຮວມຂອງອຸປະກອນ"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"ຕັ້ງໃຫ້ພຣັອກຊີສ່ວນກາງຂອງອຸປະກອນ ທີ່ຈະໃຊ້ໃນຂະນະທີ່ເປີດນຳໃຊ້ນະໂຍບາຍ. ສະເເພາະຜູ່ເບິ່ງແຍງອຸປະກອນຄົນທຳອິດເທົ່ານັ້ນ ທີ່ຈະຕັ້ງຄ່າພຣັອກຊີສ່ວນກາງທີ່ມີຜົນນຳໃຊ້ໄດ້."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"ຕັ້ງວັນໝົດກຳນົດຂອງລະຫັດລັອກໜ້າຈໍ"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"ຄວບຄຸມຄວາມຖີ່ໃນການປ່ຽນລະຫັດໜ້າຈໍລັອກ."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"ຕັ້ງໃຫ້ພຣັອກຊີສ່ວນກາງຂອງອຸປະກອນ ທີ່ຈະໃຊ້ໃນຂະນະທີ່ເປີດນຳໃຊ້ນະໂຍບາຍ. ພຽງ​ແຕ່​ເຈົ້າ​ຂອງ​ອຸ​ປະ​ກອນ​ເທົ່າ​ນັ້ນ​ສາ​ມາດ​ຕັ້ງ​ພ​ຣັອກ​ຊີ​ທົ່ວ​ໄປ​ໄດ້."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"ຕັ້ງ​ຄ່າ​ການ​ໝົດ​ອາ​ຍຸ​ລະ​ຫັດ​ຜ່ານ​ລັອກ​ໜ້າ​ຈໍ"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"ປ່ຽນ​ວ່າ​ຈະ​ໃຫ້ລະ​ຫັດ​ຜ່ານ​ລັອກ​ໜ້າ​ຈໍ, PIN, ຫຼື​ຮູບ​ແບບ​ຕ້ອງ​ມີ​ການ​ປ່ຽນ​ແປງ​ເລື້ອຍ​ປານ​ໃດ."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"ຕັ້ງຄ່າການເຂົ້າລະຫັດທີ່ເກັບຂໍ້ມູນ"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"ຮຽກຮ້ອງໃຫ້ມີການເຂົ້າລະຫັດຂໍ້ມູນທີ່ຈັດເກັບໃນແອັບຯ"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"ປິດການໃຊ້ກ້ອງ"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"ຫ້າມການໃຊ້ກ້ອງຈາກທຸກອຸປະກອນ."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"ປິດການນຳໃຊ້ການລັອກປຸ່ມ"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"ປ້ອງກັນການໃຊ້ຄວາມສາມາດບາງສ່ວນໃນການລັອກປຸ່ມ."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"ປິດ​ໃຊ້​ງານ​ຄຸນ​ສົມ​ບັດ​ຂອງ​ລັອກ​ໜ້າ​ຈໍ"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"ປ້ອງກັນການໃຊ້ຄຸນ​ສົມ​ບັດບາງສ່ວນຂອງ​ລັອກ​ໜ້າ​ຈໍ."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"ເຮືອນ"</item>
     <item msgid="869923650527136615">"ມືຖື"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"ຫ້າມເປີດແອັບຯໃໝ່."</string>
     <string name="new_app_action" msgid="5472756926945440706">"ເລີ່ມຕົ້ນ <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"ຢຸດແອັບຯເກົ່າໂດຍບໍ່ຕ້ອງບັນທຶກ."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"ເລືອກການເຮັດວຽກຂອງຂໍ້ຄວາມ"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"ລະດັບສຽງເອີ້ນເຂົ້າ"</string>
     <string name="volume_music" msgid="5421651157138628171">"ລະດັບສຽງຂອງສື່"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">ລອງໃໝ່ໃນອີກ 1 ວິນາທີ</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"ລອງໃໝ່ອີກຄັ້ງໃນພາຍຫລັງ."</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"ປັດລົງມາຈາກທາງເທິງເພື່ອອອກຈາກໂໝດເຕັມໜ້າຈໍ."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"ການ​ເບິ່ງ​ເຕັມ​ໜ້າ​ຈໍ"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"ເພື່ອ​ອອກ, ຮູດ​ລົງ​ລຸ່ມ​ຈາກ​ດ້ານ​ເທິງ."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"ໄດ້​ແລ້ວ"</string>
     <string name="done_label" msgid="2093726099505892398">"ແລ້ວໆ"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"ໂຕໝຸນປັບຊົ່ວໂມງ"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"ໂຕໝຸນປັບນາທີ"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"​ບ່ອນ​ເຮັດ​ວຽກ <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"ເພື່ອ​ຖອດ​ການ​ປັກ​ໝຸດ​ໜ້າ​ຈໍ​ນີ້, ສຳ​ຜັດປຸ່ມ ​ກັບ​ຄືນ ແລະ ພາບ​ຮວມ ຄ້າງ​ໄວ້​ພ້ອມ​ກັນ."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"ເພື່ອ​ຖອດ​ການ​ປັກ​ໝຸດໜ້າ​ຈໍ​ນີ້, ສຳ​ຜັດ​ປຸ່ມ ພາບ​ຮວມ ຄ້າງ​ໄວ້."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"ໜ້າ​ຈໍ​ຖືກ​ປັກ​ໝຸດ​ໄວ້. ​ອົງ​ກອນ​ຂອງ​ທ່ານບໍ່​​ອະ​ນຸ​ຍາດ​ໃຫ້​ຍົກ​ເລີກ​ການ​ປັກ​ໝຸດ​ໄດ້."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"​ປັກ​ໝຸດ​ໜ້າ​ຈໍ​ແລ້ວ"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"ຍົກ​ເລີກ​ການ​ປັກ​ໝຸນ​​ຫນ້າ​ຈໍ​ແລ້ວ"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"​ຖາມ​ຫາ PIN ກ່ອນ​ຍົກ​ເລີກ​ການປັກ​ໝຸດ"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">ເປັນ​ເວລາໜຶ່ງ​ຊົ່ວ​ໂມງ</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"ຈົນ​ຮອດ <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"ຢ່າງ​ບໍ່​ມີ​ກຳນົດ"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"ຈົນກວ່າ​ທ່ານ​ຈະ​ປິດ​"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"ຫຍໍ້"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"​ຈົນ​ກວ່າ​ໂມງ​ປຸກ​ຄັ້ງ​ຕໍ່​ໄປ​ໃນ​ເວ​ລາ <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"​ຈົນ​ກວ່າ​ໂມງ​ປຸກ​ຄັ້ງຕໍ່​ໄປ"</string>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index 590e9ea..6eda58a 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -740,6 +740,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Leidžiama programai perduoti artimojo lauko ryšių technologijos (ALR) žymas, korteles ir skaitymo programas."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"išjungti ekrano užraktą"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Leidžiama programai neleisti klavišo užrakto ir visos susijusios slaptažodžio apsaugos. Pvz., telefonas neleidžia klavišo užrakto priimant gaunamąjį skambutį ir pakartotinai jį įgalina, kai skambutis baigiamas."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"tvarkyti kontrolinio kodo aparatinę įrangą"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Leidžiama programai aktyvinti metodus, norint pridėti ir ištrinti naudojamus kontrolinių kodų šablonus."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"naudoti kontrolinio kodo aparatinę įrangą"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Leidžiama programai naudoti kontrolinio kodo aparatinę įrangą tapatybei nustatyti"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"skaityti sinchronizavimo nustatymus"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Leidžiama programai skaityti ir sinchronizuoti paskyros nustatymus. Pvz., taip gali būti nustatoma, ar su paskyra sinchronizuota Žmonių programa."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"įjungti arba išjungti sinchronizavimą"</string>
@@ -794,6 +798,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Programai leidžiama gauti, patikrinti ir išvalyti pranešimus, įskaitant pranešimus, kuriuos paskelbė kitos programos."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"susisaistyti su pranešimų skaitymo priemonės paslauga"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Leidžiama turėtojui susisaistyti su pranešimų skaitymo priemonės paslaugos aukščiausio lygio sąsaja. Įprastoms programoms to neturėtų prireikti."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"susaistyti programą su tikslo pasirinkimo paslauga"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Savininkui leidžiama susaistyti programą su tikslo pasirinkimo paslaugos aukščiausio lygio sąsaja. Įprastoms programoms to neturėtų prireikti."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"susaistyti su sąlygos teikėjo paslauga"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Turėtojui leidžiama susaistyti programą su sąlygos teikėjo paslaugos aukščiausio lygio sąsaja. Įprastoms programoms to niekada neturėtų prireikti."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"susaistyti su medijos maršruto paslauga"</string>
@@ -815,29 +821,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"susaistyti su operatoriaus susirašinėjimo žinutėmis paslauga"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Leidžiama savininkui susisaistyti su aukščiausio lygio operatoriaus susirašinėjimo žinutėmis paslaugos sąsaja. Įprastoms programoms to neturėtų prireikti."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Nustatyti slaptažodžio taisykles"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Valdyti leidžiamą ekrano atrakinimo slaptažodžių ilgį ir leidžiamus naudoti simbolius."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Valdykite, kokio ilgio ekrano užrakto slaptažodžius ir PIN kodus galima naudoti."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Stebėti bandymus atrakinti ekraną"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Stebimas neteisingai įvestų slaptažodžių skaičius atrakinant ekraną ir užrakinti planšetinį kompiuterį arba ištrinti visus jame esančius duomenis, jei įvedama per daug neteisingų slaptažodžių."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Stebėti atrakinant ekraną įvestų netinkamų slaptažodžių skaičių ir užrakinti TV arba ištrinti visus TV duomenis, jei per daug kartų įvedamas netinkamas slaptažodis."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Atrakindami ekraną stebėkite neteisingai įvestų slaptažodžių skaičių ir užrakinkite telefoną ar ištrinkite visus telefono duomenis, jei įvedama per daug neteisingų slaptažodžių."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Pakeisti ekrano užrakinimo slaptažodį"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Pakeisti ekrano atrakinimo slaptažodį."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Stebėkite atrakinant ekraną įvestų netinkamų slaptažodžių skaičių ir užrakinkite planšetinį kompiuterį arba ištrinkite visus šio naudotojo duomenis, jei per daug kartų įvedamas netinkamas slaptažodis."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Stebėkite atrakinant ekraną įvestų netinkamų slaptažodžių skaičių ir užrakinkite TV arba ištrinkite visus šio naudotojo duomenis, jei per daug kartų įvedamas netinkamas slaptažodis."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Stebėkite atrakinant ekraną įvestų netinkamų slaptažodžių skaičių ir užrakinkite telefoną arba ištrinkite visus šio naudotojo duomenis, jei per daug kartų įvedamas netinkamas slaptažodis."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Ekrano užrakto pakeitimas"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Pakeiskite ekrano užraktą."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Užrakinti ekraną"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Valdyti, kaip ir kada užrakinamas ekranas."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Trinti visus duomenis"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Be įspėjimo ištrinti planšetinio kompiuterio duomenis atkuriant gamyklinius duomenis."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Ištrinti TV duomenis be įspėjimo atliekant gamyklinių duomenų atkūrimą."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Be įspėjimo ištrinti telefono duomenis atkuriant gamyklinius duomenis."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Naudotojo duomenų ištrynimas"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Ištrinkite šio naudotojo duomenis šiame planšetiniame kompiuteryje be įspėjimo."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Ištrinkite šio naudotojo duomenis šiame TV be įspėjimo."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Ištrinkite šio naudotojo duomenis šiame telefone be įspėjimo."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Nustatyti įrenginio bendrąjį tarpinį serverį"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Nustatyti įrenginio bendrąjį tarpinį serverį, kad būtų naudojamas, kol įgalinta politika. Tik pirmasis įrenginio administratorius nustato efektyvų bendrąjį tarpinį serverį."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Nust. ekr. užr. slapt. gal. pab."</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Valdykite, kaip dažnai reikia keisti ekrano užrakinimo slaptažodį."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Nustatykite įrenginio visuotinį tarpinį serverį, kuris bus naudojamas, kai politika įgalinta. Tik įrenginio savininkas gali nustatyti visuotinį tarpinį serverį."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Ekr. užr. slaptaž. gal. l. n."</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Pakeiskite, kaip dažnai reikia keisti ekrano užrakto slaptažodį, PIN kodą arba atrakinimo piešinį."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Nustatyti atmintinės šifruotę"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Reikalauti, kad saugomos programos duomenys būtų šifruoti."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Neleisti fotoaparatų"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Neleisti naudoti visų įrenginio fotoaparatų."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Funkcijų išjung. klaviat. aps."</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Naudojant klaviatūros apsaugos funkciją, neleisti naudoti kai kurių funkcijų."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Ekrano užrakto funkc. išjung."</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Neleiskite naudoti tam tikrų ekrano užrakto funkcijų."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Pagrindinis"</item>
     <item msgid="869923650527136615">"Mobilusis"</item>
@@ -1262,6 +1275,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Nepaleiskite naujos programos."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Paleisti „<xliff:g id="OLD_APP">%1$s</xliff:g>“"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Sustabdyti seną programą jos neišsaugant."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Pasirinkite teksto veiksmą"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Skambučio garsumas"</string>
     <string name="volume_music" msgid="5421651157138628171">"Medijos garsumas"</string>
@@ -1783,7 +1804,9 @@
       <item quantity="other">Bandykite dar kartą po <xliff:g id="COUNT">%d</xliff:g> sekundžių</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Vėliau bandykite dar kartą"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Perbraukite nuo viršaus žemyn, kad išeitumėte iš viso ekrano režimo"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Peržiūrima viso ekrano režimu"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Jei norite išeiti, perbraukite žemyn iš viršaus."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Supratau"</string>
     <string name="done_label" msgid="2093726099505892398">"Atlikta"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Apskritas valandų slankiklis"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Apskritas minučių slankiklis"</string>
@@ -1798,7 +1821,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Darbo <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Jei norite atsegti šį ekraną, vienu metu palieskite ir palaikykite „Atgal“ ir „Apžvalga“."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Jei norite atsegti šį ekraną, palieskite ir palaikykite „Apžvalga“."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Ekranas yra prisegtas. Jūsų organizacija neleidžia jo atsegti."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Ekrano prisegtas"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Ekranas atsegtas"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Prašyti PIN kodo prieš atsegant"</string>
@@ -1832,7 +1856,7 @@
       <item quantity="other">%d valandų</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Iki <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Neapibrėžta"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Kol išjungsite"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Sutraukti"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Iki kito įspėjimo <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Iki kito įspėjimo"</string>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index e6a27a1..6360a42 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -739,6 +739,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Ļauj lietotnei sazināties ar tuva darbības lauka sakaru (Near Field Communication — NFC) atzīmēm, kartēm un lasītājiem."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"atspējot ekrāna bloķēšanu"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Ļauj lietotnei atspējot taustiņslēgu un visu saistīto paroļu drošību. Piemēram, tālrunis atspējo taustiņslēgu, saņemot ienākošu zvanu, un pēc zvana pabeigšanas atkārtoti iespējo taustiņslēgu."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"pārvaldīt pirkstu nospiedumu aparatūru"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Atļauj lietotnei izsaukt metodes izmantojamo pirkstu nospiedumu veidņu pievienošanai un dzēšanai."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"lietot pirkstu nospiedumu aparatūru"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Atļauj lietotnei izmantot pirkstu nospiedumu aparatūru autentificēšanai."</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"lasīt sinhronizācijas iestatījumus"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Ļauj lietotnei lasīt konta sinhronizācijas iestatījumus. Piemēram, šādi var noteikt, vai lietotne Personas ir sinhronizēta ar kontu."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"ieslēgt un izslēgt sinhronizāciju"</string>
@@ -793,6 +797,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Ļauj lietotnei izgūt, pārbaudīt un dzēst paziņojumus, tostarp lietotņu publicētos paziņojumus."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"saites izveidošana ar paziņojumu uztvērēja pakalpojumu"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Ļauj īpašniekam izveidot saiti ar paziņojumu uztvērēja pakalpojuma augšējā līmeņa saskarni. Parastajām lietotnēm tas nekad nav nepieciešams."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"izveidot savienojumu ar atlasītāja mērķa pakalpojumu"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Ļauj atļaujas īpašniekam izveidot savienojumu ar atlasītāja mērķa pakalpojuma augstākā līmeņa saskarni. Parastām lietotnēm tas nekad nav nepieciešams."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"Saistīšana ar nosacījumu sniedzēja pakalpojumu"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Ļauj īpašniekam izveidot savienojumu ar drukas nosacījumu sniedzēja pakalpojuma augšējā līmeņa saskarni. Parastajām lietotnēm tas nekad nav nepieciešams."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"Saistīšana ar multivides datu maršrutēšanas pakalpojumu"</string>
@@ -814,29 +820,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"Savienojuma izveide ar mobilo sakaru operatora ziņojumapmaiņas pakalpojumu"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Ļauj īpašniekam izveidot savienojumu ar mobilo sakaru operatora ziņojumapmaiņas pakalpojuma augšējā līmeņa saskarni. Parastajām lietotnēm tas nekad nav nepieciešams."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Paroles kārtulu iestatīšana"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Kontrolē ekrāna atbloķēšanas parolē atļautās rakstzīmes un garumu."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrolēt ekrāna bloķēšanas paroļu un PIN garumu un tajos atļautās rakstzīmes."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Ekrāna atbloķēšanas mēģinājumu pārraudzīšana"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Pārrauga nepareizi ievadīto paroļu skaitu, atbloķējot ekrānu, un bloķē planšetdatoru vai dzēš visus planšetdatora datus, ja tiek ievadīts pārāk daudz nepareizu paroļu."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Pārraudzīt nepareizi ievadīto ekrāna atbloķēšanas paroļu skaitu un bloķēt televizoru vai dzēst televizora datus, ja tiek ievadīts pārāk daudz nepareizu paroļu."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Pārrauga nepareizi ievadīto paroļu skaitu, atbloķējot ekrānu, un bloķē tālruni vai dzēš visus tālruņa datus, ja tiek ievadīts pārāk daudz nepareizu paroļu."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Ekrāna atbloķēšanas paroles maiņa"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Maina ekrāna atbloķēšanas paroli."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Pārraudzīt nepareizi ievadīto ekrāna atbloķēšanas paroļu skaitu un bloķēt planšetdatoru vai dzēst visus šī lietotāja datus, ja tiek ievadīts pārāk daudz nepareizu paroļu."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Pārraudzīt nepareizi ievadīto ekrāna atbloķēšanas paroļu skaitu un bloķēt televizoru vai dzēst visus šī lietotāja datus, ja tiek ievadīts pārāk daudz nepareizu paroļu."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Pārraudzīt nepareizi ievadīto ekrāna atbloķēšanas paroļu skaitu un bloķēt tālruni vai dzēst visus šī lietotāja datus, ja tiek ievadīts pārāk daudz nepareizu paroļu."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Mainīt ekrāna bloķēšanas iestatījumus"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Mainīt ekrāna bloķēšanas iestatījumu."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Ekrāna bloķēšana"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Kontrolē, kā un kad ekrāns tiek bloķēts."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Dzēst visus datus"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Dzēš planšetdatora datus bez brīdinājuma, veicot rūpnīcas datu atiestatīšanu."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Bez brīdinājuma dzēst televizora datus, veicot rūpnīcas datu atiestatīšanu."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Dzēš tālruņa datus bez brīdinājuma, veicot rūpnīcas datu atiestatīšanu."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Dzēst lietotāja datus"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Bez brīdinājuma dzēst šī lietotāja datus no planšetdatora."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Bez brīdinājuma dzēst šī lietotāja datus no televizora."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Bez brīdinājuma dzēst šī lietotāja datus no tālruņa."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Iestatīt ierīces globālo starpniekserveri"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Iestatiet izmantojamo ierīces globālo starpniekserveri, kad ir iespējota politika. Spēkā esošo globālo starpniekserveri iestata tikai pirmās ierīces administrators."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Ekrāna bloķ., paroles termiņa iestat."</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Kontrolē, cik bieži ir jāmaina ekrāna bloķēšanas parole."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Iestatīt ierīces globālo starpniekserveri, kas jāizmanto, kad politika ir iespējota. Globālo starpniekserveri var iestatīt tikai ierīces īpašnieks."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Iestatīt paroles derīgumu"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Norādīt, cik bieži jāmaina ekrāna bloķēšanas parole, PIN vai grafiskā atslēga."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Skatīt atmiņas šifrējumu"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Pieprasa, lai saglabātie lietotnes dati tiktu šifrēti."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Atspējot kameras"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Neļauj izmantot nevienu ierīces kameru."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Bloķēšanas funkcijas atspējošana"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Atspējot noteiktas funkcijas taustiņslēgā."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Atspējot bloķēšanas funkcijas"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Novērst dažu ekrāna bloķēšanas funkciju darbību."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Mājas"</item>
     <item msgid="869923650527136615">"Mobilais"</item>
@@ -1257,6 +1270,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Nestartējiet jauno lietotni."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Startēt: <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Aptur vecās lietotnes darbību, neko nesaglabājot."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Izvēlieties darbību tekstam"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Zvanītāja skaļums"</string>
     <string name="volume_music" msgid="5421651157138628171">"Multivides skaļums"</string>
@@ -1774,7 +1795,9 @@
       <item quantity="other">Mēģiniet vēlreiz pēc <xliff:g id="COUNT">%d</xliff:g> sekundēm</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Vēlāk mēģiniet vēlreiz."</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Lai izietu no pilnekrāna režīma, velciet no augšas uz leju."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Skatīšanās pilnekrāna režīmā"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Lai izietu, no augšdaļas velciet lejup."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Labi"</string>
     <string name="done_label" msgid="2093726099505892398">"Gatavs"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Stundu apļveida slīdnis"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Minūšu apļveida slīdnis"</string>
@@ -1789,7 +1812,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Darbā: <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Lai atspraustu šo ekrānu, vienlaicīgi pieskarieties pogām “Atpakaļ” un “Pārskats” un turiet tās."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Lai atspraustu šo ekrānu, pieskarieties pogai “Pārskats” un turiet to."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Ekrāns ir piesprausts. Jūsu organizācija nav atļāvusi atspraušanu."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Ekrāns ir piesprausts"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Ekrāns ir atsprausts"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Pirms atspraušanas pieprasīt PIN"</string>
@@ -1819,7 +1843,7 @@
       <item quantity="other">%d stundas</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Līdz <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Uz nenoteiktu laiku"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Līdz brīdim, kad izslēgsiet"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Sakļaut"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Līdz nākamajam signālam: <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Līdz nākamajam signālam"</string>
diff --git a/core/res/res/values-mcc310-mnc160/config.xml b/core/res/res/values-mcc310-mnc160/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc160/config.xml
+++ b/core/res/res/values-mcc310-mnc160/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc200/config.xml b/core/res/res/values-mcc310-mnc200/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc200/config.xml
+++ b/core/res/res/values-mcc310-mnc200/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc210/config.xml b/core/res/res/values-mcc310-mnc210/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc210/config.xml
+++ b/core/res/res/values-mcc310-mnc210/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc220/config.xml b/core/res/res/values-mcc310-mnc220/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc220/config.xml
+++ b/core/res/res/values-mcc310-mnc220/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc230/config.xml b/core/res/res/values-mcc310-mnc230/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc230/config.xml
+++ b/core/res/res/values-mcc310-mnc230/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc240/config.xml b/core/res/res/values-mcc310-mnc240/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc240/config.xml
+++ b/core/res/res/values-mcc310-mnc240/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc250/config.xml b/core/res/res/values-mcc310-mnc250/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc250/config.xml
+++ b/core/res/res/values-mcc310-mnc250/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc260/config.xml b/core/res/res/values-mcc310-mnc260/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc260/config.xml
+++ b/core/res/res/values-mcc310-mnc260/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc260/strings.xml b/core/res/res/values-mcc310-mnc260/strings.xml
new file mode 100644
index 0000000..5cadc2a
--- /dev/null
+++ b/core/res/res/values-mcc310-mnc260/strings.xml
@@ -0,0 +1,32 @@
+<?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 my obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT 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. -->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+    <!-- WFC Operator Error Codes -->
+    <string-array name="wfcOperatorErrorCodes" translatable="false">
+        <item>REG09</item>
+    </string-array>
+    <!-- WFC Operator Error Messages -->
+    <string-array name="wfcOperatorErrorMessages">
+        <item>Wi-Fi Calling isn\&apos;t available. Contact your carrier to enable Wi-Fi Calling.</item>
+    </string-array>
+</resources>
diff --git a/core/res/res/values-mcc310-mnc270/config.xml b/core/res/res/values-mcc310-mnc270/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc270/config.xml
+++ b/core/res/res/values-mcc310-mnc270/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc300/config.xml b/core/res/res/values-mcc310-mnc300/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc300/config.xml
+++ b/core/res/res/values-mcc310-mnc300/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc310/config.xml b/core/res/res/values-mcc310-mnc310/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc310/config.xml
+++ b/core/res/res/values-mcc310-mnc310/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc490/config.xml b/core/res/res/values-mcc310-mnc490/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc490/config.xml
+++ b/core/res/res/values-mcc310-mnc490/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc530/config.xml b/core/res/res/values-mcc310-mnc530/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc530/config.xml
+++ b/core/res/res/values-mcc310-mnc530/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc580/config.xml b/core/res/res/values-mcc310-mnc580/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc580/config.xml
+++ b/core/res/res/values-mcc310-mnc580/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc590/config.xml b/core/res/res/values-mcc310-mnc590/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc590/config.xml
+++ b/core/res/res/values-mcc310-mnc590/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc640/config.xml b/core/res/res/values-mcc310-mnc640/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc640/config.xml
+++ b/core/res/res/values-mcc310-mnc640/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc660/config.xml b/core/res/res/values-mcc310-mnc660/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc660/config.xml
+++ b/core/res/res/values-mcc310-mnc660/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mcc310-mnc800/config.xml b/core/res/res/values-mcc310-mnc800/config.xml
index 5a6a84b..2cae7cc 100644
--- a/core/res/res/values-mcc310-mnc800/config.xml
+++ b/core/res/res/values-mcc310-mnc800/config.xml
@@ -32,4 +32,9 @@
 
     <!-- Flag specifying whether VoLTE TTY is supported -->
     <bool name="config_carrier_volte_tty_supported">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">true</bool>
 </resources>
diff --git a/core/res/res/values-mk-rMK/strings.xml b/core/res/res/values-mk-rMK/strings.xml
index 5f89553..86e31e5 100644
--- a/core/res/res/values-mk-rMK/strings.xml
+++ b/core/res/res/values-mk-rMK/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Дозволува апликацијата да комуницира со ознаки, картички и читачи за Комуникација при непосредна близина (НФЦ)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"оневозможи заклучување на екран"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Овозможува апликацијата да го оневозможи заклучувањето и каква било безбедност поврзана со лозинка. На пример, телефонот го оневозможува заклучувањето при прием на телефонски повик, а потоа повторно го овозможува заклучувањето кога повикот ќе заврши."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"управувај хардвер за отпечатоци"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Дозволува апликацијата да повика начини за додавање и бришење шаблони на отпечатоци за користење."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"користи хардвер за отпечатоци"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Дозволува апликацијата да користи хардвер за отпечатоци за проверка"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"прочитај синхронизирани подесувања"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Овозможува апликацијата да ги чита подесувањата за синхронизирање на сметка. На пример, така може да се утврди дали апликацијата „Луѓе“ е синхронизирана со сметка."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"вклучи и исклучи синхронизација"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Овозможува апликацијата да враќа, проверува и брише известувања, вклучувајќи ги и оние објавени од други апликации."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"поврзи се со услугата слушател на известувања"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Овозможува сопственикот да се поврзе со интерфејс од највисоко ниво на услугата слушател на известувања. Не треба да се користи за стандардни апликации."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"сврзи се со услугата избирач на цел"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Дозволува сопственикот да се сврзе со интерфејс од највисоко ниво на услугата избирач на цел. Не треба да се користи за стандардни апликации."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"поврзување со услуга за давател на услов"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Дозволува сопственикот да се поврзе со интерфејс од највисоко ниво на давател на услуги за услов. Не треба да се користи за стандардни апликации."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"врзува со услуга за насочување медиуми"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"сврзување со давателот на услугата за пораки"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Дозволува сопственикот да се сврзе со интерфејсот од највисоко ниво на давателот на услугата за пораки. Не треба да се користи за стандардни апликации."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Подеси правила за лозинката"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Контролирај ги должината и знаците што се дозволени за лозинки за отклучување екран."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Контролирај ги должината и знаците што се дозволени за лозинки и ПИН-броеви за отклучување екран."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Следи ги обидите за отклучување на екранот"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Посматрај го бројот на неточни лозинки што се напишани за да се отклучи екранот и заклучи го таблетот или избриши ги сите податоци од него ако бидат напишани премногу неточни лозинки."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Набљудувај го бројот на погрешно внесени лозинки при отклучување на екранот и заклучи го телевизорот или избриши ги сите негови податоци доколку се внесени премногу погрешни лозинки."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Посматрај го бројот на неточни лозинки што се напишани за да се отклучи екранот и заклучи го телефонот или избриши ги сите податоци од него ако бидат напишани премногу неточни лозинки."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Промени ја лозинката за отклучување на екранот"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Промени ја лозинката за отклучување екран."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Набљудувај го бројот на погрешно внесени лозинки при отклучување на екранот и заклучи го таблетот или избриши ги сите податоци од овој корисник доколку се внесени премногу погрешни лозинки."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Набљудувај го бројот на погрешно внесени лозинки при отклучување на екранот и заклучи го телевизорот или избриши ги сите податоци од овој корисник доколку се внесени премногу погрешни лозинки."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Набљудувај го бројот на погрешно внесени лозинки при отклучување на екранот и заклучи го телефонот или избриши ги сите податоци од овој корисник доколку се внесени премногу погрешни лозинки."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Промени го заклучувањето на екранот."</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Промени го заклучувањето на екранот."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Заклучи го екранот"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Контролирај како и кога се заклучува екранот."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Избриши ги сите податоци"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Избриши ги податоците во таблетот без предупредување со вршење на фабричко ресетирање на податоци."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Избриши ги податоците на телевизорот без предупредување со изведување ресетирање на фабрички податоци."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Избриши ги податоците во телефонот без предупредување со вршење на фабричко ресетирање на податоци."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Избриши ги податоците на корисникот"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Избриши ги податоците на овој корисник на таблетот без предупредување."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Избриши ги податоците на овој корисник на телевизорот без предупредување."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Избриши ги податоците на овој корисник на телефонот без предупредување."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Подеси го глобалниот прокси на уредот"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Подесете употреба на глобалниот прокси на уредот додека политиката е овозможена. Само првиот администратор на уредот може да подеси важечки глобален прокси."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Подеси период на важност на лозинката за заклучување на екранот"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Контролирај колку често мора да се менува лозинката за заклучување екран."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Поставете го глобалниот прокси на уредот да се користи додека политиката е овозможена. Само сопственикот на уредот може да го поставува глобалниот прокси."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Рок на лозинка за закл. екран"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Измени колку често мора да се менува лозинката, ПИН-бројот или шемата за заклучување екран."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Подеси шифрирање на меморија"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Барај зачуваните податоци за апликација да се шифрирани."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Оневозможи фотоапарати"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Спречи употреба на сите камери на уредот."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Оневозможи функции во заклучувањето"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Спречи употреба на некои функции во заклучувањето."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Исклучи функции на закл. екран"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Спречи употреба на некои функции од заклучување на екранот."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Дома"</item>
     <item msgid="869923650527136615">"Мобилен"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Не стартувајте ја новата апликација."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Вклучи <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Запрете ја старата апликација без зачувување."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Избери дејство за текст"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Јачина на звук на ѕвонче"</string>
     <string name="volume_music" msgid="5421651157138628171">"Јачина на звук на медиуми"</string>
@@ -1767,7 +1788,9 @@
       <item quantity="other">Обидете се повторно по <xliff:g id="COUNT">%d</xliff:g> секунди</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Обиди се повторно подоцна"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Помини со прстот одозгора надолу да излезе од режим на цел екран."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Се прикажува на цел екран"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"За да излезете, повлечете одозгора надолу."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Разбрав"</string>
     <string name="done_label" msgid="2093726099505892398">"Готово"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Приказ на часови во кружно движење"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Приказ на минути во кружно движење"</string>
@@ -1782,7 +1805,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Работа <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"За да го откачите екранот, допрете и задржете Назад и Краток преглед во исто време."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"За да го откачите екранот, допрете и задржете Краток преглед."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Екранот е закачен. Откачување не е дозволено од вашата организација."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Екранот е закачен"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Екранот е откачен"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Прашај за ПИН пред откачување"</string>
@@ -1808,7 +1832,7 @@
       <item quantity="other">За % d часа</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"До <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Неодредено време"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Додека не го исклучите"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Собери"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"До следниот аларм во <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"До следниот аларм"</string>
diff --git a/core/res/res/values-ml-rIN/strings.xml b/core/res/res/values-ml-rIN/strings.xml
index d9286eb..959d0a7 100644
--- a/core/res/res/values-ml-rIN/strings.xml
+++ b/core/res/res/values-ml-rIN/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"നിയർ ഫീൽഡ് കമ്മ്യൂണിക്കേഷൻ (NFC) ടാഗുകളുമായും കാർഡുകളുമായും റീഡറുകളുമായുള്ള ആശയവിനിമയത്തിന് അപ്ലിക്കേഷനുകളെ അനുവദിക്കുന്നു."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"നിങ്ങളുടെ സ്‌ക്രീൻ ലോക്ക് പ്രവർത്തനരഹിതമാക്കുക"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"കീലോക്കും ഏതെങ്കിലും അനുബന്ധ പാസ്‌വേഡ് സുരക്ഷയും പ്രവർത്തനരഹിതമാക്കാൻ അപ്ലിക്കേഷനെ അനുവദിക്കുന്നു. ഉദാഹരണത്തിന്, ഒരു ഇൻകമിംഗ് കോൾ സ്വീകരിക്കുമ്പോൾ ഫോൺ കീലോക്ക് പ്രവർത്തനരഹിതമാക്കുന്നു, കോൾ അവസാനിക്കുമ്പോൾ കീലോക്ക് വീണ്ടും പ്രവർത്തനക്ഷമമാകുന്നു."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"ഫിംഗർപ്രിന്റ് ഹാർഡ്‌വെയർ നിയന്ത്രിക്കുക"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"ഉപയോഗിക്കാനായി വിരലടയാള ടെംപ്ലേറ്റുകൾ ചേർക്കാനും ഇല്ലാതാക്കാനുമുള്ള രീതികൾ അഭ്യർത്ഥിക്കാൻ അപ്ലിക്കേഷനെ അനുവദിക്കുന്നു."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"ഫിംഗർപ്രിന്റ് ഹാർഡ്‌വെയർ ഉപയോഗിക്കുക"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"പ്രാമാണീകരണത്തിനായി വിരലടയാളം ഉപയോഗിക്കാൻ അപ്ലിക്കേഷനെ അനുവദിക്കുന്നു"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"സമന്വയ ക്രമീകരണങ്ങൾ റീഡുചെയ്യുക"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"ഒരു അക്കൗണ്ടിനായി സമന്വയ ക്രമീകരണങ്ങൾ റീഡുചെയ്യാൻ അപ്ലിക്കേഷനെ അനുവദിക്കുന്നു. ഉദാഹരണത്തിന്, ആളുകൾ അപ്ലിക്കേഷൻ ഒരു അക്കൗണ്ടിൽ സമന്വയിപ്പിച്ചിട്ടുണ്ടോയെന്നത് നിർണ്ണയിക്കാൻ ഇതിനാകും."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"സമന്വയം ഓണാക്കുക, ഓഫാക്കുക ടോഗിൾചെയ്യുക"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"മറ്റ് അപ്ലിക്കേഷനുകൾ പോസ്റ്റുചെയ്‌തവയുൾപ്പെടെയുള്ള, അറിയിപ്പുകൾ വീണ്ടെടുക്കാനും പരിശോധിക്കാനും മായ്‌ക്കാനും അപ്ലിക്കേഷനുകളെ അനുവദിക്കുന്നു."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"ഒരു അറിയിപ്പ് ലിസണർ സേവനവുമായി ബന്ധിപ്പിക്കുക"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"ഒരു അറിയിപ്പ് ലിസണർ സേവനത്തിന്റെ ഉയർന്ന നിലയിലുള്ള ഇന്റർഫേസിലേക്ക് ബന്ധിപ്പിക്കാൻ ഹോൾഡറിനെ അനുവദിക്കുന്നു. സാധാരണ അപ്ലിക്കേഷനുകൾക്ക് ഒരിക്കലും ആവശ്യമില്ല."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"ഒരു ചൂസർ ടാർഗെറ്റ് സേവനത്തിലേക്ക് ബന്ധിപ്പിക്കുക"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"ഒരു ചൂസർ ടാർഗെറ്റ് സേവനത്തിന്റെ ഉയർന്ന ലെവൽ ഇന്റർഫേസിലേക്ക് ബന്ധിപ്പിക്കാൻ ഉടമയെ അനുവദിക്കുന്നു. സാധാരണ അപ്ലിക്കേഷനുകൾക്ക് ഒരിക്കലും ആവശ്യമില്ല."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"കണ്ടീഷൻ പ്രൊവൈഡർ സേവനവുമായി ബന്ധിപ്പിക്കുക"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"ഒരു കണ്ടീഷൻ പ്രൊവൈഡർ സേവനത്തിന്റെ ഉയർന്ന നിലയിലുള്ള ഇന്റർഫേസിലേക്ക് ബന്ധിപ്പിക്കാൻ ഹോൾഡറിനെ അനുവദിക്കുന്നു. സാധാരണ അപ്ലിക്കേഷനുകൾക്ക് ഒരിക്കലും ആവശ്യമില്ല."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"മീഡിയ റൂട്ട് സേവനവുമായി ബന്ധിപ്പിക്കുക"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"കാരിയർ സന്ദേശമയയ്‌ക്കൽ സേവനത്തിലേക്ക് ബന്ധിപ്പിക്കുക"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"ഒരു കാരിയർ സന്ദേശമയയ്‌ക്കൽ സേവനത്തിന്റെ ഉയർന്ന നിലയിലുള്ള ഇന്റർഫേസിലേക്ക് ബന്ധിപ്പിക്കാൻ ദാതാവിനെ അനുവദിക്കുന്നു. സാധാരണ അപ്ലിക്കേഷനുകൾക്ക് ഒരിക്കലും ആവശ്യമില്ല."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"പാസ്‌വേഡ് നിയമങ്ങൾ സജ്ജീകരിക്കുക"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"സ്‌ക്രീൻ-അൺലോക്ക് പാസ്‌വേഡുകളിൽ അനുവദിച്ചിരിക്കുന്ന ദൈർഘ്യവും പ്രതീകങ്ങളും നിയന്ത്രിക്കുക."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"സ്‌ക്രീൻ ലോക്ക് പാസ്‌വേഡുകളിലും PIN-കളിലും അനുവദിച്ചിരിക്കുന്ന ദൈർഘ്യവും പ്രതീകങ്ങളും നിയന്ത്രിക്കുക."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"സ്‌ക്രീൻ അൺലോക്ക് ശ്രമങ്ങൾ നിരീക്ഷിക്കുക"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"സ്ക്രീൻ അൺലോക്കുചെയ്യുമ്പോൾ തെറ്റായി ടൈപ്പുചെയ്‌ത പാസ്‌വേഡുകളുടെ എണ്ണം നിരീക്ഷിക്കുക, വളരെയധികം തെറ്റായ പാസ്‌വ്ഡുകൾ ടൈപ്പുചെയ്‌തിട്ടുണ്ടെങ്കിൽ ടാബ്‌ലെറ്റ് ലോക്കുചെയ്യുകയോ ടാബ്‌ലെറ്റിലെ എല്ലാ ഡാറ്റയും മായ്ക്കുകയോ ചെയ്യുക."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"സ്‌ക്രീൻ അൺലോക്കുചെയ്യുമ്പോൾ തെറ്റായി ടൈപ്പുചെയ്‌ത പാസ്‌വേഡുകളുടെ എണ്ണം നിരീക്ഷിക്കുകയും നിരവധി തവണ പാസ്‌വേഡ് തെറ്റായി നൽകിയിട്ടുണ്ടെങ്കിൽ ടിവി ലോക്കുചെയ്യുകയോ ടിവിയുടെ എല്ലാ വിവരവും മായ്‌ക്കുകയോ ചെയ്യുക."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"സ്ക്രീൻ അൺലോക്കുചെയ്യുമ്പോൾ തെറ്റായി ടൈപ്പുചെയ്‌ത പാസ്‌വേഡുകളുടെ എണ്ണം നിരീക്ഷിക്കുക, വളരെയധികം തെറ്റായ പാസ്‌വ്ഡുകൾ ടൈപ്പുചെയ്‌തിട്ടുണ്ടെങ്കിൽ ഫോൺ ലോക്കുചെയ്യുകയോ ഫോണിലെ എല്ലാ ഡാറ്റയും മായ്ക്കുകയോചെയ്യുക."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"സ്‌ക്രീൻ അൺലോക്ക് പാസ്‌വേഡ് മാറ്റുക"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"സ്‌ക്രീൻ അൺലോക്ക് പാസ്‌വേഡ് മാറ്റുക."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"സ്‌ക്രീൻ അൺലോക്കുചെയ്യുമ്പോൾ തെറ്റായി ടൈപ്പുചെയ്‌ത പാസ്‌വേഡുകളുടെ എണ്ണം നിരീക്ഷിക്കുകയും നിരവധി തവണ പാസ്‌വേഡ് ടൈപ്പുചെയ്‌തെങ്കിൽ ടാബ്‌ലെറ്റ് ലോക്കുചെയ്യുകയോ ഈ എല്ലാ ഉപയോക്തൃവിവരവും മായ്‌ക്കുകയോ ചെയ്യുക."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"സ്‌ക്രീൻ അൺലോക്കുചെയ്യുമ്പോൾ തെറ്റായി ടൈപ്പുചെയ്‌ത പാസ്‌വേഡുകളുടെ എണ്ണം നിരീക്ഷിക്കുകയും നിരവധി തവണ പാസ്‌വേഡ് ടൈപ്പുചെയ്‌തെങ്കിൽ ടിവി ലോക്കുചെയ്യുകയോ ഈ എല്ലാ ഉപയോക്തൃവിവരവും മായ്‌ക്കുകയോ ചെയ്യുക."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"സ്‌ക്രീൻ അൺലോക്കുചെയ്യുമ്പോൾ തെറ്റായി ടൈപ്പുചെയ്‌ത പാസ്‌വേഡുകളുടെ എണ്ണം നിരീക്ഷിക്കുകയും നിരവധി തവണ പാസ്‌വേഡ് ടൈപ്പുചെയ്‌തെങ്കിൽ ഫോൺ ലോക്കുചെയ്യുകയോ ഈ എല്ലാ ഉപയോക്തൃവിവരവും മായ്‌ക്കുകയോ ചെയ്യുക."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"സ്‌ക്രീൻ ലോക്ക് മാറ്റുക"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"സ്‌ക്രീൻ ലോക്ക് മാറ്റുക."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"സ്‌ക്രീൻ ലോക്കുചെയ്യുക"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"സ്‌ക്രീൻ ലോക്കുകൾ എങ്ങനെ വേണമെന്നും എപ്പോൾ വേണമെന്നും എന്നത് നിയന്ത്രിക്കുക"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"എല്ലാ ഡാറ്റയും മായ്ക്കുക"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"ഒരു ഫാക്‌ടറി ഡാറ്റ പുനഃസജ്ജീകരണം നടപ്പിലാക്കുന്നതിലൂടെ ടാബ്‌ലെറ്റിന്റെ ഡാറ്റ മുന്നറിയിപ്പില്ലാതെ മായ്‌ക്കുക."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"ഒരു ഫാക്‌ടറി വിവരം പുനഃസജ്ജീകരിച്ചുകൊണ്ട് മുന്നറിയിപ്പുകളില്ലാതെ ടിവിയുടെ വിവരം മായ്ക്കുക."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"ഒരു ഫാക്‌ടറി ഡാറ്റ പുനഃസജ്ജീകരണം നടപ്പിലാക്കുന്നതിലൂടെ ഫോണിന്റെ ഡാറ്റ മുന്നറിയിപ്പില്ലാതെ മായ്‌ക്കുക."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"ഉപയോക്തൃ ഡാറ്റ മായ്‌ക്കുക"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"മുന്നറിയിപ്പൊന്നും നൽകാതെ ഈ ടാബ്‌ലെറ്റിലെ ഈ ഉപയോക്താവിന്റെ ഡാറ്റ മായ്‌ക്കുക."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"മുന്നറിയിപ്പൊന്നും നൽകാതെ ഈ ടിവിയിലെ ഈ ഉപയോക്താവിന്റെ ഡാറ്റ മായ്‌ക്കുക."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"മുന്നറിയിപ്പൊന്നും നൽകാതെ ഈ ഫോണിലെ ഈ ഉപയോക്താവിന്റെ ഡാറ്റ മായ്‌ക്കുക."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"ഉപകരണ ഗ്ലോബൽ പ്രോക്‌സി സജ്ജീകരിക്കുക"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"നയം പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുമ്പോൾ ഉപകരണ ഗ്ലോബൽ പ്രോക്സി ഉപയോഗിക്കുന്നത് സജ്ജമാക്കുക. ആദ്യ ഉപകരണ അഡ്‌മിൻ മാത്രമേ ഫലപ്രദമായ ഗ്ലോബൽ പ്രോക്സി സജ്ജമാക്കൂ."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"ലോക്ക്-സ്‌ക്രീൻ പാസ്‌വേഡ് കാലഹരണപ്പെടൽ സജ്ജീകരിക്കുക"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"ലോക്ക്-സ്‌ക്രീൻ പാസ്‌വേഡുകൾ എത്ര ഇടവേളകളിൽ മാറ്റണമെന്ന് നിയന്ത്രിക്കുക"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"നയം പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുമ്പോൾ ഉപകരണ ഗ്ലോബൽ പ്രോക്‌സി ഉപയോഗിക്കുന്നത് സജ്ജമാക്കുക. ഉപകരണ ഉടമയ്‌ക്ക് മാത്രമേ ഗ്ലോബൽ പ്രോക്‌സി സജ്ജമാക്കാനാകൂ."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"സ്‌ക്രീൻ ലോക്ക് പാസ്‌വേഡ് കാലഹരണപ്പെടൽ സജ്ജമാക്കുക"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"സ്‌ക്രീൻ ലോക്ക് പാസ്‌വേഡ്, PIN അല്ലെങ്കിൽ പാറ്റേൺ എപ്പോഴൊക്കെ മാറ്റണമെന്നത് നിയന്ത്രിക്കുക."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"സംഭരണ എൻക്രിപ്‌ഷൻ സജ്ജീകരിക്കുക"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"സംഭരിച്ച അപ്ലിക്കേഷൻ ഡാറ്റ എൻക്രിപ്റ്റുചെയ്യേണ്ടതുണ്ട്."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"ക്യാമറകൾ പ്രവർത്തനരഹിതമാക്കുക"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"എല്ലാ ഉപകരണ ക്യാമറകളുടേയും ഉപയോഗം തടയുക."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"കീഗാർഡിലെ സവിശേഷതകൾ പ്രവർത്തനരഹിതമാക്കുക"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"കീഗാർഡിലെ ചില സവിശേഷതകളുടെ ഉപയോഗം തടയുക."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"സ്‌ക്രീൻ ലോക്കിന്റെ ഫീച്ചറുകൾ പ്രവർത്തനരഹിതമാക്കുക"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"സ്‌ക്രീൻ ലോക്കിലെ ചില ഫീച്ചറുകളുടെ ഉപയോഗം തടയുക."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"വീട്ടിലെ ഫോൺ"</item>
     <item msgid="869923650527136615">"മൊബൈൽ"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"പുതിയ അപ്ലിക്കേഷൻ ആരംഭിക്കരുത്."</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> ആരംഭിക്കുക"</string>
     <string name="new_app_description" msgid="1932143598371537340">"സംരക്ഷിക്കാതെ തന്നെ പഴയ അപ്ലിക്കേഷൻ നിർത്തുക."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"വാചകസന്ദേശത്തിനായി ഒരു പ്രവർത്തനം തിരഞ്ഞെടുക്കുക"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"റിംഗർ വോളിയം"</string>
     <string name="volume_music" msgid="5421651157138628171">"മീഡിയ വോളിയം"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">ഒരു സെക്കൻഡിനുള്ളിൽ വീണ്ടും ശ്രമിക്കുക</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"പിന്നീട് വീണ്ടും ശ്രമിക്കുക"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"പൂർണ്ണസ്‌ക്രീനിൽനിന്നും പുറത്തുകടക്കുന്നതിന് മുകളിൽ നിന്നും താഴേക്ക് സ്വൈപ്പുചെയ്യുക."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"പൂർണ്ണ സ്‌ക്രീനിൽ കാണുന്നു"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"അവസാനിപ്പിക്കാൻ, മുകളിൽ നിന്ന് താഴോട്ട് സ്വൈപ്പുചെയ്യുക."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"മനസ്സിലായി"</string>
     <string name="done_label" msgid="2093726099505892398">"പൂർത്തിയാക്കി"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"ചാക്രികമായി മണിക്കൂറുകൾ ദൃശ്യമാകുന്ന സ്ലൈഡർ"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"ചാക്രികമായി മിനിറ്റുകൾ ദൃശ്യമാകുന്ന സ്ലൈഡർ"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"ഔദ്യോഗികം <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"ഈ സ്‌ക്രീൻ അൺപിൻ ചെയ്യാൻ \'മടങ്ങുക\', \'കാഴ്ച\' എന്നിവ ഒരേ സമയം സ്‌പർശിച്ച് പിടിക്കുക."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"ഈ സ്‌ക്രീൻ അൺപിൻ ചെയ്യാൻ, കാഴ്ച സ്‌പർശിച്ച് പിടിക്കുക."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"സ്ക്രീൻ പിൻ ചെയ്തിരിക്കുന്നു. നിങ്ങളുടെ ഓർഗനൈസേഷൻ അൺപിൻ ചെയ്യൽ അനുവദിക്കുന്നില്ല."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"സ്ക്രീൻ പിൻ ചെയ്തു"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"സ്ക്രീൻ അൺപിൻ ചെയ്തു"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"അൺപിൻ ചെയ്യുന്നതിനുമുമ്പ് പിൻ ആവശ്യപ്പെടുക"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">ഒരു മണിക്കൂർ സമയത്തേക്ക്</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> വരെ"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"അവ്യക്തം"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"നിങ്ങൾ ഇത് ഓ‌ഫാക്കും വരെ"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"ചുരുക്കുക"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>-നുള്ള അടുത്ത അലാറം വരെ"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"അടുത്ത അലാറം വരെ"</string>
diff --git a/core/res/res/values-mn-rMN/strings.xml b/core/res/res/values-mn-rMN/strings.xml
index 017cf95..ba53123 100644
--- a/core/res/res/values-mn-rMN/strings.xml
+++ b/core/res/res/values-mn-rMN/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Апп нь Ойролцоо Талбарын Холболт(NFC) таг, карт, болон уншигчтай холбогдох боломжтой."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"дэлгэцний түгжээг идэвхгүй болгох"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Апп нь түгжээ болон бусад холбоотой нууц үгийн аюулгүй байдлыг идэвхгүй болгох боломжтой. Жишээ нь бол утас нь дуудлага ирэх үед түгжээг идэвхгүй болгох ба дуудлага дуусахад буцаан идэвхтэй болгодог."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"хурууны хээний програм хангамжийг удирдах"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Хурууны хээний загварыг нэмэх эсвэл усгтах үйлдлийг хийх зөвшөөрлийг програмд олгодог."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"хурууны хээний програм хангамжийг ашиглах"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Баталгаажуулалт хийх зорилгоор хурууны хээний програм хамгамжийг ашиглах зөвшөөрлийг програмд олгодог"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"синк тохиргоог унших"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Апп нь акаунтын синк тохиргоог унших боломжтой. Жишээ нь энэ нь Хүмүүс апп акаунттай синк хийгдсэн эсэхийг тодорхойлох боломжтой."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"синкийг унтрааж асаах тохиргоо"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Апп нь бусад апп-уудын илгээсэн мэдэгдлүүдийг дуудах, шалгах, болон цэвэрлэх боломжтой."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"мэдэгдэл сонсогч үйлчилгээтэй холбох"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Эзэмшигч нь мэдэгдэл сонсох үйлчилгээний дээд-төвшиний интерфейстэй холбох боломжтой. Энгийн апп-д шаардлагагүй."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"Сонгогчийн зорилтот үйлчилгээнд холбогдох"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Эзэмшигчид сонгогчийн зорилтот үйлчилгээний дээд түвшний интерфэйс рүү холбогдох боломжийг олгоно. Энэ нь энгийн апп-уудад огт шаардлагагүй."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"нөхцөл нийлүүлэгч үйлчилгээнд холбох"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Эзэмшигчид нөхцөл нийлүүлэгч үйлчилгээний дээд-түвшний интерфейстэй холбох боломж олгоно. Энгийн апп-уудад хэзээ ч ашиглагдахгүй."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"медиа маршрут үйлчилгээтэй холбох"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"зөөгч зурвасын үйлчилгээнд холбох"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Эзэмшигчид зөөгч зурвасын үйлчилгээний түвшний интерфэйст холбогдохыг зөвшөөрдөг. Энгийн апп-д шаардлагагүй."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Нууц үгний дүрмийг тохируулах"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Дэлгэц түгжих нууц үгэнд зөвшөөрөгдсөн тэмдэгт болон уртыг удирдах"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Дэлгэц түгжих нууц үг болон ПИН кодны урт болон нийт тэмдэгтийн уртыг хянах."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Дэлгэц тайлах оролдлогыг хянах"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Дэлгэц түгжигдсэн үед нууц үг буруу оруулалтын тоог хянах ба хэрэв хэт олон удаа нууц үгийг буруу оруулбал таблетыг түгжих болон таблетын бүх датаг арилгана"</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Дэлгэцийн түгжээг тайлахад оруулсан буруу нууц үгийн давтамжийг хянаад телевиз-г түгж эсвэл буруу нууц үг хэт олон удаа орсон тохиолдолд телевиз-ийн бүх датаг устга."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Дэлгэц түгжигдсэн үед нууц үг буруу оруулалтын тоог хянах, ба хэрэв хэт олон удаа нууц үгийг буруу оруулбал утсыг түгжих болон утасны бүх датаг арилгана"</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Дэлгэц түгжих нууц үгийг солих"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Дэлгэц түгжих нууц үгийг солих"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Дэлгэцийн түгжээг тайлахад оруулсан буруу нууц үгийн давтамжийг хянаж таблетыг түгжих эсвэл буруу нууц үгийг хэт олон удаа оруулсан тохиолдолд энэ хэрэглэгчийн мэдээллийг устгах."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Дэлгэцийн түгжээг тайлахад оруулсан буруу нууц үгийн давтамжийг хянаж телевизийг түгжих эсвэл буруу нууц үгийг хэт олон удаа оруулсан тохиолдолд энэ хэрэглэгчийн мэдээллийг устгах."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Дэлгэцийн түгжээг тайлахад оруулсан буруу нууц үгийн давтамжийг хянаж гар утсыг түгжих эсвэл буруу нууц үгийг хэт олон удаа оруулсан тохиолдолд энэ хэрэглэгчийн мэдээллийг устгах."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Дэлгэцийн түгжээг өөрчлөх"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Дэлгэцийн түгжээг өөрчлөх."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Дэлгэц түгжих"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Дэлгэц хэзээ яаж түгжихийг удирдах"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Бүх датаг арилгах"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Үйлдвэрийн дата утгыг өгсөнөөр таблетын дата шууд арилгагдана."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Анхааруулга өгөхгүйгээр үйлдвэрээс хийгдсэн тохиргоонд эргэн шилжих байдлаар телевиз-ийн датаг устга."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Үйлдвэрийн дата утгыг өгсөнөөр утасны дата шууд арилгагдана."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Хэрэглэгчийн мэдээллийг арилгах"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Анхааруулга өгөхгүйгээр энэ хэрэглэгчийн энэ таблет дээрх мэдээллийг устгах."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Анхааруулга өгөхгүйгээр энэ хэрэглэгчийн энэ телевизор дээрх мэдээллийг устгах."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Анхааруулга өгөхгүйгээр энэ хэрэглэгчийн энэ гар утсан дээрх мэдээллийг устгах."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Төхөрөөмжийн глобал проксиг тохируулах"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Бодлого идэвхтэй үед төхөөрөмжийн глобал проксиг ашиглахаар тохируулсан. Зөвхөн эхний төхөөрөмжийн админ л үр дүнтэй глобал проксиг тохируулна."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Дэлгэц түгжих нууц үгний хүчинтэй хугацааг тохируулах"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Дэлгэцний түгжих нууц үг хэр давтамжтай солигдохыг удирдах."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Бодлогыг ашиглах боломжтой үед төхөөрөмжийн олон улсын эрхийг тохируулах. Зөвхөн төхөөрөмж эзэмшигч нь олон улсын эрхийг тохируулах боломжтой."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Дэлгэц түгжих нууц үгний дуусах хугацааг тохируулах"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Дэлгэц түгжих нууц үг, ПИН эсвэл нууц үгний хэвийг хэр тогтмол хугацаанд сольж байх тохируулгыг өөрчлөх."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Сангийн шифрлэхийг тохируулах"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Хадгалагдсан апп дата шифрлэгдэх шаардлагатай"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Камер идэвхгүй болгох"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Төхөөрөмжийн бүх камерийг ашиглахгүй."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Түлхүүр хамгаалтын функцийг унтраах"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Түлхүүр хамгаалалтын зарим функцийг ашиглахыг хориглох."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Дэлгэцийн түгжээн дээрх үйлдлийг идэвхгүй болгох"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Дэлгэц түгжих зарим үйлдлийг ашиглахаас урьдчилан хамгаалах."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Гэрийн"</item>
     <item msgid="869923650527136615">"Мобайл"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Шинэ апп-г эхлүүлж болохгүй."</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> эхлүүлэх"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Хуучин апп-г хадгалахгүйгээр зогсооно уу."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Текст илгээх үйлдлийг сонгох"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Хонхны аяны хэмжээ"</string>
     <string name="volume_music" msgid="5421651157138628171">"Медиа дууны хэмжээ"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">1 секундын дараа дахин оролдоно уу</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Дараа дахин оролдоно уу"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Бүтэн дэлгэцээс гарахын тулд дээрээс нь доош шудрана уу."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Бүтэн дэлгэцээр үзэж байна"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Гарахаар бол дээрээс нь доош нь чирнэ үү."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Ойлголоо"</string>
     <string name="done_label" msgid="2093726099505892398">"Дууссан"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Цаг гүйлгэгч"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Минут гүйлгэгч"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Ажлын <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Энэ дэлгэцийг цуцлахын тулд Буцах болон Тойм-д зэрэг хүрч барина."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Энэ дэлгэцийг цуцлахын тулд Тойм харагдацанд хүрч барина."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Дэлгэцийг тогтоосон. Дэлгэц суллахыг таны байгууллага зөвшөөрөөгүй."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Дэлгэцийг тогтоосон"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Дэлгэцийг сулласан"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Тогтоосныг суллахаас өмнө PIN асуух"</string>
@@ -1804,7 +1828,7 @@
     <!-- String.format failed for translation -->
     <!-- no translation found for zen_mode_duration_hours (3938821308277433854) -->
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> хүртэл"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Тодорхойгүй"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Таныг унтраах хүртэл"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Хумих"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> дахь дараагийн анхааруулга хүртэл"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Дараагийн анхааруулга хүртэл"</string>
diff --git a/core/res/res/values-mr-rIN/strings.xml b/core/res/res/values-mr-rIN/strings.xml
index 7ce0974..cea3828 100644
--- a/core/res/res/values-mr-rIN/strings.xml
+++ b/core/res/res/values-mr-rIN/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"फील्ड जवळील संप्रेषण (NFC) टॅग, कार्ड आणि वाचक यांच्यासह संप्रेषण करण्यासाठी अॅप ला अनुमती देते."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"आपले स्क्रीन लॉक अक्षम करा"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"कीलॉक आणि कोणतीही संबद्ध संकेतशब्द सुरक्षितता अक्षम करण्यासाठी अॅप ला अनुमती देते. उदाहरणार्थ, येणारा फोन कॉल प्राप्त करताना फोन कीलॉक अक्षम करतो, नंतर जेव्हा कॉल समाप्त होतो तेव्हा तो कीलॉक पुन्हा-सक्षम करतो."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"फिंगरप्रिंट हार्डवेअर व्यवस्थापित करा"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"वापर करण्याकरिता फिंगरप्रिंट टेम्पलेट जोडण्यासाठी आणि हटविण्यासाठी पद्धती रद्द करण्यास अॅपला अनुमती देते."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"फिंगरप्रिंट हार्डवेअर वापरा"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"प्रमाणीकरणाकरिता फिंगरप्रिंट हार्डवेअरचा वापर करण्यासाठी अॅपला अनुमती देते"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"संकालन सेटिंग्‍ज वाचा"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"खात्याच्या संकालन सेटिंग्ज वाचण्यासाठी अॅप ला अनुमती देते. उदाहरणार्थ, हे खात्यासह लोकांचा अॅप संकालित केला आहे किंवा नाही हे निर्धारित करू शकते."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"संकालन चालू आणि बंद करा टॉगल करा"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"अनुप्रयोगाला इतर अ‍ॅप्‍सद्वारे पोस्‍ट केलेल्‍यांसह पुनर्प्राप्त करण्‍याची, तपासण्‍याची आणि सूचना साफ करण्‍याची अनुमती देते."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"सूचना ऐकणार्‍या सेवेशी प्रतिबद्ध"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"होल्‍डरला सूचना ऐकणार्‍या सेवेच्‍या शीर्ष-दर्जाच्या इंटरफेसशी प्रतिबद्ध करण्‍याची अनुमती देते. सामान्‍य अ‍ॅप्‍ससाठी कधीही आवश्‍यक नसावे."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"एका निवडकर्ता लक्ष्य सेवेसाठी प्रतिबद्ध करा"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"धारकास निवडकर्ता लक्ष्य सेवेच्या शीर्ष-स्‍तराच्या इंटरफेसशी प्रतिबद्ध करण्‍यास अनुमती देते. सामान्‍य अ‍ॅप्‍सकरिता कधीही आवश्‍यक नसते."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"एका अट प्रदाता सेवेवर प्रतिबद्ध करा"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"स्थिती प्रदाता सेवेचा शीर्ष-स्तर इंटरफेस प्रतिबद्ध करण्यासाठी होल्डरला अनुमती देते. सामान्य अॅप्सकरिता कधीही आवश्यक नसते."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"मीडिया मार्ग सेवेशी प्रतिबद्ध व्हा"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"एका वाहक संदेशन सेवेसाठी प्रतिबद्ध"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"वाहक संदेशन सेवेचा शीर्ष-स्तर इंटरफेस प्रतिबद्ध करण्यासाठी होल्डरला अनुमती देते. सामान्‍य अ‍ॅप्‍सकरिता कधीही आवश्‍यक नसते."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"संकेतशब्द नियम सेट करा"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"स्क्रीन-अनलॉक संकेतशब्दांमध्ये अनुमती दिलेली लांबी आणि वर्ण नियंत्रित करा."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"स्क्रीन लॉक संकेतशब्द आणि पिन मध्ये अनुमती दिलेली लांबी आणि वर्ण नियंत्रित करा."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"स्क्रीन-अनलॉक प्रयत्नांचे परीक्षण करा"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"टाइप केलेल्या अयोग्य संकेतशब्दांच्या अंकांचे परीक्षण करा. स्क्रीन अनलॉक केली जाते, तेव्हा टॅब्लेट लॉक करा किंवा बरेच संकेतशब्द टाइप केले असल्यास टॅब्लेटचा सर्व डेटा मिटवा."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"स्क्रीन अनलॉक करताना टाइप केलेल्या चुकीच्या संकेतशब्दांच्या संख्येचे परीक्षण करा आणि टीव्ही लॉक करा किंवा अनेक चुकीचे संकेतशब्द टाइप केले असल्यास टीव्हीचा सर्व डेटा मिटवा."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"टाइप केलेल्या अयोग्य संकेतशब्दांच्या अंकांचे परीक्षण करा. स्क्रीन अनलॉक केली जाते, तेव्हा फोन लॉक करा किंवा बरेच संकेतशब्द टाइप केले असल्यास फोनचा सर्व डेटा मिटवा."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"स्क्रीन-अनलॉक संकेतशब्द बदला"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"स्क्रीन-अनलॉक संकेतशब्द बदला."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"स्क्रीन अनलॉक करताना टाइप केलेल्या चुकीच्या संकेतशब्दांच्या संख्येचे परीक्षण करा आणि टॅब्लेट लॉक करा किंवा अनेक चुकीचे संकेतशब्द टाइप केले असल्यास या वापरकर्त्याचा सर्व डेटा मिटवा."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"स्क्रीन अनलॉक करताना टाइप केलेल्या चुकीच्या संकेतशब्दांच्या संख्येचे परीक्षण करा आणि टीव्ही लॉक करा किंवा अनेक चुकीचे संकेतशब्द टाइप केले असल्यास या वापरकर्त्याचा सर्व डेटा मिटवा."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"टाइप केलेल्या अयोग्य संकेतशब्दांच्या अंकांचे परीक्षण करा. स्क्रीन अनलॉक केली जाते, तेव्हा फोन लॉक करा किंवा बरेच संकेतशब्द टाइप केले असल्यास या वापरकर्त्याचा सर्व डेटा मिटवा."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"स्क्रीन लॉक बदला"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"स्क्रीन लॉक बदला."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"स्क्रीन लॉक करा"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"स्क्रीन कशी आणि केव्हा लॉक होते ते नियंत्रित करा."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"सर्व डेटा मिटवा"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"फॅक्टरी डेटा रीसेट करून चेतावणीशिवाय टॅब्लेटचा डेटा मिटवा."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"फॅक्टरी डेटा रीसेट करून चेतावणी न देता टीव्हीचा डेटा मिटवा."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"फॅक्टरी डेटा रीसेट करून चेतावणीशिवाय फोनचा डेटा मिटवा."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"वापरकर्ता डेटा मिटवा"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"कोणत्याही चेतावणी शिवाय या वापरकर्त्याचा या टॅब्लेटवरील डेटा मिटवा."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"कोणत्याही चेतावणी शिवाय या वापरकर्त्याचा या टीव्ही वरील डेटा मिटवा."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"कोणत्याही चेतावणी शिवाय या वापरकर्त्याचा या फोनवरील डेटा मिटवा."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"डिव्हाइस समग्र प्रॉक्सी सेट करा"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"धोरण सक्षम असताना वापरण्यासाठी डिव्हाइस समग्र प्रॉक्सी सेट करा. फक्त प्रथम डिव्हाइस प्रशासक परिणामकारक समग्र प्रॉक्सी सेट करते."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"लॉक-स्क्रीन संकेतशब्द कालबाह्यता सेट करा"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"लॉक-स्क्रीन संकेतशब्द किती वारंवार बदलणे आवश्यक आहे ते नियंत्रित करा."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"धोरण सक्षम असताना वापरण्यासाठी डिव्हाइस समग्र प्रॉक्सी सेट करा. फक्त डिव्हाइस मालक समग्र प्रॉक्सी सेट करु शकतो."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"स्क्रीन लॉक संकेतशब्द कालबाह्यता सेट करा"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"लॉक-स्क्रीन संकेतशब्द किती वारंवार बदलणे आवश्यक आहे ते बदला."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"संचयन कूटबद्धीकरण सेट करा"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"संचयित अॅप डेटा कूटबद्ध केला जाणे आवश्यक आहे."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"कॅमेरे अक्षम करा"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"सर्व डिव्हाइस कॅमेर्‍यांचा वापर प्रतिबंधित करा."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"कीगार्डमधील वैशिष्ट्ये अक्षम करा"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"कीगार्डमधील काही वैशिष्ट्यांचा वापर प्रतिबंधित करा."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"स्क्रीन लॉकची वैशिष्ट्ये अक्षम करा"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"स्क्रीन लॉकच्या काही वैशिष्ट्यांचा वापर प्रतिबंधित करा."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"घर"</item>
     <item msgid="869923650527136615">"मोबाइल"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"नवीन अॅप प्रारंभ करू नका."</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> प्रारंभ करा"</string>
     <string name="new_app_description" msgid="1932143598371537340">"जतन न करता जुना अॅप थांबवा."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"मजकुरासाठी क्रिया निवडा"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"रिंगर व्हॉल्यूम"</string>
     <string name="volume_music" msgid="5421651157138628171">"मीडिया व्हॉल्यूम"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"नंतर पुन्हा प्रयत्न करा"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"पूर्ण स्क्रीनमधून निर्गमन करण्‍यासाठी शीर्षावरून खाली स्‍वाइप करा."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"पूर्ण स्क्रीन पाहत आहात"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"बाहेर पडण्यासाठी, वरून खाली स्वाइप करा."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"समजले"</string>
     <string name="done_label" msgid="2093726099505892398">"पूर्ण झाले"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"तास परिपत्रक स्लायडर"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"मिनिटे परिपत्रक स्लायडर"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"कार्य <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"ही स्क्रीन अनपिन करण्यासाठी, एकाच वेळी परत आणि विहंगावलोकनास स्पर्श करा आणि धरून ठेवा."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"ही स्क्रीन अनपिन करण्यासाठी, विहंगावलोकनास स्पर्श करा आणि धरून ठेवा."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"स्क्रीन पिन केली आहे. आपल्या संस्थेद्वारे अनपिन करण्यास अनुमती नाही."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"स्क्रीन पिन केली"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"स्क्रीन अनपिन केली"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"अनपिन करण्‍यापूर्वी पिन साठी विचारा"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="other">%d तासांसाठी</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> पर्यंत"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"अनिश्‍चितपणे"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"आपण हे बंद करेपर्यंत"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"संक्षिप्त करा"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> वाजता पुढील अलार्मपर्यंत"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"पुढील अलार्मपर्यंत"</string>
diff --git a/core/res/res/values-ms-rMY/strings.xml b/core/res/res/values-ms-rMY/strings.xml
index 31f5fab..255d2e8 100644
--- a/core/res/res/values-ms-rMY/strings.xml
+++ b/core/res/res/values-ms-rMY/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Membenarkan apl berkomunikasi dengan teg, kad dan pembaca Komunikasi Medan Dekat (NFC)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"lumpuhkan kunci skrin anda"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Membenarkan apl melumpuhkan kunci kekunci dan sebarang keselamatan kata laluan yang berkaitan. Sebagai contoh, telefon melumpuhkan kunci kekunci apabila menerima panggilan telefon masuk kemudian mendayakan semula kunci kekunci apabila panggilan selesai."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"urus perkakasan cap jari"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Membenarkan apl menggunakan kaedah untuk menambahkan dan memadamkan templat cap jari untuk digunakan."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"gunakan perkakasan cap jari"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Membenarkan apl menggunakan perkakasan cap jari untuk pengesahan"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"membaca tetapan penyegerakan"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Membenarkan apl membaca tetapan segerak untuk akaun. Sebagai contoh, ini boleh menentukan sama ada apl Orang disegerakkan dengan akaun."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"togol segerak hidup dan mati"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Membenarkan apl untuk mendapatkan semula, memeriksa dan memadam bersih pemberitahuan, termasuk yang disiarkan oleh apl lain."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"ikat kepada perkhidmatan pendengar pemberitahuan"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Membenarkan pemegang terikat dengan antara muka peringkat tertinggi bagi perkhidmatan pendengar pemberitahuan. Tidak sekali-kali diperlukan untuk apl biasa."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"terikat kepada perkhidmatan sasaran pemilih"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Membenarkan pemegang terikat dengan antara muka peringkat tertinggi bagi perkhidmatan sasaran pemilih. Tidak sekali-kali diperlukan untuk apl biasa."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"terikat kepada perkhidmatan pembekal keadaan"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Membenarkan pemegang terikat dengan antara muka peringkat tertinggi bagi perkhidmatan pembekal keadaan. Tidak sekali-kali diperlukan untuk apl biasa."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"terikat kepada perkhidmatan laluan media"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"terikat kepada perkhidmatan pemesejan pembawa"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Membenarkan pemegang terikat dengan antara muka peringkat tertinggi perkhidmatan pemesejan pembawa. Tidak sekali-kali diperlukan untuk apl biasa."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Tetapkan peraturan kata laluan"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Mengawal panjang dan aksara yang dibenarkan dalam kata laluan buka kunci skrin."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Mengawal panjang dan aksara yang dibenarkan dalam kata laluan  dan PIN kunci skrin."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Memantau percubaan buka kunci skrin"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Memantau bilangan kata laluan yang tersilap ditaip apabila membuka skrin, dan mengunci tablet atau memadam semua data tablet jika terlalu banyak kesilapan menaip kata laluan."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Pantau bilangan kata laluan tidak betul yang ditaip semasa membuka kunci skrin dan kunci TV atau padam semua data TV jika terlalu banyak kata laluan yang tidak betul ditaip."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Memantau bilangan kata laluan salah yang ditaip semasa membuka skrin, dan mengunci telefon atau memadam semua data telefon jika terlalu banyak kata laluan salah ditaip."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Tukar kata laluan buka kunci skrin"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Tukar kata laluan buka kunci skrin."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Pantau bilangan kata laluan tidak betul yang ditaip semasa membuka kunci skrin dan kunci tablet atau padam semua data pengguna ini jika terlalu banyak kata laluan yang tidak betul ditaip."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Pantau bilangan kata laluan tidak betul yang ditaip semasa membuka kunci skrin dan kunci TV atau padam semua data pengguna ini jika terlalu banyak kata laluan yang tidak betul ditaip."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Pantau bilangan kata laluan tidak betul yang ditaip semasa membuka kunci skrin dan kunci telefon atau padam semua data pengguna ini jika terlalu banyak kata laluan yang tidak betul ditaip."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Tukar kunci skrin"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Tukar kunci skrin."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Kunci skrin"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Mengawal cara dan bila skrin dikunci."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Padamkan semua data"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Memadamkan data tablet tanpa amaran dengan melakukan tetapan semula data kilang."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Padam data TV tanpa amaran dengan melakukan tetapan semula data kilang."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Memadamkan data telefon tanpa amaran dengan melakukan tetapan semula data kilang."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Padam data pengguna"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Padam data pengguna ini pada tablet ini tanpa amaran."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Padam data pengguna ini pada TV ini tanpa amaran."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Padam data pengguna ini pada telefon ini tanpa amaran."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Tetapkan proksi global peranti"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Menetapkan proksi global peranti untuk digunakan sementara dasar didayakan. Hanya pentadbir peranti pertama boleh menetapkan proksi global dengan berkesan."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Ttpkn tmt tmph k/lln kci skrin"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Kawal kekerapan penukaran kata laluan kunci skrin."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Tetapkan proksi global peranti untuk digunakan sementara dasar didayakan. Hanya pemilik peranti boleh menetapkan proksi global."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Tetapkan tempoh tamat kata laluan kunci skrin"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Tukar kekerapan penukaran kata laluan kunci, PIN atau corak kunci skrin."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Tetapkan penyulitan storan"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Memerlukan data apl yang disimpan itu disulitkan."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Lumpuhkan kamera"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Menghalang penggunaan semua kamera peranti."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Lumpuh ciri pelindung kekunci"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Cegah penggunaan beberapa ciri dalam pelindung kekunci."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Lumpuhkan ciri kunci skrin"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Cegah penggunaan beberapa ciri kunci skrin."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Laman Utama"</item>
     <item msgid="869923650527136615">"Mudah alih"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Jangan mulakan apl baharu."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Mulakan <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Hentikan apl lama tanpa menyimpan."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Pilih tindakan untuk teks"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Kelantangan pendering"</string>
     <string name="volume_music" msgid="5421651157138628171">"Kelantangan media"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Cuba lagi dalam masa 1 saat</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Cuba sebentar lagi"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Leret ke bawah dari atas untuk keluar dari skrin penuh."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Melihat skrin penuh"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Untuk keluar, leret dari atas ke bawah."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Faham"</string>
     <string name="done_label" msgid="2093726099505892398">"Selesai"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Penggelangsar bulatan jam"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Penggelangsar bulatan minit"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Kerja <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Untuk menyahsemat skrin ini, sentuh dan tahan Kembali serta Ikhtisar pada masa yang sama."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Untuk menyahsemat skrin ini, sentuh dan tahan Ikhtisar."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Skrin disemat. Menyahsemat tidak dibenarkan oleh organisasi anda."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Skrin disemat"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Skrin dinyahsemat"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Minta PIN sebelum menyahsemat"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Selama satu jam</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Sehingga <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Selama-lamanya"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Sehingga anda matikan"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Runtuhkan"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Sehingga penggera seterusnya pada <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Sehingga penggera seterusnya"</string>
diff --git a/core/res/res/values-my-rMM/strings.xml b/core/res/res/values-my-rMM/strings.xml
index ef52827..bf4e321 100644
--- a/core/res/res/values-my-rMM/strings.xml
+++ b/core/res/res/values-my-rMM/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"appအား တာတို စက်ကွင်း ဆက်သွယ်ရေး (NFC) တဲဂ်များ၊ ကဒ်များ နှင့် ဖတ်ကြသူတို့နှင့် ဆက်သွယ်ပြောဆိုခွင့် ပြုသည်။"</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"ဖန်သားပြင် သော့ချခြင်းအား မလုပ်နိုင်အောင် ပိတ်ရန်"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"အပလီကေးရှင်းအား သော့ချခြင်းနှင့် သက်ဆိုင်ရာ စကားဝှက်သတ်မှတ်ခြင်းများအား မသုံးနိုင်အောင် ပိတ်ခြင်းကို ခွင့်ပြုရန်။ ဥပမာ ဖုန်းလာလျှင် သော့ပိတ်ခြင်း ပယ်ဖျက်ခြင်း၊ ဖုန်းပြောပြီးလျှင် သော့ကို အလိုအလျောက် ပြန်ပိတ်ခြင်း"</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"လက်ဗွေရာပစ္စည်းကို စီမံမည်"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"အသုံးပြုရန်အတွက် လက်ဗွေရာပုံစံများကို ပေါင်းထည့်ရန် သို့မဟုတ် ဖျက်ရန်နည်းလမ်းများကို အပ်ဖ်အား အသုံးပြုခွင့်ပြုသည်။"</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"လက်ဗွေရာပစ္စည်းကို အသုံးပြုမည်"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"စစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းအတွက် လက်ဗွေရာပစ္စည်းကို အသုံးပြုရန် အပ်ဖ်အားခွင့်ပြုသည်။"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"ထပ်တူပြုအဆင်အပြင်အားဖတ်ခြင်း"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"အပလီကေးရှင်းအား အကောင့်တစ်ခုအတွက် ထပ်တူညီအောင် လုပ်ဆောင်မှု ဆက်တင်အား ကြည့်ခွင့် ပြုပါ။ ဥပမာ People app က အကောင့်တစ်ခုနဲ့ ထပ်တူညီအောင် လုပ်ရန် ဆက်သွယ်ထားမှု ရှိမရှိ သိရှိနိုင်ခြင်း"</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"ထပ်တူညီအောင် လုပ်ခြင်းအား ပြုနိုင်၊ မပြုနိုင် အပြောင်းအလဲလုပ်ခြင်း"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"အပလီကေးရှင်းကို အကြောင်းကြားချက်များအား ထုတ်လုပ်ရန်၊ လေ့လာရန်၊ ဖျက်ပစ်ရန် ခွင့်ပြုခြင်း။ တခြား အပလီကေးရှင်းများမှ သတိပေးချက်များလည်း ပါဝင်ပါသည်"</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"သတိပေးချက် နားထောင်ခြင်း ဆားဗစ် နှင့် ပူးပေါင်းခြင်း"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"ဖုန်းကိုင်ထားသူနှင့် အကြောင်းကြားချက် နားစွင့်သော ဆားဗစ်မှ ထိပ်ပိုင်းအင်တာဖေ့စ် ကို ပူးပေါင်းခွင့်ပေးခြင်း။ ပုံမှန် အပလီကေးရှင်းများမှာ မလိုအပ်ပါ"</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"ရွေးချယ်သူဦးစားပေး ဝန်ဆောင်မှုနှင့် ပူးပေါင်းခြင်း"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"လက်ဝယ်ရှိသူအား ရွေးချယ်သူဦးစားပေး ဝန်ဆောင်မှု၏ ထိပ်သီးအဆင့် အင်တာဖေ့စ်သို့ ချိတ်တွဲခွင့်ပြုပါ။ သာမန် app များ အတွက် မည်သည့်အခါမျှ မလိုအပ်ပါ။"</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"အခြေအနေ စီမံပေးရေး ဝန်ဆောင်မှု တစ်ခုဆီသို့ ချိတ်တွဲခြင်း"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"စွဲကိုင်ထားသူအား အခြေအနေကို စီမံပေးသူ၏ ထိပ်သီး အဆင့် အင်တာဖေ့စ်သို့ ချိတ်တွဲခွင့်ကို ပေးသည်။ သာမန် appများ အတွက် ဘယ်တော့မှ မလိုအပ်နိုင်ပါ။"</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"မီဒီယာ လမ်းကြောင်း ဝန်ဆောင်မှုသို့ တွဲချည်ရန်"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"စာပို့စာယူ ဆက်သွယ်ရေးဝန်ဆောင်မှုတစ်ခုအား ပူးပေါင်းခွင့်ပြုရန်"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"စာပို့စာယူဆက်သွယ်ရေးဝန်ဆောင်မှုတစ်ခု၏ ထိပ်ဆုံးရှိအင်တာဖေ့စ်ဖြင့် ပူးပေါင်းရန် ပိုင်ရှင်အားခွင့်ပြုပါ။ ပုံမှန် app များအတွက် မလိုအပ်ပါ။"</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"စကားဝှက်စည်းမျဥ်းကိုသတ်မှတ်ရန်"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"မျက်နှာပြင် သော့ဖွင့်ရန် လိုအပ်သော စကားလုံးအရေအတွက်နှင့် အမျိုးအစားအား ထိန်းချုပ်ရန်"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"မျက်နှာပြင်သော့ခတ်သည့် စကားဝှက်များနှင့် PINများရှိ ခွင့်ပြုထားသည့် စာလုံးအရေအတွက်နှင့် အက္ခရာများအား ထိန်းချုပ်ရန်။"</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"မော်နီတာမျက်နှာပြင်ဖွင့်ရန် ကြိုးစားခွင့်များ"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"မျက်နှာပြင်ကို သော့ဖွင့်ရန် အတွက် စကားဝှက် မမှန်မကန် ထည့်သွင်းမှု အရေအတွက်ကို စောင့်ကြည့်လျက်၊ စကားဝှက် ရိုက်ထည့်မှု သိပ်များနေလျှင် တက်ဘလက်ကို သော့ခတ်ရန် သို့မဟုတ် တက်ဘလက် ဒေတာ အားလုံးကို ဖျက်ပစ်ရန်။"</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"ဖန်မျက်နှာပြင်အား သော့ဖွင့်စဉ် လျှို့ဝှက်ကုဒ်အမှားများ ရိုက်သွင်းမှုအား စောင့်ကြည့်ရန်နှင့်၊ လျှို့ဝှက်ကုဒ်အမှားများ များစွာ ရိုက်သွင်းပါက တီဗွီအား သော့ချခြင်း သို့မဟုတ် တီဗွီ၏ အချက်အလက်များအား ဖျက်ပစ်ခြင်းများ ပြုရန်။"</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"မျက်နှာပြင်ကို သော့ဖွင့်ရန် အတွက် စကားဝှက် မမှန်မကန် ထည့်သွင်းမှု အရေအတွက်ကို စောင့်ကြည့်လျက်၊ စကားဝှက် ရိုက်ထည့်မှု သိပ်များနေလျှင် ဖုန်းကို သော့ခတ်ရန် သို့မဟုတ် ဖုန်း ဒေတာ အားလုံးကို ဖျက်ပစ်ရန်။"</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"မျက်နှာပြင်ဖွင့်ရန်စကားဝှက်အား ပြောင်းခြင်း"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"မျက်နှာပြင်ဖွင့်ရန်စကားဝှက်အား ပြောင်းခြင်း"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"ဖန်မျက်နှာပြင်အား သော့ဖွင့်စဉ် လျှို့ဝှက်ကုဒ်အမှားများ ရိုက်သွင်းမှုအား စောင့်ကြည့်ရန်နှင့်၊ လျှို့ဝှက်ကုဒ်အမှားများ များစွာ ရိုက်သွင်းပါက တက်ဘလက်အား သော့ချခြင်း သို့မဟုတ် တက်ဘလက်၏ အချက်အလက်များအား ဖျက်ပစ်ခြင်းများ ပြုလုပ်မည်။"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"ဖန်မျက်နှာပြင်အား သော့ဖွင့်စဉ် လျှို့ဝှက်ကုဒ်အမှားများ ရိုက်သွင်းမှုအား စောင့်ကြည့်ရန်နှင့်၊ လျှို့ဝှက်ကုဒ်အမှားများ များစွာ ရိုက်သွင်းပါက တီဗွီအား သော့ချခြင်း သို့မဟုတ် တီဗွီ၏ အချက်အလက်များအား ဖျက်ပစ်ခြင်းများ ပြုလုပ်မည်။"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"ဖန်မျက်နှာပြင်အား သော့ဖွင့်စဉ် လျှို့ဝှက်ကုဒ်အမှားများ ရိုက်သွင်းမှုအား စောင့်ကြည့်ရန်နှင့်၊ လျှို့ဝှက်ကုဒ်အမှားများ များစွာ ရိုက်သွင်းပါက ဖုန်းအား သော့ချခြင်း သို့မဟုတ် ဖုန်း၏ အချက်အလက်များအား ဖျက်ပစ်ခြင်းများ ပြုလုပ်မည်။"</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"မျက်နှာပြင်သော့ခတ်ခြင်းအား ပြောင်းမည်"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"မျက်နှာပြင်သော့ခတ်ခြင်းအား ပြောင်းမည်။"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"မျက်နှာပြင်အားသော့ချရန်"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"မည်သည့်အချိန်တွင် ဖန်သားပြင်အား မည်ကဲ့သို့နည်းဖြင် သော့ချရန် ထိန်းချုပ်ခြင်း"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"ဒေတာအားလုံးအားဖျက်ခြင်း"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"စက်ရုံထုတ် အခြေအနေအား ပြန်ပြောင်းခြင်းဖြင့် တက်ဘလက်ရှိ အချက်အလက်များအား ကြိုတင်သတိပေးမှုမရှိပဲ ဖျက်စီးရန်"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"စက်ရုံထုတ်အခြေအနေအားပြန်လည်ရယူပါက တီဗွီရှိ အချက်အလက်များအား ကြိုတင်အသိပေးခြင်းမရှိဘဲ ဖျက်ပစ်နိုင်သည်။"</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"စက်ရုံထုတ် အခြေအနေအား ပြန်ပြောင်းခြင်းဖြင့် ဖုန်းရှိ အချက်အလက်များအား ကြိုတင်သတိပေးမှုမရှိပဲ ဖျက်စီးရန်"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"အသုံးပြုသူဒေတာကို ဖျက်မည်"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"သတိပေးခြင်းမရှိဘဲ ဤတက်ဘလက်ပေါ်ရှိ ထိုအသုံးပြုသူ၏ဒေတာအား ဖျက်မည်။"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"သတိပေးခြင်းမရှိဘဲ ဤတီဗွီပေါ်ရှိ ထိုအသုံးပြုသူ၏ဒေတာအား ဖျက်မည်။"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"သတိပေးခြင်းမရှိဘဲ ဤဖုန်းပေါ်ရှိ ထိုအသုံးပြုသူ၏ဒေတာအား ဖျက်မည်။"</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"တကမာ္ဘလုံးဆိုင်ရာပရော်စီကို သတ်မှတ်ခြင်း"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"မူဝါဒအသုံးပြုခွင့်ရလျှင် စက်ပစ္စည်းတကမ္ဘာလုံးဆိုင်ရာပရော်စီအားသုံးရန် သတ်မှတ်ခြင်း။ ပထမဦးဆုံးသောစက်၏ထိန်းချုပ်သူသာ တကမ္ဘာလုံးဆိုင်ရာပရော်စီသာအားအကျိုးသက်ရောက်စေရန် သတ်မှတ်နိုင်သည်။"</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"စကားဝှက်သက်တမ်းသတ်မှတ်ရန်"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"ဖန်သားပြင်သော့ချခြင်း စကားဝှက် ပြင်ဆင်ခွင့် အကြိမ်ရေအား ထိန်းချုပ်ခြင်း"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"ပေါ်လစီအား ဖွင့်ထားချိန်တွင်  တစ်ကမ္ဘာလုံးဆိုင်ရာ ပရောက်စီအား အသုံးပြုရန် ကိရိယာကို သတ်မှတ်မည်။ ကိရိယာ၏ ပိုင်ရှင်သာ ကမ္ဘာလုံးဆိုင်ရာ ပရောက်စီကို သတ်မှတ်နိုင်သည်။"</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"မျက်နှာပြင်သော့ခတ်သည့် စကားဝှက် သက်တမ်းကုန်ဆုံးခြင်းကို သတ်မှတ်မည်။"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"မျက်နှာပြင်သော့ခတ်သည့် စကားဝှက်၊ PIN၊ သို့မဟုတ် ပုံစံအား အကြိမ်မည်မျှပြောင်းလဲရမည်ကို ပြောင်းမည်။"</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"သိုလှောင်လျို့ဝှက်ခြင်းသတ်မှတ်"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"အပလီကေးရှင်းမှ သိမ်းဆည်းထားသော အရာများအား လျို့ဝှက် အသွင်းပြောင်းရန် လိုအပ်ခြင်း"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"ကင်မရာအား ပိတ်ခြင်း"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"စက်မှ ကင်မရာအားလုံး အသုံးပြုမှုအား ကန့်သတ်ရန်"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"keyguardရှိ စွမ်းဆောင်ချက်များရပ်ရန်"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"keyguard မှ တချို့ စွမ်းဆောင်ချက်များအား ကန့်သတ်ရန်"</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"မျက်နှာပြင်သော့ခတ်ခြင်း၏ အင်္ဂါရပ်များအား ပိတ်မည်။"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"မျက်နှာပြင်သော့ခတ်ခြင်းမှ အချို့သော အင်္ဂါရပ်များအသုံးပြုခြင်းကို ကာကွယ်ထားသည်။"</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"ပင်မစာမျက်နှာ"</item>
     <item msgid="869923650527136615">"မိုဘိုင်း"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"pp အသစ်ကို မစတင်ပါနှင့်။"</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g>စတင်ပါ"</string>
     <string name="new_app_description" msgid="1932143598371537340">"app အဟောင်းကို မသိမ်းဆည်းဘဲ ရပ်လိုက်ပါ။"</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"စာတိုအတွက် လုပ်ဆောင်ချက် ရေးပါ"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"ဖုန်းမြည်သံအတိုးအကျယ်"</string>
     <string name="volume_music" msgid="5421651157138628171">"မီဒီယာအသံအတိုးအကျယ်"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">1 စက္ကန့်အတွင်း ထပ်မံကြိုးစားပါ</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"နောက်မှ ပြန်ကြိုးစားပါ"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"မျက်နှာပြင်အပြည့်ကနေ ပြန်ပြောင်းရန် အပေါ်အောက် ဆွဲချပါ"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"မျက်နှာပြင်အပြည့် ကြည့်နေစဉ်"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"ထွက်ရန်၊ ထိပ်ဘက်မှ အောက်ဘက်သို့ ဆွဲချပါ။"</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"ရပါပြီ"</string>
     <string name="done_label" msgid="2093726099505892398">"ပြီးပါပြီ"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"နာရီရွေးချက်စရာ"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"မိနစ်လှည့်သော ရွေ့လျားတန်"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"အလုပ် <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"ဒီမျက်နှာပြင် ပင်ထိုးမှုကို ဖြုတ်ရန်၊ နောက်သို့ နှင့် ခြုံကြည့်မှု ခလုတ်များကို တစ်ချိန်တည်း ထိကိုင်ထားပါ။"</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"ဒီမျက်နှာပြင် ပင်ထိုးမှုကို ဖြုတ်ရန် ခြုံကြည့်မှု ခလုတ်ကို ထိကိုင်ထားပါ။"</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"မျက်နှာပြင်ကို ပင်ထိုးထားသည်။ ပင်ထိုးထားမှု ဖြုတ်ခြင်းကို သင့် အဖွဲ့အစည်းက ခွင့် မပြုပါ။"</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"မျက်နှာပြင်ကို ပင်ထိုးထား"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"မျက်နှာပြင် ပင်ထိုးမှု ဖြတ်လိုက်ပြီ"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"ပင်မဖြုတ်မီမှာ PIN ကို မေးကြည့်ရန်"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">တစ်နာရီကြာ</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>အထိ"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"အကန့်အသတ်မရှိစွာ"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"သင်က ဒါကို ပိတ်မပစ်သည့် အထိ"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"ခေါက်ရန်"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"နောက်ထပ် <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> ၌နိုးစက်အထိ"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"နောက်ထပ်နိုးစက်အထိ"</string>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index 16cd07a..01415c0 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Lar appen kommunisere med etiketter, kort og lesere som benytter NFC-teknologi."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"deaktivere skjermlåsen"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Lar appen deaktivere tastelåsen og eventuell tilknyttet passordsikkerhet. Et eksempel er at telefonen deaktiverer tastelåsen når du mottar et innkommende anrop, og deretter aktiverer tastelåsen igjen når samtalen er ferdig."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"administrere fingeravtrykkmaskinvare"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Lar appen fremkalle metoder for å legge til og slette fingeravtrykkmaler for bruk."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"bruke fingeravtrykkmaskinvare"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Lar appen bruke fingeravtrykkmaskinvare til godkjenning"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"lese synkroniseringsinnstillinger"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Lar appen lese synkroniseringsinnstillingene for en konto. For eksempel kan den finne ut om Personer-appen er synkronisert med en konto."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"slå synkronisering av og på"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Lar appen hente, gjennomgå og fjerne varsler, inkludert de som sendes fra andre apper."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"binding til en varsellyttertjeneste"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Lar innehaveren binde seg til det øverste grensesnittnivået for en varsellyttertjeneste. Skal aldri være nødvendig for vanlige apper."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"velge om de vil binde seg til målrettingstjenester"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Lar innehavere velge om de vil binde seg til toppnivået av grensesnittet i målrettingstjenester. Skal aldri være nødvendig for vanlige apper."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"binde seg til en leverandørtjeneste for betingelser"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Gir innehaveren tillatelse til å binde til toppnivået av brukergrensesnittet for en leverandørtjeneste for betingelser. Dette skal ikke være nødvendig for vanlige apper."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"binde seg til en mediarutingstjeneste"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"bind til en operatørmeldingstjeneste"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Tillater at innehaveren binder seg til det øverste nivået av grensesnittet til en operatørtjeneste. Dette skal aldri være nødvendig for vanlige apper."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Angi passordregler"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Kontroller tillatt lengde og tillatte tegn i passord for opplåsing av skjerm."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrollerer tillatt lengde og tillatte tegn i passord og PIN-koder for opplåsing av skjermen."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Overvåk forsøk på opplåsing av skjerm"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Overvåk antall feil passordforsøk ved opplåsing av skjerm, og lås nettbrettet eller slett alle data fra nettbrettet ved for mange feil passordforsøk."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Overvåk antall feilaktige passord som er skrevet inn ved opplåsing av skjermen, og lås TV-en eller slett alle TV-data hvis feil passord skrives inn for mange ganger."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Overvåk antall feil passordforsøk ved opplåsing av skjerm, og lås telefonen eller slett alle data fra telefonen ved for mange feil passordforsøk."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Endre passord for opplåsing av skjerm"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Endre passordet for opplåsing av skjerm."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Overvåker antallet feil passord som er skrevet inn når skjermen låses opp, og låser nettbrettet eller sletter denne brukerens data når for mange feil passord er skrevet inn."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Overvåker antallet feil passord som er skrevet inn når skjermen låses opp, og låser TV-en eller sletter denne brukerens data når for mange feil passord er skrevet inn."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Overvåker antallet feil passord som er skrevet inn når skjermen låses opp, og låser telefonen eller sletter denne brukerens data når for mange feil passord er skrevet inn."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Endre skjermlåsen"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Endrer skjermlåsen."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Lås skjermen"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Kontroller hvordan og når skjermen låses."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Slett alle data"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Tilbakestill nettbrettets data uten advarsel ved å tilbakestille til fabrikkstandard."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Slett TV-ens data uten advarsel ved å tilbakestille til fabrikkstandard."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Tilbakestill telefonens data uten advarsel, ved å tilbakestille til fabrikkstandard."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Slett brukerdataene"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Sletter denne brukerens data på dette nettbrettet uten advarsel."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Sletter denne brukerens data på denne TV-en uten advarsel."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Sletter denne brukerens data på denne telefonen uten advarsel."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Angi enhetens globale mellomtjener"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Angir den globale mellomtjeneren på enheten som skal brukes når regelen er aktivert. Kun den opprinnelige administratoren av enheten kan angi den globale mellomtjeneren."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Angi utløpsdato for skjermlåspassordet"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Velg hvor lenge det skal gå før passordet til skjermlåsen må byttes."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Angir den globale proxy-tjeneren på enheten som skal brukes når regelen er aktivert. Bare eieren av enheten kan angi den globale proxy-tjeneren."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Angi utløpstid for skjermlås"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Endrer hvor ofte PIN-koden, passordet eller mønsteret til skjermlåsen skal byttes."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Angi lagringskryptering"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Krev at lagrede appdata krypteres."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Deaktiver kameraer"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Hindre bruk av alle kameraer på enheten."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Deaktiv. funksj. i tastelås"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Forhindre bruk av enkelte funksjoner når tastelåsen er på."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Deaktiver skjermlåsfunksjoner"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Forhindrer bruk av enkelte skjermlåsfunksjoner."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Hjemmenummer"</item>
     <item msgid="869923650527136615">"Mobil"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Ikke start den nye appen."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Start <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Stopp den gamle appen uten å lagre."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Velg handling for tekst"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Ringetonevolum"</string>
     <string name="volume_music" msgid="5421651157138628171">"Medievolum"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Prøv på nytt om 1 sekund</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Prøv på nytt senere"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Sveip ned fra toppen av skjermen for å gå ut av fullskjermvisningen."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Visning i fullskjerm"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Sveip ned fra toppen for å avslutte."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Skjønner"</string>
     <string name="done_label" msgid="2093726099505892398">"Ferdig"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Sirkulær glidebryter for timer"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Sirkulær glidebryter for minutter"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Jobb-<xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Hvis du vil avslutte én-appsmodusen for denne skjermen, trykker og holder du på Tilbake og Oversikt samtidig."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Hvis du vil avslutte én-appsmodusen for denne skjermen, trykker og holder du på Oversikt."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Skjermen er festet. Løsning er ikke tillatt av organisasjonen din."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Skjermen er festet"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Skjermen er løsnet"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Krev PIN-kode for å løsne apper"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">I 1 time</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Til <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"På ubestemt tid"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Inntil du slår av funksjonen"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Skjul"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Inntil neste alarm kl. <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Inntil neste alarm"</string>
diff --git a/core/res/res/values-ne-rNP/strings.xml b/core/res/res/values-ne-rNP/strings.xml
index b705d62..a5558aa 100644
--- a/core/res/res/values-ne-rNP/strings.xml
+++ b/core/res/res/values-ne-rNP/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"अनुप्रयोगलाई नयाँ क्षेत्र संचार (NFC) ट्यागहरू, कार्डहरू र पाठकहरूसँग अन्तर्क्रिया गर्न अनुमति दिन्छ।"</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"स्क्रिन लक असक्षम पार्नुहोस्"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"कुनै सम्बन्धित पासवर्ड सुरक्षा र किलकलाई असक्षम पार्न अनुप्रयोगलाई अनुमति दिन्छ। उदाहरणको लागि, अन्तर्गमन फोन कल प्राप्त गर्दा फोनले किलकलाई असक्षम पार्छ, त्यसपछि कल सकिएको बेला किलक पुनःसक्षम पार्छ।"</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"औठाछाप हार्डवेयर व्यवस्थापन गर्नुहोस्"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"अनुप्रयोगलाई प्रयोगको लागि औठाछाप टेम्प्लेट थप्न र मेटाउने तरिका आह्वान गर्न अनुमति दिन्छ।"</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"औठाछाप हार्डवेयर प्रयोग गर्नुहोस्"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"अनुप्रयोगलाई प्रमाणीकरणको लागि औठाछाप हार्डवेयर प्रयोग गर्न अनुमति दिन्छ"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"समीकरण सेटिङहरू पढ्नुहोस्"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"अनुप्रयोगलाई खाताको लागि सिङ्क सेटिङहरू पढ्न अनुमति दिन्छ। उदाहरणको लागि यसले व्यक्तिहरको अनुप्रयोग खातासँग सिङ्क भएको नभएको निर्धारण गर्न सक्दछ।"</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"टगल सिङ्क खुला र बन्द"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"अन्य अनुप्रयोगहरूबाट पोस्ट गरिएकासहित पुनःप्राप्त गर्न, परीक्षण गर्न र सूचनाहरू हटाउन अनुप्रयोगहरूलाई अनुमति दिन्छ।"</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"जानकारी श्रोता सेवामा बाँध्नुहोस्"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"होल्डरलाई सूचना श्रोता सेवाको शीर्ष-स्तरको इन्टरफेस बाँध्न अनुमति दिन्छ। सामान्य अनुप्रयोगहरूलाई कहिले पनि आवश्यक नपर्न सक्दछ।"</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"एक चयनकर्ता लक्षित सेवामा बाँध्नुहोस्"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"होल्डरलाई चयनकर्ता लक्षित सेवाको शीर्ष-स्तर इन्टरफेस बाँध्न अनुमति दिन्छ। सामान्य अनुप्रयोगहरूको लागि कहिल्यै आवश्यकता पर्दैन।"</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"सर्त प्रदायक सेवामा जोड्न"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"सर्त प्रदायक सेवाको माथिल्लो स्तरको इन्टरफेसमा जोड्न बाहकलाई अनुमति दिन्छ। साधारण अनुप्रयोगहरूको लागि कहिल्यै पनि आवश्यक पर्दैन।"</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"मिडिया मार्ग सेवासँग बाँध्नुहोस्"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"वाहक मेसेजिङ सेवामा आबद्ध हुनुहोस्"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"धारकलाई वाहक मेसेजिङ सेवाको उच्च-स्तरको इन्टरफेसमा आबद्ध हुन अनुमति दिनुहोस्। सामान्य एपहरूको लागि कहिल्यै आवश्यकता पर्दैन।"</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"पासवर्ड नियमहरू मिलाउनुहोस्"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"स्क्रिन-अनलक पासवर्डहरूमा अनुमति दिइएको लम्बाइ र अक्षरहरू नियन्त्रण गर्नुहोस्।"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"स्क्रिन लक पासवर्ड र PIN हरूमा अनुमति दिइएको लम्बाइ र वर्णहरूको नियन्त्रण गर्नुहोस्।"</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"मोनिटर स्क्रिन-अनलक प्रयत्नहरू"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"स्क्रिन अनलक गर्दा गलत पासवर्ड टाइप भएको संख्या निरीक्षण गर्नुहोस् र यदि निकै धेरै गलत पासवर्डहरू टाइप भएका छन भने ट्याब्लेट लक गर्नुहोस् वा ट्याब्लेटका सबै डेटा मेट्नुहोस्।"</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"स्क्रिन अनलक गर्दा गलत पासवर्डका संख्या अनुगमन गर्नुहोस् र TV लक गर्नुहोस् वा TV को सबै डेटा मेट्नुहोस् यदि ज्यादै धेरै गलत पासवर्ड टाइप गरिएका छन् भने।"</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"स्क्रिनअनलक गर्दा गलत पासवर्ड टाइप भएको संख्या निरीक्षण गर्नुहोस् र यदि निकै धेरै गलत पासवर्डहरू टाइप भएका छन भने फोन लक गर्नुहोस् वा फोनका सबै डेटा मेट्नुहोस्।"</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"स्क्रिन-अनलक पासवर्ड बदल्नुहोस्"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"स्क्रिन-अनलक पासवर्ड परिवर्तन गर्नुहोस्।"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"स्क्रिन अनलक गर्दा गलत पासवर्ड टाइप संख्या अनुगमन गर्नुहोस्, र यदि निकै धेरै गलत पासवर्डहरू टाइप गरिएमा ट्याब्लेट लक गर्नुहोस् वा प्रयोगकर्ताको डेटा मेटाउनुहोस्।"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"स्क्रिन अनलक गर्दा गलत पासवर्ड टाइप संख्या अनुगमन गर्नुहोस्, र यदि निकै धेरै गलत पासवर्डहरू टाइप गरिएमा TV लक गर्नुहोस् वा प्रयोगकर्ताको डेटा मेटाउनुहोस्।"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"स्क्रिन अनलक गर्दा गलत पासवर्ड टाइप संख्या अनुगमन गर्नुहोस्, र यदि निकै धेरै गलत पासवर्डहरू टाइप गरिएमा फोन लक गर्नुहोस् वा प्रयोगकर्ताको डेटा मेटाउनुहोस्।"</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"स्क्रिन लक परिवर्तन गर्नुहोस्"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"स्क्रिन लक परिवर्तन गर्नुहोस्।"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"स्क्रिन लक गर्नुहोस्।"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"कसरी र कहिले स्क्रिन लक गर्ने नियन्त्रण गर्नुहोस्।"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"सबै डेटा मेट्नुहोस्"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"एउटा फ्याक्ट्रि डेटा पुनःसेट गरेर चेतावनी नआउँदै ट्याबल्टको डेटा मेट्नुहोस्।"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"कारखाना डेटा रिसेट गरेर बिना चेतावनी TV को डेटा मेट्नुहोस्"</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"एउटा फ्याक्ट्रि डेटा पुनःसेट गरेर चेतावनी नआउँदै फोनको डेटा मेट्नुहोस्।"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"प्रयोगकर्ता डेटा मेट्नुहोस्"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"चेतावनी बिना यो ट्याब्लेटमा यस प्रयोगकर्ताको डेटा मेट्नुहोस्।"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"चेतावनी बिना यो TV मा यो प्रयोगकर्ताको डेटा मेट्नुहोस्।"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"चेतावनी बिना यो फोनमा यस प्रयोगकर्ताको डेटा मेट्नुहोस्।"</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"उपकरण विश्वव्यापी प्रोक्सी मिलाउनुहोस्"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"नीति सक्षम हुँदा प्रयोग हुने उपकरण  विश्वव्यापी प्रोक्सी सेट गर्नुहोस्। प्रथम उपकरण प्रशासशनले मात्र प्रभावकारी विश्वव्यापी प्रोक्सी सेट गर्छ।"</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"लक-स्क्रिन पासवर्ड अन्त सेट गर्नुहोस्"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"प्रायः कति छिटो लक-स्क्रिन पासवर्ड बदल्नु पर्छ यसलाई नियन्त्रण गर्नुहोस्।"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"नीति सक्षम हुँदा प्रयोग गरिनको लागि यन्त्र ग्लोवल प्रोक्सी सेट गर्नुहोस्। केवल यन्त्र मालिकले ग्लोवल प्रोक्सी सेट गर्न सक्नुहुन्छ।"</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"स्क्रिन लक पासवर्ड म्याद समाप्ति सेट गर्नुहोस्"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"स्क्रिन लक पासवर्ड, PIN, वा ढाँचा परिवर्तन कसरी बारम्बार परिवर्तन हुनुपर्छ परिवर्तन गर्नुहोस्।"</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"भण्डारण इन्क्रिप्सन मिलाउनुहोस्"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"भण्डार गरिएको डेटा इन्क्रिप्ट हुनु आवश्यक छ।"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"क्यामेरालाई असक्षम गराउनुहोस्"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"सबै उपकरण क्यामराहरूको प्रयोग रोक्नुहोस्"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"किगार्डमा भएका विशेषताहरू असक्षम पार्नुहोस्"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"केही किगार्ड विशेषताहरूको प्रयोग रोक्नुहोस्।"</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"स्क्रिन लकका सुविधाहरू अक्षम गर्नुहोस्"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"स्क्रिन लकको केही सुविधाहरूको प्रयोग रोक्नुहोस्।"</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"गृह"</item>
     <item msgid="869923650527136615">"मोबाइल"</item>
@@ -1258,6 +1271,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"नयाँ अनुप्रयोग सुरु नगर्नुहोस्।"</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> सुरु गर्नुहोस्"</string>
     <string name="new_app_description" msgid="1932143598371537340">"बचत नगरी पुरानो अनुप्रयोग रोक्नुहोस्।"</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"पाठको लागि एउटा प्रकार्य छान्नुहोस्"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"बजाउने मात्रा"</string>
     <string name="volume_music" msgid="5421651157138628171">"मिडियाको मात्रा"</string>
@@ -1361,7 +1382,7 @@
     <string name="dlg_ok" msgid="7376953167039865701">"ठिक छ"</string>
     <string name="usb_mtp_notification_title" msgid="3699913097391550394">"मिडिया उपकरणको रूपमा जडित"</string>
     <string name="usb_ptp_notification_title" msgid="1960817192216064833">"क्यामेराको रूपमा जडान भएको"</string>
-    <string name="usb_midi_notification_title" msgid="1399152904227676460">"MIDI उपकरणको रूपमा जडान गरियो"</string>
+    <string name="usb_midi_notification_title" msgid="1399152904227676460">"MIDI यन्त्रको रूपमा जडान गरियो"</string>
     <string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"एउटा स्थापनकर्ताको रूपमा जोडिएको छ"</string>
     <string name="usb_accessory_notification_title" msgid="7848236974087653666">"USB सहायकमा जोडिएको छ"</string>
     <string name="usb_notification_message" msgid="2290859399983720271">"अन्य USB विकल्पहरूको लागि टच गर्नुहोस्।"</string>
@@ -1771,7 +1792,9 @@
       <item quantity="one">1 सेकेन्ड पछि पुनः प्रयास गर्नुहोस्।</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"पछि पुनः प्रयास गर्नुहोस्"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"पूर्णस्क्रिनबाट बाहिर निस्कन माथिबाट तलतिर स्वाइप गर्नुहोस्।"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"पूरा पर्दा हेर्दै"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"बाहिर निस्कन, माथिबाट तल स्वाइप गर्नुहोस्।"</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"बुझेँ"</string>
     <string name="done_label" msgid="2093726099505892398">"भयो"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"घण्टा गोलाकार स्लाइडर"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"मिनेट गोलाकार स्लाइडर"</string>
@@ -1786,7 +1809,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"कार्य <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"यस पर्दालाई अनपिन गर्न एकै समय फिर्ता र सारांशलाई छोई पक्डिनुहोस्।"</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"यस पर्दालाई अनपिन गर्न सारांशलाई छुनुहोस् र पक्डनुहोस्।"</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"स्क्रिन अनपिन हुँदैछ। अनपिन गर्ने तपाईँको संगठन द्वारा समर्थित छैन।"</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"स्क्रिन पिन गरियो"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"स्क्रिन अनपिन गरियो"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"पिन निकाल्नुअघि PIN सोध्नुहोस्"</string>
@@ -1812,7 +1836,7 @@
       <item quantity="one">एक घण्टाको लागि</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> सम्म"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"अनिश्चित"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"तपाईँले यसलाई बन्द नगरेसम्म"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"संक्षिप्त पार्नुहोस्"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> मा अर्को अलार्म सम्म"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"अर्को अलार्म सम्म"</string>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index 6be8c88..7352267 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -196,9 +196,9 @@
     <string name="global_action_toggle_silent_mode" msgid="8219525344246810925">"Stille modus"</string>
     <string name="global_action_silent_mode_on_status" msgid="3289841937003758806">"Geluid is UIT"</string>
     <string name="global_action_silent_mode_off_status" msgid="1506046579177066419">"Geluid is AAN"</string>
-    <string name="global_actions_toggle_airplane_mode" msgid="5884330306926307456">"Vliegmodus"</string>
-    <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Vliegmodus is AAN"</string>
-    <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Vliegmodus is UIT"</string>
+    <string name="global_actions_toggle_airplane_mode" msgid="5884330306926307456">"Vliegtuigmodus"</string>
+    <string name="global_actions_airplane_mode_on_status" msgid="2719557982608919750">"Vliegtuigmodus is AAN"</string>
+    <string name="global_actions_airplane_mode_off_status" msgid="5075070442854490296">"Vliegtuigmodus is UIT"</string>
     <string name="global_action_settings" msgid="1756531602592545966">"Instellingen"</string>
     <string name="global_action_voice_assist" msgid="7751191495200504480">"Spraakassistent"</string>
     <string name="global_action_lockdown" msgid="8751542514724332873">"Nu vergrendelen"</string>
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Hiermee kan de app communiceren met NFC-tags (Near Field Communication), kaarten en lezers."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"uw schermvergrendeling uitschakelen"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Hiermee kan de app de toetsenblokkering en bijbehorende wachtwoordbeveiliging uitschakelen. Zo kan de telefoon de toetsenblokkering uitschakelen wanneer er een oproep binnenkomt en de toetsenblokkering weer inschakelen als de oproep is beëindigd."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"vingerafdrukhardware beheren"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Hiermee kan de app methoden aanroepen om vingerafdruksjablonen toe te voegen en te verwijderen voor gebruik."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"vingerafdrukhardware gebruiken"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Hiermee kan de app vingerafdrukhardware gebruiken voor verificatie"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"synchronisatie-instellingen lezen"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Hiermee kan de app de synchronisatie-instellingen voor een account lezen. Dit kan bijvoorbeeld bepalen of de app Personen wordt gesynchroniseerd met een account."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"synchronisatie in- en uitschakelen"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Hiermee kan de app meldingen ophalen, onderzoeken en wissen, waaronder meldingen die zijn verzonden door andere apps."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"koppelen aan een listener-service voor meldingen"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Hiermee kan de houder koppelen aan de hoofdinterface van een listener-service voor meldingen. Nooit vereist voor normale apps."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"verbinding maken met een doelservice voor kiezers"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Hiermee kan de houder verbinding maken met de hoofdinterface van een doelservice voor kiezers. Nooit vereist voor normale apps."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"binden aan de service van een provider van voorwaarden"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Hiermee kan de houder binden aan de hoofdinterface van de service van een provider van voorwaarden. Nooit vereist voor normale apps."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"binden aan een service voor mediaroutering"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"binden aan de berichtenservice van een provider"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Hiermee wordt de houder toegestaan te binden aan de berichteninterface van een provider. Nooit vereist voor normale apps."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Wachtwoordregels instellen"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"De lengte en tekens beheren die zijn toegestaan in wachtwoorden voor schermontgrendeling."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"De lengte en het aantal tekens beheren die zijn toegestaan in wachtwoorden en pincodes voor schermvergrendeling."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Pogingen voor schermontgrendeling bijhouden"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Bijhouden hoe vaak onjuiste wachtwoorden worden ingevoerd wanneer het scherm wordt ontgrendeld en de tablet vergrendelen of alle gegevens op de tablet wissen als te veel onjuiste wachtwoorden worden ingevoerd."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Bijhouden hoe vaak onjuiste wachtwoorden worden ingevoerd wanneer het scherm wordt ontgrendeld en de tv vergrendelen of alle gegevens op de tv wissen als te veel onjuiste wachtwoorden worden ingevoerd."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Bijhouden hoe vaak onjuiste wachtwoorden worden ingevoerd wanneer het scherm wordt ontgrendeld en de telefoon vergrendelen of alle gegevens op de telefoon wissen als te veel onjuiste wachtwoorden worden ingevoerd."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Het wachtwoord voor schermontgrendeling wijzigen"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Het wachtwoord voor schermontgrendeling wijzigen."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Bijhouden hoe vaak onjuiste wachtwoorden worden ingevoerd wanneer het scherm wordt ontgrendeld en de tablet vergrendelen of alle gegevens van deze gebruiker wissen als te veel onjuiste wachtwoorden worden ingevoerd."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Bijhouden hoe vaak onjuiste wachtwoorden worden ingevoerd wanneer het scherm wordt ontgrendeld en de tv vergrendelen of alle gegevens van deze gebruiker wissen als te veel onjuiste wachtwoorden worden ingevoerd."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Bijhouden hoe vaak onjuiste wachtwoorden worden ingevoerd wanneer het scherm wordt ontgrendeld en de telefoon vergrendelen of alle gegevens van deze gebruiker wissen als te veel onjuiste wachtwoorden worden ingevoerd."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"De schermvergrendeling wijzigen"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"De schermvergrendeling wijzigen."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Het scherm vergrendelen"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Beheren hoe en wanneer het scherm wordt vergrendeld."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Alle gegevens wissen"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"De gegevens van de tablet zonder waarschuwing wissen door de fabrieksinstellingen te herstellen."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"De gegevens van de tv zonder waarschuwing wissen door de fabrieksinstellingen te herstellen."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"De gegevens van de telefoon zonder waarschuwing wissen door de fabrieksinstellingen te herstellen."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Gebruikersgegevens wissen"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"De gegevens van deze gebruiker op deze tablet zonder waarschuwing wissen."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"De gegevens van deze gebruiker op deze tv zonder waarschuwing wissen."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"De gegevens van deze gebruiker op deze telefoon zonder waarschuwing wissen."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Algemene proxy voor het apparaat instellen"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Stel de algemene proxy voor het apparaat in die moet worden gebruikt terwijl het beleid is geactiveerd. Alleen de eerste apparaatbeheerder stelt de algemene proxy in."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Verval wachtwoord instellen"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Beheren hoe vaak het wachtwoord voor schermvergrendeling moet worden gewijzigd."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"De algemene proxy voor het apparaat instellen die moet worden gebruikt terwijl het beleid is geactiveerd. Alleen de eigenaar van het apparaat kan de algemene proxy instellen."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Verlopen van wachtwoord voor schermvergrendeling instellen"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Wijzigen hoe vaak het wachtwoord, de pincode of het patroon voor schermvergrendeling moet worden gewijzigd."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Codering voor opslag instellen"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Vereisen dat opgeslagen appgegevens kunnen worden gecodeerd."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Camera\'s uitschakelen"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Het gebruik van alle apparaatcamera\'s voorkomen."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Functies uit in toetsblokk."</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Gebruik van bepaalde functies voorkomen in toetsblokkering."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Functies van schermvergrendeling uitschakelen"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Gebruik van bepaalde functies van schermvergrendeling voorkomen."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Thuis"</item>
     <item msgid="869923650527136615">"Mobiel"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"De nieuwe app niet starten."</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> starten"</string>
     <string name="new_app_description" msgid="1932143598371537340">"De oude app stoppen zonder opslaan."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Een actie voor tekst selecteren"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Belvolume"</string>
     <string name="volume_music" msgid="5421651157138628171">"Mediavolume"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Probeer het over 1 seconde opnieuw</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Probeer het later opnieuw"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Veeg omlaag vanaf de bovenkant om het volledige scherm te sluiten."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Volledig scherm wordt weergegeven"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Veeg omlaag vanaf de bovenkant van het scherm om af te sluiten."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Ik snap het"</string>
     <string name="done_label" msgid="2093726099505892398">"Gereed"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Ronde schuifregelaar voor uren"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Ronde schuifregelaar voor minuten"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Werk <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Blijf \'Terug\' en \'Overzicht\' tegelijk aanraken om dit scherm los te maken."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Blijf \'Overzicht\' aanraken om dit scherm los te maken."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Scherm is vastgezet. Losmaken is niet toegestaan door uw organisatie."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Scherm vastgezet"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Scherm losgemaakt"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Vragen om pincode voordat items worden losgemaakt"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Eén uur</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Tot <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Voor onbepaalde tijd"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Totdat u dit uitschakelt"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Samenvouwen"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Tot het volgende alarm om <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Tot het volgende alarm"</string>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index 04d4d09..4816897 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -704,7 +704,7 @@
     <string name="permdesc_changeBackgroundDataSetting" msgid="5347729578468744379">"Pozwala aplikacji na zmianę ustawień użycia danych w tle."</string>
     <string name="permlab_accessWifiState" msgid="5202012949247040011">"wyświetlanie połączeń Wi-Fi"</string>
     <string name="permdesc_accessWifiState" msgid="5002798077387803726">"Pozwala aplikacji na dostęp do informacji o połączeniach Wi-Fi – np. na sprawdzenie, czy obsługa Wi-Fi jest włączona, oraz odczytanie nazw podłączonych urządzeń Wi-Fi."</string>
-    <string name="permlab_changeWifiState" msgid="6550641188749128035">"łączenie się i rozłączanie z siecią Wi-Fi"</string>
+    <string name="permlab_changeWifiState" msgid="6550641188749128035">"łączenie się i rozłączanie z siecią Wi‑Fi"</string>
     <string name="permdesc_changeWifiState" msgid="7137950297386127533">"Pozwala aplikacji na nawiązywanie i kończenie połączeń z punktami dostępowymi Wi-Fi oraz na zmienianie konfiguracji sieci Wi-Fi w urządzeniu."</string>
     <string name="permlab_changeWifiMulticastState" msgid="1368253871483254784">"zezwolenie na odbiór grupowych połączeń Wi-Fi"</string>
     <string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"Pozwala aplikacji na odbieranie pakietów wysyłanych przez sieć Wi-Fi do wszystkich urządzeń, a nie tylko do Twojego tabletu, przy użyciu adresów połączeń grupowych. Powoduje większe zapotrzebowanie na energię niż w trybie innym niż grupowy."</string>
@@ -740,6 +740,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Pozwala aplikacji na komunikowanie się z tagami, kartami i czytnikami NFC (Near Field Communication)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"wyłączanie blokady ekranu"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Pozwala aplikacji na wyłączenie blokady klawiatury i wszystkich związanych z tym haseł zabezpieczających. Na przykład telefon wyłącza blokadę klawiatury, gdy odbiera połączenie przychodzące, a następnie włącza ją ponownie po zakończeniu połączenia."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"zarządzanie czytnikiem linii papilarnych"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Zezwala aplikacji aktywować metody dodawania i usuwania szablonów odcisków palców."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"używanie czytnika linii papilarnych"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Zezwala aplikacji na używanie czytnika linii papilarnych na potrzeby autoryzacji"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"czytanie ustawień synchronizacji"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Zezwala aplikacji na odczyt ustawień synchronizacji konta. Pozwala to na przykład określić, czy aplikacja Ludzie jest zsynchronizowana z kontem."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"włączanie i wyłączanie synchronizacji"</string>
@@ -794,6 +798,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Umożliwia aplikacji pobieranie, sprawdzanie i usuwanie powiadomień, także tych, które pochodzą z innych aplikacji."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"utwórz połączenie z usługą odbiornika powiadomień"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Zezwala na tworzenie powiązania z interfejsem najwyższego poziomu usługi odbiornika powiadomień. Nie powinno być nigdy potrzebne dla zwykłych aplikacji."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"powiązanie z usługą docelową wybierania"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Umożliwia posiadaczowi tworzenie powiązania z interfejsem najwyższego poziomu usługi docelowej wybierania. Zwykłe aplikacje nie powinny potrzebować tego uprawnienia."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"powiąż z usługą dostawcy warunków"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Zezwala na tworzenie powiązania z interfejsem najwyższego poziomu usługi dostawcy warunków. Nieprzeznaczone dla zwykłych aplikacji."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"powiązanie z usługą kierowania multimediów"</string>
@@ -815,29 +821,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"powiąż z usługą przesyłania wiadomości przez operatora"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Zezwala posiadaczowi na tworzenie powiązania z interfejsem najwyższego poziomu w usłudze przesyłania wiadomości przez operatora. Nie powinno być nigdy potrzebne dla zwykłych aplikacji."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Określ reguły hasła"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Kontrolowanie długości haseł odblokowania ekranu i dozwolonych w nich znaków"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrolowanie długości haseł blokady ekranu i kodów PIN oraz dozwolonych w nich znaków."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Monitoruj próby odblokowania ekranu"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Przy odblokowywaniu ekranu monitoruj, ile razy wpisano nieprawidłowe hasło i blokuj tablet lub usuń z niego wszystkie dane, jeśli nieprawidłowe hasło podano zbyt wiele razy."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Monitorowanie, ile razy wpisano niepoprawne hasło podczas odblokowywania ekranu, oraz blokowanie telewizora albo kasowanie na nim wszystkich danych, gdy zbyt wiele razy wpisano niepoprawne hasło."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Przy odblokowywaniu ekranu monitoruje, ile razy wpisano nieprawidłowe hasło, i blokuje telefon lub usuwa z niego wszystkie dane, jeśli nieprawidłowe hasło podano zbyt wiele razy"</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Zmień hasło odblokowania ekranu"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Zmienianie hasła odblokowania ekranu"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Monitorowanie, ile razy wpisano błędne hasło podczas odblokowywania ekranu, oraz blokowanie tabletu albo kasowanie wszystkich danych tego użytkownika, gdy zbyt wiele razy wpisano błędne hasło."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Monitorowanie, ile razy wpisano błędne hasło podczas odblokowywania ekranu, oraz blokowanie telewizora albo kasowanie wszystkich danych tego użytkownika, gdy zbyt wiele razy wpisano błędne hasło."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Monitorowanie, ile razy wpisano błędne hasło podczas odblokowywania ekranu, oraz blokowanie telefonu albo kasowanie wszystkich danych tego użytkownika, gdy zbyt wiele razy wpisano błędne hasło."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Zmień blokadę ekranu"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Zmiana blokady ekranu."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Zablokuj ekran"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Kontrolowanie sposobu i warunków blokowania ekranu"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Usuń wszystkie dane"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Wymazywanie danych z tabletu bez ostrzeżenia przez przywrócenie danych fabrycznych"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Skasowanie danych w telewizorze bez ostrzeżenia przez przywrócenie danych fabrycznych."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Wymazywanie danych z telefonu bez ostrzeżenia przez przywrócenie danych fabrycznych"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Kasuj dane użytkownika"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Kasowanie danych tego użytkownika na tym tablecie bez ostrzeżenia."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Kasowanie danych tego użytkownika na tym telewizorze bez ostrzeżenia."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Kasowanie danych tego użytkownika na tym telefonie bez ostrzeżenia."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Ustaw globalny serwer proxy urządzenia"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Ustaw globalny serwer proxy urządzenia do wykorzystywania przy włączonych zasadach. Tylko pierwszy administrator urządzenia ustawia obowiązujący globalny serwer proxy."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Ustaw wygasanie hasła blokady"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Kontrolowanie częstotliwości zmian hasła ekranu blokady"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Ustawianie globalnego serwera proxy urządzenia do użycia przy włączonych zasadach. Tylko właściciel urządzenia może ustawić globalny serwer proxy."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Ustaw czas ważności hasła blokady ekranu"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Zmiana częstotliwości, z jaką należy zmieniać hasło blokady ekranu, kod PIN lub wzór."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Ustaw szyfrowanie pamięci"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Wymaganie szyfrowania przechowywanych danych aplikacji"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Wyłącz aparaty"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Zapobieganie używaniu wszystkich aparatów w urządzeniu"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Wyłącz funkcje w blokadzie"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Zablokuj używanie niektórych funkcji w blokadzie."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Wyłącz funkcje blokady ekranu"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Zapobieganie użyciu niektórych funkcji blokady ekranu."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Dom"</item>
     <item msgid="869923650527136615">"Komórka"</item>
@@ -889,7 +902,7 @@
     <string name="phoneTypeFaxHome" msgid="2067265972322971467">"Faks domowy"</string>
     <string name="phoneTypePager" msgid="7582359955394921732">"Pager"</string>
     <string name="phoneTypeOther" msgid="1544425847868765990">"Inny"</string>
-    <string name="phoneTypeCallback" msgid="2712175203065678206">"Połączenie zwrotne"</string>
+    <string name="phoneTypeCallback" msgid="2712175203065678206">"Oddzwanianie"</string>
     <string name="phoneTypeCar" msgid="8738360689616716982">"Samochód"</string>
     <string name="phoneTypeCompanyMain" msgid="540434356461478916">"Firmowy główny"</string>
     <string name="phoneTypeIsdn" msgid="8022453193171370337">"ISDN"</string>
@@ -1217,7 +1230,7 @@
     <string name="whichViewApplicationNamed" msgid="2286418824011249620">"Otwórz w aplikacji %1$s"</string>
     <string name="whichEditApplication" msgid="144727838241402655">"Edytuj w aplikacji"</string>
     <string name="whichEditApplicationNamed" msgid="1775815530156447790">"Edytuj w aplikacji %1$s"</string>
-    <string name="whichSendApplication" msgid="6902512414057341668">"Udostępnij przez"</string>
+    <string name="whichSendApplication" msgid="6902512414057341668">"Udostępnij przez:"</string>
     <string name="whichSendApplicationNamed" msgid="2799370240005424391">"Udostępnij przez %1$s"</string>
     <string name="whichHomeApplication" msgid="4307587691506919691">"Wybierz aplikację ekranu głównego"</string>
     <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"Użyj %1$s jako ekranu głównego"</string>
@@ -1262,6 +1275,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Nie uruchamiaj nowej aplikacji."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Uruchom <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Zatrzymaj starą aplikację bez zapisywania."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Wybierz czynność, jaka ma zostać wykonana na tekście"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Głośność dzwonka"</string>
     <string name="volume_music" msgid="5421651157138628171">"Głośność multimediów"</string>
@@ -1655,7 +1676,7 @@
     <string name="kg_login_checking_password" msgid="1052685197710252395">"Sprawdzam konto"</string>
     <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"Po raz <xliff:g id="NUMBER_0">%d</xliff:g> wpisałeś nieprawidłowy PIN. \n\nSpróbuj ponownie za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string>
     <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"Po raz <xliff:g id="NUMBER_0">%d</xliff:g> wpisałeś nieprawidłowe hasło. \n\nSpróbuj ponownie za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string>
-    <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Po raz <xliff:g id="NUMBER_0">%d</xliff:g> narysowałeś nieprawidłowy wzór odblokowania. \n\nSpróbuj ponownie za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string>
+    <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"<xliff:g id="NUMBER_0">%d</xliff:g> razy narysowałeś nieprawidłowy wzór odblokowania. \n\nSpróbuj ponownie za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string>
     <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"Po raz <xliff:g id="NUMBER_0">%d</xliff:g> próbowałeś nieprawidłowo odblokować tablet. Po kolejnych <xliff:g id="NUMBER_1">%d</xliff:g> nieudanych próbach tablet zostanie zresetowany do ustawień fabrycznych, a wszystkie dane użytkownika zostaną utracone."</string>
     <string name="kg_failed_attempts_almost_at_wipe" product="tv" msgid="5621231220154419413">"Podałeś nieprawidłowe dane odblokowania telewizora <xliff:g id="NUMBER_0">%d</xliff:g> razy. Po jeszcze <xliff:g id="NUMBER_1">%d</xliff:g> nieudanych próbach telewizor zostanie zresetowany do stanu fabrycznego, a wszystkie dane użytkownika zostaną skasowane."</string>
     <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"Po raz <xliff:g id="NUMBER_0">%d</xliff:g> próbowałeś nieprawidłowo odblokować telefon. Po kolejnych <xliff:g id="NUMBER_1">%d</xliff:g> nieudanych próbach telefon zostanie zresetowany do ustawień fabrycznych, a wszystkie dane użytkownika zostaną utracone."</string>
@@ -1783,7 +1804,9 @@
       <item quantity="one">Spróbuj ponownie za sekundę</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Spróbuj ponownie później"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Przesuń z góry w dół, by zamknąć pełny ekran."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Widok na pełnym ekranie"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Aby wyjść, przesuń palcem z góry na dół."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"OK"</string>
     <string name="done_label" msgid="2093726099505892398">"Gotowe"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Kołowy suwak godzin"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Kołowy suwak minut"</string>
@@ -1798,7 +1821,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> (praca)"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Aby odpiąć ten ekran, naciśnij i przytrzymaj jednocześnie Wstecz i Przegląd."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Aby odpiąć ten ekran, naciśnij i przytrzymaj Przegląd."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Ekran jest przypięty. Ustawienia organizacji nie pozwalają go odpiąć."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Ekran przypięty"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Ekran odpięty"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Aby odpiąć, poproś o PIN"</string>
@@ -1832,7 +1856,7 @@
       <item quantity="one">Przez godzinę</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Na czas nieokreślony"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Dopóki nie wyłączysz"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Zwiń"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Do następnego alarmu o <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Do następnego alarmu"</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 8b3511e..18d498e 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Permite que a aplicação comunique com etiquetas, cartões e leitores Near Field Communication (NFC)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"desativar o bloqueio do ecrã"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Permite que a aplicação desative o bloqueio de teclas e qualquer segurança por palavra-passe associada. Por exemplo, o telemóvel desativa o bloqueio de teclas quando recebe uma chamada e reativa o bloqueio de teclas ao terminar a chamada."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"gerir o hardware de impressão digital"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Permite que a aplicação invoque métodos para adicionar e eliminar modelos de impressão digital para utilização."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"utilizar o hardware de impressão digital"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Permite que a aplicação utilize o hardware de impressão digital para autenticação"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"ler definições de sincronização"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Permite que a aplicação leia as definições de sincronização de uma conta. Por exemplo, pode determinar se a aplicação Pessoas está sincronizada com uma conta."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"ativar e desativar a sincronização"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Permite que a aplicação obtenha, examine e limpe notificações, incluindo as que foram publicadas por outras aplicações."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"vincular a um serviço de escuta de notificações"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Permite que o titular vincule a interface de nível superior de um serviço de escuta de notificações. Nunca deverá ser necessário para aplicações normais."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"vincular a um serviço de destino do selecionador"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Permite ao detentor ficar vinculado à interface de nível superior de um serviço de destino do selecionador. Nunca deve ser necessário para aplicações normais."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"vincular a um serviço de fornecedor de condição"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Permite que o titular vincule a interface de nível superior de um serviço de fornecedor de condição. Nunca deverá ser necessário para aplicações normais."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"vincular a um serviço de encaminhamento multimédia"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"ligar ao serviço de mensagens de um operador"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite ao titular ligar à interface de nível superior do serviço de mensagens de um operador. Nunca deve ser necessário para aplicações normais."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Definir regras de palavra-passe"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Controlar o comprimento e os caracteres permitidos nas palavras-passe de desbloqueio do ecrã."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Controlar o comprimento e os carateres permitidos nos PINs e nas palavras-passe do bloqueio de ecrã."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Monitorizar tentativas de desbloqueio do ecrã"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Monitorizar o número de palavras-passe incorretas escritas ao desbloquear o ecrã e bloquear o tablet ou apagar todos os dados do tablet, se forem escritas demasiadas palavras-passe incorretas."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Monitorizar o número de palavras-passe incorretas introduzidas ao desbloquear o ecrã e bloquear a TV ou apagar todos os dados da TV caso sejam introduzidas demasiadas palavras-passe incorretas."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Monitorizar o número de palavras-passe incorretas introduzidas ao desbloquear o ecrã e bloquear o telemóvel ou apagar todos os dados do telemóvel caso tenham sido introduzidas demasiadas palavras-passe."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Alterar a palavra-passe de desbloqueio do ecrã"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Alterar a palavra-passe de desbloqueio do ecrã."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Monitorizar o número de palavras-passe incorretas introduzidas ao desbloquear o ecrã e bloquear o tablet ou apagar todos os dados deste utilizador se forem introduzidas demasiadas palavras-passe incorretas."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Monitorizar o número de palavras-passe incorretas introduzidas ao desbloquear o ecrã e bloquear a TV ou apagar todos os dados deste utilizador se forem introduzidas demasiadas palavras-passe incorretas."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Monitorizar o número de palavras-passe incorretas introduzidas ao desbloquear o ecrã e bloquear o telemóvel ou apagar todos os dados deste utilizador se forem introduzidas demasiadas palavras-passe incorretas."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Alterar o bloqueio de ecrã"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Alterar o bloqueio de ecrã."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Bloquear o ecrã"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Controlar como e quando ocorre o bloqueio do ecrã."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Apagar todos os dados"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Apagar os dados do tablet sem avisar através de uma reposição de dados de fábrica."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Apagar os dados da TV sem aviso prévio ao executar uma reposição de dados de fábrica."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Apagar os dados do telemóvel sem avisar através de uma reposição de dados de fábrica."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Apagar os dados do utilizador"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Apagar os dados deste utilizador neste tablet sem aviso."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Apagar os dados deste utilizador nesta TV sem aviso."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Apagar os dados deste utilizador neste telemóvel sem aviso."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Definir o proxy global do aparelho"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Definir o proxy global do dispositivo a ser utilizado quando a política estiver ativada. Só o primeiro administrador do dispositivo pode definir o proxy global efetivo."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Def. valid. palavra-passe bloq. ecrã"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Controlar a frequência com que a palavra-passe do bloqueio de ecrã deve ser alterada."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Definir o proxy global do dispositivo a utilizar enquanto a política está ativada. Apenas o proprietário do dispositivo pode definir o proxy global."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Def. exp. p.-passe bloq. ecrã"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Alterar a frequência com que a palavra-passe, o PIN ou a sequência do bloqueio de ecrã deve ser alterado."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Def. encriptação armazenamento"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Solicitar encriptação dos dados da aplicação armazenados."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Desativar câmaras"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Evitar a utilização de todas as câmaras do dispositivo."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Desat. func. com teclado bloq."</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Evitar a utilização de algumas funcionalidades com o teclado bloqueado."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Desativar func. bloqueio ecrã"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Impedir a utilização de algumas funcionalidades do bloqueio de ecrã."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Residência"</item>
     <item msgid="869923650527136615">"Móvel"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Não iniciar a nova aplicação."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Iniciar <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Parar a aplicação antiga sem guardar."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Escolha uma ação para o texto"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Volume da campainha"</string>
     <string name="volume_music" msgid="5421651157138628171">"Volume de multimédia"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Tente novamente dentro de 1 segundo</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Tente novamente mais tarde"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Deslize rapidamente para baixo para sair do ecrã inteiro."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Visualização de ecrã inteiro"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Para sair, deslize rapidamente para baixo a partir da parte superior."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Compreendi"</string>
     <string name="done_label" msgid="2093726099505892398">"Concluído"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Controlo de deslize circular das horas"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Controlo de deslize circular dos minutos"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> de trabalho"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Para soltar este ecrã, toque sem soltar em Retroceder e Visão geral em simultâneo."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Para soltar este ecrã, toque sem soltar em Visão geral."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"O ecrã está fixo. A sua entidade não o(a) autoriza a soltá-lo."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Ecrã fixo"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Ecrã solto"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Pedir PIN antes de soltar"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Durante uma hora</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Até às <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Indefinidamente"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Até que o utilizador desative"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Reduzir"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Até ao próximo alarme, às <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Até ao próximo alarme"</string>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index acc9d41..14733e0 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Permite que o app se comunique com leitores, cartões e etiqueta NFC (Comunicação a curta distância)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"desativar o bloqueio de tela"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Permite que o app desative o bloqueio de teclas e qualquer segurança por senha associada. Por exemplo, o telefone desativa o bloqueio de telas ao receber uma chamada e o reativa quando a chamada é finalizada."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"gerenciar hardware de impressão digital"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Permite que o app execute métodos para adicionar e excluir modelos de impressão digital para uso."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"usar hardware de impressão digital"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Permite que o app use hardware de impressão digital para autenticação."</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"ler as configurações de sincronização"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Permite que o app leia as configurações de sincronização de uma conta. Por exemplo, pode determinar se o app People está sincronizado com uma conta."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"ativar e desativar sincronização"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Permite que o app recupere, examine e limpe notificações, inclusive as postadas por outros apps."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"sujeitar a um serviço ouvinte de notificações"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Permite que o proprietário sujeite a interface de nível superior a um serviço ouvinte de notificações. Não deve ser necessário para apps comuns."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"associar a um serviço seletor alvo"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Permite que o sistema se associe à interface de nível superior de um serviço seletor alvo. Não deve ser necessário para apps comuns."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"associar a um serviço provedor de condições"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Permite que o proprietário use a interface de nível superior de um serviço provedor de condições. Não deve ser necessário para apps comuns."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"usar serviço de roteamento de mídia"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"vincular a um serviço de mensagens de operadora"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite que o proprietário use a interface de nível superior de um serviço de mensagens de operadora. Não deve ser necessária para apps comuns."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Definir regras para senha"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Controlar o tamanho e os caracteres permitidos nas senhas de desbloqueio de tela."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Controla o tamanho e os caracteres permitidos nos PINs e nas senhas do bloqueio de tela."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Monitorar tentativas de desbloqueio da tela"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Monitorar quantas vezes a senha foi digitada incorretamente ao desbloquear a tela e bloquear o tablet ou apagar todos os dados do tablet se a senha for digitada incorretamente muitas vezes."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Monitora o número de senhas incorretas digitadas ao desbloquear a tela e bloqueia a TV ou apagar todos os dados dela se muitas senhas incorretas forem digitadas."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Monitorar quantas vezes a senha foi digitada incorretamente ao desbloquear a tela e bloquear o telefone ou apagar todos os dados do telefone se a senha for digitada incorretamente muitas vezes."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Alterar a senha para desbloqueio da tela"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Alterar a senha para desbloqueio da tela."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Monitora o número de senhas incorretas digitadas ao desbloquear a tela e bloqueia o tablet ou limpa todos os dados do usuário se muitas senhas incorretas forem digitadas."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Monitora o número de senhas incorretas digitadas ao desbloquear a tela e bloqueia a TV ou limpa todos os dados do usuário se muitas senhas incorretas forem digitadas."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Monitora o número de senhas incorretas digitadas ao desbloquear a tela e bloqueia o smartphone ou limpa todos os dados do usuário se muitas senhas incorretas forem digitadas."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Alterar o bloqueio de tela"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Altera o bloqueio de tela."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Bloquear a tela"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Controlar como e quando a tela é bloqueada."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Apagar todos os dados"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Apague os dados do tablet sem aviso redefinindo a configuração original."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Apaga dados da TV sem aviso, fazendo uma redefinição para configuração original."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Apagar os dados do telefone sem aviso redefinindo a configuração original."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Limpar dados do usuário"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Limpa os dados do usuário neste tablet sem aviso prévio."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Limpa os dados do usuário nesta TV sem aviso prévio."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Limpa os dados do usuário neste smartphone sem aviso prévio."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Definir o proxy global do dispositivo"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Configura o proxy global do dispositivo para ser usado enquanto a política estiver ativada. Somente o primeiro administrador do dispositivo pode configurar um verdadeiro proxy global."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Definir val. da senha de bloqueio"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Controle a frequência com que a senha da tela de bloqueio deve ser alterada."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Configura o proxy global do dispositivo para ser usado enquanto a política está ativada. Somente o proprietário do dispositivo pode definir o proxy global."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Definir expiração da senha de bloqueio de tela"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Altera a frequência com que o PIN, a senha ou o padrão do bloqueio de tela deve ser alterado."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Definir criptografia de armazenamento"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Exija que os dados armazenados do app sejam criptografados."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Desativar câmeras"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Impeça o uso de todas as câmeras do dispositivo."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Desat. recursos ao bloq. tecl."</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Impede o uso de determinados recursos quando o teclado está bloqueado."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Desativar recursos de bloqueio de tela"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Impede o uso de determinados recursos do bloqueio de tela."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Residencial"</item>
     <item msgid="869923650527136615">"Celular"</item>
@@ -992,7 +1005,7 @@
     <string name="lockscreen_sim_puk_locked_instructions" msgid="8127916255245181063">"Consulte o Guia do usuário ou entre em contato com o Serviço de atendimento ao cliente."</string>
     <string name="lockscreen_sim_locked_message" msgid="8066660129206001039">"O cartão SIM está bloqueado."</string>
     <string name="lockscreen_sim_unlock_progress_dialog_message" msgid="595323214052881264">"Desbloqueando o cartão SIM…"</string>
-    <string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="6481623830344107222">"Você desenhou sua sequência de desbloqueio incorretamente <xliff:g id="NUMBER_0">%d</xliff:g> vezes. \n\nTente novamente em <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string>
+    <string name="lockscreen_too_many_failed_attempts_dialog_message" msgid="6481623830344107222">"Você desenhou seu padrão de desbloqueio incorretamente <xliff:g id="NUMBER_0">%d</xliff:g> vezes. \n\nTente novamente em <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string>
     <string name="lockscreen_too_many_failed_password_attempts_dialog_message" msgid="2725973286239344555">"Você digitou sua senha incorretamente <xliff:g id="NUMBER_0">%d</xliff:g> vezes. \n\nTente novamente em <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string>
     <string name="lockscreen_too_many_failed_pin_attempts_dialog_message" msgid="6216672706545696955">"Você digitou seu PIN incorretamente <xliff:g id="NUMBER_0">%d</xliff:g> vezes.\n\nTente novamente em <xliff:g id="NUMBER_1">%d</xliff:g> segundos."</string>
     <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="9191611984625460820">"Você desenhou sua sequência de desbloqueio incorretamente <xliff:g id="NUMBER_0">%d</xliff:g> vezes. Se fizer mais <xliff:g id="NUMBER_1">%d</xliff:g> tentativas incorretas, será solicitado que você use o login do Google para desbloquear seu tablet.\n\n Tente novamente em <xliff:g id="NUMBER_2">%d</xliff:g> segundos."</string>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Não inicie o novo app."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Iniciar <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Parar o app antigo sem salvar."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Escolha uma ação para o texto"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Volume da campainha"</string>
     <string name="volume_music" msgid="5421651157138628171">"Volume da mídia"</string>
@@ -1353,7 +1374,7 @@
     <string name="dlg_confirm_kill_storage_users_text" msgid="5100428757107469454">"Se você ativar o armazenamento USB, alguns apps que estão em uso serão interrompidos e poderão ficar indisponíveis até você desativar o armazenamento USB."</string>
     <string name="dlg_error_title" msgid="7323658469626514207">"Falha na operação do USB"</string>
     <string name="dlg_ok" msgid="7376953167039865701">"OK"</string>
-    <string name="usb_mtp_notification_title" msgid="3699913097391550394">"Conectado como um dispositivo de mídia"</string>
+    <string name="usb_mtp_notification_title" msgid="3699913097391550394">"Conectado como disp. de mídia"</string>
     <string name="usb_ptp_notification_title" msgid="1960817192216064833">"Conectado como câmera"</string>
     <string name="usb_midi_notification_title" msgid="1399152904227676460">"Conectado como dispositivo MIDI"</string>
     <string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Conectados como um instalador"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="other">Tente novamente em <xliff:g id="COUNT">%d</xliff:g> segundos</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Tente novamente mais tarde"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Deslize de cima para baixo para sair da tela inteira"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Visualização em tela cheia"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Para sair, deslize de cima para baixo."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Entendi"</string>
     <string name="done_label" msgid="2093726099505892398">"Concluído"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Controle deslizante circular das horas"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Controle deslizante circular dos minutos"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Trabalho: <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Para liberar esta tela, toque e mantenha pressionados \"Voltar\" e \"Visão geral\" ao mesmo tempo."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Para liberar esta tela, toque e mantenha pressionado \"Visão geral\"."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"A tela está fixada. A liberação não é permitida por sua organização."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Tela fixada"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Tela liberada"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Pedir PIN antes de liberar"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="other">Por %d horas</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Até às <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Indefinidamente"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Até você desativar"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Recolher"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Até o próximo alarme em <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Até o próximo alarme"</string>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index f1a11af..dd87d74 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -739,6 +739,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Permite aplicaţiei să comunice cu etichetele, cardurile şi cititoarele NFC (Near Field Communication)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"dezactivează blocarea ecranului"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Permite aplicaţiei să dezactiveze blocarea tastelor şi orice modalitate asociată de securizare prin parolă. De exemplu, telefonul dezactivează blocarea tastelor când se primeşte un apel telefonic şi reactivează blocarea tastelor la terminarea apelului."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"gestionează hardware-ul pentru amprentă"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Permite aplicației să invoce metode pentru a adăuga și pentru a șterge șabloane de amprentă pentru utilizare."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"folosește hardware-ul pentru amprentă"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Permite aplicației să folosească hardware pentru amprentă pentru autentificare"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"citire setări sincronizare"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Permite aplicaţiei să citească setările de sincronizare ale unui cont. De exemplu, cu această permisiune aplicaţia poate determina dacă aplicaţia Persoane este sincronizată cu un anumit cont."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"activează/dezactivează sincronizarea"</string>
@@ -793,6 +797,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Permite aplicației să recupereze, să examineze și să șteargă notificări, inclusiv pe cele postate de alte aplicații."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"conectare la un serviciu de citire a notificărilor"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Permite proprietarului să se conecteze la interfața de nivel superior a unui serviciu de citire a notificărilor. În mod normal aplicațiile nu ar trebui să aibă nevoie de această permisiune."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"se conectează la un serviciu de alegere a țintei"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Permite aplicației să se conecteze la interfața de nivel superior a unui serviciu de alegere a țintei. Nu ar trebui să fie necesară pentru aplicațiile obișnuite."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"conectare la un serviciu furnizor de condiții"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Permite proprietarului să se conecteze la interfața de nivel superior a unui serviciu furnizor de condiții. Nu ar trebui să fie necesară pentru aplicațiile obișnuite."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"se conectează la un serviciu de trasee multimedia"</string>
@@ -814,29 +820,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"se conectează la un serviciu de mesagerie oferit de operator"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Permite aplicației să se conecteze la interfața de nivel superior a unui serviciu de mesagerie oferit de operator. Nu ar trebui să fie niciodată necesară pentru aplicațiile obișnuite."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Setaţi reguli pentru parolă"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Stabiliţi lungimea şi tipul de caractere permise în parolele pentru deblocarea ecranului."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Stabiliți lungimea și tipul de caractere permise pentru parolele și codurile PIN de blocare a ecranului."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Monitorizaţi încercările de deblocare a ecranului"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Monitorizaţi numărul de parole incorecte introduse la deblocarea ecranului şi blocaţi tableta sau ştergeţi datele acesteia dacă sunt introduse prea multe parole incorecte."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Monitorizați numărul de parole incorecte introduse la deblocarea ecranului și blocați televizorul sau ștergeți toate datele acestuia dacă sunt introduse prea multe parole incorecte."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Monitorizaţi numărul de parole incorecte introduse la deblocarea ecranului şi blocaţi telefonul sau ştergeţi toate datele acestuia dacă sunt introduse prea multe parole incorecte."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Editaţi parola de deblocare a ecranului"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Editaţi parola de deblocare a ecranului."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Monitorizați numărul de parole incorecte introduse la deblocarea ecranului și blocați tableta sau ștergeți toate datele acestui utilizator dacă se introduc prea multe parole incorecte."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Monitorizați numărul de parole incorecte introduse la deblocarea ecranului și blocați televizorul sau ștergeți toate datele acestui utilizator dacă se introduc prea multe parole incorecte."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Monitorizați numărul de parole incorecte introduse la deblocarea ecranului și blocați telefonul sau ștergeți toate datele acestui utilizator dacă se introduc prea multe parole incorecte."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Modificați blocarea ecranului"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Modificați blocarea ecranului."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Blocaţi ecranul"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Stabiliţi modul şi timpul în care se blochează ecranul."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Ștergere integrală date"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Ștergeţi datele de pe tabletă fără avertisment, efectuând resetarea configurării din fabrică."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Ștergeți datele de pe televizor fără avertisment, prin revenirea la setările din fabrică."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Ștergeţi datele din telefon fără avertisment, efectuând resetarea configurării din fabrică."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Ștergeți datele utilizatorului"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Ștergeți datele acestui utilizator de pe această tabletă fără avertisment."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Ștergeți datele acestui utilizator de pe acest televizor fără avertisment."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Ștergeți datele acestui utilizator de pe acest telefon fără avertisment."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Setaţi serverul proxy global pentru dispozitiv"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Setaţi serverul proxy global pentru dispozitiv care să fie utilizat cât timp politica este activă. Numai primul administrator al dispozitivului poate seta serverul proxy global activ."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Expirare parolă blocare ecran"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Stabiliţi frecvenţa de schimbare a parolei de blocare a ecranului."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Setați serverul proxy global pentru dispozitiv, care să fie utilizat cât timp politica este activă. Numai proprietarul dispozitivului poate seta serverul proxy global."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Setați expirarea parolei pentru blocarea ecranului"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Modificați frecvența cu care trebuie să se schimbe parola, codul PIN sau modelul pentru blocarea ecranului."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Setaţi criptarea stocării"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Necesită ca datele aplicaţiei stocate să fie criptate."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Dezactivaţi camerele foto"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Împiedicaţi utilizarea camerelor foto de pe dispozitiv."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Dezactiv. funcții după blocare"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Previne utilizarea unora dintre funcții când tastatura este blocată."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Opriți funcții blocare ecran"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Împiedicați utilizarea unor funcții ale blocării ecranului."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Domiciliu"</item>
     <item msgid="869923650527136615">"Mobil"</item>
@@ -1257,6 +1270,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Nu porniţi aplicaţia nouă."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Porniţi <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Opriţi vechea aplicaţie fără să salvaţi."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Alegeţi o acţiune pentru text"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Volum sonerie"</string>
     <string name="volume_music" msgid="5421651157138628171">"Volum media"</string>
@@ -1774,7 +1795,9 @@
       <item quantity="one">Reîncercați într-o secundă</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Reîncercați mai târziu"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Glisați în jos pentru a ieși din ecran complet."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Vizualizare pe ecran complet"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Pentru a ieși, glisați de sus în jos."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Am înțeles"</string>
     <string name="done_label" msgid="2093726099505892398">"Terminat"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Selector circular pentru ore"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Selector circular pentru minute"</string>
@@ -1789,7 +1812,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> de serviciu"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Pentru a anula fixarea pe ecran, apăsați lung, simultan, pe Înapoi și pe Vizualizare generală."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Pentru a anula fixarea pe ecran, apăsați lung pe Vizualizare generală."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Ecranul este fixat. Anularea fixării nu este permisă de organizația dvs."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Ecran fixat"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Fixarea ecranului anulată"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Solicită codul PIN înainte de a anula fixarea"</string>
@@ -1819,7 +1843,7 @@
       <item quantity="one">Timp de o oră</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Până la <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Nedefinit"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Până la dezactivare"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Restrângeți"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Până la alarma următoare, la <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Până la alarma următoare"</string>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index 94bc21f..617065c 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -73,7 +73,7 @@
     <string name="ClirMmi" msgid="7784673673446833091">"Идентификация звонящего абонента"</string>
     <string name="ColpMmi" msgid="3065121483740183974">"Идентификатор подключенной линии"</string>
     <string name="ColrMmi" msgid="4996540314421889589">"Ограничение идентификатора подключенной линии"</string>
-    <string name="CfMmi" msgid="5123218989141573515">"Переадресация вызова"</string>
+    <string name="CfMmi" msgid="5123218989141573515">"Переадресация вызовов"</string>
     <string name="CwMmi" msgid="9129678056795016867">"Параллельный вызов"</string>
     <string name="BaMmi" msgid="455193067926770581">"Запрет вызовов"</string>
     <string name="PwdMmi" msgid="7043715687905254199">"Смена пароля"</string>
@@ -740,6 +740,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Приложение сможет обмениваться данными с NFC-метками, картами и устройствами считывания, используя связь малого радиуса действия."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"Отключение функции блокировки экрана"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Приложение сможет отключать блокировку экрана и другие функции защиты. Например, блокировка экрана будет отключаться при получении входящего вызова и включаться после завершения разговора."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"управление сканером отпечатков"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Приложение сможет добавлять и удалять шаблоны отпечатков пальцев."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"использование сканера отпечатков"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Приложение сможет использовать сканер отпечатков пальцев для аутентификации."</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"Просмотр настроек синхронизации"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Приложение сможет просматривать настройки синхронизации аккаунта, например определять, включена ли синхронизация для приложения \"Контакты\"."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"Включение/выключение синхронизации"</string>
@@ -794,6 +798,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Приложение сможет получать, проверять и удалять уведомления, включая те, что опубликованы другими приложениями."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"Подключение к службе просмотра уведомлений"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Приложение сможет подключаться к базовому интерфейсу службы просмотра уведомлений. Это разрешение не используется обычными приложениями."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"Подключение к сервису выбора цели"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Подключение к интерфейсу верхнего уровня для выбора цели. Это разрешение не требуется для работы обычных приложений."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"Подключение к серверам поставщиков условий"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Приложение сможет подключаться к базовому интерфейсу поставщиков условий. Это разрешение обычно используется только специальными приложениями."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"Привязка к средству передачи медиафайлов"</string>
@@ -815,29 +821,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"Подключение к службе обмена сообщениями"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Подключение к базовому интерфейсу службы обмена сообщениями, предоставляемой оператором связи. Это разрешение обычно используется только специальными приложениями."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Правила выбора паролей"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Контролировать длину и символы при вводе паролей для снятия блокировки экрана."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Контролировать длину и символы при вводе пароля и PIN-кода."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Отслеживать попытки снятия блокировки экрана"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Отслеживает попытки ввода пароля при разблокировке экрана и блокирует планшетный ПК или удаляет с него все данные, если было сделано слишком много таких попыток."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Блокировка телевизора или удаление всех данных на нем при слишком большом количестве неудачных попыток ввести пароль для разблокировки экрана."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Отслеживает попытки ввода пароля при разблокировке экрана и блокирует телефон или удаляет с него все данные, если было сделано слишком много таких попыток."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Изменять пароль для снятия блокировки экрана"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Изменять пароль для снятия блокировки экрана."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Отслеживать неверно введенные пароли при разблокировке экрана и блокировать планшет или удалять с него все данные, если сделано слишком много неудачных попыток."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Отслеживать неверно введенные пароли при разблокировке экрана и блокировать телевизор или удалять с него все данные, если сделано слишком много неудачных попыток."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Отслеживать неверно введенные пароли при разблокировке экрана и блокировать телефон или удалять с него все данные, если сделано слишком много неудачных попыток."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Изменить блокировку экрана"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Изменить блокировку экрана."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Блокировать экран"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Контролировать способ и время блокировки экрана."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Удалить все данные"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Удалять все данные на планшетном ПК без предупреждения путем сброса настроек."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Сброс настроек и удаление всех данных на телевизоре без предупреждения."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Удалять все данные на телефоне без предупреждения путем сброса настроек."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Удалить пользовательские данные"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Удалить данные этого пользователя с планшета без предупреждения."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Удалить данные этого пользователя с телевизора без предупреждения."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Удалить данные этого пользователя с телефона без предупреждения."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Глобальный прокси-сервер"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Настройте глобальный прокси-сервер устройства, который будет использоваться при активной политике. Глобальный прокси-сервер должен настроить первый администратор устройства."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Задать срок действия пароля"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Контролировать, как часто менять пароль блокировки экрана."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Настроить глобальный прокси-сервер устройства, который будет использоваться при активной политике. Это может сделать только владелец устройства."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Задать срок действия пароля"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Установить частоту изменения пароля, PIN-кода или графического ключа."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Настроить шифрование хранилища"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Шифровать данные приложений в хранилище."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Отключить камеры"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Запретить использование камер на устройстве."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Отключить функции блокировки"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Запретить использование некоторых функций блокировки клавиатуры."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Отключить функции блокировки экрана"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Запретить использование некоторых функций блокировки экрана."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Домашний"</item>
     <item msgid="869923650527136615">"Мобильный"</item>
@@ -846,30 +859,30 @@
     <item msgid="1735177144948329370">"Домашний факс"</item>
     <item msgid="603878674477207394">"Пейджер"</item>
     <item msgid="1650824275177931637">"Другой"</item>
-    <item msgid="9192514806975898961">"Создать свой ярлык"</item>
+    <item msgid="9192514806975898961">"Новый тип"</item>
   </string-array>
   <string-array name="emailAddressTypes">
     <item msgid="8073994352956129127">"Личный"</item>
     <item msgid="7084237356602625604">"Рабочий"</item>
     <item msgid="1112044410659011023">"Другой"</item>
-    <item msgid="2374913952870110618">"Создать свой ярлык"</item>
+    <item msgid="2374913952870110618">"Новый тип"</item>
   </string-array>
   <string-array name="postalAddressTypes">
     <item msgid="6880257626740047286">"Домашний"</item>
     <item msgid="5629153956045109251">"Рабочий"</item>
     <item msgid="4966604264500343469">"Другой"</item>
-    <item msgid="4932682847595299369">"Создать свой ярлык"</item>
+    <item msgid="4932682847595299369">"Новый тип"</item>
   </string-array>
   <string-array name="imAddressTypes">
     <item msgid="1738585194601476694">"Домашний"</item>
     <item msgid="1359644565647383708">"Рабочий"</item>
     <item msgid="7868549401053615677">"Другое"</item>
-    <item msgid="3145118944639869809">"Создать свой ярлык"</item>
+    <item msgid="3145118944639869809">"Новый тип"</item>
   </string-array>
   <string-array name="organizationTypes">
     <item msgid="7546335612189115615">"Рабочий"</item>
     <item msgid="4378074129049520373">"Другое"</item>
-    <item msgid="3455047468583965104">"Создать свой ярлык"</item>
+    <item msgid="3455047468583965104">"Новый тип"</item>
   </string-array>
   <string-array name="imProtocols">
     <item msgid="8595261363518459565">"AIM"</item>
@@ -881,7 +894,7 @@
     <item msgid="2506857312718630823">"ICQ"</item>
     <item msgid="1648797903785279353">"Jabber"</item>
   </string-array>
-    <string name="phoneTypeCustom" msgid="1644738059053355820">"Создать свой ярлык"</string>
+    <string name="phoneTypeCustom" msgid="1644738059053355820">"Новый тип"</string>
     <string name="phoneTypeHome" msgid="2570923463033985887">"Домашний"</string>
     <string name="phoneTypeMobile" msgid="6501463557754751037">"Мобильный"</string>
     <string name="phoneTypeWork" msgid="8863939667059911633">"Рабочий"</string>
@@ -906,20 +919,20 @@
     <string name="eventTypeBirthday" msgid="2813379844211390740">"День рождения"</string>
     <string name="eventTypeAnniversary" msgid="3876779744518284000">"Юбилей"</string>
     <string name="eventTypeOther" msgid="7388178939010143077">"Другой"</string>
-    <string name="emailTypeCustom" msgid="8525960257804213846">"Создать свой ярлык"</string>
+    <string name="emailTypeCustom" msgid="8525960257804213846">"Новый тип"</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="postalTypeCustom" msgid="8903206903060479902">"Новый тип"</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="imTypeCustom" msgid="2074028755527826046">"Новый тип"</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>
+    <string name="imProtocolCustom" msgid="6919453836618749992">"Новый тип"</string>
     <string name="imProtocolAim" msgid="7050360612368383417">"AIM"</string>
     <string name="imProtocolMsn" msgid="144556545420769442">"Windows Live"</string>
     <string name="imProtocolYahoo" msgid="8271439408469021273">"Yahoo"</string>
@@ -931,7 +944,7 @@
     <string name="imProtocolNetMeeting" msgid="8287625655986827971">"NetMeeting"</string>
     <string name="orgTypeWork" msgid="29268870505363872">"Работа"</string>
     <string name="orgTypeOther" msgid="3951781131570124082">"Другое"</string>
-    <string name="orgTypeCustom" msgid="225523415372088322">"Создать свой ярлык"</string>
+    <string name="orgTypeCustom" msgid="225523415372088322">"Новый тип"</string>
     <string name="relationTypeCustom" msgid="3542403679827297300">"Особый"</string>
     <string name="relationTypeAssistant" msgid="6274334825195379076">"Секретарь"</string>
     <string name="relationTypeBrother" msgid="8757913506784067713">"Брат"</string>
@@ -1217,8 +1230,8 @@
     <string name="whichViewApplicationNamed" msgid="2286418824011249620">"Открыть с помощью приложения \"%1$s\""</string>
     <string name="whichEditApplication" msgid="144727838241402655">"Редактировать с помощью приложения:"</string>
     <string name="whichEditApplicationNamed" msgid="1775815530156447790">"Редактировать с помощью приложения \"%1$s\""</string>
-    <string name="whichSendApplication" msgid="6902512414057341668">"Поделиться с помощью приложения:"</string>
-    <string name="whichSendApplicationNamed" msgid="2799370240005424391">"Предоставлять доступ с помощью приложения \"%1$s\""</string>
+    <string name="whichSendApplication" msgid="6902512414057341668">"Поделиться с помощью:"</string>
+    <string name="whichSendApplicationNamed" msgid="2799370240005424391">"Поделиться через %1$s"</string>
     <string name="whichHomeApplication" msgid="4307587691506919691">"Выберите главное приложение"</string>
     <string name="whichHomeApplicationNamed" msgid="4493438593214760979">"Назначьте приложение \"%1$s\" главным"</string>
     <string name="alwaysUse" msgid="4583018368000610438">"По умолчанию для этого действия"</string>
@@ -1262,6 +1275,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Не запускать новое приложение."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Запустить приложение <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Остановить старое приложение без сохранения изменений."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Выберите действие для текста"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Громкость звонка"</string>
     <string name="volume_music" msgid="5421651157138628171">"Громкость мультимедиа"</string>
@@ -1783,7 +1804,9 @@
       <item quantity="other">Повторите попытку через <xliff:g id="COUNT">%d</xliff:g> секунд</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Повторите попытку позже."</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Чтобы вернуться в обычный режим, проведите пальцем вниз."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Полноэкранный режим"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Чтобы выйти, проведите по экрану сверху вниз."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"ОК"</string>
     <string name="done_label" msgid="2093726099505892398">"Готово"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Выбор часов на циферблате"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Выбор минут на циферблате"</string>
@@ -1798,7 +1821,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Рабочий <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Чтобы открепить экран, нажмите и удерживайте кнопки \"Назад\" и \"Обзор\" одновременно."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Чтобы открепить экран, нажмите и удерживайте кнопку \"Обзор\"."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Блокировка включена. Ее отключение запрещено правилами организации."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Блокировка включена"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Блокировка выключена"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Запрашивать PIN-код для отключения блокировки"</string>
@@ -1832,7 +1856,7 @@
       <item quantity="other">%d часов</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"До <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Бессрочно"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Пока я не отключу"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Свернуть"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"До следующего будильника в <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"До следующего будильника"</string>
diff --git a/core/res/res/values-si-rLK/strings.xml b/core/res/res/values-si-rLK/strings.xml
index 51493d1..8d0619d 100644
--- a/core/res/res/values-si-rLK/strings.xml
+++ b/core/res/res/values-si-rLK/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"ආසන්න ක්ෂේත්‍ර සන්නිවේදන (NFC) ටැග්, පත්, සහ කියවන්නන් සමඟ සන්නිවේදනය කිරීමට යෙදුමට අවසර දෙන්න."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"ඔබගේ තිරයේ අගුල අබල කරන්න"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"යතුරු අගුල සහ ඕනෑම සම්බන්ධිත මුරපද ආරක්ෂාවක් අබල කිරීමට යෙදුමට අවසර දෙන්න. මෙහි උදාහරණයක් වන්නේ පැමිණෙන ඇමතුමක් ලැබෙද්දී, දුරකථනය අක්‍රිය වන අතර ඇමතුම අවසාන වන විට යතුරු අගුල නැවත සක්‍රිය වෙයි."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"ඇඟිලි සලකුණු දෘඩාංග කළමනාකරණය කිරීම."</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"ඇඟිලි සලකුණු සැකිලි එකතු කිරීමට සහ ඉවත් කිරීමට අදාළ විධික්‍රම භාවිතය සඳහා මෙම යෙදුමට අවසර දෙයි."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"ඇඟිලි සලකුණු දෘඩාංග භාවිතා කරන්න."</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"අනන්‍යතාවය තහවුරු කරගැනීමට ඇඟිලි සලකුණු දෘඩාංග භාවිතා කිරීමට මෙම යෙදුමට ඉඩ දෙන්න."</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"සමමුහුර්ත සැකසීම් කියවන්න"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"ගිණුම සඳහා සමමුහුර්ත සැකසීම් කියවීමට යෙදුමට අවසර දෙන්න. උදාහරණයක් ලෙස, ගිණුමක් සමඟ පුද්ගල යෙදුම සමමුහුර්ත දැයි මෙයට හඳුනා ගත හැක."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"සමමුහුර්ත කිරීම සක්‍රිය කරන්න සහ අක්‍රිය කරන්න"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"වෙනත් යෙදුම් විසින් කළ පල කිරීම්ද ඇතුළත්ව දැන්වීම් ලබා ගැනීමට, පරීක්ෂා කිරීමට සහ හිස් කිරීමට යෙදුමට අවසර දෙන්න."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"දැනුම්දීම ඇහුම්කන් දීම් සේවාවක් වෙත බඳින්න"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"දැනුම්දීම් අසන්නාගේ සේවාවේ ඉහළ මට්ටමේ අතුරුමුහුණතට බැඳීමට දරන්නාට අවසර දේ. සාමාන්‍ය යෙදුම් සඳහා කිසිසේත් අවශ්‍ය නොවේ."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"තෝරන්නා ඉලක්ක කරගත් සේවාවකට සම්බන්ධ කරන්න"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"තෝරන්නා ඉලක්ක කරගත් සේවාවක ඉහළ මට්ට‍‍‍මේ අතුරු මුහුණත වෙත සම්බන්ධ වීමට ධාරකයාට ඉඩ‍‍දෙන්න. සාමාන්ය යෙදුම් සඳහා කිසිදා අවශ්ය නොවනු ඇත."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"තත්ත්වය සපයන්නාගේ සේවාවට බඳින්න"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"තත්ත්වය සපයන්නාගේ සේවාවට ඉහළ-මට්ටමේ අතුරු මුහුණතක් බැඳිමට ධාරකයාට අවසර දෙන්න. සාමාන්‍ය යෙදුම් සඳහා කවදාවත් අවශ්‍යය නොවෙයි."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"මාධ්‍ය ගමන් කරන සේවාව බඳින්න"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"වාහක පණිවිඩ යැවීමේ සේවාවට බදින්න"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"වාහක සේවාව ඉහල මට්ටමේ අතුරු මුහුණතක් වෙත සම්බන්ධ කිරීමට ධාරකයාට අවසර දෙන්න. සාමාන්‍ය යෙදුම්වලට කිසි විටෙක අවශ්‍ය නොවෙයි."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"මුරපද නීති සකස් කිරීම"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"තිරය අගුළු ඇරීමේ මුරපදයට අනුමත අකුරු සහ දිග පාලනය කරන්න."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"තිර අගුලු මුරපද සහ PIN තුළ ඉඩ දෙන දිග සහ අනුලකුණු පාලනය කිරීම."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"තිරය අගුළු ඇරීමේ උත්සාහයන් නිරීක්ෂණය කරන්න"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"තිරය අගුළු හැරීමේදී වැරදියට ටයිප් කළ මුරපද ගණන නිරීක්ෂණය කරන්න සහ ටැබ්ලටය අගුළු දමන්න හෝ වැරදි මුරපද බොහෝ ගණනක් ටයිප් කර ඇති නම් ටැබ්ලටයේ සියලු දත්ත මකන්න."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"තීරය අගුළු අරින විට වැරදියට මුරපදය ටයිප් කළ වාර ගණන නිර්ක්ෂණය කරන්න, සහ බොහෝ විටක් වැරදි මුරපද ටයිප් කළේ නම් රුපවාහිනීය අගුළු දමන්න හෝ සියළුම රුපවාහිනී දත්ත මකන්න."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"තිරය අගුළු හැරීමේදී වැරදියට ටයිප් කළ මුරපද ගණන නිරීක්ෂණය කරන්න සහ දුරකථනය අගුළු දමන්න හෝ වැරදි මුරපද බොහෝ ගණනක් ටයිප් කර ඇති නම් දුරකථනයේ සියලු දත්ත මකන්න."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"තිරය අගුළු ඇරීමේ මුරපදය වෙනස් කිරීම"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"තිරය අගුළු ඇරීමේ මුරපදය වෙනස් කරන්න."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"තිරය අගුලු හරින විට වැරදියට මුරපදය ටයිප් කළ වාර ගණන නිරීක්ෂණය කර, ඉතා වැඩි වාර ගණනක් වැරදි මුරපද ටයිප් කළේ නම් ටැබ්ලටය අගුලු දමන්න නැතහොත් මෙම පරිශීලකයාගේ සියලු දත්ත මකන්න."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"තිරය අගුලු හරින විට වැරදියට මුරපදය ටයිප් කළ වාර ගණන නිරීක්ෂණය කර, ඉතා වැඩි වාර ගණනක් වැරදි මුරපද ටයිප් කළේ නම් TV අගුලු දමන්න නැතහොත් මෙම පරිශීලකයාගේ සියලු දත්ත මකන්න."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"තිරය අගුලු හරින විට වැරදියට මුරපදය ටයිප් කළ වාර ගණන නිරීක්ෂණය කර, ඉතා වැඩි වාර ගණනක් වැරදි මුරපද ටයිප් කළේ නම් දුරකථනය අගුලු දමන්න නැතහොත් මෙම පරිශීලකයාගේ සියලු දත්ත මකන්න."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"තිර අගුල වෙනස් කරන්න"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"තිර අගුල වෙනස් කරන්න."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"තිරය අගුළු දැමීම"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"තිරයට අගුළු වැටීම සිදුවන්නේ කෙසේද සහ කවදාද යන්න පාලනය කරන්න."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"සියලු දත්ත මකන්න"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"කර්මාන්ත ශාලා දත්ත යළි පිහිටුවීමෙන් පසුව අනතුරු ඇඟවිමකින් තොරවම ටැබ්ලට් දත්ත මකා දමයි."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"අනතුරු ඇඟවීමකින් තොරව කර්මාන්ත ශාලා දත්ත නැවත සැකසීමක් කිරීමෙන් රූපවාහිනියේ දත්ත මකා දමයි."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"කර්මාන්ත ශාලා දත්ත යළි පිහිටුවීමෙන් පසුව අනතුරු ඇඟවිමකින් තොරවම දුරකථන දත්ත මකා දමයි."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"පරිශීලක දත්ත මකන්න"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"අනතුරු ඇඟවීමකින් තොරව මෙම ටැබ්ලටයෙහි මෙම පරිශීලකයාගේ දත්ත මැකීම."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"අනතුරු ඇඟවීමකින් තොරව මෙම TV හි මෙම පරිශීලකයාගේ දත්ත මැකීම."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"අනතුරු ඇඟවීමකින් තොරව මෙම දුරකථනයෙහි මෙම පරිශීලකයාගේ දත්ත මැකීම."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"උපාංග ගෝලීය නියුතුව සකස් කිරීම"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"කොන්දේසි සක්‍රිය විට පොදු නියුතු එකක් භාවිත කරන ලෙස උපාංගය සකසන්න. පළමු උපාංග පරිපාලකයා පමණක් ඵලදායි පොදු නියුතුව සකසයි."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"තිරය අගුළු දැමීමේ මුරපදය කල් ඉකුත්වීම සකසන්න"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"තිර-අගුළේ මුරපදය වෙනස්වීම කොපමණ කාල පරාසයකින් සිදුවිය යුතුද යන්න පාලනය කිරීම."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"ප්‍රතිපත්තිය සක්‍රිය අතරතුර ගෝලීය ප්‍රොක්සි භාවිත කිරීමට උපාංගය සකසන්න. උපාංග හිමිකරුට පමණක් ගෝලීය ප්‍රොක්සි සැකසිය හැකිය."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"තිර අගුලු මුරපදය කල් ඉකුත්වීම සකසන්න"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"තිර අගුලු මුරපදය, PIN, හෝ රටාව කොපමණ කාල පරාසයකින් වෙනස් කළ යුතුද යන්න වෙනස් කිරීම."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"ආචයනයේ සංකේතනය සකස් කිරීම"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"ආචයනය කළ යෙදුම් දත්ත සංකේතනය කිරීමට අවශ්‍යය."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"කැමරා අබල කිරීම"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"සියලු උපාංග කැමරාවල භාවිතය වලක්වන්න."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"යතුරු ආරක්ෂාවේ විශේෂාංග අබල කරන්න"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"යතුරු ආරක්ෂාව හි සමහර විශේෂාංග භාවිතය වළක්වයි."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"තිර අගුලෙහි විශේෂාංග අක්‍රිය කරන්න"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"තිර අගුලෙහි සමහර විශේෂාංග භාවිතය වළක්වන්න."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"නිවස"</item>
     <item msgid="869923650527136615">"ජංගම"</item>
@@ -1254,6 +1267,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"නව යෙදුම ආරම්භ නොකරන්න."</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> අරඹන්න"</string>
     <string name="new_app_description" msgid="1932143598371537340">"සුරැකීමකින් තොරව පරණ යෙදුම නවත්වන්න."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"පෙළ සඳහා ක්‍රියාව තෝරන්න"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"හඬ නඟනයේ ශබ්දය"</string>
     <string name="volume_music" msgid="5421651157138628171">"මාධ්‍ය ශබ්දය"</string>
@@ -1767,7 +1788,9 @@
       <item quantity="other">තත්පර <xliff:g id="COUNT">%d</xliff:g> කින් නැවත උත්සාහ කරන්න</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"පසුව නැවත උත්සාහ කරන්න"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"උඩ සිට පහළට ස්වයිප් කර පූර්ණ තිරයෙන් ඉවත්වන්න."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"මුළු තිරය බලමින්"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"ඉවත් වීමට, ඉහළ සිට පහළට ස්වයිප් කරන්න"</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"වැටහුණි"</string>
     <string name="done_label" msgid="2093726099505892398">"අවසන්"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"පැය කවාකාර සර්පනය"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"මිනිත්තු කවාකාර සර්පනය"</string>
@@ -1782,7 +1805,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"වැඩ <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"මෙම තීරයේ ඇමුණුම ඉවත් කිරීමට, ආපසු සහ දළ විශ්ලේෂණය එකම වේලාවේ ස්පර්ශ කර අල්ලා සිටින්න."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"මෙම තීරයේ ඇමුණුම ඉවත් කිරීමට, දළ විශ්ලේෂණය ස්පර්ශ කර අල්ලා සිටින්න."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"තිරය අගුළු දමා ඇත. ඔබගේ සංවිධානය විසින් අගුළු ඇරීමට ඉඩ නොදෙයි."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"තිරය අගුළු දමා ඇත"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"තිරයේ අගුළු ඇර ඇත"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"ගැලවීමට පෙර PIN විමසන්න"</string>
@@ -1808,7 +1832,7 @@
       <item quantity="other">පැය %d ක් සඳහා</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> තෙක්"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"අනියත ආකාරයට"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"ඔබ මෙය අක්‍රිය කරන තුරු"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"හකුළන්න"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> හි ඊළඟ සීනුව තෙක්"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"ඊළඟ සීනුව තෙක්"</string>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index 85ece4f..60cb662 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -740,6 +740,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Umožňuje aplikácii komunikovať so značkami, kartami a čítačkami s podporou technológie NFC."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"deaktivácia zámky obrazovky"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Umožňuje aplikácii zakázať uzamknutie klávesnice a akékoľvek súvisiace zabezpečenie heslom. Príkladom je zakázanie uzamknutia klávesnice pri prichádzajúcom telefonickom hovore a jeho opätovné povolenie po skončení hovoru."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"spravovať hardvér na snímanie odtlačkov prstov"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Umožňuje aplikácii zavolať metódy, ktoré pridávajú a odstraňujú vzory odtlačkov prstov."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"použiť hardvér na snímanie odtlačkov prstov"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Umožňuje aplikácii používať na overenie totožnosti hardvér na snímanie odtlačkov prstov."</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"čítať nastavenia synchronizácie"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Umožňuje aplikácii čítať nastavenia synchronizácie v účte. Môže napríklad určiť, či je s účtom synchronizovaná aplikácia Ľudia."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"zapnúť alebo vypnúť synchronizáciu"</string>
@@ -794,6 +798,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Umožňuje aplikácii načítať, zobrazovať a mazať upozornenia vrátane tých, ktoré boli uverejnené inými aplikáciami."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"naviazanie sa na službu na počúvanie upozornení"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Umožňuje držiteľovi naviazať sa na najvyššiu úroveň služby na počúvanie upozornení. Bežné aplikácie by toto nastavenie nemali nikdy požadovať."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"viazať sa na výber cieľovej služby"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Umožňuje držiteľovi viazať sa na najvyššiu úroveň rozhrania na výber cieľovej služby. Bežné aplikácie by toto povolenie nemali nikdy potrebovať."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"viazanie na službu poskytovateľa podmienky"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Umožňuje držiteľovi viazať sa na najvyššiu úroveň rozhrania služby poskytovateľa podmienky. Bežné aplikácie by toto povolenie nemali nikdy potrebovať."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"viazanie na službu smerovania médií"</string>
@@ -815,29 +821,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"viazať sa na službu na odosielanie správ SMS a MMS operátora"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Umožňuje držiteľovi viazať sa na najvyššiu úroveň rozhrania služby na odosielanie správ SMS a MMS operátora. Bežné aplikácie by toto nastavenie nemali nikdy potrebovať."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Nastaviť pravidlá pre heslo"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Ovládanie dĺžky hesiel na odomknutie obrazovky a v nich používané znaky."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Nastavte dĺžku hesiel na odomknutie obrazovky aj kódov PIN a v nich používané znaky."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Sledovať pokusy o odomknutie obrazovky"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Sledovať počet nesprávnych hesiel zadaných pri odomykaní obrazovky a zamknúť tablet alebo vymazať všetky údaje tabletu v prípade príliš veľkého počtu neplatných pokusov o zadanie hesla."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Sledujte počet nesprávnych hesiel zadaných pri odomykaní obrazovky a v prípade, že ich je zadaných príliš mnoho, uzamknite televízor alebo vymažte všetky údaje v ňom."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Sledovať počet nesprávnych hesiel zadaných pri odomykaní obrazovky a zamknúť telefón alebo vymazať všetky údaje v telefóne v prípade príliš veľkého počtu neplatných pokusov o zadanie hesla."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Zmeniť heslo na odomknutie obrazovky"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Zmena hesla na odomknutie obrazovky."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Sledujte počet nesprávnych hesiel zadaných pri odomykaní obrazovky a v prípade, že ich je zadaných príliš mnoho, uzamknite tablet alebo vymažte všetky údaje tohto používateľa."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Sledujte počet nesprávnych hesiel zadaných pri odomykaní obrazovky a v prípade, že ich je zadaných príliš mnoho, uzamknite televízor alebo vymažte všetky údaje tohto používateľa."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Sledujte počet nesprávnych hesiel zadaných pri odomykaní obrazovky a v prípade, že ich je zadaných príliš mnoho, uzamknite telefón alebo vymažte všetky údaje tohto používateľa."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Zmeniť zámku obrazovky"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Zmeňte zámku obrazovky."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Uzamknúť obrazovku"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Ovládať, ako a kedy sa obrazovka uzamkne."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Vymazanie všetkých údajov"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Bez predchádzajúceho upozornenia zmazať všetky údaje tým, že sa obnovia továrenské nastavenia tabletu."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Vymažte údaje televízora bez upozornenia obnovením jeho továrenských nastavení."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Bez predchádzajúceho upozornenia zmazať všetky údaje tým, že sa obnovia továrenské nastavenia telefónu."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Vymazať údaje používateľa"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Vymažte bez upozornenia údaje tohto používateľa na tomto tablete."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Vymažte bez upozornenia údaje tohto používateľa na tomto televízore."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Vymažte bez upozornenia údaje tohto používateľa na tomto telefóne."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Nastaviť globálny server proxy zariadenia"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Vyberte globálny server proxy, ktorý sa bude používať po aktivácii pravidiel. Platný globálny server proxy nastavuje iba prvý správca zariadenia."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Nastaviť vypršanie hesla zámky"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Nastavte, ako často sa musí zmeniť heslo na uzamknutie obrazovky."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Vyberte globálny proxy server, ktorý sa bude používať po aktivácii pravidiel. Nastaviť ho môže iba vlastník zariadenia."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Nastaviť dátum vypršania platnosti zámky obrazovky"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Nastavte, ako často sa musí zmeniť heslo na uzamknutie obrazovky, kód PIN alebo vzor."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Nastaviť šifrovanie úložiska"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Vyžadovať šifrovanie uložených údajov aplikácií."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Zakázať fotoaparáty"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Zakázať používanie všetkých fotoaparátov zariadenia."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Zákaz funkcií pri zámke klávesov"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Zabrániť používaniu niektorých funkcií pri zámke klávesov."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Vypnúť funkcie zámky obrazovky"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Zabráňte používaniu niektorých funkcií zámky obrazovky."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Domov"</item>
     <item msgid="869923650527136615">"Mobil"</item>
@@ -1262,6 +1275,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Nespúšťať novú aplikáciu."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Spustiť <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Zastaviť starú aplikáciu bez uloženia."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Zvoľte akciu pre text"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Hlasitosť vyzváňania"</string>
     <string name="volume_music" msgid="5421651157138628171">"Hlasitosť médií"</string>
@@ -1783,7 +1804,9 @@
       <item quantity="one">Skúste to znova o 1 sekundu</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Skúste to znova neskôr"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Režim celej obrazovky ukončíte posunutím nadol."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Zobrazenie na celú obrazovku"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Ukončite prejdením prstom z hornej časti nadol."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Rozumiem"</string>
     <string name="done_label" msgid="2093726099505892398">"Hotovo"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Kruhový posúvač hodín"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Kruhový posúvač minút"</string>
@@ -1798,7 +1821,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Práca – <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Ak chcete uvoľniť túto obrazovku, súčasne klepnite na tlačidlá Späť a Prehľad a podržte ich."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Ak chcete uvoľniť túto obrazovku, klepnite na tlačidlo Prehľad a podržte ho."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Obrazovka je pripnutá. Uvoľnenie vaša organizácia nepovoľuje."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Obrazovka bola pripnutá"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Obrazovka bola uvoľnená"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Pred uvoľnením požiadať o číslo PIN"</string>
@@ -1832,7 +1856,7 @@
       <item quantity="one">Hodinu</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Natrvalo"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Dokým túto funkciu nevypnete"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Zbaliť"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Do ďalšieho budíka o <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Do ďalšieho budíka"</string>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index 320e17a..6fe00d1 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -740,6 +740,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Podpira komunikacijo med računalnikom in oznakami, karticami in bralniki komunikacije s tehnologijo bližnjega polja."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"onemogočanje zaklepanja zaslona"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Aplikaciji dovoljuje, da onemogoči zaklep tipkovnice in morebitno povezano varnostno geslo. Telefon na primer onemogoči zaklep tipkovnice pri dohodnem klicu ter vnovič omogoči zaklep, ko je klic končan."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"upravljanje strojne opreme za prstne odtise"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Aplikaciji omogoča sprožanje načinov za dodajanje in brisanje predlog s prstnimi odtisi za uporabo."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"uporaba strojne opreme za prstne odtise"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Aplikaciji omogoča uporabo strojne opreme za prstne odtise za preverjanje pristnosti"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"branje nastavitev sinhronizacije"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Aplikaciji omogoča branje nastavitev sinhronizacije za račun. S tem lahko aplikacija na primer ugotovi, ali je aplikacija Ljudje sinhronizirana z računom."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"vklop in izklop sinhronizacije"</string>
@@ -794,6 +798,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Dovoli aplikaciji, da prenese, razišče in izbriše obvestila, tudi tista, ki so jih objavile druge aplikacije."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"poveži se s storitvijo poslušalca obvestil"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Lastniku omogoča povezovanje z vmesnikom storitve poslušalca obvestil najvišje ravni. Tega nikoli ni treba uporabiti za navadne aplikacije."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"povezava s storitvijo izbirnika cilja"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Imetniku omogoča povezovanje z vmesnikom storitve izbirnika cilja najvišje ravni. Nikoli ni potrebno za navadne aplikacije."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"povezovanje s storitvijo ponudnika pogojev"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Imetniku omogoča povezovanje z vmesnikom storitve ponudnika pogojev najvišje ravni. Tega ni treba nikoli uporabiti za navadne aplikacije."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"povezovanje s storitvijo poti predstavnosti"</string>
@@ -815,29 +821,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"povezovanje z operaterjevo sporočilno storitvijo"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Imetniku omogoča povezovanje z vmesnikom operaterjeve sporočilne storitve najvišje ravni. To naj ne bi bilo nikoli potrebno za navadne aplikacije."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Nastavitev pravil za geslo"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Nadzor nad dolžino in znaki, ki so dovoljeni v geslih za odklepanje zaslona."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Nadzor nad dolžino in znaki, ki so dovoljeni v geslih in kodah PIN za odklepanje zaslona."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"nadzor nad poskusi odklepanja zaslona"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Nadzoruje število nepravilno vnesenih gesel pri odklepanju zaslona in zaklene tablični računalnik ali izbriše vse podatke v njem, če je vnesenih preveč nepravilnih gesel."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Nadzira število vnesenih nepravilnih gesel pri odklepanju zaslona in zaklene televizor ali izbriše vse podatke v televizorju, če je vnesenih preveč nepravilnih gesel."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Spremljajte število vnesenih napačnih gesel, s katerimi želite odkleniti zaslon. Če je teh vnosov preveč, zaklenite telefon ali izbrišite vse podatke v njem."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Spreminjanje gesla za odklepanje zaslona"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Sprememba gesla za odklepanje zaslona."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Nadzira število vnesenih nepravilnih gesel pri odklepanju zaslona in zaklene tablični računalnik ali izbriše vse podatke lastnika, če je vnesenih preveč nepravilnih gesel."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Nadzira število vnesenih nepravilnih gesel pri odklepanju zaslona in zaklene televizor ali izbriše vse podatke lastnika, če je vnesenih preveč nepravilnih gesel."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Nadzira število vnesenih nepravilnih gesel pri odklepanju zaslona in zaklene telefon ali izbriše vse podatke lastnika, če je vnesenih preveč nepravilnih gesel."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Spreminjanje zaklepanja zaslona"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Spreminjanje zaklepanja zaslona."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Zaklepanje zaslona"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Nadzor nad tem, kako in kdaj se zaklene zaslon."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Brisanje vseh podatkov"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Izbris podatkov v tabličnem računalniku brez opozorila s ponastavitvijo na tovarniške nastavitve"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Brez opozorila izbriše podatke v televizorju, tako da izvede ponastavitev na tovarniške nastavitve."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Izbris podatkov v telefonu brez opozorila s ponastavitvijo na tovarniške nastavitve"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Izbris podatkov uporabnika"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Izbris podatkov uporabnika v tem tabličnem računalniku brez opozorila."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Izbris podatkov uporabnika v tem televizorju brez opozorila."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Izbris podatkov uporabnika v tem telefonu brez opozorila."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Nastavitev globalnega strežnika proxy za napravo"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Nastavite globalni strežnik proxy naprave, ki bo v uporabi, ko je pravilnik omogočen. Samo skrbnik prve naprave lahko nastavi veljaven globalni strežnik proxy."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Nastavitev poteka gesla za zaklepanje zaslona"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Nadzor nad tem, kako pogosto je treba spremeniti geslo za zaklepanje zaslona."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Nastavitev globalnega strežnika proxy naprave, ki bo v uporabi, ko je pravilnik omogočen. Samo lastnik naprave lahko nastavi globalni strežnik proxy."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Nastavitev poteka gesla za zaklepanje zaslona"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Spreminjanje tega, kako pogosto je treba spremeniti geslo, kodo PIN ali vzorec za zaklepanje zaslona."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Nastavitev šifriranja shrambe"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Shranjeni podatki aplikacije morajo biti šifrirani."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Onemogoči fotoaparate"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Prepreči uporabo vseh fotoaparatov v napravi."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Onemogočanje funkcij tipkov."</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Preprečitev uporabe nekaterih funkcij tipkovnice."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Izklop funkcij zaklep. zaslona"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Preprečitev uporabe nekaterih funkcij zaklepanja zaslona."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Začetna stran"</item>
     <item msgid="869923650527136615">"Mobilni"</item>
@@ -1262,6 +1275,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Ne zaženite nove aplikacije."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Začni <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Ustavi prejšnjo aplikacijo brez shranjevanja."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Izberite dejanje za besedilo"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Glasnost zvonjenja"</string>
     <string name="volume_music" msgid="5421651157138628171">"Glasnost predstavnosti"</string>
@@ -1783,7 +1804,9 @@
       <item quantity="other">Poskusite znova čez <xliff:g id="COUNT">%d</xliff:g> sekund</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Poskusite znova pozneje"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Povlecite z vrha, da zaprete celozaslonski način."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Celozaslonski način"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Zaprete tako, da z vrha s prstom povlečete navzdol."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Razumem"</string>
     <string name="done_label" msgid="2093726099505892398">"Dokončano"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Okrogli drsnik za ure"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Okrogli drsnik za minute"</string>
@@ -1798,7 +1821,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> za delo"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Če želite odpeti ta zaslon, se hkrati dotaknite tipk Nazaj in Pregled ter ju pridržite."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Če želite odpeti ta zaslon, se dotaknite tipke Pregled in jo pridržite."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Zaslon je pripet. Vaša organizacija ne dovoli odpenjanja."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Zaslon je pripet"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Zaslon je odpet"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Pred odpenjanjem vprašaj za PIN"</string>
@@ -1832,7 +1856,7 @@
       <item quantity="other">%d ur</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Za nedoločen čas"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Dokler tega ne izklopite"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Strni"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Do naslednjega alarma ob <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Do naslednjega alarma"</string>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index 26a436a..1043b2c 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -739,6 +739,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Дозвољава апликацији да комуницира са ознакама, картицама и читачима комуникације кратког домета (NFC)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"онемогућавање закључавања екрана"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Дозвољава апликацији да онемогући закључавање тастатуре и све повезане безбедносне мере са лозинкама. На пример, телефон онемогућава закључавање тастатуре при пријему долазног телефонског позива, а затим га поново омогућава по завршетку позива."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"управљај хардвером за отиске прстију"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Дозвољава апликацији да активира методе за додавање и брисање шаблона отисака прстију који ће се користити."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"користи хардвер за отиске прстију"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Дозвољава апликацији да користи хардвер за отиске прстију ради потврде аутентичности"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"читање подешавања синхронизације"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Дозвољава апликацији да чита подешавања синхронизације за налог. На пример, овако може да се утврди да ли је апликација Људи синхронизована са налогом."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"укључивање и искључивање синхронизације"</string>
@@ -793,6 +797,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Дозвољава апликацији да преузима, испитује и брише обавештења, укључујући она која постављају друге апликације."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"повезивање са услугом монитора обавештења"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Дозвољава власнику да се повеже са интерфејсом услуге монитора обавештења највишег нивоа. Уобичајене апликације никада не би требало да је користе."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"повежи се са циљном услугом за бирање"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Дозвољава власнику да се повеже са интерфејсом највишег нивоа циљне услуге за бирање. Никада не би требало да буде потребна за уобичајене апликације."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"повежи са услугом добављача услова"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Дозвољава власнику да се повеже са интерфејсом највишег нивоа услуге добављача услова. Не би требало никада да буде потребно за уобичајене апликације."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"повезивање са услугом усмеравања медија"</string>
@@ -814,29 +820,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"повезивање са услугом за размену порука мобилног оператера"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Дозвољава власнику да се повеже са интерфејсом највишег нивоа за услугу за размену порука мобилног оператера. Никада не би требало да буде потребно за стандардне апликације."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Подешавање правила за лозинку"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Контролишите дужину и знакове дозвољене у лозинкама за откључавање екрана."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Контролише дужину и знакове дозвољене у лозинкама и PIN-овима за закључавање екрана."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Надгледање покушаја откључавања екрана"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Прати број нетачно унетих лозинки приликом откључавања екрана и закључава таблет или брише податке са таблета ако је нетачна лозинка унета превише пута."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Надгледа број нетачних лозинки које унесете при откључавању екрана и закључава ТВ или брише све податке са њега ако се унесе превише нетачних лозинки."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Прати број нетачно унетих лозинки при откључавању екрана и закључава телефон или брише све податке са телефона ако је нетачна лозинка унета превише пута."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Промена лозинке за откључавање екрана"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Промените лозинку за откључавање екрана."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Надгледа број нетачних лозинки унетих при откључавању екрана и закључава таблет или брише све податке овог корисника ако се унесе превише нетачних лозинки."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Надгледа број нетачних лозинки унетих при откључавању екрана и закључава ТВ или брише све податке овог корисника ако се унесе превише нетачних лозинки."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Надгледа број нетачних лозинки унетих при откључавању екрана и закључава телефон или брише све податке овог корисника ако се унесе превише нетачних лозинки."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Промени закључавање екрана"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Мења закључавање екрана."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Закључавање екрана"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Контролишите начин и време закључавања екрана."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Брисање свих података"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Брисање података на таблету без упозорења ресетовањем на фабричка подешавања."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Брише све податке са ТВ-а без упозорења ресетовањем на фабричка подешавања."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Избришите податке на телефону без упозорења ресетовањем на фабричка подешавања."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Обриши податке корисника"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Брише податке овог корисника на овом таблету без упозорења."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Брише податке овог корисника на овом ТВ-у без упозорења."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Брише податке овог корисника на овом телефону без упозорења."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Подесите глобални прокси сервер уређаја"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Подесите глобални прокси сервер уређаја који ће се користити док су омогућене смернице. Само први администратор уређаја поставља ефективни глобални прокси сервер."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Подешавање истека лозинке екрана"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Контролишите колико често лозинка за закључавање екрана мора да се мења."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Подешава глобални прокси уређаја који ће се користити док су смернице омогућене. Само власник уређаја може да подеси глобални прокси."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Подеси истек. лозин. за закљ. екр."</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Мења колико често лозинка, PIN или шаблон за закључавање екрана мора да се мења."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Подешавање шифровања складишта"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Захтева да сачувани подаци апликације буду шифровани."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Онемогућавање камера"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Спречите коришћење свих камера уређаја."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Онемогућавање функција закључавања тастатуре."</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Спречавање неких функција закључавања тастатуре."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Онемогући функ. закључ. екрана"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Спречава коришћење неких функција закључавања екрана."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Кућа"</item>
     <item msgid="869923650527136615">"Мобилни"</item>
@@ -1257,6 +1270,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Не покрећите нову апликацију."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Покрени <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Зауставља стару апликацију без чувања."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Изаберите радњу за текст"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Јачина звука звона"</string>
     <string name="volume_music" msgid="5421651157138628171">"Јачина звука медија"</string>
@@ -1774,7 +1795,9 @@
       <item quantity="other">Покушајте поново за <xliff:g id="COUNT">%d</xliff:g> секунди</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Покушајте поново касније"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Превуците прстом одозго надоле да бисте изашли из целог екрана."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Приказује се цео екран"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Да бисте изашли, превуците надоле одозго."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Важи"</string>
     <string name="done_label" msgid="2093726099505892398">"Готово"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Кружни клизач за сате"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Кружни клизач за минуте"</string>
@@ -1789,15 +1812,16 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> на послу"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Да бисте откачили овај екран, истовремено додирните и задржите Назад и Преглед."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Да бисте откачили овај екран, додирните и задржите Преглед."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Екран је закачен. Ваша организација не дозвољава откачињање."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Екран је закачен"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Екран је откачен"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Тражи PIN пре откачињања"</string>
     <string name="lock_to_app_unlock_pattern" msgid="4182192144797225137">"Тражи шаблон за откључавање пре откачињања"</string>
     <string name="lock_to_app_unlock_password" msgid="6380979775916974414">"Тражи лозинку пре откачињања"</string>
     <string name="battery_saver_description" msgid="1960431123816253034">"Да би продужила време трајања батерије, уштеда батерије смањује перформансе уређаја и ограничава вибрацију, услуге локације и већину позадинских података. Имејл, размена порука и друге апликације које се ослањају на синхронизацију можда неће да се ажурирају ако их не отворите.\n\nУштеда батерије се аутоматски искључује када се уређај пуни."</string>
-    <string name="downtime_condition_summary" msgid="8761776337475705749">"Док се прекид рада не заврши у <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="downtime_condition_line_one" msgid="8762708714645352010">"Док се време одмора не заврши"</string>
+    <string name="downtime_condition_summary" msgid="8761776337475705749">"Док се одмор не заврши у <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
+    <string name="downtime_condition_line_one" msgid="8762708714645352010">"Док се одмор не заврши"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848">
       <item quantity="one">%1$d минут (до <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
       <item quantity="few">%1$d минута (до <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
@@ -1819,7 +1843,7 @@
       <item quantity="other">%d сати</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"До <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Бесконачно"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Док не искључите"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Скупи"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"До следећег аларма у <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"До следећег аларма"</string>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 1457940..a47cb65 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Tillåter att appen kommunicerar med etiketter, kort och läsare för närfältskommunikation (NFC)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"inaktivera skärmlåset"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Tillåter att appen inaktiverar tangentlåset och tillhörande lösenordsskydd. Ett exempel kan vara att tangentlåset inaktiveras vid inkommande samtal och aktiveras igen när samtalet är avslutat."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"hantera maskinvara för fingeravtryck"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Tillåter att appen anropar metoder för att lägga till och radera fingeravtrycksmallar."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"använda maskinvara för fingeravtryck"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Tillåter att appen använder maskinvara för fingeravtryck vid autentisering"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"läsa synkroniseringsinställningar"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Tillåter att appen läser synkroniseringsinställningarna för ett konto. Detta kan användas till exempel för att avgöra om appen Personer är synkroniserad med ett konto."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"aktivera/inaktivera synkronisering"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Tillåter att appen hämtar, granskar och raderar meddelanden, även sådana som skickats av andra appar."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"binda till en meddelandelyssnare"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Innehavaren tillåts att binda till den översta nivåns gränssnitt för en meddelandelyssnare. Ska inte behövas för vanliga appar."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"binda till en målväljartjänst"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Innehavaren tillåts att binda till den översta nivåns gränssnitt för en målväljartjänst. Ska inte behövas för vanliga appar."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"bind till en leverantörstjänst"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Innehavaren tillåts att binda till den översta nivåns gränssnitt för en leverantörstjänst. Ska inte behövas för vanliga appar."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"binda till medieruttjänst"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"binda till en operatörs meddelandetjänst"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Innehavaren tillåts att binda till den översta nivåns gränssnitt för en operatörs meddelandetjänst. Ska inte behövas för vanliga appar."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Ange lösenordsregler"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Bestäm hur många och vilka tecken som är tillåtna i skärmlåsets lösenord."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Styr tillåten längd och tillåtna tecken i lösenord och pinkoder för skärmlåset."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Övervaka försök att låsa upp skärmen"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Övervaka antalet felaktiga lösenord som angetts för skärmlåset och lås surfplattan eller ta bort alla data från surfplattan om för många felaktiga försök görs."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Övervakar antalet felaktiga lösenord som skrivits in vid upplåsning av skärmen och låser tv:n eller rensar alla uppgifter på tv:n om för många felaktiga lösenord har skrivits in."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Övervaka antalet felaktiga lösenord som angivits för skärmlåset och lås mobilen eller ta bort alla data från mobilen om för många felaktiga försök görs."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Ändra skärmlåsets lösenord"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Ändra skärmlåsets lösenord."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Övervaka antalet felaktiga lösenord som skrivits in vid upplåsning av skärmen och lås surfplattan eller rensa alla uppgifter för den här användaren om för många felaktiga lösenord har skrivits in."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Övervaka antalet felaktiga lösenord som skrivits in vid upplåsning av skärmen och lås tv:n eller rensa alla uppgifter för den här användaren om för många felaktiga lösenord har skrivits in."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Övervaka antalet felaktiga lösenord som skrivits in vid upplåsning av skärmen och lås mobilen eller rensa alla uppgifter för den här användaren om för många felaktiga lösenord har skrivits in."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Ändra skärmlåset"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Ändra skärmlåset."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Lås skärmen"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Kontrollera hur och när skärmlåset aktiveras."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Radera alla data"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Ta bort data från surfplattan utan förvarning genom att återställa standardinställningarna."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Rensar uppgifterna på tv:n utan föregående varning genom att återställa standardinställningarna."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Ta bort data från mobilen utan förvarning genom att återställa standardinställningarna."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Radera användaruppgifter"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Rensa användarens uppgifter på den här surfplattan utan förvarning."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Rensa användarens uppgifter på den här tv:n utan förvarning."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Rensa användarens data på den här mobilen utan förvarning."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Ange global proxyserver"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Ange vilken global proxyserver som ska användas när policyn är aktiverad. Endast den första enhetsadministratören anger den faktiska globala proxyservern."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Ange lösenordets utgångsdatum"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Styr hur ofta lösenordet till skärmlåset måste ändras."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Ange enhetens globala proxy som ska användas när policyn aktiveras. Det är bara enhetens ägare som kan ange global proxy."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Ange lösenordets slutdatum"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Ändra hur ofta lösenordet, pinkoden eller mönstret för skärmlåset måste bytas."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Ange krypterad lagring"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Kräv att sparade appdata krypteras."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Inaktivera kameror"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Förhindra att enhetens kameror används."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Inaktivera vid knapplås"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Förhindra användning av vissa funktioner vid knapplås."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Inaktivera skärmlåsfunktioner"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Förhindra användning av vissa skärmlåsfunktioner."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Hem"</item>
     <item msgid="869923650527136615">"Mobil"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Starta inte den nya appen."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Starta <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Avbryt den gamla appen utan att spara."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Välj en åtgärd för text"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Ringvolym"</string>
     <string name="volume_music" msgid="5421651157138628171">"Mediavolym"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Försök igen om en sekund</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Försök igen senare"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Dra nedåt om du vill avbryta fullskärmsläget."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Visar på fullskärm"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Dra nedåt från skärmens överkant för att avsluta."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"OK"</string>
     <string name="done_label" msgid="2093726099505892398">"Klart"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Cirkelreglage för timmar"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Cirkelreglage för minuter"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> för arbetet"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Om du vill lossa skärmen trycker du länge på Tillbaka och Översikt samtidigt."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Om du vill lossa skämen trycker du länge på Översikt."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Skärmen är fäst. Din organisation tillåter inte att du avslutar läget."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Skärmen är fäst"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Skärmen är inte längre fäst"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Be om pinkod innan skärmen slutar fästas"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">I en timme</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Till kl. <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"För alltid"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Tills du inaktiverar detta"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Komprimera"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Till nästa alarm kl. <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Till nästa alarm"</string>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index f135f7a..1576c67 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Inaruhusu programu kuwasiliana na lebo, kadi na wasomaji wa Near Field Communication (NFC)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"zima kufuli la skrini yako"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Inaruhusu programu kulemaza ufunguo wa vitufe na usalama mwingine ambata wa nenosiri. Kwa mfano, simu inalemaza ufunguo wa viitufe inapopokea simu inayoingia, kisha inawezesha upya ufunguo wa vitufe wakati simu inapokamilika."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"dhibiti maunzi ya kitambulisho"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Huruhusu programu kuomba njia za kuongeza na kufuta violezo vya kitambulisho kwa matumizi."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"tumia maunzi ya kitambulisho"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Huruhusu programu kutumia maunzi ya kitambulisho kwa uthibitisho"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"kusoma mipangilio ya usawazishaji"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Inaruhusu programu kusoma mipangilio ya upatanishi wa akaunti. Kwa mfano, huku kunaweza kuamua kama programu ya Watu imepatanishwa na akaunti."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"kuwasha na kuzima usawazishaji"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Huruhusu programu kurejesha, kuchunguza, na kuondoa arifa, ikiwa ni pamoja na zile zilizochapishwa na programu nyingine."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"unganisha kwenye huduma ya kisikilizi cha arifa"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Inaruhusu kishikilizi kuunganishwa kwenye kusano cha kiwango cha juu cha huduma ya kisikilizi cha arifa. Haipaswi kuhitajika tena kwa programu za kawaida."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"bandika kwenye huduma lengwa ya mchaguaji"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Huruhusu mmiliki kubandika kwenye kiolesura cha kiwango cha juu cha huduma lengwa ya mchaguaji. Haitahitajika kamwe kwa programu za kawaida."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"bandika kwenye huduma ya mtoa masharti"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Humruhusu mmiliki kubandika kwenye kiolesura cha kiwango cha juu cha huduma ya mtoa masharti. Isihitajike kamwe kwa pogramu za kawaida."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"bandika kwenye huduma ya njia za sauti, picha na video."</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"Shurutisha kwa huduma ya ujumbe ya mtoa huduma"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Huruhusu kishikiliaji kushurutisha kwa kiolesura cha hali ya juu cha huduma ya ujumbe ya mtoa huduma. Haipaswi kuhitajika kwa programu za kawaida."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Kuweka kanuni za nenosiri"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Kudhibiti urefu na herufi zinazoruhusiwa katika manenosiri ya kufungua skrini."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Dhibiti urefu na maandishi yanayokubalika katika nenosiri la kufunga skrini na PIN."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Kuhesabu mara ambazo skrini inajaribu kufunguliwa"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Kufuatilia idadi ya manenosiri yasiyo sahihi yatakayoingizwa wakati wa kufungua skrini, na kufunga kompyuta kibao au kufuta data yote iliyomo kama manenosiri mengi yasiyo sahihi yataingizwa."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Fuatilia idadi ya manenosiri yasiyo sahihi yanayoandikwa wakati wa kufungua skrini, na funga runinga au ufute data yote ya runinga ikiwa manenosiri mengi mno yasiyosahihi yataandikwa."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Kufuatilia idadi ya manenosiri yasiyo sahihi yatakayoingizwa wakati wa kufungua skrini, na kufunga simu au kufuta data yote iliyomo kama manenosiri mengi sana yasiyo sahihi yataingizwa."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Kubadilisha nenosiri la kufungua skrini"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Kubadilisha nenosiri la kufungua skrini."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Fuatilia idadi ya manenosiri yasiyo sahihi yaliyoingizwa wakati wa kufungua skrini, na ufunge kompyuta kibao au ufute data yote ya mtumiaji huyu kama ameingiza manenosiri yasiyo sahihi mara nyingi kupita kiasi."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Fuatilia idadi ya manenosiri yasiyo sahihi yanayoingizwa wakati wa kufungua skrini, na ufunge televisheni au ufute data yote ya mtumiaji kama ameingiza manenosiri yasiyo sahihi mara nyingi kupita kiasi."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Fuatilia idadi ya manenosiri yasiyo sahihi yaliyoingizwa wakati wa kufungua skrini, na ufunge simu au ufute data yote ya mtumiaji  huyu kama ameingiza manenosiri yasiyo sahihi mara nyingi kupita kiasi."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Badilisha nenosiri la kufunga skrini"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Badilisha nenosiri la kufunga skrini."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Kufunga skrini"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Kudhibiti jinsi na wakati skrini inapofunga."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Kufuta data yote"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Futa data ya kompyuta kibao bila ilani kwa kurejesha mipangilio ya mwanzo."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Futa data ya runinga bila onyo kwa kurejesha katika hali iliyotoka nayo kiwandani."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Kufuta data ya simu bila ilani kwa kurejesha data ambayo kifaa kilitoka nayo kiwandani"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Futa data yote ya mtumiaji"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Futa data ya mtumiaji huyu iliyo kwenye kompyuta kibao hii bila ilani."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Futa data ya mtumiaji huyu iliyo kwenye televisheni hii bila ilani."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Futa data ya mtumiaji huyu iliyo kwenye simu hii bila ilani."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Weka seva mbadala ya ulimwengu kote ya kifaa"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Weka seva mbadala ya ulimwengu kote ya kifaa itakayotumiwa wakati sera iwezeshwa. Msimamizi wa kwanza wa kifaa pekee ndiye anaweza kuweka seva mbadala ya ulimwengu inayofanya kazi."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Kuweka kipindi cha kutumia nenosiri la kufunga skrini"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Kudhibiti ni mara ngapi nenosiri la kufunga skrini linafaa libadilishwe."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Weka seva mbadala ya ulimwengu ya kifaa itakayotumika wakati sera imewashwa. Ni mmiliki wa kifaa pekee aneyeweza kuweka seva mbadala ya ulimwengu."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Weka kipindi cha kutumia nenosiri la kufunga skrini"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Badilisha mara ambazo nenosiri la kufunga skrini, PIN, au mchoro,  zinapaswa kubadilishwa."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Kuweka msimbo fiche wa hifadhi"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Inahitaji kwamba data iliyohifadhiwa ya programu iwe na msimbo fiche."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Kuzima kamera"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Kuzuia matumizi yote ya kamera za kifaa."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Kuzima vipengele kwenye kilinda vitufe"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Inazuia matumizi ya baadhi ya vipengele kwenye kilinda vitufe."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Zima vipengele vya kufunga skrini"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Inazuia baadhi ya vipengele vya kufunga skrini."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Nyumbani"</item>
     <item msgid="869923650527136615">"Simu ya mkononi"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Usianzishe programu mpya."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Anza <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Komesha programu ya zamani bila kuhifadhi."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Chagua kitendo kwa ajili ya maandishi"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Sauti ya mlio"</string>
     <string name="volume_music" msgid="5421651157138628171">"Sauti ya media"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Jaribu tena baada ya sekunde 1</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Jaribu tena baadaye"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Telezesha kidole kwa kasi chini kuanzia juu ili uondoke kwenye skrini zima."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Unatazama skrini nzima"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Ili kuondoka, telezesha kidole chini kutoka sehemu ya juu."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Nimeelewa"</string>
     <string name="done_label" msgid="2093726099505892398">"Imekamilika"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Kitelezi cha mviringo wa saa"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Kitelezi cha mviringo wa dakika"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Ya kazini <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Ili ubanue skrini hii, gusa na ushikilie Nyuma na Muhtasari kwa wakati mmoja."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Ili ubanue skrini hii, gusa na ushikilie Muhtasari."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Skrini imebandikwa. Ubanduaji hauruhusiwi na shirika lako."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Skrini imebandikwa"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Skrini imebanduliwa"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Omba PIN kabla hujabandua"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Kwa saa moja</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Hadi <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Bila kikomo"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Hadi utakapozima hili"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Kunja"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Hadi kengele inayofuata saa <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Hadi kengele inayofuata"</string>
diff --git a/core/res/res/values-ta-rIN/strings.xml b/core/res/res/values-ta-rIN/strings.xml
index 07336d4..828f36b 100644
--- a/core/res/res/values-ta-rIN/strings.xml
+++ b/core/res/res/values-ta-rIN/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"குறுகிய இடைவெளி தகவல்பரிமாற்றம் (NFC), குறிகள், கார்டுகள் மற்றும் ரீடர்கள் ஆகியவற்றுடன் தொடர்புகொள்ள, பயன்பாட்டை அனுமதிக்கிறது."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"உங்கள் திரைப் பூட்டை முடக்குதல்"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"விசைப்பூட்டையும், தொடர்புடைய கடவுச்சொல் பாதுகாப்பையும் முடக்கப் பயன்பாட்டை அனுமதிக்கிறது. எடுத்துக்காட்டாக, உள்வரும் மொபைல் அழைப்பைப் பெறும்போது மொபைல் விசைப்பூட்டை முடக்குகிறது, பிறகு அழைப்பு முடிந்தவுடன் விசைப்பூட்டை மீண்டும் இயக்குகிறது."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"கைரேகை வன்பொருளை நிர்வகி"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"பயன்படுத்துவதற்காக, கைரேகை டெம்ப்ளேட்களைச் சேர்க்க மற்றும் நீக்குவதற்கான செயல்முறைகளை இயக்குவதற்குப் பயன்பாட்டை அனுமதிக்கும்."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"கைரேகை வன்பொருளைப் பயன்படுத்து"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"அங்கீகரிப்பதற்கு, கைரேகை வன்பொருளைப் பயன்படுத்த, பயன்பாட்டை அனுமதிக்கும்"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"ஒத்திசைவு அமைப்புகளைப் படித்தல்"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"கணக்கிற்கான ஒத்திசைவு அமைப்புகளைப் படிக்க பயன்பாட்டை அனுமதிக்கிறது. எடுத்துக்காட்டாக, பீப்பிள் பயன்பாடு கணக்குடன் ஒத்திசைக்கப்பட்டுள்ளதா என்பதை இது தீர்மானிக்கலாம்."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"ஒத்திசைவை இயக்குவதையும், முடக்குவதையும் மாற்றுதல்"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"பிற பயன்பாடுகளால் இடுகையிடப்பட்ட அறிவிப்புகள் உள்பட எல்லா அறிவிப்புகளையும் பெற, பார்க்க மற்றும் அழிக்கப் பயன்பாட்டை அனுமதிக்கிறது."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"அறிவிப்புகளைக் கண்காணிக்கும் சேவையுடன் இணைத்தல்"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"அறிவிப்புகளைக் கண்காணிக்கும் சேவையின் உயர் நிலை இடைமுகத்துடன் இணைப்பதற்கு ஹோல்டரை அனுமதிக்கிறது. இயல்பான பயன்பாடுகளுக்கு எப்போதுமே தேவைப்படாது."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"பயனர் தேர்வுசெய்த இடச் சேவையுடன் இணைக்கும்"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"பயனர் தேர்வுசெய்த இடச் சேவையின் உயர் நிலை இடைமுகத்துடன் இணைப்பதற்கு, ஹோல்டரை அனுமதிக்கும். இயல்பான பயன்பாடுகளுக்கு எப்போதுமே தேவைப்படாது."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"நிபந்தனை வழங்குநர் சேவையுடன் இணைத்தல்"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"நிபந்தனை வழங்குநர் சேவையின் உயர் நிலை இடைமுகத்துடன் இணைப்பதற்கு ஹோல்டரை அனுமதிக்கிறது. சாதாரண பயன்பாடுகளுக்கு எப்போதுமே தேவைப்படாது."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"மீடியா வழிச் சேவையுடன் இணைத்தல்"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"மொபைல் நிறுவனச் செய்தியிடல் சேவையுடன் இணைத்தல்"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"மொபைல் நிறுவனச் செய்தியிடல் சேவையின் உயர்-நிலை இடைமுகத்துடன் ஹோல்டரை இணைக்க அனுமதிக்கும். இயல்பான பயன்பாடுகளுக்குத் தேவைப்படாது."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"கடவுச்சொல் விதிகளை அமைக்கவும்"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"திரையைத் திறக்க கடவுச்சொற்களில் அனுமதிக்கப்பட்ட நீளத்தையும், எழுத்துக்குறிகளையும் கட்டுப்படுத்தலாம்."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"திரைப் பூட்டின் கடவுச்சொற்கள் மற்றும் பின்களில் அனுமதிக்கப்படும் நீளத்தையும் எழுத்துக்குறிகளையும் கட்டுப்படுத்தும்."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"திரைத் திறக்க முயற்சிகளைக் கண்காணித்தல்"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"திரையைத் திறக்கும்போது உள்ளிட்ட தவறான கடவுச்சொற்களின் எண்ணிக்கையைக் கண்காணிக்கும், மேலும் கடவுச்சொற்கள் பலமுறை தவறாக உள்ளிட்டிருந்தால், டேப்லெட்டைப் பூட்டும் அல்லது டேப்லெட்டின் எல்லா தரவையும் அழிக்கும்."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"திரையைத் திறக்கும் போது, எத்தனை முறை கடவுச்சொல்லை உள்ளிட்டீர்கள் என்பதைக் கண்காணிக்கிறது மற்றும் கடவுச்சொற்களைப் பல முறை தவறாக உள்ளிடும் போது, டிவியைப் பூட்டும் அல்லது டிவியின் எல்லா தரவையும் அழிக்கும்."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"திரையைத் திறக்கும்போது உள்ளிட்ட தவறான கடவுச்சொற்களின் எண்ணிக்கையைக் கண்காணிக்கும், மேலும் கடவுச்சொற்கள் பலமுறை தவறாக உள்ளிட்டிருந்தால், மொபைலைப் பூட்டும் அல்லது மொபைலின் எல்லா தரவையும் அழிக்கும்."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"திரைத் திறக்க கடவுச்சொல்லை மாற்றவும்"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"திரையைத் திறக்க கடவுச்சொல்லை மாற்றலாம்."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"திரையைத் திறக்கும் போது, எத்தனை முறை தவறான கடவுச்சொல்லை உள்ளிட்டீர்கள் என்பதைக் கண்காணிக்கிறது மற்றும் கடவுச்சொற்களைப் பல முறை தவறாக உள்ளிட்டால், டேப்லெட்டைப் பூட்டும் அல்லது இந்தப் பயனரின் எல்லா தரவையும் அழிக்கும்."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"திரையைத் திறக்கும் போது, எத்தனை முறை தவறான கடவுச்சொல்லை உள்ளிட்டீர்கள் என்பதைக் கண்காணிக்கிறது மற்றும் கடவுச்சொற்களைப் பல முறை தவறாக உள்ளிட்டால், டிவியைப் பூட்டும் அல்லது இந்தப் பயனரின் எல்லா தரவையும் அழிக்கும்."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"திரையைத் திறக்கும் போது, எத்தனை முறை தவறான கடவுச்சொல்லை உள்ளிட்டீர்கள் என்பதைக் கண்காணிக்கிறது மற்றும் கடவுச்சொற்களைப் பல முறை தவறாக உள்ளிட்டால், ஃபோனைப் பூட்டும் அல்லது இந்தப் பயனரின் எல்லா தரவையும் அழிக்கும்."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"திரைப் பூட்டை மாற்று"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"திரைப் பூட்டை மாற்றும்."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"திரையைப் பூட்டு"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"திரை எப்படி, எப்போது பூட்டப்படுகிறது என்பதைக் கட்டுப்படுத்தலாம்."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"எல்லா தரவையும் அழித்தல்"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"ஆரம்பநிலைத் தரவு மீட்டமைப்பின் மூலம் எச்சரிக்கை வழங்காமல் டேப்லெட்டின் தரவை அழிக்கலாம்."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"தரவின் ஆரம்பநிலை மீட்டமைப்பைச் செயற்படுத்துவதன் மூலம், எச்சரிக்கை எதுவும் செய்யாமல் டிவியின் தரவை அழிக்கிறது."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"ஆரம்பநிலைத் தரவு மீட்டமைப்பின் மூலம் எச்சரிக்கை வழங்காமல் மொபைலின் தரவை அழிக்கலாம்."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"பயனர் தரவை அழி"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"எச்சரிக்கை எதுவுமின்றி, டேப்லெட்டில் உள்ள இந்தப் பயனரின் தரவை அழிக்கும்."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"எச்சரிக்கை எதுவுமின்றி, டிவியில் உள்ள இந்தப் பயனரின் தரவை அழிக்கும்."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"எச்சரிக்கை எதுவுமின்றி, ஃபோனில் உள்ள இந்தப் பயனரின் தரவை அழிக்கும்."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"சாதன குளோபல் ப்ராக்ஸியை அமை"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"கொள்கை இயக்கப்பட்டிருக்கும்போது பயன்படுத்த வேண்டிய சாதன குளோபல் ப்ராக்ஸியை அமைக்கவும். முதல் சாதன நிர்வாகி மட்டுமே பயனுள்ள குளோபல் ப்ராக்ஸியை அமைக்க முடியும்."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"பூட்டுத் திரை கடவுச்சொல்லின் காலாவதி நேரம் அமை"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"எந்த இடைவெளியில் திரைப்பூட்டின் கடவுச்சொல் மாற்றப்பட வேண்டும் என்பதைக் கட்டுப்படுத்தலாம்."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"கொள்கை இயக்கப்பட்டிருக்கும்போது பயன்படுத்த வேண்டிய சாதன குளோபல் ப்ராக்ஸியை அமைக்கவும். சாதன உரிமையாளரால் மட்டுமே குளோபல் ப்ராக்ஸியை அமைக்க முடியும்."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"திரைப் பூட்டு கடவுச்சொல் காலாவதி நேரத்தை அமை"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"எந்த இடைவெளியில் திரைப் பூட்டின் கடவுச்சொல், பின் அல்லது வடிவம் மாற்றப்பட வேண்டும் என்பதை மாற்றும்."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"சேமிப்பிட முறைமையாக்கலை அமை"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"சேமித்தப் பயன்பாட்டுத் தரவை முறைமையாக்கப்பட வேண்டும் என்பதைக் கோரலாம்."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"கேமராக்களை முடக்கு"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"எல்லா சாதன கேமராக்களைப் பயன்படுத்துவதையும் தடுக்கலாம்."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"விசைப்பாதுகாப்பு அம்சங்களை முடக்கு"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"விசைப்பாதுகாப்பில் சில அம்சங்களைப் பயன்படுத்துவதைத் தடுக்கலாம்."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"திரைப் பூட்டின் அம்சங்களை முடக்கு"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"திரைப் பூட்டின் சில அம்சங்களைப் பயன்படுத்துவதைத் தடுக்கும்."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"வீடு"</item>
     <item msgid="869923650527136615">"மொபைல்"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"புதிய பயன்பாட்டைத் தொடங்க வேண்டாம்."</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> ஐத் தொடங்கு"</string>
     <string name="new_app_description" msgid="1932143598371537340">"சேமிக்காமல், பழைய பயன்பாட்டை நிறுத்தவும்."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"உரைக்கான செயலைத் தேர்வுசெய்யவும்"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"ரிங்கரின் ஒலியளவு"</string>
     <string name="volume_music" msgid="5421651157138628171">"மீடியாவின் ஒலியளவு"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">1 வினாடி கழித்து முயற்சிக்கவும்</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"மீண்டும் முயற்சிக்கவும்"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"முழுத் திரையிலிருந்து வெளியேற மேலிருந்து கீழே ஸ்வைப் செய்யவும்."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"முழுத் திரையில் காட்டுகிறது"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"வெளியேற, மேலிருந்து கீழே ஸ்வைப் செய்யவும்"</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"புரிந்தது"</string>
     <string name="done_label" msgid="2093726099505892398">"முடிந்தது"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"மணிநேர வட்ட வடிவ ஸ்லைடர்"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"நிமிடங்களுக்கான வட்டவடிவ ஸ்லைடர்"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"பணியிடம் <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"இந்தத் திரையை விலக்க, பின் மற்றும் மேலோட்டப் பார்வையை ஒரே நேரத்தில் தொட்டுப் பிடித்திருக்கவும்."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"இந்தத் திரையை விலக்க, மேலோட்டப் பார்வையைத் தொட்டுப் பிடித்திருக்கவும்."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"திரை பின் செய்யப்பட்டது. பின்னை அகற்ற உங்கள் நிறுவனம் ஆதரிக்கவில்லை."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"திரை பின் செய்யப்பட்டது"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"திரையின் பின் அகற்றப்பட்டது"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"அகற்றும் முன் PINஐக் கேள்"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">ஒரு மணிநேரத்திற்கு</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> வரை"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"வரையறையற்றது"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"இதை முடக்கும்வரை"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"சுருக்கு"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>க்கு ஒலிக்கும் அடுத்த அலாரம் வரை"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"அடுத்த அலாரம் வரை"</string>
diff --git a/core/res/res/values-te-rIN/strings.xml b/core/res/res/values-te-rIN/strings.xml
index 1767ce2..af672cc 100644
--- a/core/res/res/values-te-rIN/strings.xml
+++ b/core/res/res/values-te-rIN/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"సమీప ఫీల్డ్ కమ్యూనికేషన్ (NFC) ట్యాగ్‌లు, కార్డులు మరియు రీడర్‌లతో కమ్యూనికేట్ చేయడానికి అనువర్తనాన్ని అనుమతిస్తుంది."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"మీ స్క్రీన్ లాక్‌ను నిలిపివేయడం"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"కీలాక్ మరియు ఏదైనా అనుబంధించబడిన పాస్‌వర్డ్ భద్రతను నిలిపివేయడానికి అనువర్తనాన్ని అనుమతిస్తుంది. ఉదాహరణకు, ఇన్‌కమింగ్ ఫోన్ కాల్ వస్తున్నప్పుడు ఫోన్ కీలాక్‌ను నిలిపివేస్తుంది, ఆపై కాల్ ముగిసిన తర్వాత కీలాక్‌ను మళ్లీ ప్రారంభిస్తుంది."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"వేలిముద్ర హార్డ్‌వేర్‌ని నిర్వహించడానికి అనుమతి"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"వినియోగం కోసం వేలిముద్ర టెంప్లేట్‌లను జోడించే మరియు తొలగించే పద్ధతులను అమలు చేయడానికి అనువర్తనాన్ని అనుమతిస్తుంది."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"వేలిముద్ర హార్డ్‌వేర్‌ని ఉపయోగించడానికి అనుమతి"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"ప్రామాణీకరణ కోసం వేలిముద్ర హార్డ్‌వేర్‌ను ఉపయోగించడానికి అనువర్తనాన్ని అనుమతిస్తుంది"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"సమకాలీకరణ సెట్టింగ్‌లను చదవడం"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"ఖాతా యొక్క సమకాలీకరణ సెట్టింగ్‌లను చదవడానికి అనువర్తనాన్ని అనుమతిస్తుంది. ఉదాహరణకు, వ్యక్తుల అనువర్తనం ఖాతాతో సమకాలీకరించబడాలా లేదా అనే విషయాన్ని ఇది నిశ్చయించవచ్చు."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"సమకాలీకరణను ఆన్ మరియు ఆఫ్‌కు టోగుల్ చేయడం"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"నోటిఫికేషన్‌లను, ఇతర అనువర్తనాల ద్వారా పోస్ట్ చేయబడిన వాటిని తిరిగి పొందడానికి, పరిశీలించడానికి మరియు క్లియర్ చేయడానికి అనువర్తనాన్ని అనుమతిస్తుంది."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"నోటిఫికేషన్ పరిశీలన సేవకు అనుబంధించడం"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"నోటిఫికేషన్ పరిశీలన సేవ యొక్క అగ్ర-స్థాయి ఇంటర్‌ఫేస్‌కు అనుబంధించడానికి హోల్డర్‌ను అనుమతిస్తుంది. సాధారణ అనువర్తనాల కోసం ఎప్పటికీ అవసరం ఉండకూడదు."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"ఎంపిక లక్ష్యం సేవకు నిర్బంధించడం"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"ఎంపిక లక్ష్యం సేవ అగ్ర-స్థాయి ఇంటర్‌ఫేస్‌కు నిర్బంధించడానికి హోల్డర్‌ను అనుమతిస్తుంది. సాధారణ అనువర్తనాలకు ఎప్పటికీ అవసరం ఉండదు."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"షరతు ప్రదాత సేవకు అనుబంధించడం"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"షరతు ప్రదాత సేవ యొక్క అగ్ర-స్థాయి ఇంటర్‌ఫేస్‌కు అనుబంధించడానికి హోల్డర్‌ను అనుమతిస్తుంది. సాధారణ అనువర్తనాలకు ఎప్పటికీ అవసరం ఉండదు."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"మీడియా మార్గ సేవకు అనుబంధించడం"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"క్యారియర్ సందేశ సేవకు అనుబంధించడం"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"క్యారియర్ సందేశ సేవ యొక్క అగ్ర-స్థాయి ఇంటర్‌ఫేస్‌కు అనుబంధించడానికి హోల్డర్‌ను అనుమతిస్తుంది. సాధారణ అనువర్తనాలకు ఎప్పటికీ అవసరం ఉండదు."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"పాస్‌వర్డ్ నియమాలను సెట్ చేయండి"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"స్క్రీన్-అన్‌లాక్ పాస్‌వర్డ్‌ల్లో అనుమతించబడే అక్షరాల  సంఖ్యను మరియు అక్షరాలను నియంత్రించండి."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"స్క్రీన్ లాక్ పాస్‌వర్డ్‌లు మరియు PINల్లో అనుమతించబడిన పొడవు మరియు అక్షరాలను నియంత్రిస్తుంది."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"స్క్రీన్-అన్‌లాక్ ప్రయత్నాలను పర్యవేక్షించండి"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"టైప్ చేసిన చెల్లని పాస్‌వర్డ్‌ల సంఖ్యను పర్యవేక్షిస్తుంది. స్క్రీన్‌ను అన్‌లాక్ చేస్తున్నప్పుడు, అనేక సార్లు చెల్లని పాస్‌వర్డ్‌లను టైప్ చేస్తే టాబ్లెట్ లాక్ చేయబడుతుంది లేదా టాబ్లెట్‌లోని మొత్తం డేటా ఎరేజ్ చేయబడుతుంది."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"స్క్రీన్‌ను అన్‌లాక్ చేస్తున్నప్పుడు పాస్‌వర్డ్‌లను ఎన్నిసార్లు తప్పుగా టైప్ చేశారో పర్యవేక్షించండి మరియు చాలా ఎక్కువసార్లు పాస్‌వర్డ్‌లను తప్పుగా టైప్ చేసి ఉంటే టీవీని లాక్ చేయండి లేదా మొత్తం టీవీ డేటాను తీసివేయండి."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"టైప్ చేసిన చెల్లని పాస్‌వర్డ్‌ల సంఖ్యను పర్యవేక్షిస్తుంది. స్క్రీన్‌ను అన్‌లాక్ చేస్తున్నప్పుడు, అనేక సార్లు చెల్లని పాస్‌వర్డ్‌లను టైప్ చేస్తే ఫోన్ లాక్ చేయబడుతుంది లేదా ఫోన్‌లోని మొత్తం డేటా ఎరేజ్ చేయబడుతుంది."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"స్క్రీన్-అన్‌లాక్ పాస్‌వర్డ్‌ను మార్చండి"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"స్క్రీన్-అన్‌లాక్ పాస్‌వర్డ్‌ను మార్చండి."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"స్క్రీన్‌ను అన్‌లాక్ చేస్తున్నప్పుడు పాస్‌వర్డ్‌ను ఎన్నిసార్లు తప్పుగా టైప్ చేశారో పర్యవేక్షిస్తుంది మరియు చాలా ఎక్కువసార్లు పాస్‌వర్డ్‌ను తప్పుగా టైప్ చేసి ఉంటే టాబ్లెట్‌ను లాక్ చేస్తుంది లేదా ఈ వినియోగదారు యొక్క మొత్తం డేటాను తీసివేస్తుంది."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"స్క్రీన్‌ను అన్‌లాక్ చేస్తున్నప్పుడు పాస్‌వర్డ్‌ను ఎన్నిసార్లు తప్పుగా టైప్ చేశారో పర్యవేక్షిస్తుంది మరియు చాలా ఎక్కువసార్లు పాస్‌వర్డ్‌ను తప్పుగా టైప్ చేసి ఉంటే టీవీని లాక్ చేస్తుంది లేదా ఈ వినియోగదారు యొక్క మొత్తం డేటాను తీసివేస్తుంది."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"స్క్రీన్‌ను అన్‌లాక్ చేస్తున్నప్పుడు పాస్‌వర్డ్‌ను ఎన్నిసార్లు తప్పుగా టైప్ చేశారో పర్యవేక్షిస్తుంది మరియు చాలా ఎక్కువసార్లు పాస్‌వర్డ్‌ను తప్పుగా టైప్ చేసి ఉంటే ఫోన్‌ను లాక్ చేస్తుంది లేదా ఈ వినియోగదారు యొక్క మొత్తం డేటాను తీసివేస్తుంది."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"స్క్రీన్ లాక్‌ని మార్చండి"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"స్క్రీన్ లాక్‌ని మారుస్తుంది."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"స్క్రీన్‌ను లాక్ చేయండి"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"స్క్రీన్‌ను ఎలా మరియు ఎప్పుడు లాక్ చేయాలనే దాన్ని నియంత్రించండి."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"మొత్తం డేటాను ఎరేజ్ చేయండి"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"ఫ్యాక్టరీ డేటా రీసెట్‌ను అమలు చేయడం ద్వారా హెచ్చరించకుండానే టాబ్లెట్ డేటాను ఎరేజ్ చేయండి."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"ఫ్యాక్టరీ డేటా రీసెట్‌ను అమలు చేయడం ద్వారా హెచ్చరిక లేకుండానే టీవీ డేటాను తీసివేయండి."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"ఫ్యాక్టరీ డేటా రీసెట్‌ను అమలు చేయడం ద్వారా హెచ్చరించకుండానే ఫోన్ డేటాను ఎరేజ్ చేయండి."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"వినియోగదారు డేటాను తీసివేయండి"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"హెచ్చరిక లేకుండానే ఈ టాబ్లెట్‌లో ఈ వినియోగదారు డేటాను తీసివేస్తుంది."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"హెచ్చరిక లేకుండానే ఈ టీవీలో ఈ వినియోగదారు డేటాను తీసివేస్తుంది."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"హెచ్చరిక లేకుండానే ఈ ఫోన్‌లో ఈ వినియోగదారు డేటాను తీసివేస్తుంది."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"పరికరం గ్లోబల్ ప్రాక్సీని సెట్ చేయండి"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"విధానాన్ని ప్రారంభించినప్పుడు ఉపయోగించబడటానికి పరికరం గ్లోబల్ ప్రాక్సీని సెట్ చేయండి. మొదటి పరికర నిర్వాహకులు మాత్రమే ప్రభావవంతమైన గ్లోబల్ ప్రాక్సీని సెట్ చేస్తారు."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"లాక్-స్క్రీన్ పాస్‌వర్డ్ గడువు ముగింపును సెట్ చేయండి"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"లాక్-స్క్రీన్ పాస్‌వర్డ్‌ను తప్పనిసరిగా ఎంత తరచుగా మార్చాలనేదాన్ని నియంత్రించండి."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"విధానాన్ని ప్రారంభించినప్పుడు ఉపయోగించడానికి పరికర గ్లోబల్ ప్రాక్సీని సెట్ చేస్తుంది. పరికర యజమాని మాత్రమే గ్లోబల్ ప్రాక్సీని సెట్ చేయగలరు."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"స్క్రీన్ లాక్ పాస్‌వర్డ్ గడువు ముగింపుని సెట్ చేయండి"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"స్క్రీన్ లాక్ పాస్‌వర్డ్, PIN లేదా నమూనాని తప్పనిసరిగా ఎంత తరచుగా మార్చాలనే దాన్ని మారుస్తుంది."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"నిల్వ గుప్తీకరణను సెట్ చేయండి"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"నిల్వ చేయబడిన అనువర్తన డేటా గుప్తీకరించబడి ఉండటం అవసరం."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"కెమెరాలను నిలిపివేయండి"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"అన్ని పరికర కెమెరాల వినియోగాన్ని నిరోధించండి."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"కీగార్డ్‌లో లక్షణాలను నిలిపివేయండి"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"కీగార్డ్‌లో కొన్ని లక్షణాల వినియోగాన్ని నిరోధించండి."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"స్క్రీన్ లాక్ లక్షణా. నిలిపి."</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"స్క్రీన్ లాక్ యొక్క కొన్ని లక్షణాల వినియోగాన్ని నిరోధిస్తుంది."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"ఇల్లు"</item>
     <item msgid="869923650527136615">"మొబైల్"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"కొత్త అనువర్తనాన్ని ప్రారంభించవద్దు."</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g>ని ప్రారంభించండి"</string>
     <string name="new_app_description" msgid="1932143598371537340">"పాత అనువర్తనాన్ని సేవ్ చేయకుండానే ఆపివేయండి."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"వచనం కోసం చర్యను ఎంచుకోండి"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"రింగర్ వాల్యూమ్"</string>
     <string name="volume_music" msgid="5421651157138628171">"మీడియా వాల్యూమ్"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">1 సెకనులో మళ్లీ ప్రయత్నించండి</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"తర్వాత మళ్లీ ప్రయత్నించండి"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"పూర్తి స్క్రీన్ నుండి నిష్క్రమించడానికి పైనుండి కిందికి స్వైప్ చేయండి."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"పూర్తి స్క్రీన్‌లో వీక్షిస్తున్నారు"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"నిష్క్రమించడానికి, పై నుండి క్రిందికి స్వైప్ చేయండి."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"అర్థమైంది"</string>
     <string name="done_label" msgid="2093726099505892398">"పూర్తయింది"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"గంటల వృత్తాకార స్లయిడర్"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"నిమిషాల వృత్తాకార స్లయిడర్"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"కార్యాలయం <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"ఈ స్క్రీన్‌ను అన్‌పిన్ చేయడానికి, వెనుకకు మరియు అవలోకనం బటన్‌లను ఒకేసారి నొక్కి, ఉంచండి."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"ఈ స్క్రీన్‌ని అన్‌పిన్ చేయడానికి, అవలోకనం నొక్కి, ఉంచండి."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"స్క్రీన్ పిన్ చేయబడింది. మీ సంస్థలో అన్‌పిన్ చేయడానికి అనుమతి లేదు."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"స్క్రీన్ పిన్ చేయబడింది"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"స్క్రీన్ అన్‌పిన్ చేయబడింది"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"అన్‌పిన్ చేయడానికి ముందు పిన్‌ కోసం అడుగు"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">ఒక గంట పాటు</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> వరకు"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"నిరవధికంగా"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"మీరు దీన్ని ఆఫ్ చేసే వరకు"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"కుదించండి"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>కి సెట్ చేసిన తదుపరి అలారం వరకు"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"తదుపరి అలారం వరకు"</string>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index 230e915..15e70c3 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"อนุญาตให้แอปพลิเคชันสื่อสารกับแท็ก Near Field Communication (NFC) การ์ด และโปรแกรมอ่าน"</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"ปิดใช้งานการล็อกหน้าจอของคุณ"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"อนุญาตให้แอปพลิเคชันปิดใช้งานการล็อกปุ่มกดและการรักษาความปลอดภัยด้วยรหัสผ่านใดๆ ที่เกี่ยวข้อง ตัวอย่างเช่น โทรศัพท์ปิดใช้งานการล็อกปุ่มกดเมื่อรับสายเรียกเข้า จากนั้นจึงเปิดใช้งานการล็อกปุ่มกดใหม่หลังจากวางสาย"</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"จัดการฮาร์ดแวร์ลายนิ้วมือ"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"อนุญาตให้แอปเรียกใช้วิธีการเพื่อเพิ่มและลบเทมเพลตลายนิ้วมือสำหรับการใช้งาน"</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"ใช้ฮาร์ดแวร์ลายนิ้วมือ"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"อนุญาตให้แอปใช้ฮาร์ดแวร์ลายนิ้วมือเพื่อตรวจสอบสิทธิ์"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"อ่านการตั้งค่าการซิงค์แล้ว"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"อนุญาตให้แอปพลิเคชันอ่านการตั้งค่าการซิงค์ของบัญชี ตัวอย่างเช่น การอนุญาตนี้สามารถระบุได้ว่าแอปพลิเคชัน People ซิงค์กับบัญชีหรือไม่"</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"สลับระหว่างเปิดและปิดการซิงค์"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"ทำให้แอปสามารถเรียกดู ตรวจสอบ และล้างการแจ้งเตือนได้ ซึ่งรวมถึงการแจ้งเตือนที่โพสต์โดยแอปอื่นๆ ด้วย"</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"เชื่อมโยงกับบริการตัวฟังการแจ้งเตือน"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"อนุญาตให้เจ้าของเชื่อมโยงกับอินเตอร์เฟซระดับสูงสุดของบริการตัวฟังการแจ้งเตือน ซึ่งไม่มีความจำเป็นสำหรับแอปธรรมดา"</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"เชื่อมโยงกับบริการเป้าหมายของผู้เลือก"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"อนุญาตให้แอปเชื่อมโยงกับอินเทอร์เฟซระดับบนสุดของบริการเป้าหมายของผู้เลือก ไม่จำเป็นสำหรับแอปทั่วไป"</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"เชื่อมโยงกับบริการของผู้เสนอเงื่อนไข"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"อนุญาตให้ผู้ใช้อุปกรณ์เชื่อมโยงกับอินเทอร์เฟซระดับบนสุดของบริการของผู้เสนอเงื่อนไข ไม่จำเป็นสำหรับแอปทั่วไป"</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"เชื่อมโยงกับบริการเส้นทางสื่อ"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"เชื่อมโยงกับบริการรับส่งข้อความของผู้ให้บริการ"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"อนุญาตให้แอปพลิเคชันเชื่อมโยงกับอินเทอร์เฟซระดับบนสุดของบริการรับส่งข้อความของผู้ให้บริการ ไม่ควรใช้สำหรับแอปธรรมดาทั่วไป"</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"ตั้งค่ากฎรหัสผ่าน"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"ควบคุมความยาวและอักขระที่อนุญาตให้ใช้ในรหัสผ่านการปลดล็อกหน้าจอ"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"ควบคุมความยาวและอักขระที่สามารถใช้ในรหัสผ่านของการล็อกหน้าจอและ PIN"</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"ตรวจสอบความพยายามในการปลดล็อกหน้าจอ"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"ตรวจสอบจำนวนของรหัสผ่านที่พิมพ์ไม่ถูกต้องขณะปลดล็อกหน้าจอ และล็อกแท็บเล็ตหรือลบข้อมูลทั้งหมดในแท็บเล็ตถ้ามีการพิมพ์รหัสผ่านที่ไม่ถูกต้องมากเกินไป"</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"ตรวจสอบจำนวนรหัสผ่านที่ไม่ถูกต้องที่คุณพิมพ์เวลาปลดล็อกหน้าจอ และล็อกทีวีหรือลบข้อมูลของทีวีทั้งหมด หากพิมพ์รหัสผ่านไม่ถูกต้องบ่อยครั้งเกินไป"</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"ตรวจสอบจำนวนการพิมพ์รหัสผ่านที่ไม่ถูกต้องขณะปลดล็อกหน้าจอ และล็อกโทรศัพท์หรือลบข้อมูลทั้งหมดในโทรศัพท์ถ้ามีการพิมพ์รหัสผ่านที่ไม่ถูกต้องมากเกินไป"</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"เปลี่ยนรหัสผ่านการปลดล็อกหน้าจอ"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"เปลี่ยนรหัสผ่านการปลดล็อกหน้าจอ"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"ตรวจสอบจำนวนรหัสผ่านที่พิมพ์ไม่ถูกต้องเวลาปลดล็อกหน้าจอ และล็อกแท็บเล็ตหรือลบข้อมูลทั้งหมดของผู้ใช้นี้หากพิมพ์รหัสผ่านไม่ถูกต้องบ่อยเกินไป"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"ตรวจสอบจำนวนรหัสผ่านที่พิมพ์ไม่ถูกต้องเวลาปลดล็อกหน้าจอ และล็อกทีวีหรือลบข้อมูลทั้งหมดของผู้ใช้นี้หากพิมพ์รหัสผ่านไม่ถูกต้องบ่อยเกินไป"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"ตรวจสอบจำนวนรหัสผ่านที่พิมพ์ไม่ถูกต้องเวลาปลดล็อกหน้าจอ และล็อกโทรศัพท์หรือลบข้อมูลทั้งหมดของผู้ใช้นี้หากพิมพ์รหัสผ่านไม่ถูกต้องบ่อยเกินไป"</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"เปลี่ยนการล็อกหน้าจอ"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"เปลี่ยนการล็อกหน้าจอ"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"ล็อกหน้าจอ"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"ควบคุมว่าหน้าจอจะล็อกอย่างไรและเมื่อใด"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"ลบข้อมูลทั้งหมด"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"ลบข้อมูลของแท็บเล็ตโดยไม่มีการเตือน ด้วยการดำเนินการรีเซ็ตข้อมูลเป็นค่าเริ่มต้น"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"ลบข้อมูลของทีวีโดยไม่ต้องมีคำเตือนโดยการรีเซ็ตข้อมูลเป็นค่าเริ่มต้น"</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"ลบข้อมูลของโทรศัพท์โดยไม่มีการเตือน ด้วยการดำเนินการรีเซ็ตข้อมูลเป็นค่าเริ่มต้น"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"ลบข้อมูลผู้ใช้"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"ลบข้อมูลของผู้ใช้นี้ในแท็บเล็ตเครื่องนี้โดยไม่มีการเตือน"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"ลบข้อมูลของผู้ใช้นี้ในทีวีเครื่องนี้โดยไม่มีการเตือน"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"ลบข้อมูลของผู้ใช้นี้ในโทรศัพท์เครื่องนี้โดยไม่มีการเตือน"</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"ตั้งค่าพร็อกซีส่วนกลางของอุปกรณ์"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"ตั้งค่าพร็อกซีส่วนกลางของอุปกรณ์ที่จะใช้ขณะเปิดการใช้งานนโยบาย เฉพาะผู้ดูแลอุปกรณ์คนแรกเท่านั้นที่ตั้งค่าพร็อกซีส่วนกลางที่มีผลบังคับ"</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"ตั้งค่าวันหมดอายุของรหัสผ่านล็อกหน้าจอ"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"ควบคุมความถี่ในการเปลี่ยนรหัสผ่านล็อกหน้าจอ"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"ตั้งค่าพร็อกซีส่วนกลางของอุปกรณ์ที่จะใช้ขณะที่เปิดใช้นโยบายอยู่ เฉพาะเจ้าของอุปกรณ์เท่านั้นที่สามารถตั้งค่าพร็อกซีส่วนกลาง"</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"ตั้งวันหมดอายุรหัสผ่านล็อกจอ"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"เปลี่ยนความถี่ในการเปลี่ยนรหัสผ่านของการล็อกหน้าจอ, PIN หรือรูปแบบ"</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"ตั้งค่าการเข้ารหัสที่เก็บข้อมูล"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"ข้อมูลของแอปพลิเคชันที่จัดเก็บต้องมีการเข้ารหัส"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"ปิดใช้งานกล้องถ่ายรูป"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"ป้องกันการใช้กล้องถ่ายรูปของอุปกรณ์ทั้งหมด"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"ปิดใช้งานคุณลักษณะการล็อกปุ่ม"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"ป้องกันการใช้คุณลักษณะบางส่วนในการล็อกปุ่ม"</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"ปิดใช้คุณลักษณะการล็อกหน้าจอ"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"ป้องกันการใช้คุณลักษณะบางอย่างของการล็อกหน้าจอ"</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"บ้าน"</item>
     <item msgid="869923650527136615">"มือถือ"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"อย่าเริ่มแอปพลิเคชันใหม่"</string>
     <string name="new_app_action" msgid="5472756926945440706">"เริ่มต้น <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"หยุดการทำงานของแอปพลิเคชันเก่าโดยไม่บันทึก"</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"เลือกการทำงานกับข้อความ"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"ระดับความดังเสียงเรียกเข้า"</string>
     <string name="volume_music" msgid="5421651157138628171">"ระดับเสียงของสื่อ"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">ลองอีกครั้งใน 1 วินาที</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"ลองอีกครั้งในภายหลัง"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"กวาดนิ้วบนลงล่างเพื่อออกจากโหมดเต็มหน้าจอ"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"กำลังดูแบบเต็มหน้าจอ"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"หากต้องการออกไป ให้กวาดนิ้วลงจากด้านบน"</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"รับทราบ"</string>
     <string name="done_label" msgid="2093726099505892398">"เสร็จสิ้น"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"ตัวเลื่อนหมุนระบุชั่วโมง"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"ตัวเลื่อนหมุนระบุนาที"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g>ที่ทำงาน"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"หากต้องการเลิกตรึงหน้าจอนี้ แตะ \"กลับ\" และ \"ภาพรวม\" ค้างไว้พร้อมกัน"</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"หากต้องการเลิกตรึงหน้าจอ แตะ \"ภาพรวม\" ค้างไว้"</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"ตรึงหน้าจอแล้ว องค์กรของคุณไม่อนุญาตให้เลิกตรึง"</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"ตรึงหน้าจอแล้ว"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"เลิกตรึงหน้าจอแล้ว"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"ขอ PIN ก่อนเลิกตรึง"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">ระยะเวลา 1 ชั่วโมง</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"จนถึงเวลา <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"ไม่มีกำหนด"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"จนกว่าคุณจะปิดฟังก์ชันนี้"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"ยุบ"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"จนถึงการตั้งปลุกครั้งถัดไปในเวลา <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"จนถึงการตั้งปลุกครั้งถัดไป"</string>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 98eec08..f19e06f 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Pinapayagan ang app na makipag-ugnay sa Near Field Communication (NFC) na mga tag, card, at reader."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"huwag paganahin ang iyong lock ng screen"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Pinapayagan ang app na huwag paganahin ang keylock at anumang nauugnay na seguridad sa password. Halimbawa, hindi pinapagana ng telepono ang keylock kapag nakakatanggap ng papasok na tawag sa telepono, pagkatapos ay muling pinapagana ang keylock kapag tapos na ang tawag."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"pamahalaan ang hardware ng fingerprint"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Pinapayagan ang app na mag-invoke ng mga paraan upang magdagdag at mag-delete ng mga template ng fingerprint na magagamit."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"gamitina ng hardware ng fingerprint"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Pinapayagan ang app na gumamit ng hardware ng fingerprint para sa pagpapatotoo"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"basahin ang mga setting ng sync"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Pinapayagan ang app na basahin ang mga setting ng pag-sync para sa isang account. Halimbawa, matutukoy nito kung naka-sync ang app na Mga Tao sa isang account."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"I-toggle on at off ang pag-sync"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Pinapayagan ang app na kumuha, sumuri, at mag-clear ng mga notification, kabilang ang mga na-post ng iba pang apps."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"mapailalim sa isang serbisyo ng notification listener"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Nagbibigay-daan sa may-ari na mapailalim sa interface sa tuktok na antas ng isang serbisyo ng notification listener. Hindi dapat kailanganin para sa karaniwang apps kahit kailan."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"sumailalim sa isang serbisyo ng chooser target"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Nagbibigay-daan sa may-ari na sumailalim sa top-level interface ng isang serbisyo ng chooser target. Hindi dapat kailanman kailanganin para sa mga karaniwang app."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"i-bind sa isang serbisyo sa pagbibigay ng kundisyon"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Nagbibigay-daan sa naghahawak na i-bind ang top-level na interface ng isang serbisyo sa pagbibigay ng kundisyon. Hindi kailanman dapat kailanganin ng mga normal na app."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"mag-bind sa isang serbisyo ng media route"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"sumailalim sa isang serbisyo ng pagmemensahe ng carrier"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Binibigyang-daan ang may-ari na sumailalim sa interface sa nangungunang antas ng isang serbisyo ng pagmemensahe ng carrier. Hindi kailanman dapat kailanganin para sa mga normal na app."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Magtakda ng mga panuntunan sa password"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Kontrolin ang haba at mga character na pinapayagan sa mga password sa pag-unlock ng screen."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kontrolin ang haba at ang mga character na pinapayagan sa mga password at PIN sa lock ng screen."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Subaybayan ang mga pagsubok sa pag-unlock ng screen"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Subaybayan ang bilang ng mga hindi tamang password na na-type kapag ina-unlock ang screen, at i-lock ang tablet o burahin ang lahat ng data ng tablet kung masyadong maraming hindi tamang password ang na-type."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Subaybayan ang bilang ng mga maling password kapag ina-unlock ang screen at i-lock ang TV o burahin ang lahat ng data ng TV kung masyadong maraming maling password ang nata-type."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Subaybayan ang bilang ng mga hindi tamang password na na-type. kapag ina-unlock ang screen, at i-lock ang telepono o burahin ang lahat ng data ng telepono kung masyadong maraming hindi tamang password ang na-type."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Palitan ang password sa pag-unlock ng screen"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Palitan ang password sa pag-unlock ng screen."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Subaybayan ang bilang ng mga maling password na na-type kapag ina-unlock ang screen, at i-lock ang tablet o burahin ang lahat ng data ng user na ito kung masyadong maraming maling password ang nata-type."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Subaybayan ang bilang ng mga maling password na na-type kapag ina-unlock ang screen, at i-lock ang TV o burahin ang lahat ng data ng user na ito kung masyadong maraming maling password ang nata-type."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Subaybayan ang bilang ng mga maling password na na-type kapag ina-unlock ang screen, at i-lock ang telepono o burahin ang lahat ng data ng user na ito kung masyadong maraming maling password ang nata-type."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Palitan ang lock ng screen"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Palitan ang lock ng screen."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"I-lock ang screen"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Kontrolin kung paano at kailan magla-lock ang screen."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Burahin ang lahat ng data"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Burahin ang data ng tablet nang walang babala sa pamamagitan ng pagsasagawa ng pag-reset ng factory data."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Burahin ang data ng TV nang walang babala sa pamamagitan ng pagsasagawa ng pag-reset ng factory data."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Burahin ang data ng telepono nang walang babala sa pamamagitan ng pagsasagawa ng pag-reset ng factory data."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Burahin ang data ng user"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Burahin ang data ng user na ito sa tablet na ito nang walang babala."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Burahin ang data ng user na ito sa TV na ito nang walang babala."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Burahin ang data ng user na ito sa teleponong ito nang walang babala."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Itakda ang pandaigdigang proxy ng device"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Itakda ang pandaigdigang proxy ng device na gagamitin habang pinagana ang patakaran. Tanging ang unang admin ng device ang magtatakda sa may bisang pandaigdigang proxy."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Itakda expire password pag-lock scr"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Kontrolin kung gaano kadalas dapat palitan ang password sa pag-lock ng screen."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Itakda ang pandaigdigang proxy ng device na gagamitin habang naka-enable ang patakaran. Ang may-ari ng device lang ang makakapagtakda sa pandaigdigang proxy."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Itakda screen lock password expiration"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Baguhin kung gaano kadalas dapat palitan ang password, PIN o pattern sa lock ng screen."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Itakda pag-encrypt ng imbakan"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Hilinging naka-encrypt ang nakaimbak na data ng app."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Huwag paganahin mga camera"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Pigilan ang paggamit sa lahat ng camera ng device."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Wag paganahin tampok keyguard"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Pigilan ang paggamit ng ilang tampok sa keyguard."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"I-disable screen lock feature"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Pigilan ang paggamit ng ilang feature ng lock ng screen."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Home"</item>
     <item msgid="869923650527136615">"Mobile"</item>
@@ -940,7 +953,7 @@
     <string name="relationTypeManager" msgid="6365677861610137895">"Manager"</string>
     <string name="relationTypeMother" msgid="4578571352962758304">"Ina"</string>
     <string name="relationTypeParent" msgid="4755635567562925226">"Magulang"</string>
-    <string name="relationTypePartner" msgid="7266490285120262781">"Kasosyo"</string>
+    <string name="relationTypePartner" msgid="7266490285120262781">"Partner"</string>
     <string name="relationTypeReferredBy" msgid="101573059844135524">"Ni-refer ni"</string>
     <string name="relationTypeRelative" msgid="1799819930085610271">"Kamag-anak"</string>
     <string name="relationTypeSister" msgid="1735983554479076481">"Kapatid na Babae"</string>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Huwag simulan ang bagong app."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Simulan ang <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Ihinto ang lumang app nang hindi nagse-save."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Pumili ng pagkilos para sa teksto"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Lakas ng tunog ng ringer"</string>
     <string name="volume_music" msgid="5421651157138628171">"Lakas ng tunog ng media"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="other">Subukang muli sa loob ng <xliff:g id="COUNT">%d</xliff:g> na segundo</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Subukang muli sa ibang pagkakataon"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Mag-swipe pababa mula sa itaas upang lumabas sa full screen."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Panonood sa full screen"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Upang lumabas, mag-swipe mula sa itaas pababa."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Nakuha ko"</string>
     <string name="done_label" msgid="2093726099505892398">"Tapos na"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Pabilog na slider ng mga oras"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Pabilog na slider ng mga minuto"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> sa Trabaho"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Upang i-unpin ang screen na ito, pindutin nang matagal ang Bumalik at Overview nang sabay-sabay."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Upang i-unpin ang screen na ito, pindutin nang matagal ang Overview."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Naka-pin ang screen. Hindi pinapayagan ng iyong organisasyon ang pag-a-unpin."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Naka-pin ang screen"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Naka-unpin ang screen"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Humingi ng PIN bago mag-unpin"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="other">Sa loob ng %d na oras</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Hanggang <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Walang tiyak na katapusan"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Hanggang sa i-off mo ito"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"I-collapse"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Hanggang sa susunod na alarma sa <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Hanggang sa susunod na alarma"</string>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index 3489298..1b5bd6c 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -288,7 +288,7 @@
     <string name="permdesc_install_shortcut" msgid="8341295916286736996">"Uygulamaya, kullanıcı müdahalesi olmadan kısayolları Ana Ekrana ekleme izni verir."</string>
     <string name="permlab_uninstall_shortcut" msgid="4729634524044003699">"kısayolların yüklemesini kaldırma"</string>
     <string name="permdesc_uninstall_shortcut" msgid="6745743474265057975">"Uygulamaya, kullanıcının müdahalesi olmadan kısayolları Ana Ekrandan kaldırma izni verir."</string>
-    <string name="permlab_processOutgoingCalls" msgid="3906007831192990946">"giden çağrıları yeniden yönlendir"</string>
+    <string name="permlab_processOutgoingCalls" msgid="3906007831192990946">"giden çağrıları yeniden yönlendirme"</string>
     <string name="permdesc_processOutgoingCalls" msgid="5156385005547315876">"Uygulamaya, giden bir çağrının numarası çevrilirken çağrıyı farklı bir numaraya yönlendirme ya da tamamen kapatma seçeneğiyle birlikte numarayı görme izni verir."</string>
     <string name="permlab_receiveSms" msgid="8673471768947895082">"kısa mesajları al (SMS)"</string>
     <string name="permdesc_receiveSms" msgid="6424387754228766939">"Uygulamaya SMS iletilerini alma ve işleme izni verir. Bu izin, uygulamanın cihazınıza gönderilen iletileri takip edip size göstermeden silebileceği anlamına gelir."</string>
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Uygulamaya, Near Field Communication (NFC) etiketleri, kartlar ve okuyucular ile iletişim kurma izni verir."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"ekran kilidimi devre dışı bırak"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Uygulamaya, tuş kilidini ve ilişkili tüm şifreli güvenlik önlemlerini devre dışı bırakma izni verir. Örneğin, telefon, çağrı alındığında tuş kilidinin devre dışı bırakır ve sonra, görüşme bittiğinde kilidi yeniden etkinleştirir."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"parmak izi donanımını yönetme"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Uygulamanın, kullanılacak parmak izi şablonlarını ekleme ve silme yöntemlerini başlatmasına izin verir."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"parmak izi donanımını kullanma"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Uygulamanın kimlik doğrulama için parmak izi donanımını kullanmasına izin verir."</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"senk. ayarlarını okuma"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Uygulamaya bir hesaba ait senkronizasyon ayarlarını okuma izni verir. Örneğin, bu izne sahip bir uygulama Kişiler uygulamasının bir hesapla senkronize olup olmadığını belirleyebilir."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"senkronizasyonu açma/kapatma"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Uygulamanın bildirimler almasına, bildirimleri incelemesine ve temizlemesine izin verir. Buna diğer uygulamalar tarafından yayınlanan bildirimler de dahildir."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"bildirim dinleyici hizmetine bağlan"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"İzin sahibine bir bildirim dinleyici hizmetinin en üst düzey arayüzüne bağlanma izni verir. Normal uygulamalarda hiçbir zaman gerek duyulmaz."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"seçici hedef hizmetine bağlanma"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"İzin sahibine bir seçici hedef hizmetinin üst seviye arayüzüne bağlanma olanağı sunar. Normal uygulamalarda hiçbir zaman gerek duyulmaz."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"bir durum sağlayıcı hizmetine bağlanma"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"İzin sahibinin, bir durum sağlayıcı hizmete ait üst düzey arayüze bağlanmasına izin verir. Normal uygulamalar için hiçbir zaman gerekli değildir."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"bir medya yönlendirme hizmetine bağlan"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"operatör mesajlaşma hizmetine bağlan"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"İzin sahibinin, operatör mesajlaşma hizmetinin üst düzey arayüzüne bağlanmasına olanak verir. Normal uygulamalarda hiçbir zaman gerekmez."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Şifre kuralları ayarla"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Ekran kilidini açma şifrelerinde izin verilen uzunluğu ve karakterleri denetleme."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Ekran kilidini açma şifrelerinde ve PIN\'lerde izin verilen uzunluğu ve karakterleri denetleyin."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Ekran kilidini açma denemelerini izle"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Ekran kilidini açarken yapılan yanlış şifre girme denemelerini izle ve çok fazla sayıda yanlış şifre girme denemesi yapılmışsa tableti kilitle veya tabletteki tüm verileri sil."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Ekran kilidi açılırken girilen hatalı şifre sayısını takip etme ve çok fazla sayıda hatalı şifre girildiğinde TV\'yi kilitleme veya TV\'nin tüm verilerini silme."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Ekran kilidini açarken yapılan yanlış şifre girişi denemelerini izle ve çok sayıda yanlış şifre girişi denemesi yapılmışsa telefonu kilitle veya telefonun tüm verilerini sil."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Ekran kilidini açma şifresini değiştirme"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Ekran kilidini açma şifresini değiştirme."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Ekran kilidi açılırken girilen hatalı şifre sayısını takip edin ve çok fazla sayıda hatalı şifre girildiğinde tableti kilitleyin veya söz konusu kullanıcının tüm verilerini silin."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Ekran kilidi açılırken girilen hatalı şifre sayısını takip edin ve çok fazla sayıda hatalı şifre girildiğinde TV\'yi kilitleyin veya söz konusu kullanıcının tüm verilerini silin."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Ekran kilidi açılırken girilen hatalı şifre sayısını takip edin ve çok fazla sayıda hatalı şifre girildiğinde telefonu kilitleyin veya söz konusu kullanıcının tüm verilerini silin."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Ekran kilidini değiştir"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Ekran kilidini değiştirin."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Ekranı kilitleme"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Ekranın nasıl ve ne zaman kilitlendiğini denetleme."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Tüm verileri silme"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Fabrika verilerine sıfırlama işlemi gerçekleştirerek tabletteki verileri uyarıda bulunmadan silme."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Fabrika ayarlarına sıfırlama yoluyla TV\'nin verilerini uyarı vermeksizin silme."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Fabrika verilerine sıfırlama işlemi gerçekleştirerek telefondaki verileri uyarıda bulunmadan silme."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Kullanıcı verilerini sil"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Uyarı yapmadan bu kullanıcının bu tabletteki verilerini silin."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Uyarı yapmadan bu kullanıcının bu TV\'deki verilerini silin."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Uyarı yapmadan bu kullanıcının bu telefondaki verilerini silin."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Cihaz genelinde geçerli proxy\'i ayarla"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Politika etkin olduğunda kullanılacak cihaz genelinde geçerli proxy\'yi ayarlayın. Etkin genel proxy\'yi yalnızca ilk cihaz yöneticisi ayarlar."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Ekr kilt şifr süre sonu ayarla"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Ekran kilitleme şifresinin hangi sıklıkla değiştirilmesi gerektiğini denetleme."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Politika etkin olduğunda kullanılacak cihaz genelinde geçerli proxy\'yi ayarlayın. Genel proxy\'yi yalnızca cihaz sahibi ayarlayabilir."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Ekran kilidi şifresinin kullanma süresini ayarla"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Ekran kilitleme şifresinin, PIN\'in veya desenin hangi sıklıkla değiştirileceğini ayarlayın."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Deplm şifrelemesini ayarla"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Depolanan uygulama verilerinin şifrelenmiş olmasını zorunlu kılma."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Kameraları devre dışı bırak"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Tüm cihaz kameralarının kullanımını engelleme."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Keyguard\'daki özellikleri devre dışı bırak"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Keyguard\'daki bazı özelliklerin kullanılmasını önle."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Ekran kilidinin özelliklerini devre dışı bırak"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Ekran kilidinin bazı özelliklerinin kullanılmasını önleyin."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Ev"</item>
     <item msgid="869923650527136615">"Mobil"</item>
@@ -896,8 +909,8 @@
     <string name="phoneTypeRadio" msgid="4093738079908667513">"Telsiz"</string>
     <string name="phoneTypeTelex" msgid="3367879952476250512">"Teleks"</string>
     <string name="phoneTypeTtyTdd" msgid="8606514378585000044">"TTY TDD"</string>
-    <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"İş Yeri Cep Telefonu"</string>
-    <string name="phoneTypeWorkPager" msgid="649938731231157056">"İş Yeri Çağrı Cihazı"</string>
+    <string name="phoneTypeWorkMobile" msgid="1311426989184065709">"İş Cep Telefonu"</string>
+    <string name="phoneTypeWorkPager" msgid="649938731231157056">"İş Çağrı Cihazı"</string>
     <string name="phoneTypeAssistant" msgid="5596772636128562884">"Yardımcı"</string>
     <string name="phoneTypeMms" msgid="7254492275502768992">"MMS"</string>
     <string name="eventTypeCustom" msgid="7837586198458073404">"Özel"</string>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Yeni uygulamayı başlatmayın."</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> uygulamasını başlat"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Kaydetmeden eski uygulamayı durdurun."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Kısa mesaj için bir işlem seçin"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Zil sesi düzeyi"</string>
     <string name="volume_music" msgid="5421651157138628171">"Medya ses düzeyi"</string>
@@ -1355,7 +1376,7 @@
     <string name="dlg_ok" msgid="7376953167039865701">"Tamam"</string>
     <string name="usb_mtp_notification_title" msgid="3699913097391550394">"Medya cihazı olarak bağlandı"</string>
     <string name="usb_ptp_notification_title" msgid="1960817192216064833">"Kamera olarak bağlandı"</string>
-    <string name="usb_midi_notification_title" msgid="1399152904227676460">"MIDI cihaz olarak bağlandı"</string>
+    <string name="usb_midi_notification_title" msgid="1399152904227676460">"MIDI cihazı olarak bağlandı"</string>
     <string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Yükleyici olarak bağlandı"</string>
     <string name="usb_accessory_notification_title" msgid="7848236974087653666">"USB aksesuarına bağlandı"</string>
     <string name="usb_notification_message" msgid="2290859399983720271">"Diğer USB seçenekleri için dokunun."</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">1 saniye içinde tekrar deneyin</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Daha sonra tekrar deneyin"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Tam ekrandan çıkmak için yukarıdan aşağıya hızlıca kaydırın."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Tam ekran olarak görüntüleme"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Çıkmak için yukarıdan aşağıya doğru hızlıca kaydırın."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Anladım"</string>
     <string name="done_label" msgid="2093726099505892398">"Bitti"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Saat kaydırma çemberi"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Dakika kaydırma çemberi"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> (İş)"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Bu ekranın sabitlemesini kaldırmak için Geri ve Genel Bakış\'a aynı anda dokunup basılı tutun."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Bu ekranın sabitlemesini kaldırmak için Genel Bakış\'a dokunup basılı tutun."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Ekran sabitlendi. Kuruluşunuz sabitlemenin kaldırılmasına izin vermiyor."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Ekran sabitlendi"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Ekran sabitlemesi kaldırıldı"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Sabitlemeyi kaldırmadan önce PIN\'i sor"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Bir saat için</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Şu saate kadar: <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Süresiz"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Siz bunu kapatana kadar"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Daralt"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> saatindeki bir sonraki alarma kadar"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Bir sonraki alarma kadar"</string>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index bb48a43..306137e 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -740,6 +740,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Дозволяє програмі обмінюватися даними з тегами, картками та читачами екрана Near Field Communication (NFC)."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"вимикати блокування екрана"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Дозволяє програмі вимикати блокування клавіатури та будь-який пов’язаний паролем захист. Наприклад: телефон вимикає блокування клавіатури під час отримання вхідного дзвінка, після закінчення якого блокування клавіатури відновлюється."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"керувати апаратним забезпеченням для цифрових відбитків"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Увімкнути в додатку функції для додавання й видалення шаблонів цифрових відбитків."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"користуватися апаратним забезпеченням для цифрових відбитків"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Дозволити додатку використовувати апаратне забезпечення для автентифікації"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"читати налаштування синхронізації"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Дозволяє програмі читати налаштування синхронізації для облікового запису, наприклад, визначати, чи програма Люди синхронізується з обліковим записом."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"вмикати й вимикати синхронізацію"</string>
@@ -794,6 +798,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Дозволяє програмі отримувати, перевіряти й очищати сповіщення, зокрема опубліковані іншими програмами."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"прив’язуватися до служби читання сповіщень"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Дозволяє власнику прив’язуватися до інтерфейсу верхнього рівня служби читання сповіщень. Ніколи не застосовується для звичайних програм."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"підключатися до цільової служби для вибору"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Додаток зможе підключатися до інтерфейсу верхнього рівня цільової служби для вибору. Звичайні додатки ніколи не використовують цей дозвіл."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"підключитися до служби постачання умов"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Додаток зможе підключатися до інтерфейсу верхнього рівня служби постачання умов. Звичайні додатки ніколи не використовують цей дозвіл."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"підключатися до служби передавання медіафайлів"</string>
@@ -815,29 +821,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"підключатися до служби надсилання повідомлень через оператора"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Додаток зможе підключатися до інтерфейсу верхнього рівня служби надсилання повідомлень через оператора. Звичайні додатки ніколи не використовують цей дозвіл."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Устан. правила пароля"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Контролювати довжину паролів для розблокування екрана та дозволені в них символи."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Укажіть максимальну довжину та кількість символів для паролів розблокування екрана та PIN-кодів."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Відстежув. спроби розблок. екрана"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Відстежувати кількість неправильних паролів, введених під час розблокування екрана, і блокувати планшетний ПК або стирати всі його дані, якщо введено забагато неправильних паролів."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Відстежувати кількість неправильних паролів, введених під час розблокування екрана, і блокувати телевізор або стирати всі його дані, якщо пароль введено неправильно забагато разів."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Відстежувати кількість неправильних паролів, введених під час розблокування екрана, і блокувати  телефон або стирати всі його дані, якщо введено забагато неправильних паролів."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Змінити пароль для розблокув. екрана"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Змінювати пароль для розблокування екрана."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Відстежуйте кількість неправильних паролів, введених під час розблокування екрана. Блокуйте планшет або стирайте всі його дані, якщо пароль введено неправильно забагато разів."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Відстежуйте кількість неправильних паролів, введених під час розблокування екрана. Блокуйте телевізор або стирайте всі його дані, якщо пароль введено неправильно забагато разів."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Відстежуйте кількість неправильних паролів, введених під час розблокування екрана. Блокуйте телефон або стирайте всі його дані, якщо пароль введено неправильно забагато разів."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Змінення пароля розблокування екрана"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Змініть пароль розблокування екрана."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Блокувати екран"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Контролювати, як і коли блокується екран."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Видалити всі дані"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Стирати дані планшетного ПК без попередження, відновлюючи заводські налаштування."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Без попередження стирати дані телевізора, відновлюючи заводські налаштування."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Стирати дані телефону без попередження, відновлюючи заводські налаштування."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Видалення даних користувача"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Видаляйте дані користувача на цьому планшеті без попередження."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Видаляйте дані користувача на цьому телевізорі без попередження."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Видаляйте дані користувача на цьому телефоні без попередження."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Установ. глоб. проксі пристрою"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Устан. використ. глоб. проксі, коли ввімкнено політику. Лише адміністратор першого пристрою встановлює активний глоб. проксі."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Установити термін дії пароля блокування екрана"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Контролювати частоту зміни пароля блокування екрана."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Використовуйте глобальний проксі-сервер пристрою, коли це правило ввімкнено. Налаштувати глобальний проксі-сервер може лише власник пристрою."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Частота змінення пароля"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Укажіть, як часто потрібно змінювати пароль розблокування екрана, PIN-код або ключ."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Установити шифрування носія"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Вимагати шифрування даних збереженої програми."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Вимкнути камери"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Запобігати використанню всіх камер пристрою."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Вимикати функції на клавіатурі"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Запобігає використанню деяких функцій на клавіатурі."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Функції заблокованого екрана"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Забороніть використання деяких функцій, доступних на заблокованому екрані."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Дом."</item>
     <item msgid="869923650527136615">"Мобільний"</item>
@@ -1262,6 +1275,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Не запускати нову програму."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Запуст. <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Зупинити попередню програму без збереження."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Виберіть дію для тексту"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Гучність дзвінка"</string>
     <string name="volume_music" msgid="5421651157138628171">"Гучність медіа"</string>
@@ -1783,7 +1804,9 @@
       <item quantity="other">Повтор через <xliff:g id="COUNT">%d</xliff:g> секунди</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Спробуйте пізніше"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Проведіть пальцем зверху вниз, щоб вийти з повноекранного режиму."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Перегляд на весь екран"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Щоб вийти, проведіть пальцем зверху вниз."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Зрозуміло"</string>
     <string name="done_label" msgid="2093726099505892398">"Готово"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Вибір годин на циферблаті"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Вибір хвилин на циферблаті"</string>
@@ -1798,7 +1821,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Робоча <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Щоб відкріпити екран, одночасно натисніть і утримуйте кнопки \"Назад\" та \"Огляд\"."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Щоб відкріпити екран, натисніть і утримуйте кнопку \"Огляд\"."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Екран закріплено. Ваша організація заборонила відкріплювати його."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Екран закріплено"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Екран відкріплено"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Запитувати PIN-код перед відкріпленням"</string>
@@ -1832,7 +1856,7 @@
       <item quantity="other">%d години</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"До <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Без обмежень"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Доки ви не вимкнете"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Згорнути"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"До наступного сигналу о <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"До наступного сигналу"</string>
diff --git a/core/res/res/values-ur-rPK/strings.xml b/core/res/res/values-ur-rPK/strings.xml
index d107b09..5967744 100644
--- a/core/res/res/values-ur-rPK/strings.xml
+++ b/core/res/res/values-ur-rPK/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"‏ایپ کو Near Field Communication (NFC)‎ ٹیگز، کارڈز اور ریڈرز کے ساتھ مواصلت کرنے کی اجازت دیٹا ہے۔"</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"اپنے اسکرین لاک کو غیر فعال کریں"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"ایپ کو کلیدی لاک اور کسی بھی متعلقہ پاس ورڈ سیکیورٹی کو غیر فعال کرنے کی اجازت دیتا ہے۔ مثلاً، کوئی آنے والی فون کال موصول ہونے کے وقت فون کلیدی لاک کو غیر فعال کرتا ہے، پھر کال پوری ہوجانے پر کلیدی لاک کو دوبارہ فعال کردیتا ہے۔"</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"فنگر پرنٹ ہارڈ ویئر کا نظم کریں"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"ایپ کو استعمال کیلئے فنگر پرنٹ کی تمثیلات شامل کرنے اور حذف کرنے کیلئے طریقوں کو کالعدم قرار دینے کی اجازت دیتا ہے۔"</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"فنگر پرنٹ ہارڈ ویئر استعمال کریں"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"ایپ کو توثیق کیلئے فنگر پرنٹ ہارڈ ویئر استعمال کرنے کی اجازت دیتا ہے"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"مطابقت پذیری کی ترتیبات پڑھیں"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"‏ایپ کو کسی اکاؤنٹ کیلئے مطابقت پذیری کی ترتیبات پڑھنے کی اجازت دیتا ہے۔ مثلا، یہ تعین کرسکتا ہے کہ آیا People ایپ کسی اکاؤنٹ کے ساتھ مطابقت پذیر ہے۔"</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"مطابقت پذیری آن اور آف ٹوگل کریں"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"دوسرے ایپس کے ذریعے شائع کردہ کے بشمول ایپ کو اطلاعات کی بازیابی، تفتیش اور انہیں صاف کرنے کی اجازت دیتا ہے۔"</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"اطلاع سننے والی سروس کے پابند بنیں"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"حامل کو اطلاع سننے والی سروس کے اعلی سطحی انٹرفیس کا پابند ہونے کی اجازت دیتا ہے۔ عام ایپس کیلئے کبھی بھی اس کی ضرورت نہيں ہونی چاہئے۔"</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"ایک انتخاب کنندہ کی اہدافی سروس کا پابند بنائیں"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"حامل کو ایک انتخاب کنندہ کی اہدافی سروس کے اعلی سطحی انٹرفیس کا پابند بنانے کی اجازت دیتا ہے۔ عام اطلاقات کیلئے کبھی بھی اس کی ضرورت نہيں ہونی چاہئے۔"</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"شرط فراہم کرنے والی ایک سروس کے پابند بنیں"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"حامل کو شرط فراہم کنندہ کی سروس کے اعلی سطحی انٹرفیس کا پابند ہونے کی اجازت دیتا ہے۔ عام ایپس کیلئے کبھی بھی اس کی ضرورت نہيں ہونی چاہئے۔"</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"میڈیا روٹ سروس کا پابند بنیں"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"ایک کیریئر پیغام رسانی سروس کا پابند بنیں"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"حامل کو ایک کیریئر پیغام رسانی سروس کے اعلی سطحی انٹرفیس کا پابند ہونے کی اجازت دیتی ہے۔ عام ایپس کیلئے کبھی بھی اس کی ضرورت نہیں ہونی چاہیے۔"</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"پاس ورڈ کے اصول سیٹ کریں"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"اسکرین غیر مقفل کرنے کے پاس ورڈز میں مجاز طوالت اور حروف کو کنٹرول کریں۔"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"‏اسکرین لاک پاس ورڈز اور PINs میں اجازت یافتہ لمبائی اور حروف کو کنٹرول کریں۔"</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"اسکرین غیر مقفل کرنے کی کوششیں مانیٹر کریں"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"اسکرین کو غیر مقفل کرتے وقت ٹائپ کیے گئے غلط پاس ورڈز کی تعداد مانیٹر کریں اور ٹیبلیٹ کو مقفل کریں یا اگر کافی زیادہ غلط پاس ورڈز ٹائپ کیے گئے ہیں تو ٹیبلیٹ کا سبھی ڈیٹا صاف کریں۔"</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"‏اسکرین کو غیر مقفل کرتے وقت ٹائپ کردہ غلط پاس ورڈز کی تعداد پر نگاہ رکھیں اور اگر بہت زیادہ غلط پاس ورڈز ٹائپ کیے جاتے ہیں تو TV کو مقفل کریں یا TV کا سبھی ڈیٹا مٹائیں۔"</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"اسکرین کو غیر مقفل کرتے وقت ٹائپ کیے گئے غلط پاس ورڈز کی تعداد مانیٹر کریں اور فون کو مقفل کریں یا اگر کافی زیادہ غلط پاس ورڈز ٹائپ کیے گئے ہیں تو فون کا سبھی ڈیٹا صاف کریں۔"</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"اسکرین غیر مقفل کرنے کا پاس ورڈ تبدیل کریں"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"اسکرین غیر مقفل کرنے کا پاس ورڈ تبدیل کریں۔"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"اسکرین کو غیر مقفل کرتے وقت ٹائپ کردہ غلط پاس ورڈز کی تعداد پر نگاہ رکھیں اور اگر بہت زیادہ غلط پاس ورڈز ٹائپ کیے جاتے ہیں تو ٹیبلٹ کو مقفل کریں یا اس صارف کا سبھی ڈیٹا ہٹائیں۔"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"‏اسکرین کو غیر مقفل کرتے وقت ٹائپ کردہ غلط پاس ورڈز کی تعداد پر نگاہ رکھیں اور اگر بہت زیادہ غلط پاس ورڈز ٹائپ کیے جاتے ہیں تو TV کو مقفل کریں یا اس صارف کا سبھی ڈیٹا ہٹائیں۔"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"اسکرین کو غیر مقفل کرتے وقت ٹائپ کردہ غلط پاس ورڈز کی تعداد پر نگاہ رکھیں اور اگر بہت زیادہ غلط پاس ورڈز ٹائپ کیے جاتے ہیں تو فون کو مقفل کریں یا اس صارف کا سبھی ڈیٹا ہٹائیں۔"</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"اسکرین لاک تبدیل کریں"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"اسکرین لاک تبدیل کریں۔"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"اسکرین مقفل کریں"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"اسکرین کب اور کس طرح مقفل ہوتا ہے اس کو کنٹرول کریں۔"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"سبھی ڈیٹا صاف کریں"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"فیکٹری ڈیٹا کی دوبارہ ترتیب انجام دے کر وارننگ کے بغیر ٹیبلٹ کا ڈیٹا مٹائیں۔"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"‏ایک فیکٹری ڈیٹا ری سیٹ انجام دے کر انتباہ کے بغیر TV کا ڈیٹا مٹائیں۔"</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"فیکٹری ڈیٹا کی دوبارہ ترتیب انجام دے کر وارننگ کے بغیر فون کا ڈیٹا مٹائیں۔"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"صارف کا ڈیٹا ہٹائیں"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"وارننگ کے بغیر اس ٹیبلٹ پر موجود اس صارف کا ڈیٹا ہٹائیں۔"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"‏وارننگ کے بغیر اس TV پر موجود اس صارف کا ڈیٹا ہٹائیں۔"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"وارننگ کے بغیر اس فون پر موجود اس صارف کا ڈیٹا ہٹائیں۔"</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"آلہ کی عالمی پراکسی سیٹ کریں"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"پالیسی فعال ہونے پراستعمال کیے جانے کیلئے آلہ کی عالمی پراکسی سیٹ کریں۔ آلے کا صرف پہلا منتظم مؤثر عالمی پراکسی سیٹ کرتا ہے۔"</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"لاک سکرین پاسورڈ مدت سیٹ کریں"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"اسکرین مقفل کرنے کا پاس ورڈ کتنی کثرت سے تبدیل کیا جانا چاہیے اس کو کنٹرول کریں۔"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"پالیسی فعال ہونے پر آلہ کی عالمی پراکسی کو استعمال کیے جانے کیلئے سیٹ کریں۔ صرف آلہ کا مالک ہی عالمی پراکسی سیٹ کر سکتا ہے۔"</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"اسکرین لاک پاس ورڈ کی میعاد سیٹ کریں"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"‏تبدیل کریں کہ کتنے وقفہ میں اسکرین لاک پاس ورڈ، PIN یا پیٹرن تبدیل ہونا ضروری ہے۔"</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"اسٹوریج کی مرموز کاری سیٹ کریں"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"مطالبہ کریں کہ اسٹور کردہ ایپ کا ڈیٹا مرموز کیا جائے۔"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"کیمروں کو غیر فعال کریں"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"سبھی آلے کے کیمروں کا استعمال روکیں۔"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"کی گارڈ کی خصوصیات غیر فعال کریں"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"کی گارڈ میں کچھ خصوصیات کے استعمال کو روکیں۔"</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"اسکرین لاک کی خصوصیات غیر فعال کریں"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"اسکرین لاک کی کچھ خصوصیات کے استعمال سے روکیں۔"</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"گھر"</item>
     <item msgid="869923650527136615">"موبائل"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"نئی ایپ شروع نہ کریں۔"</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g> شروع کریں"</string>
     <string name="new_app_description" msgid="1932143598371537340">"محفوظ کیے بغیر پرانی ایپ بند کریں۔"</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"متن کیلئے ایک کارروائی منتخب کریں"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"رنگر والیوم"</string>
     <string name="volume_music" msgid="5421651157138628171">"میڈیا والیوم"</string>
@@ -1355,7 +1376,7 @@
     <string name="dlg_ok" msgid="7376953167039865701">"ٹھیک ہے"</string>
     <string name="usb_mtp_notification_title" msgid="3699913097391550394">"ایک میڈیا آلہ کے بطور مربوط کر دیا گیا"</string>
     <string name="usb_ptp_notification_title" msgid="1960817192216064833">"ایک کیمرہ کے بطور مربوط ہے"</string>
-    <string name="usb_midi_notification_title" msgid="1399152904227676460">"‏ایک MIDI آلہ کے بطور منسلک کیا گیا"</string>
+    <string name="usb_midi_notification_title" msgid="1399152904227676460">"‏MIDI آلہ کے بطور منسلک"</string>
     <string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"ایک انسٹالر کے بطور مربوط ہے"</string>
     <string name="usb_accessory_notification_title" msgid="7848236974087653666">"‏ایک USB لوازم سے مربوط ہے"</string>
     <string name="usb_notification_message" msgid="2290859399983720271">"‏USB کے دوسرے اختیارات کیلئے چھوئیں۔"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">1 سیکنڈ میں دوبارہ کوشش کریں</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"بعد میں دوبارہ کوشش کریں"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"مکمل اسکرین سے نکلنے کیلئے اوپر سے نیچے سوائپ کریں۔"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"پوری اسکرین میں دیکھ رہے ہیں"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"خارج ہونے کیلئے اوپر سے نیچے سوائپ کریں۔"</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"سمجھ آ گئی"</string>
     <string name="done_label" msgid="2093726099505892398">"ہو گیا"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"گھنٹوں کا سرکلر سلائیڈر"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"منٹس سرکلر سلائیڈر"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"دفتر <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"اس اسکرین سے پن ہٹانے کیلئے، واپس جائیں اور مجموعی جائزہ کو ایک ساتھ ٹچ کریں اور دبا کر رکھیں۔"</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"اس اسکرین سے پن ہٹانے کیلئے، مجموعی جائزہ کو ٹچ کریں اور دبا کر رکھیں۔"</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"اسکرین کو پن کر دیا گیا ہے۔ آپ کی تنظیم کی جانب سے پن ہٹانے کی اجازت نہیں ہے۔"</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"اسکرین کو پن کر دیا گیا"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"اسکرین کا پن ہٹا دیا گیا"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"‏پن ہٹانے سے پہلے PIN طلب کریں"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">ایک گھنٹہ کیلئے</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> تک"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"غیر متعینہ"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"جب تک آپ اسے آف نہ کر دیں"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"سکیڑیں"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"اگلے الارم تک بوقت <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"اگلے الارم تک"</string>
diff --git a/core/res/res/values-uz-rUZ/strings.xml b/core/res/res/values-uz-rUZ/strings.xml
index c69a4ee..812f34e 100644
--- a/core/res/res/values-uz-rUZ/strings.xml
+++ b/core/res/res/values-uz-rUZ/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Ilova qisqa masofali aloqa (NFC) texnologiyasi yordamida NFC yorliqlari, kartalar va o‘qish moslamalari bilan ma’lumot almashishi mumkin."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"ekran qulfini o‘chirib qo‘yish"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Ilovaga ekran qulfini va har qanday parol  yordamidagi xavfsizlik himoyalarini o‘chirishga ruxsat beradi. Masalan, kirish qo‘ng‘irog‘ida telefon ekran qulfini o‘chiradi va qo‘ng‘iroq tugashi bilan qulfni yoqadi."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"barmoq izi sensorini boshqarish"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Ilova foydalanish uchun barmoq izi namunalarini qo‘shish va o‘chirish usullarini qo‘llashi mumkin."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"barmoq izi sensoridan foydalanish"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Ilova haqiqiylikni tekshirish uchun barmoq izi sensoridan foydalanishi mumkin"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"sinx-sh sozlamalarini o‘qish"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Ilovaga hisobning sinxronlash sozlamalarini o‘qish uchun ruxsat beradi. Masalan, bu \"Odamlar\" ilovasi hisob bilan sinxronlangan yoki aksini aniqlay oladi."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"sinx.ni yoqish/o‘chirish"</string>
@@ -792,6 +796,8 @@
     <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>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Foydalanuvchiga bildirishnomani eshituvchi xizmat yuqori darajali interfeysini bog‘lash imkonini beradi. Oddiy dasturlar uchun hech qachon kerak bo‘lmaydi."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"mo‘ljaldagi xizmat bilan bog‘lanish"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Egasiga mo‘ljaldagi xizmatning yuqori darajali interfeysiga bog‘lanish uchun ruxsat beradi. Oddiy ilovalar uchun hech qachon kerak bo‘lmaydi."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"shartlarni taqdim etuvchilarning serveriga ulanish"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Ilova shartlarni taqdim etuvchining yuqori darajali interfeysiga ulanishi mumkin. Oddiy ilovalar uchun talab qilinmaydi."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"media fayllarni uzatish vositasiga bog‘lab qo‘yish"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"aloqa operatorining xabar almashinuv xizmatiga bog‘lanish"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Egasiga aloqa operatorining xabar almashinuv xizmatining yuqori darajali interfeysiga bog‘lanish uchun ruxsat beradi. Oddiy ilovalar uchun hech qachon kerak bo‘lmaydi."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Parol qoidalarini o‘rnatish"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Ekran qulfini ochish parollariga ruxsat berilgan belgilar va ularning uzunligini boshqarish."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Ekran qulfi paroli va PIN kodlari uchun qo‘yiladigan talablarni (belgilar soni va uzunligi) nazorat qiladi."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Ekranni qulfdan chiqarish urinishlarini nazorat qilish"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Ekranni qulfini ochishda parolni kiritishga urinishlarni kuzatib boradi va agar parol bir necha marta noto‘g‘ri kiritilsa, planshetni qulflaydi yoki undagi ma’lumotlarni o‘chirib tashlaydi."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Ekranni qulfdan chiqarishda noto‘g‘ri kiritilgan parollarni sonini kuzatib boradi hamda agar parol juda ko‘p marta noto‘g‘ri kiritilsa, televizorni qulflash yoki undagi barcha ma’lumotlarni o‘chirib tashlaydi."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Ekranni qulfini ochishda parolni kiritishga urinishlarni kuzatib boradi va agar parol bir necha marta noto‘g‘ri kiritilsa, telefonni qulflaydi yoki undagi ma’lumotlarni o‘chirib tashlaydi."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Ekranni qulfdan chiqarish parolini o‘zgartirish"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Ekran qulfini ochish parolini o‘zgartirish."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Ekran qulfini ochishda kiritilgan noto‘g‘ri parollar sonini kuzatib boradi va agar parol juda ko‘p marta noto‘g‘ri kiritilsa, planshetni qulflaydi yoki undagi barcha ma’lumotlarni o‘chirib tashlaydi."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Ekran qulfini ochishda kiritilgan noto‘g‘ri parollar sonini kuzatib boradi va agar parol juda ko‘p marta noto‘g‘ri kiritilsa, televizorni qulflaydi yoki undagi barcha ma’lumotlarni o‘chirib tashlaydi."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Ekran qulfini ochishda kiritilgan noto‘g‘ri parollar sonini kuzatib boradi va agar parol juda ko‘p marta noto‘g‘ri kiritilsa, telefonni qulflaydi yoki undagi barcha ma’lumotlarni o‘chirib tashlaydi."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Ekran qulfini o‘zgartirish"</string>
+    <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 o‘chirish"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Planshet ma’lumotlarini ogohlantirishlarsiz ishlab chiqarilgan holatiga tiklash orqali o‘chirish"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Zavod sozlamalarini qayta tiklash orqali televizordagi ma’lumotlarni ogohlantirishsiz o‘chirib tashlaydi."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Telefon ma’lumotlarini ogohlantirishlarsiz zavod sozlamalarini tiklash orqali o‘chirish"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Foydalanuvchi ma’lumotlarini o‘chirish"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Ushbu planshetdagi foydalanuvchi ma’lumotlarini ogohlantirishsiz o‘chirib tashlaydi."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Ushbu televizordagi foydalanuvchi ma’lumotlarini ogohlantirishsiz o‘chirib tashlaydi."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Ushbu telefondagi foydalanuvchi ma’lumotlarini ogohlantirishsiz o‘chirib tashlaydi."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Qurilmaga global proksi o‘rnatish"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Siyosat yoqib qo‘yilganda foydalanish uchun global proksini qurilmaga o‘rnating. Faqat birinchi qurilma administratori samarali global proksini o‘rnatadi."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Ekran qulf-sh paroli muddati."</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Ekranni qulflash parolini qancha muddatda almashtirish kerakligini boshqaradi."</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="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>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Barcha qurilma kameralaridan foydalanishga yo‘l qo‘ymaydi."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Tugmatagni qulflash xususiyatlarini o‘chirish"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Tugmatagni qulflashda ba’zi xususiyatlardan foydalanishga yo‘l qo‘ymaydi."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Funksiyalarni o‘chirib qo‘yish"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Ekran qulfining ba’zi funksiyalaridan foydalanishni cheklaydi."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Uy"</item>
     <item msgid="869923650527136615">"Mobayl"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Yangi ilova ishga tushirilmasin."</string>
     <string name="new_app_action" msgid="5472756926945440706">"<xliff:g id="OLD_APP">%1$s</xliff:g>ni ishga tushirish"</string>
     <string name="new_app_description" msgid="1932143598371537340">"O‘zgarishlarni saqlamasdan, eski ilova yopilsin"</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Matn uchun amalni tanlash"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Qo‘ng‘iroq tovushi"</string>
     <string name="volume_music" msgid="5421651157138628171">"Media tovushi"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">1 soniyadan so‘ng qayta urinib ko‘ring</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Keyinroq urinib ko‘ring"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"\"Butun ekran\" usulidan chiqish uchun barmoq bilan ekran tepasidan pastga tomon silang."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"To‘liq ekran ko‘rsatilmoqda"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Chiqish uchun tepadan pastga torting."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"OK"</string>
     <string name="done_label" msgid="2093726099505892398">"Tayyor"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Doiradan soatni tanlang"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Doiradan daqiqani tanlang"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Ish <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Ushbu ekrandan chiqish uchun “Orqaga” va “Umumiy nazar” tugmalarini bir vaqtda bosib turing."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Ushbu ekrandan chiqish uchun “Umumiy nazar” tugmasini bosib turing."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Ekran qadab qo‘yildi. Uni bo‘shatishga tashkilotingiz ruxsat bermagan."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <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">"Bo‘shatishdan oldin PIN kod so‘ralsin"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Bir soat</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Ushbu vaqtgacha: <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Uzluksiz ravishda"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Men o‘chirmaguncha"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Yig‘ish"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Keyingi uyg‘otkich vaqtigacha (<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>)"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Keyingi uyg‘otkich vaqtigacha"</string>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index c19278e..8c8c305 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Cho phép ứng dụng giao tiếp với thẻ Giao tiếp trường gần (NFC), thẻ và trình đọc."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"vô hiệu hóa khóa màn hình của bạn"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Cho phép ứng dụng tắt khóa phím và bất kỳ bảo mật mật khẩu được liên kết nào. Ví dụ: điện thoại tắt khóa phím khi nhận được cuộc gọi đến, sau đó bật lại khóa phím khi cuộc gọi kết thúc."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"quản lý phần cứng vân tay"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Cho phép ứng dụng gọi các phương pháp để thêm và xóa các mẫu vân tay để sử dụng."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"sử dụng phần cứng vân tay"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Cho phép ứng dụng sử dụng phần cứng vân tay để xác thực"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"đọc cài đặt đồng bộ hóa"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Cho phép ứng dụng đọc cài đặt đồng bộ hóa cho tài khoản. Ví dụ: việc này có thể xác định liệu ứng dụng Mọi người đã được đồng bộ hóa với tài khoản chưa."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"chuyển đổi bật và tắt đồng bộ hóa"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Cho phép ứng dụng truy xuất, kiểm tra và xóa thông báo, bao gồm những thông báo được đăng bởi các ứng dụng khác."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"liên kết với dịch vụ trình xử lý thông báo"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Cho phép chủ sở hữu liên kết với giao diện cấp cao nhất của dịch vụ trình xử lý thông báo. Không cần thiết cho các ứng dụng thông thường."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"liên kết với dịch vụ nhắm mục tiêu trình chọn"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Cho phép chủ sở hữu liên kết với giao diện cấp cao nhất của dịch vụ nhắm mục tiêu trình chọn. Không cần thiết cho các ứng dụng thông thường."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"liên kết với dịch vụ trình cung cấp điều kiện"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Cho phép chủ sở hữu liên kết với giao diện cấp cao nhất của dịch vụ trình cung cấp điều kiện. Không cần thiết cho các ứng dụng thông thường."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"liên kết với dịch vụ định tuyến phương tiện"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"liên kết với dịch vụ nhắn tin của nhà cung cấp dịch vụ"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Cho phép chủ sở hữu liên kết với giao diện cấp cao nhất của dịch vụ nhắn tin của nhà cung cấp dịch vụ. Không cần thiết cho các ứng dụng thông thường."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Đặt quy tắc mật khẩu"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Kiểm soát độ dài và ký tự được phép trong mật khẩu mở khóa màn hình."</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Kiểm soát độ dài và ký tự được phép trong mật khẩu khóa màn hình và mã PIN."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Giám sát những lần thử mở khóa màn hình"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Theo dõi số lần nhập mật khẩu không chính xác khi mở khóa màn hình và khóa máy tính bảng hoặc xóa tất cả dữ liệu của máy tính bảng nếu có quá nhiều lần nhập mật khẩu không chính xác."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Giám sát số lượng mật khẩu đã nhập sai khi mở khóa màn hình và khóa TV hoặc xóa tất cả dữ liệu của TV nếu có quá nhiều mật khẩu sai được nhập vào."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Theo dõi số lần nhập mật khẩu không chính xác khi mở khóa màn hình và khóa điện thoại hoặc xóa tất cả dữ liệu của điện thoại nếu có quá nhiều lần nhập mật khẩu không chính xác."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Thay đổi mật khẩu mở khóa màn hình"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Thay đổi mật khẩu mở khóa màn hình."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Giám sát số lần nhập sai mật khẩu khi mở khóa màn hình và khóa máy tính bảng hoặc xóa tất cả dữ liệu của người dùng này nếu nhập sai mật khẩu quá nhiều lần."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Giám sát số lần nhập sai mật khẩu khi mở khóa màn hình và khóa TV hoặc xóa tất cả dữ liệu của người dùng này nếu nhập sai mật khẩu quá nhiều lần."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Giám sát số lần nhập sai mật khẩu khi mở khóa màn hình và khóa điện thoại hoặc xóa tất cả dữ liệu của người dùng này nếu nhập sai mật khẩu quá nhiều lần."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Thay đổi khóa màn hình"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Thay đổi khóa màn hình."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Khóa màn hình"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Kiểm soát cách và thời điểm khóa màn hình."</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Xóa tất cả dữ liệu"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Xóa dữ liệu trên máy tính bảng mà không cần cảnh báo, bằng cách thực hiện thiết lập lại dữ liệu ban đầu."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Xóa dữ liệu trên TV mà không cần cảnh báo bằng cách thực hiện thiết lập lại dữ liệu ban đầu."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Xóa dữ liệu trên điện thoại mà không cần cảnh báo, bằng cách thiết lập lại dữ liệu ban đầu."</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Xóa dữ liệu người dùng"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Xóa dữ liệu của người dùng trên máy tính bảng này mà không cảnh báo."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Xóa dữ liệu của người dùng trên TV này mà không cảnh báo."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Xóa dữ liệu của người dùng trên điện thoại này mà không cảnh báo."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Đặt proxy chung của điện thoại"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Đặt proxy chung của điện thoại được sử dụng trong khi chính sách được bật. Chỉ quản trị viên đầu tiên của điện thoại mới có thể đặt proxy chung hiệu quả."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Đặt hết hạn mật khẩu khóa màn hình"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Kiểm soát tần suất bắt buộc phải thay đổi mật khẩu khóa màn hình."</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Đặt proxy chung của thiết bị được sử dụng trong khi chính sách bật. Chỉ chủ sở hữu thiết bị mới có thể đặt proxy chung."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Đặt thời hạn MK khóa màn hình"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Thay đổi tần suất phải thay đổi mật khẩu khóa màn hình, mã PIN hoặc mẫu."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Đặt mã hóa dung lượng lưu trữ"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Yêu cầu dữ liệu ứng dụng được lưu trữ phải được mã hóa."</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Vô hiệu hóa máy ảnh"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Ngăn sử dụng tất cả máy ảnh của thiết bị."</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Tắt tính năng trong chế độ bảo vệ phím"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Ngăn sử dụng một số tính năng trong chế độ bảo vệ phím."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Tắt tính năng của khóa m.hình"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Ngăn sử dụng một số tính năng của khóa màn hình."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Nhà riêng"</item>
     <item msgid="869923650527136615">"Di Động"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Không khởi động ứng dụng mới."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Bắt đầu <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Dừng ứng dụng cũ mà không lưu."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Chọn một tác vụ cho văn bản"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Âm lượng chuông"</string>
     <string name="volume_music" msgid="5421651157138628171">"Âm lượng phương tiện"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">Hãy thử lại sau 1 giây</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Hãy thử lại sau"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Vuốt từ trên xuống để thoát toàn màn hình."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Xem toàn màn hình"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Để thoát, hãy vuốt xuống từ trên cùng."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"OK"</string>
     <string name="done_label" msgid="2093726099505892398">"Xong"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Thanh trượt giờ hình tròn"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Thanh trượt phút hình tròn"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"<xliff:g id="LABEL">%1$s</xliff:g> làm việc"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Để bỏ khóa màn hình này, chạm và giữ Quay lại và Tổng quan cùng lúc."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Để bỏ khóa màn hình này, chạm và giữ Tổng quan."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Màn hình đã được ghim. Tổ chức của bạn không cho phép bỏ ghim."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Đã ghim màn hình"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Đã bỏ ghim màn hình"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Hỏi mã PIN trước khi bỏ ghim"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">Trong một giờ</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Cho đến <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Không giới hạn"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Cho đến khi bạn tắt tính năng này"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Thu gọn"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Cho đến lần báo thức tiếp theo vào <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Cho đến lần báo thức tiếp theo"</string>
diff --git a/core/res/res/values-watch/strings.xml b/core/res/res/values-watch/strings.xml
new file mode 100644
index 0000000..4ea2b52
--- /dev/null
+++ b/core/res/res/values-watch/strings.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/common/assets/res/any/strings.xml
+**
+** 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.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- [CHAR LIMIT=16] Message shown in upgrading dialog for each .apk that is optimized. -->
+    <!-- Each word has an 8 character limit due to screen width limitation. -->
+    <string name="android_upgrading_apk">App
+        <xliff:g id="number" example="123">%1$d</xliff:g> of
+        <xliff:g id="number" example="123">%2$d</xliff:g>.</string>
+</resources>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index c76ff7f..7a9da40 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"允许应用与近距离无线通信(NFC)标签、卡和读取器通信。"</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"停用屏幕锁定"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"允许该应用停用键锁以及任何关联的密码安全措施。例如,让手机在接听来电时停用键锁,在通话结束后重新启用键锁。"</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"管理指纹硬件"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"允许该应用调用方法来添加和删除可用的指纹模板。"</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"使用指纹硬件"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"允许该应用使用指纹硬件进行身份验证"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"读取同步设置"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"允许该应用读取某个帐户的同步设置。例如,此权限可确定“联系人”应用是否与某个帐户同步。"</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"启用和停用同步"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"允许该应用检索、检查并清除通知,包括其他应用发布的通知。"</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"绑定到通知侦听器服务"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"允许应用绑定到通知侦听器服务的顶级接口(普通应用绝不需要此权限)。"</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"绑定到选择器目标服务"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"允许该应用绑定到选择器目标服务的顶级接口。普通应用绝不需要此权限。"</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"绑定到条件提供程序服务"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"允许应用绑定到条件提供程序服务的顶级接口。普通应用绝不需要此权限。"</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"绑定至媒体转接服务"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"绑定到运营商消息传递服务"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"允许应用绑定到运营商消息传递服务的顶级接口。普通应用绝不需要此权限。"</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"设置密码规则"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"控制屏幕解锁密码所允许的长度和字符。"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"控制锁屏密码和 PIN 码所允许的长度和字符。"</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"监视屏幕解锁尝试次数"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"监视在解锁屏幕时输错密码的次数,如果输错次数过多,则锁定平板电脑或清除其所有数据。"</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"监控在解锁屏幕时输错密码的次数,并在输错次数过多时锁定电视或清除电视上的所有数据。"</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"监视在解锁屏幕时输错密码的次数,如果输错次数过多,则锁定手机或清除其所有数据。"</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"更改屏幕解锁密码"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"更改屏幕解锁密码。"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"监控在解锁屏幕时输错密码的次数,并在输错次数过多时锁定平板电脑或清空此用户的所有数据。"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"监控在解锁屏幕时输错密码的次数,并在输错次数过多时锁定电视或清空此用户的所有数据。"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"监控在解锁屏幕时输错密码的次数,并在输错次数过多时锁定手机或清空此用户的所有数据。"</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"更改锁屏密码"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"更改锁屏密码。"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"锁定屏幕"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"控制屏幕锁定的方式和时间。"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"清除所有数据"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"恢复出厂设置时,系统会在不发出警告的情况下清除平板电脑上的数据。"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"恢复出厂设置时,不发出警告就直接清除电视上的数据。"</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"恢复出厂设置时,系统会在不发出警告的情况下清除手机上的数据。"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"清空用户数据"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"清空此用户在这台平板电脑上的数据,而不事先发出警告。"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"清空此用户在这台电视上的数据,而不事先发出警告。"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"清空此用户在这部手机上的数据,而不事先发出警告。"</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"设置设备全局代理"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"请设置在启用规范的情况下要使用的设备全局代理。只有第一设备管理员才可设置有效的全局代理。"</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"设置锁定屏幕密码的有效期"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"控制系统强制用户更改屏幕锁定密码的频率。"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"设置在规范启用时要使用的设备全局代理。只有设备所有者才能设置全局代理。"</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"设置锁屏密码的有效期"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"调整系统强制用户更改锁屏密码、PIN 码或解锁图案的频率。"</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"设置存储设备加密"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"要求对存储的应用数据进行加密。"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"停用相机"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"禁止使用所有设备摄像头。"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"锁屏时禁用某些功能"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"锁屏时禁止使用某些功能。"</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"停用锁屏功能"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"禁止使用锁屏的部分功能。"</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"住宅"</item>
     <item msgid="869923650527136615">"手机"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"不启动新的应用。"</string>
     <string name="new_app_action" msgid="5472756926945440706">"启动<xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"停止旧的应用,但不保存。"</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"选择要对文字执行的操作"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"铃声音量"</string>
     <string name="volume_music" msgid="5421651157138628171">"媒体音量"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">1 秒后重试</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"稍后重试"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"从顶部向下滑动即可退出全屏模式。"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"正在全屏模式下查看"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"要退出,请从顶部向下滑动。"</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"知道了"</string>
     <string name="done_label" msgid="2093726099505892398">"完成"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"小时转盘"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"分钟转盘"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"工作<xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"要取消固定此屏幕,请同时触摸并按住“返回”和“概览”按钮。"</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"要取消固定此屏幕,请触摸并按住概览按钮。"</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"屏幕处于固定状态。您所属的单位不允许取消固定。"</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"已固定屏幕"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"已取消固定屏幕"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"取消时要求输入PIN码"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">1 小时</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"到<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"无限期"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"直到您将其关闭"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"收起"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"到下次闹钟时间(<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>)"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"到下次闹钟时间"</string>
diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml
index 453043a..2f6f3fe 100644
--- a/core/res/res/values-zh-rHK/strings.xml
+++ b/core/res/res/values-zh-rHK/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"允許應用程式使用近距離無線通訊 (NFC) 標記、卡片及讀取程式進行通訊。"</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"停用螢幕上鎖"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"允許應用程式停用按鍵鎖定以及其他相關的密碼安全措施。例如:手機收到來電時停用按鍵鎖定,通話結束後重新啟用按鍵鎖定。"</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"管理指紋硬件"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"允許應用程式調用加入和刪除指紋模板的方法以供使用。"</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"使用指紋硬件"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"允許應用程式使用指紋硬件驗證"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"讀取同步處理設定"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"允許應用程式讀取帳戶的同步設定,例如確定「通訊錄」應用程式是否和某個帳戶保持同步。"</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"開啟和關閉同步功能"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"允許應用程式擷取、檢查及清除通知 (包括由其他應用程式發佈的通知)。"</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"繫結至通知接聽器服務"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"允許應用程式繫結至通知接聽器服務的頂層介面 (不建議一般應用程式使用)。"</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"繫結至所選服務"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"允許應用程式繫結至所選服務的頂層介面 (一般應用程式並不需要)。"</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"繫結至條件供應商服務"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"允許應用程式繫結至條件供應商服務的頂層介面,但一般應用程式並不需要使用。"</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"繫結至媒體轉送服務"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"繫結至流動網絡供應商短訊服務"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"允許應用程式繫結至流動網絡供應商短訊服務的頂層介面 (不建議一般應用程式使用)。"</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"設定密碼規則"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"控制螢幕解鎖密碼所允許的長度和字元。"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"控制螢幕鎖定密碼和 PIN 所允許的長度和字元。"</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"監控螢幕解鎖嘗試次數"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"監視為螢幕解鎖時輸入錯誤密碼的次數;如果輸入錯誤密碼的次數過多,則會鎖定平板電腦或清除平板電腦的所有資料。"</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"監察螢幕解鎖時錯誤輸入密碼的次數,如果錯誤輸入密碼的次數過多,即鎖定電視或清除電視中的所有資料。"</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"監視為螢幕解鎖時輸入錯誤密碼的次數,如果輸入錯誤密碼的次數過多,則會鎖定手機或清除手機的所有資料。"</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"更改螢幕解鎖密碼"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"更改螢幕解鎖密碼。"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"監察螢幕解鎖時錯誤輸入密碼的次數,如果錯誤輸入密碼的次數過多,即鎖定平板電腦或清除這個使用者的資料。"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"監察螢幕解鎖時錯誤輸入密碼的次數,如果錯誤輸入密碼的次數過多,即鎖定電視或清除這個使用者的資料。"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"監察螢幕解鎖時錯誤輸入密碼的次數,如果錯誤輸入密碼的次數過多,即鎖定手機或清除這個使用者的資料。"</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"變更螢幕鎖定"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"變更螢幕鎖定。"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"鎖定螢幕"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"控制鎖定螢幕的方式和時間。"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"清除所有資料"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"重設平板電腦為原廠設定,在不提出警告的情況下直接清除平板電腦的資料。"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"重設電視為原廠設定,在不提出警告的情況下直接清除電視的資料。"</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"重設手機為原廠設定,在不提出警告的情況下直接清除手機的資料。"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"清除使用者資料"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"清除這個使用者在這部平板電腦上的資料而不作警告。"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"清除這個使用者在這部電視上的資料而不作警告。"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"清除這個使用者在這部手機上的資料而不作警告。"</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"設定裝置的全域代理伺服器"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"設定政策啟用時所要使用的裝置全域代理伺服器,只有第一個裝置管理員所設定的全域代理伺服器具有效力。"</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"設定螢幕上鎖密碼到期日"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"控制螢幕上鎖密碼的更改頻率。"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"設定政策啟用時所要使用的裝置全域代理伺服器,只有裝置擁有者可以設定全域代理伺服器。"</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"設定螢幕鎖定密碼期限"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"變更螢幕鎖定密碼、PIN 或圖案的更改頻率。"</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"設定儲存裝置加密"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"必須為儲存的應用程式資料加密。"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"停用相機"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"禁止使用所有裝置相機。"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"停用鍵盤保護框上的功能"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"禁止使用鍵盤保護框上的部分功能。"</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"停用螢幕鎖定的功能"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"禁止使用螢幕鎖定的部分功能。"</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"住宅"</item>
     <item msgid="869923650527136615">"手機"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"請勿啟動新的應用程式。"</string>
     <string name="new_app_action" msgid="5472756926945440706">"啟動 <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"停止舊的應用程式,且不儲存。"</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"選擇處理文字的操作"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"鈴聲音量"</string>
     <string name="volume_music" msgid="5421651157138628171">"媒體音量"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">1 秒後再試一次</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"稍後再試"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"由頂端往下快速滑動即可離開全螢幕。"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"開啟全螢幕"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"由上往下刷退出。"</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"知道了"</string>
     <string name="done_label" msgid="2093726099505892398">"完成"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"小時環形滑桿"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"分鐘環形滑桿"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"公司<xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"如要取消固定這個畫面,請同時輕觸並按住 [返回] 和 [概覽]。"</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"如要取消固定這個畫面,請輕觸並按住 [概覽]。"</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"螢幕已固定,而您的機構不允許取消固定。"</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"螢幕已固定"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"已取消固定螢幕"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"取消固定時必須輸入 PIN"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">需時 1 小時</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"完成時間:<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"無限期"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"直至您關閉這項設定"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"收合"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"直到下一個在 <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> 的鬧鐘"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"直到下一個鬧鐘"</string>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index b551b5f..35421ae 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"允許應用程式與近距離無線通訊 (NFC) 電子感應標籤、卡片及感應器進行通訊。"</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"停用螢幕鎖定"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"允許應用程式停用按鍵鎖定以及其他相關的密碼安全性功能。例如:手機收到來電時停用按鍵鎖定,通話結束後重新啟用按鍵鎖定。"</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"管理指紋硬體"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"允許應用程式呼叫方法來新增及移除可用的指紋範本"</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"使用指紋硬體"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"允許應用程式使用指紋硬體進行驗證"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"讀取同步處理設定"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"允許應用程式讀取帳戶的同步處理設定,例如判斷「使用者」應用程式是否和某個帳戶進行同步處理。"</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"開啟及關閉同步功能"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"允許應用程式擷取、檢查及清除通知 (包括由其他應用程式發佈的通知)。"</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"繫結至通知接聽器服務"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"允許應用程式繫結至通知接聽器服務的頂層介面 (一般應用程式不需使用)。"</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"與選擇器目標服務繫結"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"允許應用程式繫結至選擇器目標服務的頂層介面 (一般應用程式並不需要)。"</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"繫結至條件提供者服務"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"允許應用程式繫結至條件提供者服務的頂層介面 (一般應用程式並不需要)。"</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"繫結至媒體轉送服務"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"與行動通訊業者簡訊服務繫結"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"允許應用程式與行動通訊業者簡訊服務的頂層介面繫結 (一般應用程式並不需要)。"</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"設定密碼規則"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"控制螢幕解鎖密碼所允許的長度和字元。"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"管理螢幕鎖定密碼和 PIN 碼支援的字元和長度上限。"</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"監視螢幕解鎖嘗試次數"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"監控螢幕解鎖時密碼輸入錯誤的次數;如果密碼輸入錯誤的次數過多,則會鎖住平板電腦或全部清除平板電腦中的資料。"</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"螢幕鎖定時監測密碼輸入錯誤次數,並於密碼輸入錯誤次數過多時鎖定電視,或是將電視的資料全部清除。"</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"監控螢幕解鎖時密碼輸入錯誤的次數;如果密碼輸入錯誤的次數過多,則會鎖住手機或清除手機的所有資料。"</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"變更螢幕解鎖密碼"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"變更螢幕解鎖密碼。"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"監控螢幕解鎖密碼輸入錯誤的次數;如果輸入錯誤的次數超過上限,系統會將平板電腦鎖定,或將這個使用者的資料全部清除。"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"監控螢幕解鎖密碼輸入錯誤的次數;如果輸入錯誤的次數超過上限,系統會將電視鎖定,或將這個使用者的資料全部清除。"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"監控螢幕解鎖密碼輸入錯誤的次數;如果輸入錯誤的次數超過上限,系統會將手機鎖定,或將這個使用者的資料全部清除。"</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"變更螢幕鎖定密碼"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"變更螢幕鎖定密碼。"</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"鎖定螢幕"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"控制鎖定螢幕的方式和時間。"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"清除所有資料"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"恢復原廠設定,不提出警告就直接清除平板電腦的資料。"</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"不經警告即讓電視恢復原廠設定,藉此清除電視的資料。"</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"恢復原廠設定,不提出警告就直接清除手機的資料。"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"清除使用者資料"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"將這個使用者的資料從這台平板電腦中清除,而不事先發出警告。"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"將這個使用者的資料從這台電視中清除,而不事先發出警告。"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"將這個使用者的資料從這支手機中清除,而不事先發出警告。"</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"設定裝置全域 Proxy"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"設定政策啟用時所要使用的裝置全域 Proxy,只有第一個裝置管理員所設定的全域 Proxy 具有效力。"</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"設定螢幕上鎖密碼到期日"</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"控制螢幕上鎖密碼的變更頻率。"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"設定政策啟用時要使用的裝置全域 Proxy。只有裝置擁有者可以設定全域 Proxy。"</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"設定螢幕鎖定密碼到期日"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"調整螢幕鎖定密碼、PIN 碼或解鎖圖形的強制變更頻率。"</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"設定儲存裝置加密"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"必須為儲存的應用程式資料進行加密。"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"停用相機"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"禁止使用所有裝置相機。"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"停用鍵盤保護框上的功能"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"禁止使用鍵盤保護框上的部分功能。"</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"停用螢幕鎖定的功能。"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"禁止使用螢幕鎖定的部分功能。"</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"住家電話"</item>
     <item msgid="869923650527136615">"行動電話"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"請勿啟動新的應用程式。"</string>
     <string name="new_app_action" msgid="5472756926945440706">"啟動 <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"停止舊的應用程式且不儲存。"</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"選取傳送文字內容的方式"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"鈴聲音量"</string>
     <string name="volume_music" msgid="5421651157138628171">"媒體音量"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="one">請於 1 秒後再試一次</item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"稍後再試"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"從頂端往下滑動即可退出全螢幕模式。"</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"以全螢幕檢視"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"如要退出,請從畫面頂端向下滑動。"</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"知道了"</string>
     <string name="done_label" msgid="2093726099505892398">"完成"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"小時數環狀滑桿"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"分鐘數環狀滑桿"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"公司<xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"如要取消固定這個畫面,請同時輕觸並按住返回按鈕和總覽按鈕。"</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"如要取消固定這個畫面,請輕觸並按住總覽按鈕。"</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"螢幕已固定,且貴機構不允許取消固定。"</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"已固定螢幕"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"已取消固定螢幕"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"取消固定時必須輸入 PIN"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="one">持續 1 小時</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"結束時間:<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"無限期"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"手動關閉這項設定前一律啟用"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"收合"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"直到下次鬧鐘鈴響:<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"直到下次鬧鐘鈴響"</string>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index ea19554..98b9e73d 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -738,6 +738,10 @@
     <string name="permdesc_nfc" msgid="7120611819401789907">"Ivuela uhlelo lokusebenza ukuthi ixhumane ne-Near Field Communication (NFC) amathegi, amakhadi kanye nezinhlelo zokufunda."</string>
     <string name="permlab_disableKeyguard" msgid="3598496301486439258">"khubaza ukukhiya kwakho iskrini"</string>
     <string name="permdesc_disableKeyguard" msgid="6034203065077122992">"Ivumela uhlelo lokusebenza ukukhubaza ukuvala ukhiye nanoma yikuphi ukuphepha kwephasiwedi okuhlobene. Isibonelo, ifoni ikhubaza ukuvala ukhiye lapho ithola ikholi yefoni engenayo, bese inike amandla kabusha ukuvala ukhiye lapho ikholi isiqedile."</string>
+    <string name="permlab_manageFingerprint" msgid="5640858826254575638">"phatha izingxenyekazi zekhompyutha zezigxivizo zeminwe"</string>
+    <string name="permdesc_manageFingerprint" msgid="178208705828055464">"Ivumela uhlelo lokusebenza ukuthi libuyisele izindlela zokungeza nokususa izifanekiso zezigxivizo zeminwe ngokusetshenziswa."</string>
+    <string name="permlab_useFingerprint" msgid="3150478619915124905">"sebenzisa izingxenyekazi zekhompyutha zezigxivizo zeminwe"</string>
+    <string name="permdesc_useFingerprint" msgid="9165097460730684114">"Ivumela uhlelo lokusebenza ukuthi lusebenzise izingxenyekazi zekhompyutha zezigxivizo zeminwe ukuze kuqinisekiswe"</string>
     <string name="permlab_readSyncSettings" msgid="6201810008230503052">"funda izilungiselelo zokuvumelanisa"</string>
     <string name="permdesc_readSyncSettings" msgid="2706745674569678644">"Ivumela uhlelo lokusebenza ukufunda izilungiselelo zokuvumelanisa ze-akhawunti. Isibonelo, lokhu kungacacisa ukuthi noma ngabe uhlelo lokusebenza le-People livumelanisiwe ne-akhawunti."</string>
     <string name="permlab_writeSyncSettings" msgid="5408694875793945314">"shintsha phakathi kokuvula kanye nokucisha ukuvumelanisa"</string>
@@ -792,6 +796,8 @@
     <string name="permdesc_accessNotifications" msgid="458457742683431387">"Ivumela uhlelo lokusebenza ukuthi lithole, lihlole, liphinde lisuse izaziso, ezifaka lezo ezithunyelwe ezinye izinhlelo zokusebenza."</string>
     <string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"bophezela kwisevisi yomlaleli wesaziso"</string>
     <string name="permdesc_bindNotificationListenerService" msgid="985697918576902986">"Ivumela umbambi ukubophezela kwisixhumi esibonakalayo sezinga eliphezulu lesevisi yomlaleli wesaziso. Akusoze kwadingeka kwizinhlelo zokusebenza ezivamile."</string>
+    <string name="permlab_bindChooserTargetService" msgid="3443261076710185673">"bophezela isevisi eqondisiwe yesikhethi"</string>
+    <string name="permdesc_bindChooserTargetService" msgid="1413908999583734970">"Ivumela umbambi ukuthi ahlanganise kuleveli ephezulu yesevisi yesikhethi. Akudingeki kuzinhlelo zokusebenza ezimvamile."</string>
     <string name="permlab_bindConditionProviderService" msgid="1180107672332704641">"hlanganisa kwisevisi yomhlinzeki wesimo"</string>
     <string name="permdesc_bindConditionProviderService" msgid="1680513931165058425">"Ivumela umbambi ukuhlanganisa isixhumi esibonakalayo seleveli ephezulu sesevisi yomhlinzeki wesimo. Akufanele kudingekele izinhlelo zokusebenza ezivamile."</string>
     <string name="permlab_bindMediaRouteService" msgid="6637740382272686835">"hlanganisela kusevisi yomzila yemidiya"</string>
@@ -813,29 +819,36 @@
     <string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"bophezela kusevisi yomlayezo yenkampani yenethiwekhi"</string>
     <string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"Ivumela isibambi ukuhlanganisa isixhumanisi sokubona esiphezulu sesevisi yomlayezo yenkampani yenethiwekhi. Akufanele idingeke kuzinhlelo zokusebenza ezivamile."</string>
     <string name="policylab_limitPassword" msgid="4497420728857585791">"Misa imithetho yephasiwedi"</string>
-    <string name="policydesc_limitPassword" msgid="3252114203919510394">"Lawula ubude nezinhlamvu ezivunyelwe kumaphasiwedi okuvula isikrini"</string>
+    <string name="policydesc_limitPassword" msgid="2502021457917874968">"Lawula ubude nezinhlamvu ezivunyelwe kumaphasiwedi wokukhiya isikrini nama-PIN."</string>
     <string name="policylab_watchLogin" msgid="914130646942199503">"Gaka imizamo yokuvula isikrini"</string>
     <string name="policydesc_watchLogin" product="tablet" msgid="3215729294215070072">"Bheka inani lamaphasiwedi angafanele athayishiwe uma kuvulwa iskrini bese kuvalwa ithebhulethi noma kususwe yonke idatha yethebhulethi uma kubhalwe amaphasiwedi amaningi angalungile."</string>
     <string name="policydesc_watchLogin" product="TV" msgid="2707817988309890256">"Qaphela inombolo yamaphasiwedi angalungile athayiphiwe uma kuvulwa isikrini, uphinde ukhiye isikrini noma usule yonke idatha ye-TV uma ngabe kuthayiphwa amaphasiwedi amaningi angalungile."</string>
     <string name="policydesc_watchLogin" product="default" msgid="5712323091846761073">"Bheka isibalo samaphasiwedi ngalungile afakiwe uma uvula iskrini bese uvala ucingo noma ususe yonke imininingwane yocingo uma kubhalwe amaphasiwedi amaningi angalungile."</string>
-    <string name="policylab_resetPassword" msgid="2620077191242688955">"Shintsha iphasiwedi yokuvula isikrini"</string>
-    <string name="policydesc_resetPassword" msgid="605963962301904458">"Shintsha iphasiwedi yokuvula isikrini"</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="4280246270601044505">"Qaphela inombolo yamaphasiwedi angalungile athayiphwe uma kuvulwa isikrini, uphinde ukhiye ithebulethi noma usule yonke idatha yalo msebenzisi uma ngabe kuthayiphwe amaphasiwedi amaningi kakhulu angalungile."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="TV" msgid="3484832653564483250">"Qaphela inombolo yamaphasiwedi angalungile athayiphiwe uma kuvulwa isikrini, uphinde ukhiphe i-TV noma usule yonke idatha yalo msebenzisi uma ngabe kuthayiphwe amaphasiwedi amaningi kakhulu angalungile."</string>
+    <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="2185480427217127147">"Qaphela inombolo yamaphasiwedi angalungile athayiphiwe uma kuvulwa isikrini, uphinde ukhiye ifoni noma usule yonke idatha yalo msebenzisi uma ngabe kuthayiphwe amaphasiwedi amaningi kakhulu angalungile."</string>
+    <string name="policylab_resetPassword" msgid="4934707632423915395">"Guqula ukukhiya isikrini"</string>
+    <string name="policydesc_resetPassword" msgid="1278323891710619128">"Guqula ukukhiya isikrini."</string>
     <string name="policylab_forceLock" msgid="2274085384704248431">"Vala isikrini"</string>
     <string name="policydesc_forceLock" msgid="1141797588403827138">"Lawula ukuthi isikrini sivala kanjani futhi nini"</string>
     <string name="policylab_wipeData" msgid="3910545446758639713">"Sula yonke idatha"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="4306184096067756876">"Sula idatha yethebhulethi ngaphandle kwesaziso, ngokwenza ukusetha kabusha kwemboni."</string>
     <string name="policydesc_wipeData" product="tv" msgid="5816221315214527028">"Sula idatha ye-TV ngaphandle kokuxwayisa ngokwenza ukusetha kabusha kwasekuqaleni kwedatha."</string>
     <string name="policydesc_wipeData" product="default" msgid="5096895604574188391">"Sula idatha yefoni ngaphandle kwesixwayiso, ngokwenza ukuhlela kabusha idatha yemboni"</string>
+    <string name="policylab_wipeData_secondaryUser" msgid="8362863289455531813">"Sula idatha yomsebenzisi"</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="6336255514635308054">"Sula idatha yalo msebenzisi kule thebulethi ngaphandle kwesexwayiso."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2086473496848351810">"Sula idatha yalo msebenzisi kule TV ngaphandle kwesexwayiso."</string>
+    <string name="policydesc_wipeData_secondaryUser" product="default" msgid="6787904546711590238">"Sula idatha yalo msebenzisi kule foni ngaphandle kwesexwayiso."</string>
     <string name="policylab_setGlobalProxy" msgid="2784828293747791446">"Misa ummelelii jikelele yedivaysi"</string>
-    <string name="policydesc_setGlobalProxy" msgid="6387497466660154931">"Misa iphrokzi jikelele yedivaysi ukusebenzisa ngenkathi inqumbomgomo ivunyelwa. Idivaysi yokuqala kuphela yokuphatha emisa ummeleli jikelele esebenzayo."</string>
-    <string name="policylab_expirePassword" msgid="885279151847254056">"Hlela ukuphelelwa isikhathi sokuvala-isikrini."</string>
-    <string name="policydesc_expirePassword" msgid="1729725226314691591">"Lawula ukuthi iphasiwedi yokuvala isikrini ishintshwa kangaki"</string>
+    <string name="policydesc_setGlobalProxy" msgid="8459859731153370499">"Setha ummeleli womhlaba wonke wedivayisi ozosetshenziswa ngenkathi inqubomgomo inikwe amandla. Ngumnikazi wedivayisi kuphela ongasetha ummeleli womhlaba wonke."</string>
+    <string name="policylab_expirePassword" msgid="5610055012328825874">"Setha ukuphelelwa yisikhathi kwephasiwedi yokukhiya isikrini"</string>
+    <string name="policydesc_expirePassword" msgid="5367525762204416046">"Guqula ukuthi kumele iphasiwedi yokukhiya isikrini, i-PIN, noma iphethini kumele iguqulwe ngokuvame kangakanani."</string>
     <string name="policylab_encryptedStorage" msgid="8901326199909132915">"Setha umbhalo wemfihlo yesitoreji"</string>
     <string name="policydesc_encryptedStorage" msgid="2637732115325316992">"Idinga ukuthi idatha yohlelo lokusebenza olugciniwe ibethelwe"</string>
     <string name="policylab_disableCamera" msgid="6395301023152297826">"Khubaza amakhamera"</string>
     <string name="policydesc_disableCamera" msgid="2306349042834754597">"Vimbela ukusetshenziswa kwamadivaysi wonke wamakhamera"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="266329104542638802">"Khubaza izici kokhiye abagadile"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="3467082272186534614">"Vikela ukusebenza kwezinye izici kokhiye abagadile."</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="3565888260412415862">"Khubaza izici zokukhiya isikrini"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="3980868516629887575">"Vimbela ukusetshenziswa kwezinye izici zokukhiywa kwesikrini."</string>
   <string-array name="phoneTypes">
     <item msgid="8901098336658710359">"Ekhaya"</item>
     <item msgid="869923650527136615">"Iselula"</item>
@@ -1252,6 +1265,14 @@
     <string name="old_app_description" msgid="2082094275580358049">"Ungayiqali uhlelo lokusebenza entsha."</string>
     <string name="new_app_action" msgid="5472756926945440706">"Qala <xliff:g id="OLD_APP">%1$s</xliff:g>"</string>
     <string name="new_app_description" msgid="1932143598371537340">"Misa uhlelo lokusebenza endala ngaphandle kokulondoloza."</string>
+    <!-- no translation found for dump_heap_notification (2618183274836056542) -->
+    <skip />
+    <!-- no translation found for dump_heap_notification_detail (2075673362317481664) -->
+    <skip />
+    <!-- no translation found for dump_heap_title (5864292264307651673) -->
+    <skip />
+    <!-- no translation found for dump_heap_text (4809417337240334941) -->
+    <skip />
     <string name="sendText" msgid="5209874571959469142">"Khetha okufanele kwenziwe okomqhafazo"</string>
     <string name="volume_ringtone" msgid="6885421406845734650">"Ivolumu yesishayeli"</string>
     <string name="volume_music" msgid="5421651157138628171">"Ivolumu yemidiya"</string>
@@ -1765,7 +1786,9 @@
       <item quantity="other">Zama futhi kumasekhondi angu-<xliff:g id="COUNT">%d</xliff:g></item>
     </plurals>
     <string name="restr_pin_try_later" msgid="973144472490532377">"Zama futhi emva kwesikhathi"</string>
-    <string name="immersive_mode_confirmation" msgid="7227416894979047467">"Swayiphela phansi kusukela phezulu ukuze uphume kusikrini esigcwele."</string>
+    <string name="immersive_cling_title" msgid="8394201622932303336">"Ukubuka isikrini esigcwele"</string>
+    <string name="immersive_cling_description" msgid="3482371193207536040">"Ukuze uphume, swayiphela phansi kusuka phezulu."</string>
+    <string name="immersive_cling_positive" msgid="5016839404568297683">"Ngiyitholile"</string>
     <string name="done_label" msgid="2093726099505892398">"Kwenziwe"</string>
     <string name="hour_picker_description" msgid="6698199186859736512">"Amahora weslayidi esiyindingilizi"</string>
     <string name="minute_picker_description" msgid="8606010966873791190">"Amaminithi weslayidi esiyindingilizi"</string>
@@ -1780,7 +1803,8 @@
     <string name="managed_profile_label_badge" msgid="2355652472854327647">"Umsebenzi <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="lock_to_app_toast" msgid="7570091317001980053">"Ukuze ususe ukuphina kulesi sikrini, thinta uphinde ubambe i-Emuva ne-Buka konke ngesikhathi esisodwa."</string>
     <string name="lock_to_app_toast_accessible" msgid="8239120109365070664">"Ukuze ususe ukuphina lesi sikrini, thinta uphinde ubambe Buka konke."</string>
-    <string name="lock_to_app_toast_locked" msgid="8739004135132606329">"Isikrini siphiniwe. Ukususa ukuphina akuvumelekile inhlangano yakho."</string>
+    <!-- no translation found for lock_to_app_toast_locked (9125176335701699164) -->
+    <skip />
     <string name="lock_to_app_start" msgid="6643342070839862795">"Isikrini siphiniwe"</string>
     <string name="lock_to_app_exit" msgid="8598219838213787430">"Isikrini sisuswe ukuphina"</string>
     <string name="lock_to_app_unlock_pin" msgid="2552556656504331634">"Cela iphinikhodi ngaphambi kokuphina"</string>
@@ -1806,7 +1830,7 @@
       <item quantity="other">Amahora angu-%d</item>
     </plurals>
     <string name="zen_mode_until" msgid="7336308492289875088">"Kuze kube ngu-<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
-    <string name="zen_mode_forever" msgid="4316804956488785559">"Unaphakade"</string>
+    <string name="zen_mode_forever" msgid="7420011936770086993">"Uze uvale lokhu"</string>
     <string name="toolbar_collapse_description" msgid="2821479483960330739">"Goqa"</string>
     <string name="zen_mode_next_alarm_summary" msgid="5915140424683747372">"Kuze kube yi-alamu elandelayo ngo-<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_next_alarm_line_one" msgid="5537042951553420916">"Kuze kube yi-alamu elandelayo"</string>
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index 09103e3..15797dd 100644
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -31,8 +31,10 @@
         <attr name="colorForeground" format="color" />
         <!-- Default color of foreground imagery on an inverted background. -->
         <attr name="colorForegroundInverse" format="color" />
-        <!-- Color that matches (as closely as possible) the window background. -->
+        <!-- Default color of background imagery, ex. full-screen windows. -->
         <attr name="colorBackground" format="color" />
+        <!-- Default color of background imagery for floating components, ex. dialogs, popups, and cards. -->
+        <attr name="colorBackgroundFloating" format="color" />
         <!-- This is a hint for a solid color that can be used for caching
              rendered views.  This should be the color of the background when
              there is a solid background color; it should be null when the
@@ -4215,6 +4217,8 @@
             <enum name="marquee_forever" value="-1" />
         </attr>
         <attr name="inputType" />
+        <!-- Whether undo should be allowed for editable text. Defaults to true. -->
+        <attr name="allowUndo" format="boolean" />
         <attr name="imeOptions" />
         <!-- An addition content type description to supply to the input
              method attached to the text view, which is private to the
@@ -4471,10 +4475,6 @@
         <attr name="headerYearTextAppearance" format="reference" />
         <!-- The background for the date selector. -->
         <attr name="headerBackground" />
-        <!-- @hide The selected text color for the date selector. Used as a
-             backup if the text appearance does not explicitly have a color
-             set for the selected state. -->
-        <attr name="headerSelectedTextColor" />
         <!-- The list year's text appearance in the list. -->
         <attr name="yearListItemTextAppearance" format="reference" />
         <!-- The list year's selected circle color in the list. -->
@@ -4774,10 +4774,6 @@
         <attr name="headerAmPmTextAppearance" format="reference" />
         <!-- The text appearance for the time header. -->
         <attr name="headerTimeTextAppearance" format="reference" />
-        <!-- @hide The text color for selected time header of the TimePicker.
-             This will override the value from the text appearance if it does
-             not explicitly have a color set for the selected state. -->
-        <attr name="headerSelectedTextColor" format="color" />
         <!-- The background for the header containing the currently selected time. -->
         <attr name="headerBackground" />
         <!-- The color for the hours/minutes numbers. -->
@@ -4790,10 +4786,6 @@
         <attr name="amPmTextColor" format="color" />
         <!-- The background color state list for the AM/PM selectors. -->
         <attr name="amPmBackgroundColor" format="color" />
-        <!-- @hide The background color for the AM/PM selectors of the
-             TimePicker when selected. Used if the background color does not
-             explicitly have a color set for the selected state. -->
-        <attr name="amPmSelectedBackgroundColor" format="color" />
         <!-- The color for the hours/minutes selector. -->
         <attr name="numbersSelectorColor" format="color" />
         <!-- Defines the look of the widget. Prior to the L release, the only choice was
@@ -6459,6 +6451,33 @@
              for more info. -->
         <attr name="actionProviderClass" format="string" />
 
+        <!-- An optional tint for the item's icon.
+             See {@link android.view.MenuItem#setIconTintList(android.content.res.ColorStateList)}
+             for more info. -->
+        <attr name="iconTint" format="color" />
+
+        <!-- The blending mode used for tinting the item's icon
+             See {@link android.view.MenuItem#setIconTintMode(android.graphics.PorterDuff.Mode)}
+             for more info. -->
+        <attr name="iconTintMode">
+            <!-- The tint is drawn on top of the drawable.
+                 [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] -->
+            <enum name="src_over" value="3" />
+            <!-- The tint is masked by the alpha channel of the drawable. The drawable’s
+                 color channels are thrown out. [Sa * Da, Sc * Da] -->
+            <enum name="src_in" value="5" />
+            <!-- The tint is drawn above the drawable, but with the drawable’s alpha
+                 channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc] -->
+            <enum name="src_atop" value="9" />
+            <!-- Multiplies the color and alpha channels of the drawable with those of
+                 the tint. [Sa * Da, Sc * Dc] -->
+            <enum name="multiply" value="14" />
+            <!-- [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] -->
+            <enum name="screen" value="15" />
+            <!-- Combines the tint and drawable color and alpha channels, clamping the
+                 result to valid color values. Saturate(S + D) -->
+            <enum name="add" value="16" />
+        </attr>
     </declare-styleable>
 
     <!-- Attrbitutes for a ActvityChooserView. -->
@@ -7562,6 +7581,52 @@
         <!-- Text to set as the content description for the navigation button
              located at the start of the toolbar. -->
         <attr name="navigationContentDescription" format="string" />
+
+        <!-- Tint used for the navigation button -->
+        <attr name="navigationTint" format="color" />
+        <!-- The blending mode used for tinting the navigation button -->
+        <attr name="navigationTintMode">
+            <!-- The tint is drawn on top of the drawable.
+                 [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] -->
+            <enum name="src_over" value="3" />
+            <!-- The tint is masked by the alpha channel of the drawable. The drawable’s
+                 color channels are thrown out. [Sa * Da, Sc * Da] -->
+            <enum name="src_in" value="5" />
+            <!-- The tint is drawn above the drawable, but with the drawable’s alpha
+                 channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc] -->
+            <enum name="src_atop" value="9" />
+            <!-- Multiplies the color and alpha channels of the drawable with those of
+                 the tint. [Sa * Da, Sc * Dc] -->
+            <enum name="multiply" value="14" />
+            <!-- [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] -->
+            <enum name="screen" value="15" />
+            <!-- Combines the tint and drawable color and alpha channels, clamping the
+                 result to valid color values. Saturate(S + D). Only works on APIv 11+ -->
+            <enum name="add" value="16" />
+        </attr>
+
+        <!-- Tint used for the overflow button -->
+        <attr name="overflowTint" format="color" />
+        <!-- The blending mode used for tinting the overflow button -->
+        <attr name="overflowTintMode">
+            <!-- The tint is drawn on top of the drawable.
+                 [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] -->
+            <enum name="src_over" value="3" />
+            <!-- The tint is masked by the alpha channel of the drawable. The drawable’s
+                 color channels are thrown out. [Sa * Da, Sc * Da] -->
+            <enum name="src_in" value="5" />
+            <!-- The tint is drawn above the drawable, but with the drawable’s alpha
+                 channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc] -->
+            <enum name="src_atop" value="9" />
+            <!-- Multiplies the color and alpha channels of the drawable with those of
+                 the tint. [Sa * Da, Sc * Dc] -->
+            <enum name="multiply" value="14" />
+            <!-- [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] -->
+            <enum name="screen" value="15" />
+            <!-- Combines the tint and drawable color and alpha channels, clamping the
+                 result to valid color values. Saturate(S + D). Only works on APIv 11+ -->
+            <enum name="add" value="16" />
+        </attr>
     </declare-styleable>
 
     <declare-styleable name="Toolbar_LayoutParams">
diff --git a/core/res/res/values/colors_holo.xml b/core/res/res/values/colors_holo.xml
index eab1e3f..c29fec6 100644
--- a/core/res/res/values/colors_holo.xml
+++ b/core/res/res/values/colors_holo.xml
@@ -103,46 +103,4 @@
     <color name="group_button_dialog_pressed_holo_light">#ffffffff</color>
     <color name="group_button_dialog_focused_holo_light">#4699cc00</color>
 
-    <!-- Time picker -->
-    <eat-comment />
-
-    <color name="timepicker_default_background_holo_light">@color/white</color>
-    <color name="timepicker_default_background_holo_dark">#ff303030</color>
-
-    <color name="timepicker_default_text_color_holo_light">#8c8c8c</color>
-    <color name="timepicker_default_text_color_holo_dark">@color/white</color>
-
-    <color name="timepicker_default_ampm_selected_background_color_holo_light">@color/holo_blue_light</color>
-    <color name="timepicker_default_ampm_selected_background_color_holo_dark">@color/holo_blue_light</color>
-
-    <color name="timepicker_default_ampm_unselected_background_color_holo_light">@color/white</color>
-    <color name="timepicker_default_ampm_unselected_background_color_holo_dark">@color/transparent</color>
-
-    <!-- DatePicker colors -->
-    <eat-comment />
-
-    <color name="datepicker_default_header_selector_background_holo_light">@android:color/white</color>
-    <color name="datepicker_default_header_selector_background_holo_dark">#ff303030</color>
-
-    <color name="datepicker_default_header_dayofweek_background_color_holo_light">#999999</color>
-    <color name="datepicker_default_header_dayofweek_background_color_holo_dark">@android:color/white</color>
-
-    <color name="datepicker_default_normal_text_color_holo_light">#ff999999</color>
-    <color name="datepicker_default_normal_text_color_holo_dark">@android:color/white</color>
-
-    <color name="datepicker_default_disabled_text_color_holo_light">#80999999</color>
-    <color name="datepicker_default_disabled_text_color_holo_dark">#80999999</color>
-
-    <color name="datepicker_default_selected_text_color_holo_light">#33b5e5</color>
-    <color name="datepicker_default_selected_text_color_holo_dark">#33b5e5</color>
-
-    <color name="datepicker_default_pressed_text_color_holo_light">#0099cc</color>
-    <color name="datepicker_default_pressed_text_color_holo_dark">#0099cc</color>
-
-    <color name="datepicker_default_circle_background_color_holo_light">@android:color/holo_blue_light</color>
-    <color name="datepicker_default_circle_background_color_holo_dark">@android:color/holo_blue_light</color>
-
-    <color name="datepicker_default_view_animator_color_holo_light">#f2f2f2</color>
-    <color name="datepicker_default_view_animator_color_holo_dark">#ff303030</color>
-
 </resources>
diff --git a/core/res/res/values/colors_material.xml b/core/res/res/values/colors_material.xml
index 93f58cba..da68c92 100644
--- a/core/res/res/values/colors_material.xml
+++ b/core/res/res/values/colors_material.xml
@@ -17,21 +17,16 @@
 <!-- Colors specific to Material themes. -->
 <resources>
     <color name="background_material_dark">#ff303030</color>
-    <color name="background_material_light">#ffeeeeee</color>
+    <color name="background_material_light">#fffafafa</color>
     <color name="background_floating_material_dark">#ff424242</color>
-    <color name="background_floating_material_light">#ffeeeeee</color>
+    <color name="background_floating_material_light">#ffffffff</color>
 
     <color name="primary_material_dark">#ff212121</color>
-    <color name="primary_material_light">#ffefefef</color>
+    <color name="primary_material_light">#fff5f5f5</color>
     <color name="primary_dark_material_dark">#ff000000</color>
     <color name="primary_dark_material_light">#ff757575</color>
     <color name="primary_dark_material_light_light_status_bar">#ffe0e0e0</color>
 
-    <!-- 26% white (foreground) -->
-    <color name="ripple_material_dark">#42ffffff</color>
-    <!-- 12% black (foreground) -->
-    <color name="ripple_material_light">#1f000000</color>
-
     <color name="accent_material_light">@color/material_deep_teal_500</color>
     <color name="accent_material_dark">@color/material_deep_teal_200</color>
 
@@ -43,22 +38,8 @@
     <color name="switch_thumb_disabled_material_dark">#ff616161</color>
     <color name="switch_thumb_disabled_material_light">#ffbdbdbd</color>
 
-    <color name="bright_foreground_material_dark">@color/white</color>
-    <color name="bright_foreground_material_light">@color/black</color>
-    <!-- 50% white (foreground) -->
-    <color name="bright_foreground_disabled_material_dark">#80ffffff</color>
-    <!-- 50% black (foreground) -->
-    <color name="bright_foreground_disabled_material_light">#80000000</color>
-    <color name="bright_foreground_inverse_material_dark">@color/bright_foreground_material_light</color>
-    <color name="bright_foreground_inverse_material_light">@color/bright_foreground_material_dark</color>
-
-    <color name="dim_foreground_material_dark">#ffbebebe</color>
-    <color name="dim_foreground_material_light">#ff323232</color>
-    <color name="dim_foreground_disabled_material_dark">#80bebebe</color>
-    <color name="dim_foreground_disabled_material_light">#80323232</color>
-
-    <color name="hint_foreground_material_dark">@color/bright_foreground_disabled_material_dark</color>
-    <color name="hint_foreground_material_light">@color/bright_foreground_disabled_material_light</color>
+    <color name="foreground_material_dark">@color/white</color>
+    <color name="foreground_material_light">@color/black</color>
 
     <color name="link_text_material_dark">@color/material_deep_teal_200</color>
     <color name="link_text_material_light">@color/material_deep_teal_500</color>
@@ -72,6 +53,9 @@
     <color name="primary_text_default_material_dark">#ffffffff</color>
     <color name="secondary_text_default_material_dark">#b3ffffff</color>
 
+    <item name="hint_alpha_material_dark" format="float" type="dimen">0.50</item>
+    <item name="hint_alpha_material_light" format="float" type="dimen">0.54</item>
+
     <item name="disabled_alpha_material_light" format="float" type="dimen">0.26</item>
     <item name="disabled_alpha_material_dark" format="float" type="dimen">0.30</item>
 
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index fd8b803..a781786 100755
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -64,26 +64,11 @@
          As of Honeycomb, blurring is not supported anymore. -->
     <bool name="config_sf_slowBlur">true</bool>
 
-    <!-- Flag indicating that the media framework should allow changing
-         master volume stream and nothing else . -->
-    <bool name="config_useMasterVolume">false</bool>
-
     <!-- Flag indicating that the media framework should support playing of sounds on volume
          key usage.  This adds noticeable additional overhead to volume key processing, so
          is disableable for products for which it is irrelevant. -->
     <bool name="config_useVolumeKeySounds">true</bool>
 
-    <!-- Array of integer pairs controlling the rate at which the master volume changes
-         in response to volume up and down key events.
-         The first integer of each pair is compared against the current master volume
-         (in range 0 to 100).
-         The last pair with first integer <= the current volume is chosen,
-         and the second integer of the pair indicates the amount to increase the master volume
-         when volume up is pressed. -->
-    <integer-array name="config_masterVolumeRamp">
-        <item>0</item>  <item>5</item>  <!-- default: always increase volume by 5% -->
-    </integer-array>
-
     <!-- The attenuation in dB applied to the sound effects played
          through AudioManager.playSoundEffect() when no volume is specified. -->
     <integer name="config_soundEffectVolumeDb">-6</integer>
@@ -530,6 +515,8 @@
     <bool name="config_allowTheaterModeWakeFromWindowLayout">false</bool>
     <!-- If this is true, go to sleep when theater mode is enabled from button press -->
     <bool name="config_goToSleepOnButtonPressTheaterMode">true</bool>
+    <!-- If this is true, long press on power button will be available from the non-interactive state -->
+    <bool name="config_supportLongPressPowerWhenNonInteractive">false</bool>
 
     <!-- Auto-rotation behavior -->
 
@@ -1447,7 +1434,7 @@
 
          Note that doze dreams are not subject to the same start conditions as ordinary dreams.
          Doze dreams will run whenever the power manager is in a dozing state. -->
-    <string name="config_dozeComponent"></string>
+    <string name="config_dozeComponent" translatable="false"></string>
 
     <!-- If true, the doze component is not started until after the screen has been
          turned off and the screen off animation has been performed. -->
@@ -1927,6 +1914,14 @@
          provisioning, availability etc -->
     <bool name="config_carrier_vt_available">false</bool>
 
+    <!-- Flag specifying whether WFC over IMS is available on device -->
+    <bool name="config_device_wfc_ims_available">false</bool>
+
+    <!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
+         carrier provisioning. If false: hard disabled. If true: then depends on carrier
+         provisioning, availability etc -->
+    <bool name="config_carrier_wfc_ims_available">false</bool>
+
     <bool name="config_networkSamplingWakesDevice">true</bool>
 
     <string-array translatable="false" name="config_cdma_home_system" />
@@ -2093,4 +2088,7 @@
 
     <!-- Specifies the maximum burn-in offset vertically. -->
     <integer name="config_burnInProtectionMaxVerticalOffset">0</integer>
+
+    <!-- Keyguard component -->
+    <string name="config_keyguardComponent" translatable="false">com.android.systemui/com.android.systemui.keyguard.KeyguardService</string>
 </resources>
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index d240047..6c6d2cc 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -356,44 +356,6 @@
     <!-- Outline width for video subtitles. -->
     <dimen name="subtitle_outline_width">2dp</dimen>
 
-    <!-- New TimePicker dimensions. -->
-    <dimen name="timepicker_selector_radius">24dp</dimen>
-    <dimen name="timepicker_center_dot_radius">4dp</dimen>
-    <dimen name="timepicker_selector_dot_radius">4dp</dimen>
-    <dimen name="timepicker_text_inset_normal">26dp</dimen>
-    <dimen name="timepicker_text_inset_inner">58dp</dimen>
-    <dimen name="timepicker_text_size_normal">14sp</dimen>
-    <dimen name="timepicker_text_size_inner">12sp</dimen>
-
-    <!-- Text size for the time picker header HH:MM label. This value is large
-         enough that we don't need to use scaled pixels, dp is fine. -->
-    <dimen name="timepicker_time_label_size">60dp</dimen>
-    <dimen name="timepicker_ampm_label_size">16sp</dimen>
-    <dimen name="timepicker_ampm_horizontal_padding">12dp</dimen>
-    <dimen name="timepicker_ampm_vertical_padding">16dp</dimen>
-    <dimen name="timepicker_pm_top_padding">3dp</dimen>
-    <dimen name="timepicker_separator_padding">4dp</dimen>
-    <dimen name="timepicker_header_height">96dp</dimen>
-    <dimen name="timepicker_radial_picker_dimen">270dp</dimen>
-
-    <!-- Used by SimpleMonthView -->
-    <dimen name="datepicker_day_number_size">12sp</dimen>
-    <dimen name="datepicker_month_label_size">14sp</dimen>
-    <dimen name="datepicker_month_day_label_text_size">12sp</dimen>
-    <dimen name="datepicker_month_list_item_header_height">48dp</dimen>
-    <dimen name="datepicker_view_animator_height">226dp</dimen>
-
-    <dimen name="datepicker_year_picker_padding_top">8dp</dimen>
-    <dimen name="datepicker_year_label_height">64dp</dimen>
-    <dimen name="datepicker_year_label_text_size">22dp</dimen>
-    <dimen name="datepicker_component_width">260dp</dimen>
-    <dimen name="datepicker_dialog_width">520dp</dimen>
-    <dimen name="datepicker_selected_date_day_size">88dp</dimen>
-    <dimen name="datepicker_selected_date_month_size">24dp</dimen>
-    <dimen name="datepicker_selected_date_year_size">24dp</dimen>
-    <dimen name="datepicker_header_height">30dp</dimen>
-    <dimen name="datepicker_header_text_size">14dp</dimen>
-
     <!-- Minimum size of the fast scroller thumb's touch target. -->
     <dimen name="fast_scroller_minimum_touch_target">48dp</dimen>
 
@@ -407,6 +369,10 @@
      to 0 -->
      <dimen name="circular_display_mask_offset">0px</dimen>
 
+     <!-- Amount to reduce the size of the circular mask by (to compensate for aliasing
+     effects). This is only used on circular displays. -->
+     <dimen name="circular_display_mask_thickness">1px</dimen>
+
      <dimen name="lock_pattern_dot_line_width">3dp</dimen>
      <dimen name="lock_pattern_dot_size">12dp</dimen>
      <dimen name="lock_pattern_dot_size_activated">28dp</dimen>
diff --git a/core/res/res/values/dimens_material.xml b/core/res/res/values/dimens_material.xml
index b84249a..8d2afde 100644
--- a/core/res/res/values/dimens_material.xml
+++ b/core/res/res/values/dimens_material.xml
@@ -117,4 +117,47 @@
 
     <dimen name="scrubber_track_height_material">2dp</dimen>
     <dimen name="progress_bar_height_material">4dp</dimen>
+
+    <!-- Material time picker dimensions. -->
+    <!-- Text size for the time picker header HH:MM label. This value is large
+         enough that we don't need to use scaled pixels, dp is fine. -->
+    <dimen name="timepicker_time_label_size">60dp</dimen>
+    <dimen name="timepicker_ampm_label_size">16sp</dimen>
+    <dimen name="timepicker_ampm_horizontal_padding">16dp</dimen>
+    <dimen name="timepicker_am_top_padding">4dp</dimen>
+    <dimen name="timepicker_pm_top_padding">4dp</dimen>
+    <dimen name="timepicker_separator_padding">2dp</dimen>
+    <dimen name="timepicker_header_height">96dp</dimen>
+    <dimen name="timepicker_radial_picker_dimen">296dp</dimen>
+    <dimen name="timepicker_radial_picker_top_margin">16dp</dimen>
+    <dimen name="timepicker_radial_picker_horizontal_margin">16dp</dimen>
+
+    <!-- Used by RadialTimePicker in clock-style TimePicker. -->
+    <dimen name="timepicker_selector_radius">20dp</dimen>
+    <dimen name="timepicker_selector_stroke">2dp</dimen>
+    <dimen name="timepicker_center_dot_radius">3dp</dimen>
+    <dimen name="timepicker_selector_dot_radius">3dp</dimen>
+    <dimen name="timepicker_text_inset_normal">22dp</dimen>
+    <dimen name="timepicker_text_inset_inner">58dp</dimen>
+    <dimen name="timepicker_text_size_normal">16sp</dimen>
+    <dimen name="timepicker_text_size_inner">12sp</dimen>
+
+    <!-- Material date picker dimensions. -->
+    <dimen name="datepicker_year_picker_padding_top">8dp</dimen>
+    <dimen name="datepicker_year_label_height">64dp</dimen>
+    <dimen name="datepicker_year_label_text_size">22dp</dimen>
+    <dimen name="datepicker_component_width">260dp</dimen>
+    <dimen name="datepicker_dialog_width">520dp</dimen>
+    <dimen name="datepicker_selected_date_day_size">88dp</dimen>
+    <dimen name="datepicker_selected_date_month_size">24dp</dimen>
+    <dimen name="datepicker_selected_date_year_size">24dp</dimen>
+    <dimen name="datepicker_header_height">30dp</dimen>
+    <dimen name="datepicker_header_text_size">14dp</dimen>
+
+    <!-- Used by Material-style SimpleMonthView -->
+    <dimen name="datepicker_day_number_size">12sp</dimen>
+    <dimen name="datepicker_month_label_size">14sp</dimen>
+    <dimen name="datepicker_month_day_label_text_size">12sp</dimen>
+    <dimen name="datepicker_month_list_item_header_height">48dp</dimen>
+    <dimen name="datepicker_view_animator_height">226dp</dimen>
 </resources>
diff --git a/core/res/res/values/ids.xml b/core/res/res/values/ids.xml
index b6e79ad..6108b27 100644
--- a/core/res/res/values/ids.xml
+++ b/core/res/res/values/ids.xml
@@ -89,7 +89,8 @@
   <item type="id" name="parentMatrix" />
   <item type="id" name="statusBarBackground" />
   <item type="id" name="navigationBarBackground" />
+  <item type="id" name="pasteAsPlainText" />
   <item type="id" name="undo" />
   <item type="id" name="redo" />
-  <item type="id" name="pasteAsPlainText" />
+  <item type="id" name="replaceText" />
 </resources>
diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml
index 46e3d75..e507b3d 100644
--- a/core/res/res/values/public.xml
+++ b/core/res/res/values/public.xml
@@ -2615,6 +2615,12 @@
   <public type="attr" name="end" />
   <public type="attr" name="windowHasLightStatusBar" />
   <public type="attr" name="numbersInnerTextColor" />
+  <public type="attr" name="iconTint" />
+  <public type="attr" name="iconTintMode" />
+  <public type="attr" name="overflowTint" />
+  <public type="attr" name="overflowTintMode" />
+  <public type="attr" name="navigationTint" />
+  <public type="attr" name="navigationTintMode" />
 
   <public type="style" name="Widget.Material.Button.Colored" />
 
@@ -2636,12 +2642,13 @@
   <public type="style" name="Theme.Material.Light.LightStatusBar" />
   <public type="style" name="ThemeOverlay.Material.Dialog" />
 
-  <!-- Context menu ID for the "Undo" menu item to undo the last text edit operation. -->
-  <public type="id" name="undo" />
-  <!-- Context menu ID for the "Redo" menu item to redo the last text edit operation. -->
-  <public type="id" name="redo" />
-  <!-- Context menu ID for the "Paste as plain text" menu item to to copy the current contents
-          of the clipboard into the text view without formatting. -->
   <public type="id" name="pasteAsPlainText" />
+  <public type="id" name="undo" />
+  <public type="id" name="redo" />
+  <public type="id" name="replaceText" />
+
+  <public type="attr" name="allowUndo" />
+
+  <public type="attr" name="colorBackgroundFloating" />
 
 </resources>
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 199b783..4189b83 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -245,6 +245,12 @@
     <string name="roamingText12">Roaming Banner Off</string>
     <string name="roamingTextSearching">Searching for Service</string>
 
+    <!-- Displayed when WFC registration fails -->
+    <string name="wfcRegErrorTitle">Wi-Fi Calling</string>
+    <!-- WFC Operator Error Codes -->
+    <string-array name="wfcOperatorErrorCodes" translatable="false" />
+    <!-- WFC Operator Error Messages -->
+    <string-array name="wfcOperatorErrorMessages" />
 
     <!--
         {0} is one of "bearerServiceCode*"
@@ -2209,6 +2215,15 @@
       re-enables the keylock when the call is finished.</string>
 
     <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
+    <string name="permlab_manageFingerprint">manage fingerprint hardware</string>
+    <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
+    <string name="permdesc_manageFingerprint">Allows the app to invoke methods to add and delete fingerprint templates for use.</string>
+    <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
+    <string name="permlab_useFingerprint">use fingerprint hardware</string>
+    <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
+    <string name="permdesc_useFingerprint">Allows the app to use fingerprint hardware for authentication</string>
+
+    <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
     <string name="permlab_readSyncSettings">read sync settings</string>
     <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
     <string name="permdesc_readSyncSettings">Allows the app to read the sync settings for an account. For example, this can determine whether the People app is synced with an account.</string>
@@ -2345,6 +2360,11 @@
     <string name="permdesc_bindNotificationListenerService">Allows the holder to bind to the top-level interface of a notification listener service. Should never be needed for normal apps.</string>
 
     <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
+    <string name="permlab_bindChooserTargetService">bind to a chooser target service</string>
+    <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
+    <string name="permdesc_bindChooserTargetService">Allows the holder to bind to the top-level interface of a chooser target service. Should never be needed for normal apps.</string>
+
+    <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
     <string name="permlab_bindConditionProviderService">bind to a condition provider service</string>
     <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
     <string name="permdesc_bindConditionProviderService">Allows the holder to bind to the top-level interface of a condition provider service. Should never be needed for normal apps.</string>
@@ -2449,7 +2469,7 @@
     <!-- Description of policy access to set global proxy -->
     <string name="policydesc_setGlobalProxy">Set the device global proxy
     to be used while policy is enabled. Only the device owner can set the global proxy.</string>
-    <!-- Title of policy access to enforce password expiration [CHAR LIMIT=30]-->
+    <!-- Title of policy access to enforce password expiration [CHAR LIMIT=50]-->
     <string name="policylab_expirePassword">Set screen lock password expiration</string>
     <!-- Description of policy access to enforce password expiration [CHAR LIMIT=110]-->
     <string name="policydesc_expirePassword">Change how frequently the screen lock password, PIN, or pattern must be changed.</string>
@@ -3701,6 +3721,23 @@
     <string name="new_app_action">Start <xliff:g id="old_app">%1$s</xliff:g></string>
     <string name="new_app_description">Stop the old app without saving.</string>
 
+    <!-- Notification text to tell the user that a process has exceeded its memory limit. -->
+    <string name="dump_heap_notification"><xliff:g id="proc">%1$s</xliff:g> exceeded memory
+        limit</string>
+
+    <!-- Notification details to tell the user that a process has exceeded its memory limit. -->
+    <string name="dump_heap_notification_detail">Heap dump has been collected;
+        touch to share</string>
+
+    <!-- Title of dialog prompting the user to share a heap dump. -->
+    <string name="dump_heap_title">Share heap dump?</string>
+
+    <!-- Text of dialog prompting the user to share a heap dump. -->
+    <string name="dump_heap_text">The process <xliff:g id="proc">%1$s</xliff:g> has exceeded
+        its process memory limit of <xliff:g id="size">%2$s</xliff:g>.  A heap dump is available
+        for you to share with its developer.  Be careful: this heap dump can contain any
+        of your personal information that the application has access to.</string>
+
     <!-- Displayed in the title of the chooser for things to do with text that
          is to be sent to another application. For example, I can send
          text through SMS or IM.  A dialog with those choices would be shown,
@@ -3761,10 +3798,10 @@
     </plurals>
 
     <!-- A notification is shown when a wifi captive portal network is detected.  This is the notification's title. -->
-    <string name="wifi_available_sign_in">Sign into Wi-Fi network</string>
+    <string name="wifi_available_sign_in">Sign in to Wi-Fi network</string>
 
     <!-- A notification is shown when a captive portal network is detected.  This is the notification's title. -->
-    <string name="network_available_sign_in">Sign into network</string>
+    <string name="network_available_sign_in">Sign in to network</string>
 
     <!-- A notification is shown when a captive portal network is detected.  This is the notification's message. -->
     <string name="network_available_sign_in_detailed"><xliff:g id="network_ssid">%1$s</xliff:g></string>
@@ -4974,8 +5011,14 @@
     <!-- PIN entry dialog tells the user to not enter a PIN for a while. [CHAR LIMIT=none] -->
     <string name="restr_pin_try_later">Try again later</string>
 
-    <!-- Cling help message when hiding the navigation bar entering immersive mode [CHAR LIMIT=none] -->
-    <string name="immersive_mode_confirmation" msgid="8554991488096662508">Swipe down from the top to exit full screen.</string>
+    <!-- Cling help message title when hiding the navigation bar entering immersive mode [CHAR LIMIT=none] -->
+    <string name="immersive_cling_title">Viewing full screen</string>
+
+    <!-- Cling help message description when hiding the navigation bar entering immersive mode [CHAR LIMIT=none] -->
+    <string name="immersive_cling_description">To exit, swipe down from the top.</string>
+
+    <!-- Cling help message confirmation button when hiding the navigation bar entering immersive mode [CHAR LIMIT=30] -->
+    <string name="immersive_cling_positive">Got it</string>
 
     <!-- Label for button to confirm chosen date or time [CHAR LIMIT=30] -->
     <string name="done_label">Done</string>
@@ -5040,7 +5083,7 @@
     <!-- Notify use that they are in Lock-to-app in accessibility mode -->
     <string name="lock_to_app_toast_accessible">To unpin this screen, touch and hold Overview.</string>
     <!-- Notify user that they are locked in lock-to-app mode -->
-    <string name="lock_to_app_toast_locked">Screen is pinned. Unpinning isn\'t allowed by your organization.</string>
+    <string name="lock_to_app_toast_locked">App is pinned: Unpinning isn\'t allowed on this device.</string>
     <!-- Starting lock-to-app indication. -->
     <string name="lock_to_app_start">Screen pinned</string>
     <!-- Exting lock-to-app indication. -->
diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml
index c520a46..cc64b43 100644
--- a/core/res/res/values/styles.xml
+++ b/core/res/res/values/styles.xml
@@ -237,6 +237,12 @@
         <item name="windowExitAnimation">@anim/fade_out</item>
     </style>
 
+    <!-- Window animations used for immersive mode confirmation. -->
+    <style name="Animation.ImmersiveModeConfirmation">
+        <item name="windowEnterAnimation">@null</item>
+        <item name="windowExitAnimation">@anim/fast_fade_out</item>
+    </style>
+
     <!-- Window animations for screen savers. {@hide} -->
     <style name="Animation.Dream">
         <item name="windowEnterAnimation">@anim/slow_fade_in</item>
diff --git a/core/res/res/values/styles_holo.xml b/core/res/res/values/styles_holo.xml
index 4589fa3..6861069 100644
--- a/core/res/res/values/styles_holo.xml
+++ b/core/res/res/values/styles_holo.xml
@@ -463,40 +463,14 @@
         <item name="virtualButtonPressedDrawable">?attr/selectableItemBackground</item>
     </style>
 
-    <style name="Widget.Holo.TimePicker" parent="Widget.TimePicker">
+    <style name="Widget.Holo.TimePicker" parent="Widget.Material.TimePicker">
+        <!-- If the developer chooses "clock", they get the Material picker. -->
         <item name="timePickerMode">spinner</item>
-        <item name="legacyLayout">@layout/time_picker_legacy_holo</item>
-        <!-- Attributes for new-style TimePicker. -->
-        <item name="internalLayout">@layout/time_picker_holo</item>
-        <item name="headerTimeTextAppearance">@style/TextAppearance.Holo.TimePicker.TimeLabel</item>
-        <item name="headerAmPmTextAppearance">@style/TextAppearance.Holo.TimePicker.AmPmLabel</item>
-        <item name="headerBackground">@color/timepicker_default_background_holo_dark</item>
-        <item name="headerSelectedTextColor">@color/holo_blue_light</item>
-        <item name="numbersTextColor">@color/timepicker_default_text_color_holo_dark</item>
-        <item name="numbersBackgroundColor">@color/timepicker_default_background_holo_dark</item>
-        <item name="amPmTextColor">@color/timepicker_default_text_color_holo_dark</item>
-        <item name="amPmBackgroundColor">@color/timepicker_default_background_holo_dark</item>
-        <item name="amPmSelectedBackgroundColor">@color/holo_blue_light</item>
-        <item name="numbersSelectorColor">@color/holo_blue_light</item>
     </style>
 
-    <style name="Widget.Holo.DatePicker" parent="Widget.DatePicker">
+    <style name="Widget.Holo.DatePicker" parent="Widget.Material.DatePicker">
+        <!-- If the developer chooses "calendar", they get the Material picker. -->
         <item name="datePickerMode">spinner</item>
-        <item name="legacyLayout">@layout/date_picker_legacy_holo</item>
-        <item name="internalLayout">@layout/date_picker_holo</item>
-        <item name="calendarViewShown">true</item>
-        <!-- New-style date picker attributes. -->
-        <item name="dayOfWeekBackground">@color/datepicker_default_header_dayofweek_background_color_holo_dark</item>
-        <item name="dayOfWeekTextAppearance">@style/TextAppearance.Holo.DatePicker.DayOfWeekLabel</item>
-        <item name="headerBackground">@color/datepicker_default_header_selector_background_holo_dark</item>
-        <item name="headerMonthTextAppearance">@style/TextAppearance.Holo.DatePicker.Selector.MonthLabel</item>
-        <item name="headerDayOfMonthTextAppearance">@style/TextAppearance.Holo.DatePicker.Selector.DayOfMonthLabel</item>
-        <item name="headerYearTextAppearance">@style/TextAppearance.Holo.DatePicker.Selector.YearLabel</item>
-        <item name="headerSelectedTextColor">@color/holo_blue_light</item>
-        <item name="yearListItemTextAppearance">@style/TextAppearance.Holo.DatePicker.List.YearLabel</item>
-        <item name="yearListSelectorColor">@color/datepicker_default_circle_background_color_holo_dark</item>
-        <item name="calendarTextColor">@color/date_picker_calendar_holo_dark</item>
-        <item name="calendarDayBackgroundColor">@color/holo_blue_dark</item>
     </style>
 
     <style name="Widget.Holo.ActivityChooserView" parent="Widget.ActivityChooserView" />
@@ -888,40 +862,14 @@
 
     <style name="Widget.Holo.Light.NumberPicker" parent="Widget.Holo.NumberPicker" />
 
-    <style name="Widget.Holo.Light.TimePicker" parent="Widget.TimePicker">
+    <style name="Widget.Holo.Light.TimePicker" parent="Widget.Material.Light.TimePicker">
+        <!-- If the developer chooses "clock", they get the Material picker. -->
         <item name="timePickerMode">spinner</item>
-        <item name="legacyLayout">@layout/time_picker_legacy_holo</item>
-        <!-- Non-legacy styling -->
-        <item name="internalLayout">@layout/time_picker_holo</item>
-        <item name="headerTimeTextAppearance">@style/TextAppearance.Holo.Light.TimePicker.TimeLabel</item>
-        <item name="headerAmPmTextAppearance">@style/TextAppearance.Holo.Light.TimePicker.AmPmLabel</item>
-        <item name="headerBackground">@color/timepicker_default_background_holo_light</item>
-        <item name="headerSelectedTextColor">@color/holo_blue_light</item>
-        <item name="numbersTextColor">@color/timepicker_default_text_color_holo_light</item>
-        <item name="numbersBackgroundColor">@color/timepicker_default_background_holo_light</item>
-        <item name="amPmTextColor">@color/timepicker_default_text_color_holo_light</item>
-        <item name="amPmBackgroundColor">@color/timepicker_default_background_holo_light</item>
-        <item name="amPmSelectedBackgroundColor">@color/holo_blue_light</item>
-        <item name="numbersSelectorColor">@color/holo_blue_light</item>
     </style>
 
-    <style name="Widget.Holo.Light.DatePicker" parent="Widget.DatePicker">
+    <style name="Widget.Holo.Light.DatePicker" parent="Widget.Material.Light.DatePicker">
+        <!-- If the developer chooses "calendar", they get the Material picker. -->
         <item name="datePickerMode">spinner</item>
-        <item name="legacyLayout">@layout/date_picker_legacy_holo</item>
-        <item name="internalLayout">@layout/date_picker_holo</item>
-        <item name="calendarViewShown">true</item>
-        <!-- New-style date picker attributes. -->
-        <item name="dayOfWeekBackground">@color/datepicker_default_header_dayofweek_background_color_holo_light</item>
-        <item name="dayOfWeekTextAppearance">@style/TextAppearance.Holo.Light.DatePicker.DayOfWeekLabel</item>
-        <item name="headerMonthTextAppearance">@style/TextAppearance.Holo.Light.DatePicker.Selector.MonthLabel</item>
-        <item name="headerDayOfMonthTextAppearance">@style/TextAppearance.Holo.Light.DatePicker.Selector.DayOfMonthLabel</item>
-        <item name="headerYearTextAppearance">@style/TextAppearance.Holo.Light.DatePicker.Selector.YearLabel</item>
-        <item name="headerBackground">@color/datepicker_default_header_selector_background_holo_light</item>
-        <item name="headerSelectedTextColor">@color/holo_blue_light</item>
-        <item name="yearListItemTextAppearance">@style/TextAppearance.Holo.Light.DatePicker.List.YearLabel</item>
-        <item name="yearListSelectorColor">@color/datepicker_default_circle_background_color_holo_light</item>
-        <item name="calendarTextColor">@color/date_picker_calendar_holo_light</item>
-        <item name="calendarDayBackgroundColor">@color/holo_blue_light</item>
     </style>
 
     <style name="Widget.Holo.Light.ActivityChooserView" parent="Widget.Holo.ActivityChooserView">
@@ -1221,86 +1169,6 @@
         <item name="externalRouteEnabledDrawable">@drawable/ic_media_route_holo_light</item>
     </style>
 
-    <style name="TextAppearance.Holo.TimePicker.TimeLabel" parent="TextAppearance.Holo">
-        <item name="textSize">@dimen/timepicker_time_label_size</item>
-        <item name="textColor">@color/timepicker_default_text_color_holo_dark</item>
-    </style>
-
-    <style name="TextAppearance.Holo.TimePicker.AmPmLabel" parent="TextAppearance.Holo">
-        <item name="textSize">@dimen/timepicker_ampm_label_size</item>
-        <item name="textAllCaps">true</item>
-        <item name="textColor">@color/timepicker_default_text_color_holo_dark</item>
-        <item name="textStyle">bold</item>
-    </style>
-
-    <style name="TextAppearance.Holo.Light.TimePicker.TimeLabel" parent="TextAppearance.Holo.Light">
-        <item name="textSize">@dimen/timepicker_time_label_size</item>
-        <item name="textColor">@color/timepicker_default_text_color_holo_light</item>
-    </style>
-
-    <style name="TextAppearance.Holo.Light.TimePicker.AmPmLabel" parent="TextAppearance.Holo.Light">
-        <item name="textSize">@dimen/timepicker_ampm_label_size</item>
-        <item name="textAllCaps">true</item>
-        <item name="textColor">@color/timepicker_default_text_color_holo_light</item>
-        <item name="textStyle">bold</item>
-    </style>
-
-    <style name="TextAppearance.Holo.DatePicker.DayOfWeekLabel" parent="TextAppearance.Holo">
-        <item name="includeFontPadding">false</item>
-        <item name="textColor">@color/black</item>
-        <item name="textSize">@dimen/datepicker_header_text_size</item>
-    </style>
-
-    <style name="TextAppearance.Holo.DatePicker.Selector" parent="TextAppearance.Holo">
-        <item name="includeFontPadding">false</item>
-        <item name="textColor">@color/date_picker_selector_holo_dark</item>
-    </style>
-
-    <style name="TextAppearance.Holo.DatePicker.Selector.MonthLabel" parent="TextAppearance.Holo.DatePicker.Selector">
-        <item name="textSize">@dimen/datepicker_selected_date_month_size</item>
-    </style>
-
-    <style name="TextAppearance.Holo.DatePicker.Selector.DayOfMonthLabel" parent="TextAppearance.Holo.DatePicker.Selector">
-        <item name="textSize">@dimen/datepicker_selected_date_day_size</item>
-    </style>
-
-    <style name="TextAppearance.Holo.DatePicker.Selector.YearLabel" parent="TextAppearance.Holo.DatePicker.Selector">
-        <item name="textSize">@dimen/datepicker_selected_date_year_size</item>
-    </style>
-
-    <style name="TextAppearance.Holo.DatePicker.List.YearLabel" parent="TextAppearance.Holo">
-        <item name="textColor">@color/date_picker_year_selector_holo_dark</item>
-        <item name="textSize">@dimen/datepicker_year_label_text_size</item>
-    </style>
-
-    <style name="TextAppearance.Holo.Light.DatePicker.DayOfWeekLabel" parent="TextAppearance.Holo">
-        <item name="includeFontPadding">false</item>
-        <item name="textColor">@color/white</item>
-        <item name="textSize">@dimen/datepicker_header_text_size</item>
-    </style>
-
-    <style name="TextAppearance.Holo.Light.DatePicker.Selector" parent="TextAppearance.Holo">
-        <item name="includeFontPadding">false</item>
-        <item name="textColor">@color/date_picker_selector_holo_light</item>
-    </style>
-
-    <style name="TextAppearance.Holo.Light.DatePicker.Selector.MonthLabel" parent="TextAppearance.Holo.Light.DatePicker.Selector">
-        <item name="textSize">@dimen/datepicker_selected_date_month_size</item>
-    </style>
-
-    <style name="TextAppearance.Holo.Light.DatePicker.Selector.DayOfMonthLabel" parent="TextAppearance.Holo.Light.DatePicker.Selector">
-        <item name="textSize">@dimen/datepicker_selected_date_day_size</item>
-    </style>
-
-    <style name="TextAppearance.Holo.Light.DatePicker.Selector.YearLabel" parent="TextAppearance.Holo.Light.DatePicker.Selector">
-        <item name="textSize">@dimen/datepicker_selected_date_year_size</item>
-    </style>
-
-    <style name="TextAppearance.Holo.Light.DatePicker.List.YearLabel" parent="TextAppearance.Holo">
-        <item name="textColor">@color/date_picker_year_selector_holo_light</item>
-        <item name="textSize">@dimen/datepicker_year_label_text_size</item>
-    </style>
-
     <style name="Widget.Holo.FastScroll" parent="Widget.FastScroll">
         <item name="thumbMinWidth">0dp</item>
         <item name="thumbMinHeight">0dp</item>
diff --git a/core/res/res/values/styles_material.xml b/core/res/res/values/styles_material.xml
index 9a64dec9..a8ab18d 100644
--- a/core/res/res/values/styles_material.xml
+++ b/core/res/res/values/styles_material.xml
@@ -37,7 +37,7 @@
     </style>
 
     <style name="PreferenceFragment.Material">
-        <item name="layout">@android:layout/preference_list_fragment_material</item>
+        <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>
     </style>
@@ -72,7 +72,7 @@
     </style>
 
     <style name="Preference.Material.SeekBarPreference">
-        <item name="layout">@android:layout/preference_widget_seekbar_material</item>
+        <item name="layout">@layout/preference_widget_seekbar_material</item>
     </style>
 
     <style name="Preference.Material.PreferenceScreen"/>
@@ -379,14 +379,12 @@
 
     <style name="TextAppearance.Material.TimePicker.TimeLabel" parent="TextAppearance.Material">
         <item name="textSize">@dimen/timepicker_time_label_size</item>
-        <item name="textColor">?attr/textColorSecondaryInverse</item>
+        <item name="textColor">@color/time_picker_header_text_material</item>
     </style>
 
-    <style name="TextAppearance.Material.TimePicker.AmPmLabel" parent="TextAppearance.Material">
+    <style name="TextAppearance.Material.TimePicker.AmPmLabel" parent="TextAppearance.Material.Button">
         <item name="textSize">@dimen/timepicker_ampm_label_size</item>
-        <item name="textAllCaps">true</item>
-        <item name="textColor">?attr/textColorSecondaryInverse</item>
-        <item name="textStyle">bold</item>
+        <item name="textColor">@color/time_picker_header_text_material</item>
     </style>
 
     <style name="TextAppearance.Material.DatePicker.DayOfWeekLabel" parent="TextAppearance.Material">
@@ -397,19 +395,19 @@
 
     <style name="TextAppearance.Material.DatePicker.MonthLabel" parent="TextAppearance.Material">
         <item name="includeFontPadding">false</item>
-        <item name="textColor">?attr/textColorSecondaryInverse</item>
+        <item name="textColor">@color/date_picker_header_text_material</item>
         <item name="textSize">@dimen/datepicker_selected_date_month_size</item>
     </style>
 
     <style name="TextAppearance.Material.DatePicker.DayOfMonthLabel" parent="TextAppearance.Material">
         <item name="includeFontPadding">false</item>
-        <item name="textColor">?attr/textColorSecondaryInverse</item>
+        <item name="textColor">@color/date_picker_header_text_material</item>
         <item name="textSize">@dimen/datepicker_selected_date_day_size</item>
     </style>
 
     <style name="TextAppearance.Material.DatePicker.YearLabel" parent="TextAppearance.Material">
         <item name="includeFontPadding">false</item>
-        <item name="textColor">?attr/textColorSecondaryInverse</item>
+        <item name="textColor">@color/date_picker_header_text_material</item>
         <item name="textSize">@dimen/datepicker_selected_date_year_size</item>
     </style>
 
@@ -642,36 +640,32 @@
         <item name="virtualButtonPressedDrawable">?attr/selectableItemBackground</item>
     </style>
 
-    <style name="Widget.Material.TimePicker" parent="Widget.TimePicker">
+    <style name="Widget.Material.TimePicker">
         <item name="timePickerMode">clock</item>
-        <item name="legacyLayout">@layout/time_picker_legacy_holo</item>
+        <item name="legacyLayout">@layout/time_picker_legacy_material</item>
         <!-- Attributes for new-style TimePicker. -->
-        <item name="internalLayout">@layout/time_picker_holo</item>
+        <item name="internalLayout">@layout/time_picker_material</item>
         <item name="headerTimeTextAppearance">@style/TextAppearance.Material.TimePicker.TimeLabel</item>
         <item name="headerAmPmTextAppearance">@style/TextAppearance.Material.TimePicker.AmPmLabel</item>
-        <item name="headerSelectedTextColor">?attr/textColorPrimaryInverse</item>
         <item name="headerBackground">@drawable/time_picker_header_material</item>
         <item name="numbersTextColor">?attr/textColorPrimaryActivated</item>
         <item name="numbersInnerTextColor">?attr/textColorSecondaryActivated</item>
         <item name="numbersBackgroundColor">#10ffffff</item>
         <item name="numbersSelectorColor">?attr/colorControlActivated</item>
         <item name="amPmTextColor">?attr/textColorSecondary</item>
-        <item name="amPmBackgroundColor">@color/transparent</item>
-        <item name="amPmSelectedBackgroundColor">?attr/colorControlActivated</item>
     </style>
 
-    <style name="Widget.Material.DatePicker" parent="Widget.DatePicker">
+    <style name="Widget.Material.DatePicker">
         <item name="datePickerMode">calendar</item>
         <item name="legacyLayout">@layout/date_picker_legacy_holo</item>
+        <item name="calendarViewShown">true</item>
         <!-- Attributes for new-style DatePicker. -->
         <item name="internalLayout">@layout/date_picker_holo</item>
-        <item name="calendarViewShown">true</item>
         <item name="dayOfWeekBackground">#10000000</item>
         <item name="dayOfWeekTextAppearance">@style/TextAppearance.Material.DatePicker.DayOfWeekLabel</item>
         <item name="headerMonthTextAppearance">@style/TextAppearance.Material.DatePicker.MonthLabel</item>
         <item name="headerDayOfMonthTextAppearance">@style/TextAppearance.Material.DatePicker.DayOfMonthLabel</item>
         <item name="headerYearTextAppearance">@style/TextAppearance.Material.DatePicker.YearLabel</item>
-        <item name="headerSelectedTextColor">?attr/textColorPrimaryInverse</item>
         <item name="headerBackground">?attr/colorAccent</item>
         <item name="yearListItemTextAppearance">@style/TextAppearance.Material.DatePicker.List.YearLabel</item>
         <item name="yearListSelectorColor">?attr/colorControlActivated</item>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 39c0e8f..20ec563 100755
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -274,7 +274,6 @@
   <java-symbol type="bool" name="preferences_prefer_dual_pane" />
   <java-symbol type="bool" name="skip_restoring_network_selection" />
   <java-symbol type="bool" name="split_action_bar_is_narrow" />
-  <java-symbol type="bool" name="config_useMasterVolume" />
   <java-symbol type="bool" name="config_useVolumeKeySounds" />
   <java-symbol type="bool" name="config_enableWallpaperService" />
   <java-symbol type="bool" name="config_sendAudioBecomingNoisy" />
@@ -420,6 +419,7 @@
   <java-symbol type="dimen" name="immersive_mode_cling_width" />
   <java-symbol type="dimen" name="circular_display_mask_offset" />
   <java-symbol type="dimen" name="accessibility_magnification_indicator_width" />
+  <java-symbol type="dimen" name="circular_display_mask_thickness" />
 
   <java-symbol type="string" name="add_account_button_label" />
   <java-symbol type="string" name="addToDictionary" />
@@ -752,6 +752,9 @@
   <java-symbol type="string" name="phoneTypeWork" />
   <java-symbol type="string" name="phoneTypeWorkMobile" />
   <java-symbol type="string" name="phoneTypeWorkPager" />
+  <java-symbol type="string" name="wfcRegErrorTitle" />
+  <java-symbol type="array" name="wfcOperatorErrorCodes" />
+  <java-symbol type="array" name="wfcOperatorErrorMessages" />
   <java-symbol type="string" name="policydesc_disableCamera" />
   <java-symbol type="string" name="policydesc_encryptedStorage" />
   <java-symbol type="string" name="policydesc_expirePassword" />
@@ -1087,7 +1090,6 @@
   <java-symbol type="array" name="sim_colors" />
   <java-symbol type="array" name="special_locale_codes" />
   <java-symbol type="array" name="special_locale_names" />
-  <java-symbol type="array" name="config_masterVolumeRamp" />
   <java-symbol type="array" name="config_cdma_dun_supported_types" />
   <java-symbol type="array" name="config_disabledUntilUsedPreinstalledImes" />
   <java-symbol type="array" name="config_operatorConsideredNonRoaming" />
@@ -1605,6 +1607,7 @@
   <java-symbol type="bool" name="config_allowTheaterModeWakeFromDock" />
   <java-symbol type="bool" name="config_allowTheaterModeWakeFromWindowLayout" />
   <java-symbol type="bool" name="config_goToSleepOnButtonPressTheaterMode" />
+  <java-symbol type="bool" name="config_supportLongPressPowerWhenNonInteractive" />
   <java-symbol type="bool" name="config_wifi_background_scan_support" />
   <java-symbol type="bool" name="config_wifi_dual_band_support" />
   <java-symbol type="bool" name="config_wimaxEnabled" />
@@ -1725,6 +1728,10 @@
   <java-symbol type="string" name="data_usage_wifi_limit_title" />
   <java-symbol type="string" name="default_wallpaper_component" />
   <java-symbol type="string" name="dlg_ok" />
+  <java-symbol type="string" name="dump_heap_notification" />
+  <java-symbol type="string" name="dump_heap_notification_detail" />
+  <java-symbol type="string" name="dump_heap_text" />
+  <java-symbol type="string" name="dump_heap_title" />
   <java-symbol type="string" name="factorytest_failed" />
   <java-symbol type="string" name="factorytest_no_action" />
   <java-symbol type="string" name="factorytest_not_system" />
@@ -1975,10 +1982,8 @@
 
   <java-symbol type="attr" name="nestedScrollingEnabled" />
 
-  <java-symbol type="style" name="TextAppearance.Holo.TimePicker.TimeLabel" />
-
-  <java-symbol type="layout" name="time_picker_holo" />
-  <java-symbol type="layout" name="time_header_label" />
+  <java-symbol type="layout" name="time_picker_material" />
+  <java-symbol type="layout" name="time_picker_header_material" />
   <java-symbol type="layout" name="year_label_text_view" />
   <java-symbol type="layout" name="date_picker_holo" />
 
@@ -2045,25 +2050,12 @@
   <java-symbol type="dimen" name="datepicker_year_label_height" />
   <java-symbol type="dimen" name="datepicker_year_picker_padding_top" />
 
-  <java-symbol type="color" name="timepicker_default_text_color_holo_light" />
-  <java-symbol type="color" name="timepicker_default_ampm_unselected_background_color_holo_light" />
-  <java-symbol type="color" name="timepicker_default_ampm_selected_background_color_holo_light" />
-
-  <java-symbol type="color" name="datepicker_default_normal_text_color_holo_light" />
-  <java-symbol type="color" name="datepicker_default_disabled_text_color_holo_light" />
-  <java-symbol type="color" name="datepicker_default_circle_background_color_holo_light" />
-  <java-symbol type="color" name="datepicker_default_header_dayofweek_background_color_holo_light" />
-  <java-symbol type="color" name="datepicker_default_header_selector_background_holo_light" />
-
-  <java-symbol type="color" name="datepicker_default_normal_text_color_material_light" />
-  <java-symbol type="color" name="datepicker_default_disabled_text_color_material_light" />
-  <java-symbol type="color" name="datepicker_default_circle_background_color_material_light" />
-  <java-symbol type="color" name="datepicker_default_header_dayofweek_background_color_material_light" />
-  <java-symbol type="color" name="datepicker_default_header_selector_background_material_light" />
-
   <java-symbol type="array" name="config_clockTickVibePattern" />
   <java-symbol type="array" name="config_calendarDateVibePattern" />
 
+  <!-- From KeyguardServiceDelegate -->
+  <java-symbol type="string" name="config_keyguardComponent" />
+
   <!-- From various Material changes -->
   <java-symbol type="attr" name="titleTextAppearance" />
   <java-symbol type="attr" name="subtitleTextAppearance" />
@@ -2090,6 +2082,8 @@
   <java-symbol type="bool" name="config_carrier_volte_tty_supported" />
   <java-symbol type="bool" name="config_device_vt_available" />
   <java-symbol type="bool" name="config_carrier_vt_available" />
+  <java-symbol type="bool" name="config_device_wfc_ims_available" />
+  <java-symbol type="bool" name="config_carrier_wfc_ims_available" />
   <java-symbol type="bool" name="useImsAlwaysForEmergencyCall" />
   <java-symbol type="attr" name="touchscreenBlocksFocus" />
   <java-symbol type="layout" name="resolver_list_with_default" />
@@ -2106,8 +2100,6 @@
   <java-symbol type="attr" name="ambientShadowAlpha" />
   <java-symbol type="attr" name="spotShadowAlpha" />
   <java-symbol type="array" name="config_cdma_home_system" />
-  <java-symbol type="attr" name="headerSelectedTextColor" />
-  <java-symbol type="attr" name="amPmSelectedBackgroundColor" />
   <java-symbol type="bool" name="config_sms_decode_gsm_8bit_data" />
   <java-symbol type="dimen" name="text_size_small_material" />
   <java-symbol type="attr" name="checkMarkGravity" />
@@ -2167,6 +2159,9 @@
 
   <java-symbol type="integer" name="config_defaultNightMode" />
 
+  <java-symbol type="style" name="Animation.ImmersiveModeConfirmation" />
+
   <java-symbol type="integer" name="config_screen_magnification_multi_tap_adjustment" />
   <java-symbol type="dimen" name="config_screen_magnification_scaling_threshold" />
+  <java-symbol type="dimen" name="timepicker_selector_stroke"/>
 </resources>
diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml
index 4ba6c0b..9e87b4d 100644
--- a/core/res/res/values/themes.xml
+++ b/core/res/res/values/themes.xml
@@ -45,6 +45,7 @@
         <item name="colorForeground">@color/bright_foreground_dark</item>
         <item name="colorForegroundInverse">@color/bright_foreground_dark_inverse</item>
         <item name="colorBackground">@color/background_dark</item>
+        <item name="colorBackgroundFloating">?attr/colorBackground</item>
         <item name="colorBackgroundCacheHint">?attr/colorBackground</item>
 
         <item name="colorPressedHighlight">@color/legacy_pressed_highlight</item>
diff --git a/core/res/res/values/themes_holo.xml b/core/res/res/values/themes_holo.xml
index c30b3d5..701d0ef 100644
--- a/core/res/res/values/themes_holo.xml
+++ b/core/res/res/values/themes_holo.xml
@@ -65,6 +65,7 @@
         <item name="colorForeground">@color/bright_foreground_holo_dark</item>
         <item name="colorForegroundInverse">@color/bright_foreground_inverse_holo_dark</item>
         <item name="colorBackground">@color/background_holo_dark</item>
+        <item name="colorBackgroundFloating">@color/background_holo_dark</item>
         <item name="colorBackgroundCacheHint">@color/background_cache_hint_selector_holo_dark</item>
         <item name="disabledAlpha">0.5</item>
         <item name="backgroundDimAmount">0.6</item>
@@ -404,6 +405,7 @@
         <item name="colorForeground">@color/bright_foreground_holo_light</item>
         <item name="colorForegroundInverse">@color/bright_foreground_inverse_holo_light</item>
         <item name="colorBackground">@color/background_holo_light</item>
+        <item name="colorBackgroundFloating">@color/background_holo_light</item>
         <item name="colorBackgroundCacheHint">@color/background_cache_hint_selector_holo_light</item>
         <item name="disabledAlpha">0.5</item>
         <item name="backgroundDimAmount">0.6</item>
diff --git a/core/res/res/values/themes_material.xml b/core/res/res/values/themes_material.xml
index d496e18..38cfecd 100644
--- a/core/res/res/values/themes_material.xml
+++ b/core/res/res/values/themes_material.xml
@@ -42,9 +42,10 @@
          with trailing _dark or _light specifiers if they are not shared between both light and
          dark versions of the theme. -->
     <style name="Theme.Material">
-        <item name="colorForeground">@color/bright_foreground_material_dark</item>
-        <item name="colorForegroundInverse">@color/bright_foreground_material_light</item>
+        <item name="colorForeground">@color/foreground_material_dark</item>
+        <item name="colorForegroundInverse">@color/foreground_material_light</item>
         <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="disabledAlpha">@dimen/disabled_alpha_material_dark</item>
         <item name="backgroundDimAmount">0.6</item>
@@ -395,9 +396,10 @@
 
     <!-- Material theme (light version). -->
     <style name="Theme.Material.Light" parent="Theme.Light">
-        <item name="colorForeground">@color/bright_foreground_material_light</item>
-        <item name="colorForegroundInverse">@color/bright_foreground_material_dark</item>
+        <item name="colorForeground">@color/foreground_material_light</item>
+        <item name="colorForegroundInverse">@color/foreground_material_dark</item>
         <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="disabledAlpha">@dimen/disabled_alpha_material_light</item>
         <item name="backgroundDimAmount">0.6</item>
@@ -767,9 +769,10 @@
     <!-- Theme overlay that replaces colors with their light versions but preserves
          the value of colorAccent, colorPrimary and its variants. -->
     <style name="ThemeOverlay.Material.Light">
-        <item name="colorForeground">@color/bright_foreground_material_light</item>
-        <item name="colorForegroundInverse">@color/bright_foreground_material_dark</item>
+        <item name="colorForeground">@color/foreground_material_light</item>
+        <item name="colorForegroundInverse">@color/foreground_material_dark</item>
         <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="textColorPrimary">@color/primary_text_material_light</item>
@@ -803,9 +806,10 @@
     <!-- Theme overlay that replaces colors with their dark versions but preserves
          the value of colorAccent, colorPrimary and its variants. -->
     <style name="ThemeOverlay.Material.Dark">
-        <item name="colorForeground">@color/bright_foreground_material_dark</item>
-        <item name="colorForegroundInverse">@color/bright_foreground_material_light</item>
+        <item name="colorForeground">@color/foreground_material_dark</item>
+        <item name="colorForegroundInverse">@color/foreground_material_light</item>
         <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="textColorPrimary">@color/primary_text_material_dark</item>
@@ -852,7 +856,6 @@
 
     <!-- Theme overlay that overrides window properties to display as a dialog. -->
     <style name="ThemeOverlay.Material.Dialog">
-        <item name="colorBackground">@color/background_floating_material_light</item>
         <item name="colorBackgroundCacheHint">@null</item>
 
         <item name="windowFrame">@null</item>
@@ -1044,7 +1047,7 @@
     <eat-comment />
 
     <style name="Theme.Material.BaseDialog">
-        <item name="colorBackground">@color/background_floating_material_dark</item>
+        <item name="colorBackground">?attr/colorBackgroundFloating</item>
 
         <item name="windowFrame">@null</item>
         <item name="windowTitleStyle">@style/DialogWindowTitle.Material</item>
@@ -1155,7 +1158,7 @@
     <!-- Light material dialog themes -->
 
     <style name="Theme.Material.Light.BaseDialog">
-        <item name="colorBackground">@color/background_floating_material_light</item>
+        <item name="colorBackground">?attr/colorBackgroundFloating</item>
 
         <item name="windowFrame">@null</item>
         <item name="windowTitleStyle">@style/DialogWindowTitle.Material.Light</item>
diff --git a/core/tests/coretests/src/android/net/NetworkStatsTest.java b/core/tests/coretests/src/android/net/NetworkStatsTest.java
index 9ee4e20..fd922a2 100644
--- a/core/tests/coretests/src/android/net/NetworkStatsTest.java
+++ b/core/tests/coretests/src/android/net/NetworkStatsTest.java
@@ -320,6 +320,73 @@
         red.combineAllValues(blue);
     }
 
+    public void testMigrateTun() throws Exception {
+        final int tunUid = 10030;
+        final String tunIface = "tun0";
+        final String underlyingIface = "wlan0";
+        final int testTag1 = 8888;
+        NetworkStats delta = new NetworkStats(TEST_START, 17)
+            .addValues(tunIface, 10100, SET_DEFAULT, TAG_NONE, 39605L, 46L, 12259L, 55L, 0L)
+            .addValues(tunIface, 10100, SET_FOREGROUND, TAG_NONE, 0L, 0L, 0L, 0L, 0L)
+            .addValues(tunIface, 10120, SET_DEFAULT, TAG_NONE, 72667L, 197L, 43909L, 241L, 0L)
+            .addValues(tunIface, 10120, SET_FOREGROUND, TAG_NONE, 9297L, 17L, 4128L, 21L, 0L)
+            // VPN package also uses some traffic through unprotected network.
+            .addValues(tunIface, tunUid, SET_DEFAULT, TAG_NONE, 4983L, 10L, 1801L, 12L, 0L)
+            .addValues(tunIface, tunUid, SET_FOREGROUND, TAG_NONE, 0L, 0L, 0L, 0L, 0L)
+            // Tag entries
+            .addValues(tunIface, 10120, SET_DEFAULT, testTag1, 21691L, 41L, 13820L, 51L, 0L)
+            .addValues(tunIface, 10120, SET_FOREGROUND, testTag1, 1281L, 2L, 665L, 2L, 0L)
+            // Irrelevant entries
+            .addValues(TEST_IFACE, 10100, SET_DEFAULT, TAG_NONE, 1685L, 5L, 2070L, 6L, 0L)
+            // Underlying Iface entries
+            .addValues(underlyingIface, 10100, SET_DEFAULT, TAG_NONE, 5178L, 8L, 2139L, 11L, 0L)
+            .addValues(underlyingIface, 10100, SET_FOREGROUND, TAG_NONE, 0L, 0L, 0L, 0L, 0L)
+            .addValues(underlyingIface, tunUid, SET_DEFAULT, TAG_NONE, 149873L, 287L,
+                    59217L /* smaller than sum(tun0) */, 299L /* smaller than sum(tun0) */, 0L)
+            .addValues(underlyingIface, tunUid, SET_FOREGROUND, TAG_NONE, 0L, 0L, 0L, 0L, 0L);
+
+        assertTrue(delta.migrateTun(tunUid, tunIface, underlyingIface));
+        assertEquals(17, delta.size());
+
+        // tunIface and TEST_IFACE entries are not changed.
+        assertValues(delta, 0, tunIface, 10100, SET_DEFAULT, TAG_NONE,
+                39605L, 46L, 12259L, 55L, 0L);
+        assertValues(delta, 1, tunIface, 10100, SET_FOREGROUND, TAG_NONE, 0L, 0L, 0L, 0L, 0L);
+        assertValues(delta, 2, tunIface, 10120, SET_DEFAULT, TAG_NONE,
+                72667L, 197L, 43909L, 241L, 0L);
+        assertValues(delta, 3, tunIface, 10120, SET_FOREGROUND, TAG_NONE,
+                9297L, 17L, 4128L, 21L, 0L);
+        assertValues(delta, 4, tunIface, tunUid, SET_DEFAULT, TAG_NONE,
+                4983L, 10L, 1801L, 12L, 0L);
+        assertValues(delta, 5, tunIface, tunUid, SET_FOREGROUND, TAG_NONE, 0L, 0L, 0L, 0L, 0L);
+        assertValues(delta, 6, tunIface, 10120, SET_DEFAULT, testTag1,
+                21691L, 41L, 13820L, 51L, 0L);
+        assertValues(delta, 7, tunIface, 10120, SET_FOREGROUND, testTag1, 1281L, 2L, 665L, 2L, 0L);
+        assertValues(delta, 8, TEST_IFACE, 10100, SET_DEFAULT, TAG_NONE, 1685L, 5L, 2070L, 6L, 0L);
+
+        // Existing underlying Iface entries are updated
+        assertValues(delta, 9, underlyingIface, 10100, SET_DEFAULT, TAG_NONE,
+                44783L, 54L, 13829L, 60L, 0L);
+        assertValues(delta, 10, underlyingIface, 10100, SET_FOREGROUND, TAG_NONE,
+                0L, 0L, 0L, 0L, 0L);
+
+        // VPN underlying Iface entries are updated
+        assertValues(delta, 11, underlyingIface, tunUid, SET_DEFAULT, TAG_NONE,
+                28304L, 27L, 1719L, 12L, 0L);
+        assertValues(delta, 12, underlyingIface, tunUid, SET_FOREGROUND, TAG_NONE,
+                0L, 0L, 0L, 0L, 0L);
+
+        // New entries are added for new application's underlying Iface traffic
+        assertValues(delta, 13, underlyingIface, 10120, SET_DEFAULT, TAG_NONE,
+                72667L, 197L, 41872l, 219L, 0L);
+        assertValues(delta, 14, underlyingIface, 10120, SET_FOREGROUND, TAG_NONE,
+                9297L, 17L, 3936, 19L, 0L);
+        assertValues(delta, 15, underlyingIface, 10120, SET_DEFAULT, testTag1,
+                21691L, 41L, 13179L, 46L, 0L);
+        assertValues(delta, 16, underlyingIface, 10120, SET_FOREGROUND, testTag1,
+                1281L, 2L, 634L, 1L, 0L);
+    }
+
     private static void assertValues(NetworkStats stats, int index, String iface, int uid, int set,
             int tag, long rxBytes, long rxPackets, long txBytes, long txPackets, long operations) {
         final NetworkStats.Entry entry = stats.getValues(index, null);
diff --git a/core/tests/hosttests/test-apps/MultiDexLegacyAndException/Android.mk b/core/tests/hosttests/test-apps/MultiDexLegacyAndException/Android.mk
index 7bf5f65..78e718f 100644
--- a/core/tests/hosttests/test-apps/MultiDexLegacyAndException/Android.mk
+++ b/core/tests/hosttests/test-apps/MultiDexLegacyAndException/Android.mk
@@ -27,6 +27,8 @@
 
 LOCAL_PACKAGE_NAME := MultiDexLegacyAndException
 
+LOCAL_DEX_PREOPT := false
+
 mainDexList:= \
     $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),$(LOCAL_IS_HOST_MODULE),common)/maindex.list
 
@@ -34,15 +36,17 @@
 LOCAL_JACK_FLAGS := -D jack.dex.output.policy=minimal-multidex -D jack.preprocessor=true\
     -D jack.preprocessor.file=$(LOCAL_PATH)/test.jpp -D jack.dex.output.multidex.legacy=true
 
-ifdef LOCAL_USE_JACK
+#################################
+include $(BUILD_SYSTEM)/configure_local_jack.mk
+#################################
+
+ifdef LOCAL_JACK_ENABLED
 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/test.jpp
 endif
 
-LOCAL_DEX_PREOPT := false
-
 include $(BUILD_PACKAGE)
 
-ifndef LOCAL_USE_JACK
+ifndef LOCAL_JACK_ENABLED
 $(mainDexList): $(full_classes_proguard_jar) | $(HOST_OUT_EXECUTABLES)/mainDexClasses
 	$(hide) mkdir -p $(dir $@)
 	$(HOST_OUT_EXECUTABLES)/mainDexClasses $< 1>$@
diff --git a/core/tests/hosttests/test-apps/MultiDexLegacyTestApp/Android.mk b/core/tests/hosttests/test-apps/MultiDexLegacyTestApp/Android.mk
index 416c238..7c699b6 100644
--- a/core/tests/hosttests/test-apps/MultiDexLegacyTestApp/Android.mk
+++ b/core/tests/hosttests/test-apps/MultiDexLegacyTestApp/Android.mk
@@ -27,21 +27,26 @@
 
 LOCAL_PACKAGE_NAME := MultiDexLegacyTestApp
 
+LOCAL_DEX_PREOPT := false
+
 mainDexList:= \
 	$(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),$(LOCAL_IS_HOST_MODULE),common)/maindex.list
 
 LOCAL_DX_FLAGS := --multi-dex --main-dex-list=$(mainDexList) --minimal-main-dex
 LOCAL_JACK_FLAGS := -D jack.dex.output.policy=minimal-multidex -D jack.preprocessor=true\
     -D jack.preprocessor.file=$(LOCAL_PATH)/test.jpp -D jack.dex.output.multidex.legacy=true
-ifdef LOCAL_USE_JACK
+
+#################################
+include $(BUILD_SYSTEM)/configure_local_jack.mk
+#################################
+
+ifdef LOCAL_JACK_ENABLED
 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/test.jpp
 endif
 
-LOCAL_DEX_PREOPT := false
-
 include $(BUILD_PACKAGE)
 
-ifndef LOCAL_USE_JACK
+ifndef LOCAL_JACK_ENABLED
 $(mainDexList): $(full_classes_proguard_jar) | $(HOST_OUT_EXECUTABLES)/mainDexClasses
 	$(hide) mkdir -p $(dir $@)
 	$(HOST_OUT_EXECUTABLES)/mainDexClasses $< 1>$@
@@ -63,21 +68,26 @@
 
 LOCAL_PACKAGE_NAME := MultiDexLegacyTestApp2
 
+LOCAL_DEX_PREOPT := false
+
 mainDexList2:= \
 	$(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),$(LOCAL_IS_HOST_MODULE),common)/maindex.list
 
 LOCAL_DX_FLAGS := --multi-dex --main-dex-list=$(mainDexList2)
 LOCAL_JACK_FLAGS := -D jack.dex.output.policy=multidex -D jack.preprocessor=true\
     -D jack.preprocessor.file=$(LOCAL_PATH)/test.jpp -D jack.dex.output.multidex.legacy=true
-ifdef LOCAL_USE_JACK
+
+#################################
+include $(BUILD_SYSTEM)/configure_local_jack.mk
+#################################
+
+ifdef LOCAL_JACK_ENABLED
 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/test.jpp
 endif
 
-LOCAL_DEX_PREOPT := false
-
 include $(BUILD_PACKAGE)
 
-ifndef LOCAL_USE_JACK
+ifndef LOCAL_JACK_ENABLED
 $(mainDexList2): $(full_classes_proguard_jar) | $(HOST_OUT_EXECUTABLES)/mainDexClasses
 	$(hide) mkdir -p $(dir $@)
 	$(HOST_OUT_EXECUTABLES)/mainDexClasses $< 1>$@
diff --git a/core/tests/hosttests/test-apps/MultiDexLegacyTestServices/Android.mk b/core/tests/hosttests/test-apps/MultiDexLegacyTestServices/Android.mk
index 83ead4b..b85c02c 100644
--- a/core/tests/hosttests/test-apps/MultiDexLegacyTestServices/Android.mk
+++ b/core/tests/hosttests/test-apps/MultiDexLegacyTestServices/Android.mk
@@ -36,7 +36,7 @@
 
 include $(BUILD_PACKAGE)
 
-ifndef LOCAL_USE_JACK
+ifndef LOCAL_JACK_ENABLED
 $(mainDexList): $(full_classes_proguard_jar) | $(HOST_OUT_EXECUTABLES)/mainDexClasses
 	$(hide) mkdir -p $(dir $@)
 	$(HOST_OUT_EXECUTABLES)/mainDexClasses $< 1>$@
diff --git a/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v1/Android.mk b/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v1/Android.mk
index d706ca9..0f1d9c0 100644
--- a/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v1/Android.mk
+++ b/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v1/Android.mk
@@ -26,6 +26,8 @@
 
 LOCAL_STATIC_JAVA_LIBRARIES := android-support-multidex
 
+LOCAL_DEX_PREOPT := false
+
 mainDexList:= \
 	$(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),$(LOCAL_IS_HOST_MODULE),common)/maindex.list
 
@@ -33,15 +35,17 @@
 LOCAL_JACK_FLAGS := -D jack.dex.output.policy=minimal-multidex -D jack.preprocessor=true\
     -D jack.preprocessor.file=$(LOCAL_PATH)/test.jpp -D jack.dex.output.multidex.legacy=true
 
-ifdef LOCAL_USE_JACK
+#################################
+include $(BUILD_SYSTEM)/configure_local_jack.mk
+#################################
+
+ifdef LOCAL_JACK_ENABLED
 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/test.jpp
 endif
 
-LOCAL_DEX_PREOPT := false
-
 include $(BUILD_PACKAGE)
 
-ifndef LOCAL_USE_JACK
+ifndef LOCAL_JACK_ENABLED
 $(mainDexList): $(full_classes_proguard_jar) | $(HOST_OUT_EXECUTABLES)/mainDexClasses
 	$(hide) mkdir -p $(dir $@)
 	$(HOST_OUT_EXECUTABLES)/mainDexClasses $< 1>$@
diff --git a/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v2/Android.mk b/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v2/Android.mk
index 99b2a8b..67ca483 100644
--- a/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v2/Android.mk
+++ b/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v2/Android.mk
@@ -26,6 +26,8 @@
 
 LOCAL_STATIC_JAVA_LIBRARIES := android-support-multidex
 
+LOCAL_DEX_PREOPT := false
+
 mainDexList:= \
 	$(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),$(LOCAL_IS_HOST_MODULE),common)/maindex.list
 
@@ -33,15 +35,17 @@
 LOCAL_JACK_FLAGS := -D jack.dex.output.policy=minimal-multidex -D jack.preprocessor=true\
     -D jack.preprocessor.file=$(LOCAL_PATH)/test.jpp -D jack.dex.output.multidex.legacy=true
 
-ifdef LOCAL_USE_JACK
+#################################
+include $(BUILD_SYSTEM)/configure_local_jack.mk
+#################################
+
+ifdef LOCAL_JACK_ENABLED
 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/test.jpp
 endif
 
-LOCAL_DEX_PREOPT := false
-
 include $(BUILD_PACKAGE)
 
-ifndef LOCAL_USE_JACK
+ifndef LOCAL_JACK_ENABLED
 $(mainDexList): $(full_classes_proguard_jar) | $(HOST_OUT_EXECUTABLES)/mainDexClasses
 	$(hide) mkdir -p $(dir $@)
 	$(HOST_OUT_EXECUTABLES)/mainDexClasses $< 1>$@
diff --git a/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v3/Android.mk b/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v3/Android.mk
index 3ee1c22..bf2efb1 100644
--- a/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v3/Android.mk
+++ b/core/tests/hosttests/test-apps/MultiDexLegacyVersionedTestApp_v3/Android.mk
@@ -29,19 +29,23 @@
 mainDexList:= \
 	$(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),$(LOCAL_IS_HOST_MODULE),common)/maindex.list
 
+LOCAL_DEX_PREOPT := false
+
 LOCAL_DX_FLAGS := --multi-dex --main-dex-list=$(mainDexList) --minimal-main-dex
 LOCAL_JACK_FLAGS := -D jack.dex.output.policy=minimal-multidex -D jack.preprocessor=true\
     -D jack.preprocessor.file=$(LOCAL_PATH)/test.jpp -D jack.dex.output.multidex.legacy=true
 
-ifdef LOCAL_USE_JACK
+#################################
+include $(BUILD_SYSTEM)/configure_local_jack.mk
+#################################
+
+ifdef LOCAL_JACK_ENABLED
 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/test.jpp
 endif
 
-LOCAL_DEX_PREOPT := false
-
 include $(BUILD_PACKAGE)
 
-ifndef LOCAL_USE_JACK
+ifndef LOCAL_JACK_ENABLED
 $(mainDexList): $(full_classes_proguard_jar) | $(HOST_OUT_EXECUTABLES)/mainDexClasses
 	$(hide) mkdir -p $(dir $@)
 	$(HOST_OUT_EXECUTABLES)/mainDexClasses $< 1>$@
diff --git a/data/fonts/Android.mk b/data/fonts/Android.mk
index 80fb1fd..38321a3 100644
--- a/data/fonts/Android.mk
+++ b/data/fonts/Android.mk
@@ -111,49 +111,11 @@
 endef
 
 font_src_files := \
-    Roboto-Regular.ttf \
-    Roboto-Bold.ttf \
-    Roboto-Italic.ttf \
-    Roboto-BoldItalic.ttf \
     Clockopia.ttf \
     AndroidClock.ttf \
     AndroidClock_Highlight.ttf \
     AndroidClock_Solid.ttf
 
-ifeq ($(MINIMAL_FONT_FOOTPRINT),true)
-
-$(eval $(call create-font-symlink,Roboto-Black.ttf,Roboto-Bold.ttf))
-$(eval $(call create-font-symlink,Roboto-BlackItalic.ttf,Roboto-BoldItalic.ttf))
-$(eval $(call create-font-symlink,Roboto-Light.ttf,Roboto-Regular.ttf))
-$(eval $(call create-font-symlink,Roboto-LightItalic.ttf,Roboto-Italic.ttf))
-$(eval $(call create-font-symlink,Roboto-Medium.ttf,Roboto-Regular.ttf))
-$(eval $(call create-font-symlink,Roboto-MediumItalic.ttf,Roboto-Italic.ttf))
-$(eval $(call create-font-symlink,Roboto-Thin.ttf,Roboto-Regular.ttf))
-$(eval $(call create-font-symlink,Roboto-ThinItalic.ttf,Roboto-Italic.ttf))
-$(eval $(call create-font-symlink,RobotoCondensed-Regular.ttf,Roboto-Regular.ttf))
-$(eval $(call create-font-symlink,RobotoCondensed-Bold.ttf,Roboto-Bold.ttf))
-$(eval $(call create-font-symlink,RobotoCondensed-Italic.ttf,Roboto-Italic.ttf))
-$(eval $(call create-font-symlink,RobotoCondensed-BoldItalic.ttf,Roboto-BoldItalic.ttf))
-
-else # !MINIMAL_FONT
-font_src_files += \
-    Roboto-Black.ttf \
-    Roboto-BlackItalic.ttf \
-    Roboto-Light.ttf \
-    Roboto-LightItalic.ttf \
-    Roboto-Medium.ttf \
-    Roboto-MediumItalic.ttf \
-    Roboto-Thin.ttf \
-    Roboto-ThinItalic.ttf \
-    RobotoCondensed-Regular.ttf \
-    RobotoCondensed-Bold.ttf \
-    RobotoCondensed-Italic.ttf \
-    RobotoCondensed-BoldItalic.ttf \
-    RobotoCondensed-Light.ttf \
-    RobotoCondensed-LightItalic.ttf
-
-endif # !MINIMAL_FONT
-
 $(foreach f, $(font_src_files), $(call build-one-font-module, $(f)))
 
 build-one-font-module :=
diff --git a/data/fonts/Roboto-Black.ttf b/data/fonts/Roboto-Black.ttf
deleted file mode 100644
index 79b5f74..0000000
--- a/data/fonts/Roboto-Black.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/Roboto-BlackItalic.ttf b/data/fonts/Roboto-BlackItalic.ttf
deleted file mode 100644
index 4c58b7b..0000000
--- a/data/fonts/Roboto-BlackItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/Roboto-Bold.ttf b/data/fonts/Roboto-Bold.ttf
deleted file mode 100644
index 58397cc..0000000
--- a/data/fonts/Roboto-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/Roboto-BoldItalic.ttf b/data/fonts/Roboto-BoldItalic.ttf
deleted file mode 100644
index 606252c..0000000
--- a/data/fonts/Roboto-BoldItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/Roboto-Italic.ttf b/data/fonts/Roboto-Italic.ttf
deleted file mode 100644
index cc3fd40..0000000
--- a/data/fonts/Roboto-Italic.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/Roboto-Light.ttf b/data/fonts/Roboto-Light.ttf
deleted file mode 100644
index e65c2d2..0000000
--- a/data/fonts/Roboto-Light.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/Roboto-LightItalic.ttf b/data/fonts/Roboto-LightItalic.ttf
deleted file mode 100644
index d5476e7..0000000
--- a/data/fonts/Roboto-LightItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/Roboto-Medium.ttf b/data/fonts/Roboto-Medium.ttf
deleted file mode 100644
index 9263090..0000000
--- a/data/fonts/Roboto-Medium.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/Roboto-MediumItalic.ttf b/data/fonts/Roboto-MediumItalic.ttf
deleted file mode 100644
index 329aab9..0000000
--- a/data/fonts/Roboto-MediumItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/Roboto-Regular.ttf b/data/fonts/Roboto-Regular.ttf
deleted file mode 100644
index c515eca..0000000
--- a/data/fonts/Roboto-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/Roboto-Thin.ttf b/data/fonts/Roboto-Thin.ttf
deleted file mode 100644
index 35ab525..0000000
--- a/data/fonts/Roboto-Thin.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/Roboto-ThinItalic.ttf b/data/fonts/Roboto-ThinItalic.ttf
deleted file mode 100644
index edada2e..0000000
--- a/data/fonts/Roboto-ThinItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/RobotoCondensed-Bold.ttf b/data/fonts/RobotoCondensed-Bold.ttf
deleted file mode 100644
index bcbeece..0000000
--- a/data/fonts/RobotoCondensed-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/RobotoCondensed-BoldItalic.ttf b/data/fonts/RobotoCondensed-BoldItalic.ttf
deleted file mode 100644
index 7680d0a..0000000
--- a/data/fonts/RobotoCondensed-BoldItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/RobotoCondensed-Italic.ttf b/data/fonts/RobotoCondensed-Italic.ttf
deleted file mode 100644
index 04c83a0..0000000
--- a/data/fonts/RobotoCondensed-Italic.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/RobotoCondensed-Light.ttf b/data/fonts/RobotoCondensed-Light.ttf
deleted file mode 100644
index 9f57418..0000000
--- a/data/fonts/RobotoCondensed-Light.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/RobotoCondensed-LightItalic.ttf b/data/fonts/RobotoCondensed-LightItalic.ttf
deleted file mode 100644
index f9eac04..0000000
--- a/data/fonts/RobotoCondensed-LightItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/RobotoCondensed-Regular.ttf b/data/fonts/RobotoCondensed-Regular.ttf
deleted file mode 100644
index 3a06286..0000000
--- a/data/fonts/RobotoCondensed-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fonts/fonts.mk b/data/fonts/fonts.mk
index f285ebe..a5939fa 100644
--- a/data/fonts/fonts.mk
+++ b/data/fonts/fonts.mk
@@ -21,24 +21,6 @@
 
 PRODUCT_PACKAGES := \
     DroidSansFallback.ttf \
-    Roboto-Regular.ttf \
-    Roboto-Bold.ttf \
-    Roboto-Italic.ttf \
-    Roboto-BoldItalic.ttf \
-    Roboto-Black.ttf \
-    Roboto-BlackItalic.ttf \
-    Roboto-Light.ttf \
-    Roboto-LightItalic.ttf \
-    Roboto-Medium.ttf \
-    Roboto-MediumItalic.ttf \
-    Roboto-Thin.ttf \
-    Roboto-ThinItalic.ttf \
-    RobotoCondensed-Regular.ttf \
-    RobotoCondensed-Bold.ttf \
-    RobotoCondensed-Italic.ttf \
-    RobotoCondensed-BoldItalic.ttf \
-    RobotoCondensed-Light.ttf \
-    RobotoCondensed-LightItalic.ttf \
     DroidSansMono.ttf \
     Clockopia.ttf \
     AndroidClock.ttf \
diff --git a/docs/html-intl/intl/ja/distribute/index.jd b/docs/html-intl/intl/ja/distribute/index.jd
new file mode 100644
index 0000000..27f1cb4
--- /dev/null
+++ b/docs/html-intl/intl/ja/distribute/index.jd
@@ -0,0 +1,16 @@
+page.title=Google Play でアプリを配信する
+page.viewport_width=970
+section.landing=true
+header.hide=1
+nonavpage=true
+page.metaDescription=Google Play は最もよく利用されている Android アプリストアです。クラウドと同期された強力な基盤により、ユーザーは簡単に あなたのアプリを見つけてダウンロードできます。
+
+@jd:body
+
+  <div class="resource-widget resource-flow-layout col-16"
+    style="margin-top:20px"
+    data-query="collection:launch/static/ja"
+    data-sortOrder=""
+    data-cardSizes="6x6,6x6,6x2x3,12x6,6x6,6x2x3,6x6,6x6,12x6,6x6"
+    data-maxResults="24"></div>
+
diff --git a/docs/html-intl/intl/ja/training/tv/start/index.jd b/docs/html-intl/intl/ja/training/tv/start/index.jd
index 8f946a1..e8db099 100755
--- a/docs/html-intl/intl/ja/training/tv/start/index.jd
+++ b/docs/html-intl/intl/ja/training/tv/start/index.jd
@@ -1,5 +1,7 @@
-page.title=TV アプリのビルド
+page.title=Android TV アプリ開発
 page.tags=tv, leanback
+page.metaDescription=Android TV 対応アプリ開発の手順が日本語化。
+page.image=design/tv/images/atv-home.jpg
 startpage=true
 
 @jd:body
diff --git a/docs/html/about/dashboards/index.jd b/docs/html/about/dashboards/index.jd
index 4e03108..cfb65a5 100644
--- a/docs/html/about/dashboards/index.jd
+++ b/docs/html/about/dashboards/index.jd
@@ -57,7 +57,7 @@
 </div>
 
 
-<p style="clear:both"><em>Data collected during a 7-day period ending on February 2, 2015.
+<p style="clear:both"><em>Data collected during a 7-day period ending on March 2, 2015.
 <br/>Any versions with less than 0.1% distribution are not shown.</em>
 </p>
 
@@ -88,7 +88,7 @@
 </div>
 
 
-<p style="clear:both"><em>Data collected during a 7-day period ending on February 2, 2015.
+<p style="clear:both"><em>Data collected during a 7-day period ending on March 2, 2015.
 
 <br/>Any screen configurations with less than 0.1% distribution are not shown.</em></p>
 
@@ -108,7 +108,7 @@
 
 
 <img alt="" style="float:right"
-src="//chart.googleapis.com/chart?chl=GL%202.0%7CGL%203.0&chf=bg%2Cs%2C00000000&chd=t%3A68.9%2C31.1&chco=c4df9b%2C6fad0c&cht=p&chs=400x250" />
+src="//chart.googleapis.com/chart?chl=GL%202.0%7CGL%203.0&chf=bg%2Cs%2C00000000&chd=t%3A67.5%2C32.5&chco=c4df9b%2C6fad0c&cht=p&chs=400x250" />
 
 
 <p>To declare which version of OpenGL ES your application requires, you should use the {@code
@@ -127,17 +127,17 @@
 </tr>
 <tr>
 <td>2.0</td>
-<td>68.9%</td>
+<td>67.5%</td>
 </tr>
 <tr>
 <td>3.0</td>
-<td>31.1%</td>
+<td>32.5%</td>
 </tr>
 </table>
 
 
 
-<p style="clear:both"><em>Data collected during a 7-day period ending on February 2, 2015</em></p>
+<p style="clear:both"><em>Data collected during a 7-day period ending on March 2, 2015</em></p>
 
 
 
@@ -155,7 +155,7 @@
 var VERSION_DATA =
 [
   {
-    "chart": "//chart.googleapis.com/chart?chf=bg%2Cs%2C00000000&chd=t%3A0.4%2C7.4%2C6.4%2C44.5%2C39.7%2C1.6&chco=c4df9b%2C6fad0c&chl=Froyo%7CGingerbread%7CIce%20Cream%20Sandwich%7CJelly%20Bean%7CKitKat%7CLollipop&chs=500x250&cht=p",
+    "chart": "//chart.googleapis.com/chart?chl=Froyo%7CGingerbread%7CIce%20Cream%20Sandwich%7CJelly%20Bean%7CKitKat%7CLollipop&chco=c4df9b%2C6fad0c&chd=t%3A0.4%2C6.9%2C5.9%2C42.6%2C40.9%2C3.3&chf=bg%2Cs%2C00000000&chs=500x250&cht=p",
     "data": [
       {
         "api": 8,
@@ -165,37 +165,37 @@
       {
         "api": 10,
         "name": "Gingerbread",
-        "perc": "7.4"
+        "perc": "6.9"
       },
       {
         "api": 15,
         "name": "Ice Cream Sandwich",
-        "perc": "6.4"
+        "perc": "5.9"
       },
       {
         "api": 16,
         "name": "Jelly Bean",
-        "perc": "18.4"
+        "perc": "17.3"
       },
       {
         "api": 17,
         "name": "Jelly Bean",
-        "perc": "19.8"
+        "perc": "19.4"
       },
       {
         "api": 18,
         "name": "Jelly Bean",
-        "perc": "6.3"
+        "perc": "5.9"
       },
       {
         "api": 19,
         "name": "KitKat",
-        "perc": "39.7"
+        "perc": "40.9"
       },
       {
         "api": 21,
         "name": "Lollipop",
-        "perc": "1.6"
+        "perc": "3.3"
       }
     ]
   }
@@ -210,18 +210,18 @@
         "hdpi": "0.6",
         "ldpi": "0.5",
         "mdpi": "5.1",
-        "tvdpi": "2.2",
+        "tvdpi": "2.3",
         "xhdpi": "0.6"
       },
       "Normal": {
-        "hdpi": "38.3",
-        "mdpi": "8.7",
+        "hdpi": "38.7",
+        "mdpi": "8.4",
         "tvdpi": "0.1",
-        "xhdpi": "18.8",
-        "xxhdpi": "15.9"
+        "xhdpi": "18.9",
+        "xxhdpi": "15.8"
       },
       "Small": {
-        "ldpi": "4.8"
+        "ldpi": "4.6"
       },
       "Xlarge": {
         "hdpi": "0.3",
@@ -229,8 +229,8 @@
         "xhdpi": "0.6"
       }
     },
-    "densitychart": "//chart.googleapis.com/chart?chf=bg%2Cs%2C00000000&chd=t%3A5.3%2C17.3%2C2.3%2C39.2%2C20.0%2C15.9&chco=c4df9b%2C6fad0c&chl=ldpi%7Cmdpi%7Ctvdpi%7Chdpi%7Cxhdpi%7Cxxhdpi&chs=400x250&cht=p",
-    "layoutchart": "//chart.googleapis.com/chart?chf=bg%2Cs%2C00000000&chd=t%3A4.4%2C9.0%2C81.8%2C4.8&chco=c4df9b%2C6fad0c&chl=Xlarge%7CLarge%7CNormal%7CSmall&chs=400x250&cht=p"
+    "densitychart": "//chart.googleapis.com/chart?chl=ldpi%7Cmdpi%7Ctvdpi%7Chdpi%7Cxhdpi%7Cxxhdpi&chco=c4df9b%2C6fad0c&chd=t%3A5.1%2C17.0%2C2.4%2C39.6%2C20.1%2C15.8&chf=bg%2Cs%2C00000000&chs=400x250&cht=p",
+    "layoutchart": "//chart.googleapis.com/chart?chl=Xlarge%7CLarge%7CNormal%7CSmall&chco=c4df9b%2C6fad0c&chd=t%3A4.4%2C9.1%2C81.9%2C4.6&chf=bg%2Cs%2C00000000&chs=400x250&cht=p"
   }
 ];
 
diff --git a/docs/html/google/play-services/wallet.jd b/docs/html/google/play-services/wallet.jd
index e5ed514..744c8d3 100644
--- a/docs/html/google/play-services/wallet.jd
+++ b/docs/html/google/play-services/wallet.jd
@@ -17,14 +17,14 @@
     available to US-based merchants. Once you've completed integration, you can
     apply for production access by <a class="external-link" href="https://support.google.com/wallet/business/contact/ui_review">submitting your sandbox integration for review</a>.</p>
 
-  <p>Check out the <a 
+  <p>Check out the <a
   href="{@docRoot}reference/com/google/android/gms/wallet/package-summary.html">Instant
   Buy API reference</a> and visit
   <a href="https://developers.google.com/wallet/instant-buy/">developers.google.com/wallet/instant-buy/</a>
   for complete information about integrating Google Wallet Instant Buy into your app.</p>
 </div>
 
-<div class="col-4"> 
+<div class="col-4">
   <img src="{@docRoot}images/google/gps-wallet-instant.png" alt="" style="padding-bottom:14px;width:210px">
 </div>
 </div>
@@ -44,16 +44,16 @@
       <h4>Streamline Purchases with Google+ Sign-On</h4>
       <p>For users ready to purchase, you can simplify the login and account creation steps
       by adding Google+ sign in. Users can sign in with a single click and share their
-      profile information during the purchase. 
+      profile information during the purchase.
       <br />
       <a href="https://developers.google.com/commerce/wallet/instant-buy/wallet-sso#android"
       class="external-link">Add Google+ Sign-In for Wallet</a>.</p>
-       
+
       <h4>Minimize User Data Entry</h4>
       <p>Google Wallet provides auto-completion of addresses, minimizing user data entry. You can also
       retrieve billing and shipping addresses directly from the user’s Wallet to-do form pre-fills.<br />
       <a class="external-link"
-      href="https://developers.google.com/commerce/wallet/instant-buy/android/reference/com/google/android/gms/wallet/MaskedWallet#getBillingAddress()">Get
+      href="{@docRoot}reference/com/google/android/gms/wallet/MaskedWallet.html#getBillingAddress()">Get
       billing addresses</a>.</p>
   </div>
 
@@ -75,7 +75,7 @@
     class="external-link" href="https://developers.google.com/wallet/instant-buy/android/tutorial">Instant Buy Android API tutorial</a>
     provides directions on how to get the Wallet sample up and running.</p>
     <h4>3. Read the documentation</h4>
-    <p>For quick access while developing your Android apps, the <a 
+    <p>For quick access while developing your Android apps, the <a
     href="{@docRoot}reference/com/google/android/gms/wallet/package-summary.html">Google Wallet
     API reference</a> is available here on developer.android.com.</p>
 
diff --git a/docs/html/google/play/billing/billing_reference.jd b/docs/html/google/play/billing/billing_reference.jd
index da9178d..01e680f 100644
--- a/docs/html/google/play/billing/billing_reference.jd
+++ b/docs/html/google/play/billing/billing_reference.jd
@@ -12,6 +12,7 @@
     <ol>
       <li><a href="#getSkuDetails">getSkuDetails()</a></li>
       <li><a href="#getBuyIntent">getBuyIntent()</a></li>
+      <li><a href="#upgrade-getBuyIntentToReplaceSkus">getBuyIntentToReplaceSkus()</a></li>
       <li><a href="#getPurchases">getPurchases()</a></li>
     </ol>
     </li>
@@ -107,8 +108,8 @@
   </tr>
   <tr>
     <td>{@code type}</td>
-    <td>Value must be “inapp” for an in-app product or "subs" for
-subscriptions.</td>
+    <td>Value must be <code>“inapp”</code> for an in-app product or
+      <code>"subs"</code> for subscriptions.</td>
   </tr>
   <tr>
     <td>{@code price}</td>
@@ -140,7 +141,17 @@
 </p>
 
 <h3 id="getBuyIntent">The getBuyIntent() method</h3>
-<p>This method returns a response code integer mapped to the {@code RESPONSE_CODE} key, and a {@code PendingIntent} to launch the puchase flow for the in-app item mapped to the {@code BUY_INTENT} key. When it receives the {@code PendingIntent}, Google Play sends a response {@code Intent} with the data for that purchase order.  The data that is returned in the response {@code Intent} is summarized in table 3.</p>
+<p>
+  This method returns a response code integer mapped to the {@code
+  RESPONSE_CODE} key, and a {@link android.app.PendingIntent} to launch the
+  purchase flow for the in-app item mapped to the {@code BUY_INTENT} key, as
+  described in <a href=
+  "{@docRoot}google/play/billing/billing_integrate.html#purchase">Purchasing an
+  Item</a>. When it receives the {@link android.app.PendingIntent}, Google Play
+  sends a response {@code Intent} with the data for that purchase order. The
+  data that is returned in the response {@code Intent} is summarized in table
+  3.
+</p>
 
 <p class="table-caption" id="purchase-pendingintent-response-table">
 <strong>Table 3.</strong>  Response data from an In-app Billing Version 3 purchase request.</p>
@@ -151,7 +162,7 @@
   </tr>
   <tr>
     <td>{@code RESPONSE_CODE}</td>
-    <td>0 if the purchase was success, error otherwise.</td>
+    <td>Value is <code>0</code> if the purchase was success, error otherwise.</td>
   </tr>
   <tr>
     <td>{@code INAPP_PURCHASE_DATA}</td>
@@ -176,9 +187,22 @@
     <th scope="col">Field</th>
     <th scope="col">Description</th>
   </tr>
+    <tr>
+    <td>{@code autoRenewing}</td>
+    <td>Indicates whether the subscription renews automatically. If
+      <code>true</code>, the subscription is active, and will
+      automatically renew on the next billing date. If <code>false</code>,
+      indicates that the user has canceled the subscription. The user has
+      access to subscription content until the next billing date and will
+      lose access at that time unless they re-enable automatic renewal
+      (or manually renew, as described in
+      <a href="{@docRoot}google/play/billing/billing_subscriptions.html#manual-renewal">Manual
+      Renewal</a>).</td>
+  </tr>
   <tr>
     <td>{@code orderId}</td>
-    <td>A unique order identifier for the transaction. This corresponds to the Google Wallet Order ID.</td>
+    <td>A unique order identifier for the transaction. This identifier
+      corresponds to the Google Wallet Order ID.</td>
   </tr>
   <tr>
     <td>{@code packageName}</td>
@@ -194,7 +218,8 @@
   </tr>
   <tr>
     <td>{@code purchaseState}</td>
-    <td>The purchase state of the order. Possible values are 0 (purchased), 1 (canceled), or 2 (refunded).</td>
+    <td>The purchase state of the order. Possible values are <code>0</code>
+      (purchased), <code>1</code> (canceled), or <code>2</code> (refunded).</td>
   </tr>
   <tr>
     <td>{@code developerPayload}</td>
@@ -202,20 +227,48 @@
   </tr>
   <tr>
     <td>{@code purchaseToken}</td>
-    <td>A token that uniquely identifies a purchase for a given item and user
-    pair. This token may be up to 1,000 characters long.
-    Pass this entire token to other methods, such as when you consume the
-    purchase (as described in
-<a href="{@docRoot}training/in-app-billing/purchase-iab-products.html#Consume">Consume
-    a Purchase</a>). Do not abbreviate or truncate this token.</td>
+    <td>A token that uniquely identifies a purchase for a given item and user pair. </td>
   </tr>
 </table>
 </p>
 
-<h3 id="getPurchases">The getPurchases() method</h3>
-<p>This method returns the current un-consumed products owned by the user. Table 5 lists the response data that is returned in the {@code Bundle}.</p>
-<p class="table-caption" id="getpurchases-response-table">
-<strong>Table 5.</strong> Response data from a {@code getPurchases} request.</p>
+<h3 id="upgrade-getBuyIntentToReplaceSkus">The getBuyIntentToReplaceSkus()
+  method</h3>
+
+<p>This method is used to upgrade or downgrade a subscription purchase. The method
+is similar to <a href="#getBuyIntent"><code>getBuyIntent()</code></a>, except
+that it takes a list of already-purchased SKUs that are to be
+replaced with the SKU being purchased. When the user completes the purchase,
+Google Play cancels the old SKUs and credits the user with the unused value of
+their subscription time on a pro-rated basis. Google Play applies this credit
+to the new subscription, and does not begin billing the user for the new
+subscription until after the credit is used up.</p>
+
+<p>This method was added with version 5 of the in-app billing API. To verify
+that the method is reported, send an <code>isBillingSupported</code> AIDL
+request.</p>
+
+<p class="note"><strong>Note:</strong> You can only use this method for
+subscription purchases. If the passed <code>type</code> parameter is anything
+other than <code>"subs"</code>, the method returns
+<a href="#billing-codes"><code>BILLING_RESPONSE_RESULT_DEVELOPER_ERROR</code></a>.
+Furthermore, the passed SKUs may not include SKUs for seasonal
+subscriptions.</p>
+
+<p>
+  This method returns a response code integer mapped to the {@code
+  RESPONSE_CODE} key, and a {@link android.app.PendingIntent} to launch the
+  purchase flow for the in-app subscription mapped to the {@code BUY_INTENT}
+  key, as described in <a href=
+  "{@docRoot}google/play/billing/billing_integrate.html#purchase">Purchasing an
+  Item</a>. When it receives the {@link android.app.PendingIntent}, Google Play
+  sends a response {@code Intent} with the data for that purchase order. The
+  data that is returned in the response {@code Intent} is summarized in table
+  5.
+</p>
+
+<p class="table-caption" id="upgrade-purchase-pendingintent-response-table">
+<strong>Table 5.</strong> Response data from an In-app Billing Version 5 purchase request.</p>
 <table>
   <tr>
     <th scope="col">Key</th>
@@ -223,7 +276,39 @@
   </tr>
   <tr>
     <td>{@code RESPONSE_CODE}</td>
-    <td>0 if the request was successful, error otherwise.</td>
+    <td>Value is <code>0</code> if the purchase succeeds. If the purchase fails, contains an error
+      code.</td>
+  </tr>
+  <tr>
+    <td>{@code INAPP_PURCHASE_DATA}</td>
+    <td>
+       A String in JSON format that contains details about the purchase order.
+       See <a href="#purchase-data-table">table 4</a> for a description of the JSON fields.
+    </td>
+  </tr>
+  <tr>
+    <td>{@code INAPP_DATA_SIGNATURE}</td>
+    <td>String containing the signature of the purchase data that the developer
+      signed with their private key. The data signature uses the
+      RSASSA-PKCS1-v1_5 scheme.</td>
+  </tr>
+</table>
+</p>
+
+</p>
+
+<h3 id="getPurchases">The getPurchases() method</h3>
+<p>This method returns the current un-consumed products owned by the user. Table 5 lists the response data that is returned in the {@code Bundle}.</p>
+<p class="table-caption" id="getpurchases-response-table">
+<strong>Table 6.</strong> Response data from a {@code getPurchases} request.</p>
+<table>
+  <tr>
+    <th scope="col">Key</th>
+    <th scope="col">Description</th>
+  </tr>
+  <tr>
+    <td>{@code RESPONSE_CODE}</td>
+    <td>Value is <code>0</code> if the request was successful, error otherwise.</td>
   </tr>
   <tr>
     <td>{@code INAPP_PURCHASE_ITEM_LIST}</td>
diff --git a/docs/html/google/play/billing/billing_subscriptions.jd b/docs/html/google/play/billing/billing_subscriptions.jd
index b9b77df..8f55354e 100644
--- a/docs/html/google/play/billing/billing_subscriptions.jd
+++ b/docs/html/google/play/billing/billing_subscriptions.jd
@@ -1,4 +1,4 @@
-page.title=In-App Subscriptions
+page.title=In-app Subscriptions
 parent.title=In-app Billing
 parent.link=index.html
 page.metaDescription=Subscriptions let you sell content or features in your app with automated, recurring billing.
@@ -21,6 +21,11 @@
         Developer API</a>.</li>
     <li>Users purchase your subscriptions from inside your apps, rather than
         directly from Google Play.</li>
+    <li>Users can renew their subscriptions while a current subscription is
+        active.</li>
+    <li>Users can upgrade or downgrade a subscription in the middle of a
+        subscription period. The old subscription's cost is pro-rated, and the
+        unused portion is applied to the replacement subscription.</li>
     <li>You can defer billing for a particular user's subscription, to manage
         accounts or offer rewards.</li>
   </ul>
@@ -206,6 +211,65 @@
 billing errors that may occur. Your backend servers can use the server-side API 
 to query and update your records and follow up with customers directly, if needed.</p>
 
+<h3 id="manual-renewal">Manual Renewal</h3>
+
+<p>With version 5 of the In-app Billing API, users can renew a subscription
+during its active period even if the subscription is not set to
+automatically renew. If the user purchases a subscription while the subscription
+is active, it is extended by the appropriate period at the current rate.</p>
+
+<p>For example, Achilles has a subscription to the <em>Modern Hoplite</em> app.
+His subscription is currently due to expire on August 1. On July 10, he
+purchases a 3-month subscription at the current rate. Those three months are
+added to his existing subscription, so the subscription now expires on November
+1.</p>
+
+<p>It is up to the app to convey this with an appropriate UI. For example, if a
+user does not have an active subscription, the app might have a
+<strong>buy</strong> button, but if the user has a subscription the button might
+say <strong>renew</strong>.</p>
+
+<h3 id="upgrade">Subscription Upgrade/Downgrade</h3>
+
+<p>
+  With version 5 of the In-app Billing API, users can upgrade or downgrade a
+  subscription during its active period. When the user does this, the active
+  subscription is canceled and a new subscription is created. The unused
+  balance of the old subscription is applied on a pro-rated basis to the new
+  subscription. The first billing period for the new subscription begins after
+  that balance is used up. (The new subscription does not need to have a period
+  of the same length as the old one.)
+</p>
+
+<p>For example, Samwise has a subscription to online content from the
+<em>Country Gardener</em> app. He currently has a monthly subscription to the
+Tier 1
+version of the content (which has text-only content). This subscription costs
+him £2/month, and renews on the first of the month. On April
+15, he chooses to upgrade to the Tier 2 subscription (which includes video
+updates), costing £3/month. His Tier 1 subscription is immediately ended.
+Since he paid for a full month (April 1-30), but only used half of it, half of a
+month's subscription (£1) is applied to his new subscription. However, since
+that new subscription costs £3/month, the £1 credit balance only pays for ten
+days. So Samwise's credit pays for his subscription from April 15-25. On April
+26, he is charged £3 for his new subscription, and another £3 on the 26th of
+each month following.</p>
+
+<p class="note">
+  <strong>Note:</strong> The new subscription's billing date depends on when
+  the subscriber's pro-rated credit runs out, so the subscriber cannot upgrade
+  or downgrade to a seasonal subscription, which has fixed and predetermined
+  beginning and end dates.
+</p>
+
+<p>When a user upgrades or downgrades a subscription, your app calls
+<a href="{@docRoot}google/play/billing/billing_reference.html#upgrade-getBuyIntentToReplaceSkus">
+<code>getBuyIntentToReplaceSkus()</code></a>.
+This method is passed the new SKU the user wants to buy, and all
+the old SKUs that are superseded by it. The remaining portions of the old SKUs
+are used to pay for the new subscription, and billing begins when this credit
+is used up.</p>
+
 <h3 id="deferred-billing">Deferred Billing</h3>
 
 <p>Using the
@@ -316,7 +380,7 @@
 
 <p>When the user cancels a subscription, Google Play does not offer a refund for
 the current billing cycle. Instead, it allows the user to have access to the
-cancelled subscription until the end of the current billing cycle, at which time
+canceled subscription until the end of the current billing cycle, at which time
 it terminates the subscription. For example, if a user purchases a monthly
 subscription and cancels it on the 15th day of the cycle, Google Play will
 consider the subscription valid until the end of the 30th day (or other day,
@@ -357,12 +421,12 @@
 <p>If you receive requests for refunds, you can use the
 <a href="{@docRoot}google/play/billing/gp-purchase-status-api.html">Google Play
 Developer API</a> or the Merchant Center to cancel the subscription, verify that it
-is already cancelled, or refund the user's payment without cancelling it. You
+is already canceled, or refund the user's payment without canceling it. You
 can also use the
 <a href="{@docRoot}google/play/billing/gp-purchase-status-api.html">Google
 Play Developer API</a> to <em>refund and revoke</em> a
 user's subscription. If you refund and revoke a subscription, the user's
-subscription is immediately cancelled, and the user's most recent subscription
+subscription is immediately canceled, and the user's most recent subscription
 payment is refunded. (If you want to refund more than the most recent payment,
 you can process additional refunds through the Merchant Center.)</p>
 
@@ -423,7 +487,7 @@
     <li>Remotely query the validity of a specific subscription at any time</li>
     <li>Cancel a subscription</li>
     <li>Defer a subscription's next billing date</li>
-    <li>Refund a subscription payment without cancelling the subscription</li>
+    <li>Refund a subscription payment without canceling the subscription</li>
     <li>Refund and revoke a subscription</li>
   </ul>
 
diff --git a/docs/html/google/play/billing/billing_testing.jd b/docs/html/google/play/billing/billing_testing.jd
index 36456cc..44b3286 100644
--- a/docs/html/google/play/billing/billing_testing.jd
+++ b/docs/html/google/play/billing/billing_testing.jd
@@ -25,8 +25,8 @@
 implementation:</p>
 
 <ul>
-<li>Test purchases, which let test account users make real purchase your published in-app items,
-but without any actual charges to the user accounts.</li>
+<li>Test purchases, which let license-test users purchase your published in-app
+    items, but without any actual charges to their accounts.</li>
 <li>Static billing responses from Google Play, for testing in early development</p>
 </ul>
 
@@ -43,14 +43,13 @@
 
 <p>When your In-app Billing implementation is ready, you can test purchasing of your in-app SKUs in two ways:</p>
 
-<ul>
-<li><strong>Test purchases</strong>, which let your selected license test users
-purchase your in-app products before the app is published, but without any
-resulting charges to the user, and </li>
+<ul> <li><strong>Test purchases</strong>, which let your selected license-test
+users purchase your in-app products without any resulting charges to the user.
+Test purchases can be used in alpha/beta releases or in published apps. </li>
 <li><strong>Real purchases</strong>, which let regular users make real purchases
 of your in-app products with actual charges to the user’s payment instruments.
-In this case, you can use Google Play’s alpha and beta release groups to manage
-the users who can make “live” purchases using your implementation.  </li>
+You can use Google Play’s alpha and beta release groups to manage
+the users who can make live purchases using your implementation.  </li>
 </ul>
 
 <p>The sections below provide more detail about how to use these approaches for
@@ -61,16 +60,21 @@
 <p>Test purchases offer a secure, convenient way to enable larger-scale testing
 of your In-app Billing implementation during development or in preparation for
 launch. They let authorized user accounts make purchases of your in-app products
-through Google Play while the app is still unpublished, without incurring any
-actual charges to the user accounts.</p>
+through Google Play without incurring any actual charges to the user
+accounts.</p>
 
-<p>Once authorized with testing access, those users can side-load your app and
-test the full merchandising, purchase, and fulfillment flow for your products.
+<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. 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 class="note">
+  <strong>Note:</strong> Test subscription purchases recur daily, regardless of
+  the product's subscription period.
+</p>
+
 <h4 id="setup">Setting up test purchases</h4>
 
 <p>It’s easy to set up test purchases&mdash;any user account can be chosen to be
@@ -91,14 +95,13 @@
 
 <p>Once you’ve added the users as license tester accounts and saved the change,
 within 15 minutes those users can begin making test purchases of your in-app
-products. You can then distribute your app to your testers and provide a means
-of getting feedback. </p>
+products.</p>
 
 <p class="note"><strong>Note</strong>: To make test purchases, the license test
 account must be on the user’s Android device. If the device has more than one
 account, the purchase will be made with the account that downloaded the app. If
 none of the accounts has downloaded the app, the purchase is made with the first
-account.Users can confirm the account that is making a purchase by expanding the
+account. Users can confirm the account that is making a purchase by expanding the
 purchase dialog.</p>
 
 <h4 id="tp-account">Test purchases and developer account</h4>
@@ -114,13 +117,13 @@
 with a notice across the center of the purchase dialog, for easy identification.
 </p>
 
-<h4 id="cancelling">Cancelling completed test purchases</h4>
+<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 cancelling them. </p>
+the purchases by canceling them. </p>
 
 <p>In some cases, you might want to manually cancel a test purchase to continue
-testing. For cancelling purchases, you have these options:</p>
+testing. For canceling purchases, you have these options:</p>
 
 <ul>
 <li>Wait for the transactions to expire&mdash;Google Play clears completed test
@@ -130,13 +133,6 @@
 by looking up their order numbers.</li>
 </ul>
 
-<h4 id="requirements">Requirements for using test purchases</h4>
-<p>If you plan to use test purchases, please note the requirements and limitations below: </p>
-<ul>
-<li>Test purchases is only supported for license test accounts when the app is using the In-app Billing v3 API.</li>
-<li>Test purchases are only supported for in-app products, not for in-app subscriptions.</li>
-</ul>
-
 <h3 id="transations">Testing with real transactions</h3>
 <p>As you prepare to launch an app that uses In-app Billing, you can make use of
 Google Play alpha/beta release options to do validation and load testing on your
@@ -276,8 +272,8 @@
 href="{@docRoot}google/play/billing/billing_admin.html#billing-testing-setup">Setting up test
 accounts</a>.</p>
 
-<p>Also, a test account can purchase an item in your product list only if the item is published. The
-application does not need to be published, but the item does need to be published.</p>
+<p>A test account can purchase an item in your product list only if the
+item is published.</p>
 
 <p>To test your In-app Billing implementation with actual purchases, follow these steps:</p>
 
diff --git a/docs/html/google/play/billing/index.jd b/docs/html/google/play/billing/index.jd
index bdbf5c7..47620c8 100644
--- a/docs/html/google/play/billing/index.jd
+++ b/docs/html/google/play/billing/index.jd
@@ -14,6 +14,16 @@
 <div class="sidebox">
   <h2><strong>New in In-App Billing</strong></h2>
   <ul>
+  <li><strong>Subscription Upgrade/Downgrade</strong>&mdash;A user can
+    subscribe to a higher or lower tier of subscription while their current
+    subscription is active. The old subscription is canceled, and the unused
+    portion is applied on a pro-rated basis to the new subscription.</li>
+  <li><strong>Manual Subscription Renewal</strong>&mdash;A user can purchase
+    a subscription at the current rate while their existing subscription is
+    still active. The existing subscription is extended by the appropriate
+    period.</li>
+  <li><strong>IAB Sandbox</strong>&mdash;The In-app Billing Sandbox now supports
+    testing subscription purchases.</li>
   <li><strong>IAB v2 shutdown</strong>&mdash;In-app Billing v2 API is deprecated and will be shut down in January 2015. If your app is still using In-app Billing v2, please migrate to the v3 API as soon as possible.</li>
   <li><strong>Seasonal subscriptions</strong>&mdash;You can now set up a
     recurring <a href="billing_subscriptions.html#user-billing">seasonal
@@ -35,7 +45,6 @@
     subscription ends
     immediately, and his or her most recent subscription payment is
     refunded.</li>
-  <li><strong>In-app Billing Version 3</strong>&mdash;The <a href="{@docRoot}google/play/billing/api.html">latest version</a> of In-app Billing features a synchronous API that is easier to implement and lets you manage in-app products and subscriptions more effectively.</li>
  </ul>
 </div>
 </div>
diff --git a/docs/html/google/play/billing/versions.jd b/docs/html/google/play/billing/versions.jd
index dbe3ea3..aa35501 100644
--- a/docs/html/google/play/billing/versions.jd
+++ b/docs/html/google/play/billing/versions.jd
@@ -11,10 +11,30 @@
 <p>At run time, your app can query the Google Play Store app to determine what version of the API it supports and what features are available. </p>
 
 <ul>
-<li>If you are using in-app  billing version 3, the version information is not directly returned the Google Play. Instead, you can check if Google Play supports the version of the In-app Billing API that you are using by sending a {@code isBillingSupported} request.</li>
+
+<li>If you are using in-app billing version 3 or later, the version information
+is not directly returned by Google Play. Instead, you can check if Google Play
+supports the version of the In-app Billing API that you are using by sending an
+{@code isBillingSupported} request.</li>
+
 <li>If the In-app Billing API version that you are using is earlier than version 3, the version information is returned in the <code>API_VERSION</code> key of the Bundle object passed in the {@code sendBillingRequest} method. For more information, see <a href="{@docRoot}google/play/billing/v2/billing_reference.html#billing-interface-v2">In-app Billing Service Interface</a>.</li>
 </ul>
 
+<h3 id="version_5">In-app Billing version 5</h3>
+<p><em>February 2015</em></p>
+<ul>
+<li>A user can manually extend an existing subscription. The subscription
+is extended by the appropriate amount of time.</li>
+<li>A user can upgrade or downgrade a subscription while it is active. The
+old subscription is canceled, and the unused portion is applied on a pro-rata
+basis to the new subscription.</li>
+</ul>
+
+<h3 id="version_4">In-app Billing version 4</h3>
+
+<p>Version 4 of the In-app Billing API did not introduce any public
+functionality.</p>
+
 <h3 id="version_3">In-app Billing version 3</h3>
 <p><em>February 2013</em></p>
 <ul>
diff --git a/docs/html/guide/components/intents-common.jd b/docs/html/guide/components/intents-common.jd
index 16965b3..167ebde 100644
--- a/docs/html/guide/components/intents-common.jd
+++ b/docs/html/guide/components/intents-common.jd
@@ -50,15 +50,6 @@
       <li><a href="#OpenFile">Open a specific type of file</a></li>
     </ol>
   </li>
-  <li><a href="#Fitness">Fitness</a>
-    <ol>
-      <li><a href="#TrackRide">Start/Stop a bike ride</a></li>
-      <li><a href="#TrackRun">Start/Stop a run</a></li>
-      <li><a href="#TrackWorkout">Start/Stop a workout</a></li>
-      <li><a href="#ShowHR">Show heart rate</a></li>
-      <li><a href="#ShowStepCount">Show step count</a></li>
-    </ol>
-  </li>
   <li><a href="#Local">Local Actions</a>
     <ol>
       <li><a href="#CallCar">Call a car</a></li>
@@ -1348,391 +1339,6 @@
 
 
 
-
-
-
-
-
-<h2 id="Fitness">Fitness</h2>
-
-<h3 id="TrackRide">Start/Stop a bike ride</h3>
-
-<!-- Google Now box -->
-<div class="now-box">
-  <div class="now-img-cont">
-    <a href="#Now">
-      <img src="{@docRoot}guide/components/images/voice-icon.png" class="now-img"
-           width="30" height="30" alt=""/>
-    </a>
-  </div>
-  <p class="now-title">Google Now</p>
-  <ul>
-    <li>"start cycling"</li>
-    <li>"start my bike ride"</li>
-    <li>"stop cycling"</li>
-  </ul>
-</div>
-
-<p>To track a bike ride, use the
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
-<code>ACTION_TRACK</code></a> action with the <code>"vnd.google.fitness.activity/biking"</code>
-MIME type and set the
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#EXTRA_STATUS">
-<code>EXTRA_STATUS</code></a> extra to
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_ACTIVE">
-<code>STATUS_ACTIVE</code></a> when starting and to
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_COMPLETED">
-<code>STATUS_COMPLETED</code></a> when stopping.</p>
-
-<dl>
-  <dt><b>Action</b></dt>
-  <dd><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
-      <code>ACTION_TRACK</code></a><dd>
-
-  <dt><b>Data URI</b></dt>
-  <dd>None</dd>
-
-  <dt><b>MIME Type</b></dt>
-  <dd><code>"vnd.google.fitness.activity/biking"</code></dd>
-
-  <dt><b>Extras</b></dt>
-  <dd>
-    <dl>
-      <dt><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#EXTRA_STATUS">
-          <code>EXTRA_STATUS</code></a></dt>
-      <dd>A string with the value <a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_ACTIVE">
-          <code>STATUS_ACTIVE</code></a> when starting and
-      <a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_COMPLETED">
-          <code>STATUS_COMPLETED</code></a> when stopping.</dd>
-    </dl>
-  </dd>
-</dl>
-
-
-<p><b>Example intent:</b></p>
-<pre>
-public void startBikeRide() {
-    Intent intent = new Intent(FitnessIntents.ACTION_TRACK)
-            .setType("vnd.google.fitness.activity/biking")
-            .putExtra(FitnessIntents.EXTRA_STATUS, FitnessIntents.STATUS_ACTIVE);
-    if (intent.resolveActivity(getPackageManager()) != null) {
-        startActivity(intent);
-    }
-}
-</pre>
-
-
-<p><b>Example intent filter:</b></p>
-<pre>
-&lt;activity ...>
-    &lt;intent-filter>
-        &lt;action android:name="vnd.google.fitness.TRACK" />
-        &lt;data android:mimeType="vnd.google.fitness.activity/biking" />
-        &lt;category android:name="android.intent.category.DEFAULT" />
-    &lt;/intent-filter>
-&lt;/activity>
-</pre>
-
-
-
-
-
-<h3 id="TrackRun">Start/Stop a run</h3>
-
-<!-- Google Now box -->
-<div class="now-box">
-  <div class="now-img-cont">
-    <a href="#Now">
-      <img src="{@docRoot}guide/components/images/voice-icon.png" class="now-img"
-           width="30" height="30" alt=""/>
-    </a>
-  </div>
-  <p class="now-title">Google Now</p>
-  <ul>
-    <li>"track my run"</li>
-    <li>"start running"</li>
-    <li>"stop running"</li>
-  </ul>
-</div>
-
-<p>To track a run, use the
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
-<code>ACTION_TRACK</code></a> action with the <code>"vnd.google.fitness.activity/running"</code>
-MIME type and set the
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#EXTRA_STATUS">
-<code>EXTRA_STATUS</code></a> extra to
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_ACTIVE">
-<code>STATUS_ACTIVE</code></a> when starting and to
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_COMPLETED">
-<code>STATUS_COMPLETED</code></a> when stopping.</p>
-
-<dl>
-  <dt><b>Action</b></dt>
-  <dd><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
-      <code>ACTION_TRACK</code></a><dd>
-
-  <dt><b>Data URI</b></dt>
-  <dd>None</dd>
-
-  <dt><b>MIME Type</b></dt>
-  <dd><code>"vnd.google.fitness.activity/running"</code></dd>
-
-  <dt><b>Extras</b></dt>
-  <dd>
-    <dl>
-      <dt><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#EXTRA_STATUS">
-          <code>EXTRA_STATUS</code></a></dt>
-      <dd>A string with the value <a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_ACTIVE">
-          <code>STATUS_ACTIVE</code></a> when starting and
-      <a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_COMPLETED">
-          <code>STATUS_COMPLETED</code></a> when stopping.</dd>
-    </dl>
-  </dd>
-</dl>
-
-
-<p><b>Example intent:</b></p>
-<pre>
-public void startRun() {
-    Intent intent = new Intent(FitnessIntents.ACTION_TRACK)
-            .setType("vnd.google.fitness.activity/running")
-            .putExtra(FitnessIntents.EXTRA_STATUS, FitnessIntents.STATUS_ACTIVE);
-    if (intent.resolveActivity(getPackageManager()) != null) {
-        startActivity(intent);
-    }
-}
-</pre>
-
-
-<p><b>Example intent filter:</b></p>
-<pre>
-&lt;activity ...>
-    &lt;intent-filter>
-        &lt;action android:name="vnd.google.fitness.TRACK" />
-        &lt;data android:mimeType="vnd.google.fitness.activity/running" />
-        &lt;category android:name="android.intent.category.DEFAULT" />
-    &lt;/intent-filter>
-&lt;/activity>
-</pre>
-
-
-
-
-<h3 id="TrackWorkout">Start/Stop a workout</h3>
-
-<!-- Google Now box -->
-<div class="now-box">
-  <div class="now-img-cont">
-    <a href="#Now">
-      <img src="{@docRoot}guide/components/images/voice-icon.png" class="now-img"
-           width="30" height="30" alt=""/>
-    </a>
-  </div>
-  <p class="now-title">Google Now</p>
-  <ul>
-    <li>"start a workout"</li>
-    <li>"track my workout"</li>
-    <li>"stop workout"</li>
-  </ul>
-</div>
-
-<p>To track a workout, use the
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
-<code>ACTION_TRACK</code></a> action with the <code>"vnd.google.fitness.activity/other"</code>
-MIME type and set the
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#EXTRA_STATUS">
-<code>EXTRA_STATUS</code></a> extra to
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_ACTIVE">
-<code>STATUS_ACTIVE</code></a> when starting and to
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_COMPLETED">
-<code>STATUS_COMPLETED</code></a> when stopping.</p>
-
-<dl>
-  <dt><b>Action</b></dt>
-  <dd><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
-      <code>ACTION_TRACK</code></a><dd>
-
-  <dt><b>Data URI</b></dt>
-  <dd>None</dd>
-
-  <dt><b>MIME Type</b></dt>
-  <dd><code>"vnd.google.fitness.activity/other"</code></dd>
-
-  <dt><b>Extras</b></dt>
-  <dd>
-    <dl>
-      <dt><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#EXTRA_STATUS">
-          <code>EXTRA_STATUS</code></a></dt>
-      <dd>A string with the value <a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_ACTIVE">
-          <code>STATUS_ACTIVE</code></a> when starting and
-      <a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#STATUS_COMPLETED">
-          <code>STATUS_COMPLETED</code></a> when stopping.</dd>
-    </dl>
-  </dd>
-</dl>
-
-
-<p><b>Example intent:</b></p>
-<pre>
-public void startWorkout() {
-    Intent intent = new Intent(FitnessIntents.ACTION_TRACK)
-            .setType("vnd.google.fitness.activity/other")
-            .putExtra(FitnessIntents.EXTRA_STATUS, FitnessIntents.STATUS_ACTIVE);
-    if (intent.resolveActivity(getPackageManager()) != null) {
-        startActivity(intent);
-    }
-}
-</pre>
-
-
-<p><b>Example intent filter:</b></p>
-<pre>
-&lt;activity ...>
-    &lt;intent-filter>
-        &lt;action android:name="vnd.google.fitness.TRACK" />
-        &lt;data android:mimeType="vnd.google.fitness.activity/other" />
-        &lt;category android:name="android.intent.category.DEFAULT" />
-    &lt;/intent-filter>
-&lt;/activity>
-</pre>
-
-
-
-
-<h3 id="ShowHeartRate">Show heart rate</h3>
-
-<!-- Google Now box -->
-<div class="now-box">
-  <div class="now-img-cont">
-    <a href="#Now">
-      <img src="{@docRoot}guide/components/images/voice-icon.png" class="now-img"
-           width="30" height="30" alt=""/>
-    </a>
-  </div>
-  <p class="now-title">Google Now</p>
-  <ul>
-    <li>"what's my heart rate?"</li>
-    <li>"what's my bpm?"</li>
-  </ul>
-</div>
-
-<p>To show the user's heart rate, use the
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_VIEW">
-<code>ACTION_VIEW</code></a> action with the
-<code>"vnd.google.fitness.data_type/com.google.heart_rate.bpm"</code> MIME type.</p>
-
-<dl>
-  <dt><b>Action</b></dt>
-  <dd><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_VIEW">
-      <code>ACTION_VIEW</code></a><dd>
-
-  <dt><b>Data URI</b></dt>
-  <dd>None</dd>
-
-  <dt><b>MIME Type</b></dt>
-  <dd><code>"vnd.google.fitness.data_type/com.google.heart_rate.bpm"</code></dd>
-
-  <dt><b>Extras</b></dt>
-  <dd>None</dd>
-</dl>
-
-
-<p><b>Example intent:</b></p>
-<pre>
-public void showHeartRate() {
-    Intent intent = new Intent(FitnessIntents.ACTION_VIEW)
-            .setType("vnd.google.fitness.data_type/com.google.heart_rate.bpm");
-    if (intent.resolveActivity(getPackageManager()) != null) {
-        startActivity(intent);
-    }
-}
-</pre>
-
-
-<p><b>Example intent filter:</b></p>
-<pre>
-&lt;activity ...>
-    &lt;intent-filter>
-        &lt;action android:name="vnd.google.fitness.VIEW" />
-        &lt;data android:mimeType="vnd.google.fitness.data_type/com.google.heart_rate.bpm" />
-        &lt;category android:name="android.intent.category.DEFAULT" />
-    &lt;/intent-filter>
-&lt;/activity>
-</pre>
-
-
-
-
-
-<h3 id="ShowStepCount">Show step count</h3>
-
-<!-- Google Now box -->
-<div class="now-box">
-  <div class="now-img-cont">
-    <a href="#Now">
-      <img src="{@docRoot}guide/components/images/voice-icon.png" class="now-img"
-           width="30" height="30" alt=""/>
-    </a>
-  </div>
-  <p class="now-title">Google Now</p>
-  <ul>
-    <li>"how many steps have I taken?"</li>
-    <li>"what's my step count?"</li>
-  </ul>
-</div>
-
-<p>To show the user's step count, use the
-<a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_VIEW">
-<code>ACTION_VIEW</code></a> action with the
-<code>"vnd.google.fitness.data_type<br/>/com.google.step_count<br/>.cumulative"</code> MIME
-type.</p>
-
-<dl>
-  <dt><b>Action</b></dt>
-  <dd><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_VIEW">
-      <code>ACTION_VIEW</code></a><dd>
-
-  <dt><b>Data URI</b></dt>
-  <dd>None</dd>
-
-  <dt><b>MIME Type</b></dt>
-  <dd><code>"vnd.google.fitness.data_type/com.google.step_count.cumulative"</code></dd>
-
-  <dt><b>Extras</b></dt>
-  <dd>None</dd>
-</dl>
-
-
-<p><b>Example intent:</b></p>
-<pre>
-public void showStepCount() {
-    Intent intent = new Intent(FitnessIntents.ACTION_VIEW)
-            .setType("vnd.google.fitness.data_type/com.google.step_count.cumulative");
-    if (intent.resolveActivity(getPackageManager()) != null) {
-        startActivity(intent);
-    }
-}
-</pre>
-
-
-<p><b>Example intent filter:</b></p>
-<pre>
-&lt;activity ...>
-    &lt;intent-filter>
-        &lt;action android:name="vnd.google.fitness.VIEW" />
-        &lt;data android:mimeType="vnd.google.fitness.data_type/com.google.step_count.cumulative" />
-        &lt;category android:name="android.intent.category.DEFAULT" />
-    &lt;/intent-filter>
-&lt;/activity>
-</pre>
-
-
-
-
-
-
-
-
 <h2 id="Local">Local Actions</h2>
 
 <h3 id="CallCar">Call a car</h3>
@@ -2695,65 +2301,6 @@
   <td>{@link android.content.Intent#ACTION_CALL Intent.ACTION_CALL}</td>
 </tr>
 <tr>
-  <td rowspan="5" style="vertical-align:middle">Fitness</td>
-  <td>
-    <p><a href="#TrackRide">Start/stop a bike ride</a></p>
-    <ul class="now-list">
-      <li>"start cycling"</li>
-      <li>"start my bike ride"</li>
-      <li>"stop cycling"</li>
-    </ul>
-  </td>
-  <td><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
-      <code>FitnessIntents.ACTION_TRACK</code></a></td>
-</tr>
-<tr>
-  <td>
-    <p><a href="#TrackRun">Start/stop a run</a></p>
-    <ul class="now-list">
-      <li>"track my run"</li>
-      <li>"start running"</li>
-      <li>"stop running"</li>
-    </ul>
-  </td>
-  <td><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
-      <code>FitnessIntents.ACTION_TRACK</code></a></td>
-</tr>
-<tr>
-  <td>
-    <p><a href="#TrackWorkout">Start/stop a workout</a></p>
-    <ul class="now-list">
-      <li>"start a workout"</li>
-      <li>"track my workout"</li>
-      <li>"stop workout"</li>
-    </ul>
-  </td>
-  <td><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_TRACK">
-      <code>FitnessIntents.ACTION_TRACK</code></a></code></td>
-</tr>
-<tr>
-  <td>
-    <p><a href="#ShowHeartRate">Show heart rate</a></p>
-    <ul class="now-list">
-      <li>"what's my heart rate"</li>
-      <li>"what's my bpm"</li>
-    </ul>
-  </td>
-  <td><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_VIEW">
-      <code>FitnessIntents.ACTION_VIEW</code></a></code></td>
-</tr>
-<tr>
-  <td>
-    <p><a href="#ShowStepCount">Show step count</a></p>
-    <ul class="now-list">
-      <li>"how many steps have I taken"</li>
-      <li>"what's my step count"</li>
-    </ul>
-  </td>
-  <td><a href="{@docRoot}reference/com/google/android/gms/fitness/FitnessIntents.html#ACTION_VIEW">
-      <code>FitnessIntents.ACTION_VIEW</code></a></td>
-</tr>
-<tr>
   <td style="vertical-align:middle">Local</td>
   <td>
     <p><a href="#CallCar">Book a car</a></p>
diff --git a/docs/html/guide/topics/connectivity/usb/host.jd b/docs/html/guide/topics/connectivity/usb/host.jd
index 355dd2d..f957b60 100644
--- a/docs/html/guide/topics/connectivity/usb/host.jd
+++ b/docs/html/guide/topics/connectivity/usb/host.jd
@@ -31,7 +31,7 @@
         <li><a href="{@docRoot}resources/samples/USB/AdbTest/index.html">AdbTest</a></li>
 
         <li><a href=
-        "{@docRoot}resources/samples/USB/MissileLauncher/index.html">MissleLauncher</a></li>
+        "{@docRoot}resources/samples/USB/MissileLauncher/index.html">MissileLauncher</a></li>
       </ol>
     </div>
   </div>
@@ -283,7 +283,7 @@
 
   <h3 id="permission-d">Obtaining permission to communicate with a device</h3>
 
-  <p>Before communicating with the USB device, your applicaton must have permission from your
+  <p>Before communicating with the USB device, your application must have permission from your
   users.</p>
 
   <p class="note"><strong>Note:</strong> If your application <a href="#using-intents">uses an
@@ -388,7 +388,7 @@
   should have more logic to correctly find the correct interface and endpoints to communicate on
   and also should do any transferring of data in a different thread than the main UI thread:</p>
   <pre>
-private Byte[] bytes
+private Byte[] bytes;
 private static int TIMEOUT = 0;
 private boolean forceClaim = true;
 
@@ -409,7 +409,7 @@
   <p>For more information, see the <a href=
   "{@docRoot}resources/samples/USB/AdbTest/index.html">AdbTest sample</a>, which shows how to do
   asynchronous bulk transfers, and the <a href=
-  "{@docRoot}resources/samples/USB/MissileLauncher/index.html">MissleLauncher sample</a>, which
+  "{@docRoot}resources/samples/USB/MissileLauncher/index.html">MissileLauncher sample</a>, which
   shows how to listen on an interrupt endpoint asynchronously.</p>
 
   <h3 id="terminating-d">Terminating communication with a device</h3>
diff --git a/docs/html/guide/topics/manifest/data-element.jd b/docs/html/guide/topics/manifest/data-element.jd
index ecba508..77f16dd 100644
--- a/docs/html/guide/topics/manifest/data-element.jd
+++ b/docs/html/guide/topics/manifest/data-element.jd
@@ -24,7 +24,7 @@
 attributes for each of its parts:
 
 <p style="margin-left: 2em">
-{@code &lt;scheme>://&lt;host>:&lt;port>/[&lt;path>|&lt;pathPrefix>|&lt;pathPattern>]}</p>
+{@code &lt;scheme>://&lt;host>:&lt;port>[&lt;path>|&lt;pathPrefix>|&lt;pathPattern>]}</p>
 
 <p>
 These attributes that specify the URL format are optional, but also mutually dependent:
@@ -115,7 +115,8 @@
 <dt><a name="path"></a>{@code android:path}
 <br/>{@code android:pathPrefix}
 <br/>{@code android:pathPattern}</dt>
-<dd>The path part of a URI.  The {@code path} attribute specifies a complete
+<dd>The path part of a URI which must begin with a /.
+The {@code path} attribute specifies a complete
 path that is matched against the complete path in an Intent object.  The
 {@code pathPrefix} attribute specifies a partial path that is matched against
 only the initial part of the path in the Intent object.  The {@code pathPattern}
diff --git a/docs/html/guide/topics/manifest/uses-sdk-element.jd b/docs/html/guide/topics/manifest/uses-sdk-element.jd
index e5e64e5..3ac87ef 100644
--- a/docs/html/guide/topics/manifest/uses-sdk-element.jd
+++ b/docs/html/guide/topics/manifest/uses-sdk-element.jd
@@ -227,11 +227,16 @@
 <table>
   <tr><th>Platform Version</th><th>API Level</th><th>VERSION_CODE</th><th>Notes</th></tr>
 
+    <tr><td><a href="{@docRoot}about/versions/android-5.1.html">Android 5.1</a></td>
+    <td><a href="{@docRoot}sdk/api_diff/22/changes.html" title="Diff Report">22</a></td>
+    <td>{@link android.os.Build.VERSION_CODES#LOLLIPOP_MR1}</td>
+    <td rowspan="2"><a href="{@docRoot}about/versions/lollipop.html">Platform
+Highlights</a></td></tr>
+
     <tr><td><a href="{@docRoot}about/versions/android-5.0.html">Android 5.0</a></td>
     <td><a href="{@docRoot}sdk/api_diff/21/changes.html" title="Diff Report">21</a></td>
     <td>{@link android.os.Build.VERSION_CODES#LOLLIPOP}</td>
-    <td><a href="{@docRoot}about/versions/lollipop.html">Platform
-Highlights</a></td></tr>
+    </tr>
 
     <tr><td style="color:#bbb">Android 4.4W</td>
     <td><a href="{@docRoot}sdk/api_diff/20/changes.html" title="Diff Report">20</a></td>
diff --git a/docs/html/images/tools/as-gradleconsole.png b/docs/html/images/tools/as-gradleconsole.png
deleted file mode 100644
index c676c94..0000000
--- a/docs/html/images/tools/as-gradleconsole.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/tools/as-gradlepanel.png b/docs/html/images/tools/as-gradlepanel.png
deleted file mode 100644
index a409462..0000000
--- a/docs/html/images/tools/as-gradlepanel.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/tools/studio-gradle-console.png b/docs/html/images/tools/studio-gradle-console.png
new file mode 100644
index 0000000..a2b708c
--- /dev/null
+++ b/docs/html/images/tools/studio-gradle-console.png
Binary files differ
diff --git a/docs/html/images/tools/studio-gradle-panel.png b/docs/html/images/tools/studio-gradle-panel.png
new file mode 100644
index 0000000..4a76a8d
--- /dev/null
+++ b/docs/html/images/tools/studio-gradle-panel.png
Binary files differ
diff --git a/docs/html/images/training/geofence.png b/docs/html/images/training/geofence.png
new file mode 100644
index 0000000..2d5d3aa
--- /dev/null
+++ b/docs/html/images/training/geofence.png
Binary files differ
diff --git a/docs/html/images/training/geofence@2x.png b/docs/html/images/training/geofence@2x.png
new file mode 100644
index 0000000..2f83105
--- /dev/null
+++ b/docs/html/images/training/geofence@2x.png
Binary files differ
diff --git a/docs/html/jd_collections.js b/docs/html/jd_collections.js
index 9caf938..127134f 100644
--- a/docs/html/jd_collections.js
+++ b/docs/html/jd_collections.js
@@ -56,6 +56,25 @@
       "distribute/googleplay/developer-console.html"
     ]
   },
+  "launch/static/ja": {
+    "title": "",
+    "resources": [
+      "https://www.youtube.com/watch?v=xelYnWcYkuE",
+      "https://www.youtube.com/playlist?list=PLCOC_kP3nqGIHEgwm9mybvA04Vn4Cg9nn",
+      "http://googledevjp.blogspot.jp/2014/12/android-wear.html",
+      "http://googledevjp.blogspot.jp/2014/12/android-studio-10.html",
+      "http://googledevjp.blogspot.jp/2014/12/google-play-65.html",
+      "intl/ja/distribute/googleplay/developer-console.html#alpha-beta",
+      "intl/ja/distribute/googleplay/guide.html",
+      "intl/ja/distribute/essentials/quality/core.html",
+      "http://support.google.com/googleplay/android-developer/answer/4430948?hl=ja",
+      "intl/ja/support.html",
+      "intl/ja/distribute/essentials/quality/wear.html",
+      "intl/ja/training/tv/start/index.html",
+      "http://googleforwork-japan.blogspot.jp/2014/12/gcp-google-cloud-platform-rpg-gcp.html",
+      "intl/ja/distribute/monetize/ads.html"
+    ]
+  },
   "distribute/gp/gplanding": {
     "resources": [
       "distribute/googleplay/about.html",
@@ -1203,4 +1222,4 @@
       "samples/BasicManagedProfile/index.html"
     ]
   }
-}
\ No newline at end of file
+}
diff --git a/docs/html/jd_extras.js b/docs/html/jd_extras.js
index e2a0539..288b614 100644
--- a/docs/html/jd_extras.js
+++ b/docs/html/jd_extras.js
@@ -1988,5 +1988,161 @@
     "keywords": ["analytics"],
     "type": "Guide",
     "titleFriendly": ""
+  },
+  {
+    "lang": "ja",
+    "title": "Gaming Everywhere",
+    "titleFriendly": "",
+    "summary": "東京ゲームショウ 2014 の基調講演より。",
+    "url": "https://www.youtube.com/watch?v=xelYnWcYkuE",
+    "group": "",
+    "keywords": [],
+    "tags": [],
+    "image": "http://img.youtube.com/vi/xelYnWcYkuE/hqdefault.jpg",
+    "type": "youtube"
+  },
+  {
+    "lang": "ja",
+    "title": "Playtime Tokyo",
+    "titleFriendly": "",
+    "summary": "アプリビジネスのノウハウを各担当者が講演しました。",
+    "url": "https://www.youtube.com/playlist?list=PLCOC_kP3nqGIHEgwm9mybvA04Vn4Cg9nn",
+    "group": "",
+    "keywords": [],
+    "tags": [],
+    "image": "http://img.youtube.com/vi/lJdjY3z6-LY/hqdefault.jpg",
+    "type": "youtube"
+  },
+  {
+    "lang": "ja",
+    "title": "Android Wear 関連の動画に日本語字幕が付きました",
+    "titleFriendly": "",
+    "summary": "",
+    "url": "http://googledevjp.blogspot.jp/2014/12/android-wear.html",
+    "group": "",
+    "keywords": [],
+    "tags": [],
+    "image": "http://i1.ytimg.com/vi/4JcDYkgqksY/maxresdefault.jpg",
+    "type": "blog"
+  },
+  {
+    "lang": "ja",
+    "title": "Android Studio 1.0 をリリースしました",
+    "titleFriendly": "",
+    "summary": "",
+    "url": "http://googledevjp.blogspot.jp/2014/12/android-studio-10.html",
+    "group": "",
+    "keywords": [],
+    "tags": [],
+    "image": "http://3.bp.blogspot.com/-1hV3sD1At74/VIaQSWBasUI/AAAAAAAABAU/9vYLJMsmMuQ/s1600/studio-logo.png",
+    "type": "blog"
+  },
+  {
+    "lang": "ja",
+    "title": "Google Play 開発者サービス 6.5 のご紹介",
+    "titleFriendly": "",
+    "summary": "",
+    "url": "http://googledevjp.blogspot.jp/2014/12/google-play-65.html",
+    "group": "",
+    "keywords": [],
+    "tags": [],
+    "image": "http://1.bp.blogspot.com/-4BNREC0Jojo/VGo7ahW35wI/AAAAAAAABAc/9thZl94F6fY/s1600/GMS%2B-%2BRelease%2BBlog%2BNacho%2B-%2BMap%2BToolbar.png",
+    "type": "blog"
+  },
+  {
+    "lang": "ja",
+    "title": "Alpha and Beta Testing",
+    "titleFriendly": "",
+    "summary": "アプリのローンチにまつわるリスクを最小限にするために必須のツールです。[英語コンテンツ]",
+    "url": "intl/ja/distribute/googleplay/developer-console.html#alpha-beta",
+    "group": "",
+    "keywords": [],
+    "tags": [],
+    "image": "images/gp-dc-ab.png",
+    "type": "distribute"
+  },
+  {
+    "lang": "ja",
+    "title": "Finding Success on Google Play",
+    "titleFriendly": "",
+    "summary": "Google Play での成功の秘訣がこの一冊に。[英語コンテンツ]",
+    "url": "intl/ja/distribute/googleplay/guide.html",
+    "group": "",
+    "keywords": [],
+    "tags": [],
+    "image": "distribute/images/play_dev_guide_b.jpg",
+    "type": "distribute"
+  },
+  {
+    "lang": "ja",
+    "title": "Core App Quality",
+    "titleFriendly": "",
+    "summary": "",
+    "url": "intl/ja/distribute/essentials/quality/core.html",
+    "group": "",
+    "keywords": [],
+    "tags": [],
+    "image": "images/gp-core-quality.png",
+    "type": "distribute"
+  },
+  {
+    "lang": "ja",
+    "title": "Google Play アプリ ポリシー センター",
+    "titleFriendly": "",
+    "summary": "",
+    "url": "http://support.google.com/googleplay/android-developer/answer/4430948?hl=ja",
+    "group": "",
+    "keywords": [],
+    "tags": [],
+    "image": "https://storage.googleapis.com/support-kms-prod/SNP_712EA2784949DDF085C46E3BE7B1DC618A09_4389356_en_v0",
+    "type": "distribute"
+  },
+  {
+    "lang": "ja",
+    "title": "Developer Support",
+    "titleFriendly": "",
+    "summary": "",
+    "url": "intl/ja/support.html",
+    "group": "",
+    "keywords": [],
+    "tags": [],
+    "image": "",
+    "type": "distribute"
+  },
+  {
+    "lang": "ja",
+    "title": "Wear App Quality",
+    "titleFriendly": "",
+    "summary": "いよいよウェアラブルの時代が到来。[英語コンテンツ]",
+    "url": "intl/ja/distribute/essentials/quality/wear.html",
+    "group": "",
+    "keywords": [],
+    "tags": [],
+    "image": "distribute/images/gp-wear-quality.png",
+    "type": "distribute"
+  },
+  {
+    "lang": "ja",
+    "title": "Google Cloud Platform が支える、新感覚リアルタイム RPG ユニゾンリーグ - 株式会社エイチームの GCP 導入事例",
+    "titleFriendly": "",
+    "summary": "スケーラブルなバックエンドを実現する Google Cloud Platform の最新導入事例。",
+    "url": "http://googleforwork-japan.blogspot.jp/2014/12/gcp-google-cloud-platform-rpg-gcp.html",
+    "group": "",
+    "keywords": [],
+    "tags": [],
+    "image": "http://3.bp.blogspot.com/-xp7KoPkbne4/VI_PfoFil3I/AAAAAAAAA3U/-k1UZ0zjCBc/s1600/unison-league.jpeg",
+    "type": "distribute"
+  },
+  {
+    "lang": "ja",
+    "title": "Monetize with Ads",
+    "titleFriendly": "",
+    "summary": "アプリ内広告成功のコツがここに。[英語コンテンツ]",
+    "url": "intl/ja/distribute/monetize/ads.html",
+    "group": "",
+    "keywords": [],
+    "tags": [],
+    "image": "distribute/images/advertising.jpg",
+    "type": "distribute"
   }
 ]);
\ No newline at end of file
diff --git a/docs/html/reference/android/support/test/InstrumentationRegistry.html b/docs/html/reference/android/support/test/InstrumentationRegistry.html
new file mode 100644
index 0000000..fa657d5
--- /dev/null
+++ b/docs/html/reference/android/support/test/InstrumentationRegistry.html
@@ -0,0 +1,1378 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" />
+<title>InstrumentationRegistry | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../index.html">
+            <img src="../../../../assets/images/dac_logo.png"
+                srcset="../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../about/index.html">About</a></li>
+                <li><a href="../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">InstrumentationRegistry</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="selected api apilevel-">
+  <a href="../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../reference/android/support/test/InstrumentationRegistry.html">InstrumentationRegistry</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">InstrumentationRegistry</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.InstrumentationRegistry</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">An exposed registry instance that holds a reference to the instrumentation running in the
+ process and it's arguments. Also provides an easy way for callers to get a hold of
+ instrumentation, application context and instrumentation arguments Bundle.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Bundle</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../reference/android/support/test/InstrumentationRegistry.html#getArguments()">getArguments</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a copy of instrumentation arguments Bundle.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Context</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../reference/android/support/test/InstrumentationRegistry.html#getContext()">getContext</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Return the Context of this instrumentation's package.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Instrumentation</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../reference/android/support/test/InstrumentationRegistry.html#getInstrumentation()">getInstrumentation</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the instrumentation currently running.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Context</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../reference/android/support/test/InstrumentationRegistry.html#getTargetContext()">getTargetContext</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Return a Context for the target application being instrumented.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../reference/android/support/test/InstrumentationRegistry.html#registerInstance(android.app.Instrumentation, android.os.Bundle)">registerInstance</a></span>(Instrumentation instrumentation, Bundle arguments)</nobr>
+
+        <div class="jd-descrdiv">
+          Records/exposes the instrumentation currently running and stores a copy of the
+ instrumentation arguments Bundle in the registry.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getArguments()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Bundle
+      </span>
+      <span class="sympad">getArguments</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a copy of instrumentation arguments Bundle. Use this to get a <code><a href="../../../../reference/android/os/Bundle.html">Bundle</a></code>
+ containing the command line arguments passed to <code><a href="../../../../reference/android/app/Instrumentation.html">Instrumentation</a></code> into your test.
+ <p>
+ This Bundle is not guaranteed to be present under all instrumentations.
+ </p></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>Bundle the arguments for this instrumentation.</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th>IllegalStateException</td>
+            <td>if no argument Bundle has been registered.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getContext()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Context
+      </span>
+      <span class="sympad">getContext</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Return the Context of this instrumentation's package. Use this to get a
+ <code><a href="../../../../reference/android/content/Context.html">Context</a></code> representing <code><a href="../../../../reference/android/app/Instrumentation.html#getContext()">getContext()</a></code> into your test.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getInstrumentation()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Instrumentation
+      </span>
+      <span class="sympad">getInstrumentation</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the instrumentation currently running. Use this to get an <code><a href="../../../../reference/android/app/Instrumentation.html">Instrumentation</a></code>
+ into your test.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th>IllegalStateException</td>
+            <td>if instrumentation hasn't been registered
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getTargetContext()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Context
+      </span>
+      <span class="sympad">getTargetContext</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Return a Context for the target application being instrumented. Use this to get a
+ <code><a href="../../../../reference/android/content/Context.html">Context</a></code> representing <code><a href="../../../../reference/android/app/Instrumentation.html#getTargetContext()">getTargetContext()</a></code> into your test.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="registerInstance(android.app.Instrumentation, android.os.Bundle)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        void
+      </span>
+      <span class="sympad">registerInstance</span>
+      <span class="normal">(Instrumentation instrumentation, Bundle arguments)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Records/exposes the instrumentation currently running and stores a copy of the
+ instrumentation arguments Bundle in the registry.
+ <p>
+ This is a global registry - so be aware of the impact of calling this method!
+ </p></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>instrumentation</td>
+          <td>the instrumentation currently running.</td>
+        </tr>
+        <tr>
+          <th>arguments</td>
+          <td>the arguments for this application. Null deregisters any existing arguments.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html b/docs/html/reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html
new file mode 100644
index 0000000..0fd333d
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html
@@ -0,0 +1,1533 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>AmbiguousViewMatcherException.Builder | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">AmbiguousViewMatcherException.Builder</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+    static
+
+
+    class
+<h1 itemprop="name">AmbiguousViewMatcherException.Builder</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.AmbiguousViewMatcherException.Builder</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Builder for <code><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></code>. </p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html#AmbiguousViewMatcherException.Builder()">AmbiguousViewMatcherException.Builder</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html#build()">build</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html#from(android.support.test.espresso.AmbiguousViewMatcherException)">from</a></span>(<a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a> exception)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html#includeViewHierarchy(boolean)">includeViewHierarchy</a></span>(boolean includeViewHierarchy)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html#withOtherAmbiguousViews(android.view.View...)">withOtherAmbiguousViews</a></span>(View... others)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html#withRootView(android.view.View)">withRootView</a></span>(View rootView)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html#withView1(android.view.View)">withView1</a></span>(View view1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html#withView2(android.view.View)">withView2</a></span>(View view2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html#withViewMatcher(org.hamcrest.Matcher<? super android.view.View>)">withViewMatcher</a></span>(Matcher&lt;?&nbsp;super&nbsp;View&gt; viewMatcher)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="AmbiguousViewMatcherException.Builder()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">AmbiguousViewMatcherException.Builder</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="build()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a>
+      </span>
+      <span class="sympad">build</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="from(android.support.test.espresso.AmbiguousViewMatcherException)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a>
+      </span>
+      <span class="sympad">from</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a> exception)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="includeViewHierarchy(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a>
+      </span>
+      <span class="sympad">includeViewHierarchy</span>
+      <span class="normal">(boolean includeViewHierarchy)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withOtherAmbiguousViews(android.view.View...)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a>
+      </span>
+      <span class="sympad">withOtherAmbiguousViews</span>
+      <span class="normal">(View... others)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withRootView(android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a>
+      </span>
+      <span class="sympad">withRootView</span>
+      <span class="normal">(View rootView)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withView1(android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a>
+      </span>
+      <span class="sympad">withView1</span>
+      <span class="normal">(View view1)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withView2(android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a>
+      </span>
+      <span class="sympad">withView2</span>
+      <span class="normal">(View view2)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withViewMatcher(org.hamcrest.Matcher<? super android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a>
+      </span>
+      <span class="sympad">withViewMatcher</span>
+      <span class="normal">(Matcher&lt;?&nbsp;super&nbsp;View&gt; viewMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/AmbiguousViewMatcherException.html b/docs/html/reference/android/support/test/espresso/AmbiguousViewMatcherException.html
new file mode 100644
index 0000000..0ced441
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/AmbiguousViewMatcherException.html
@@ -0,0 +1,1429 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>AmbiguousViewMatcherException | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">AmbiguousViewMatcherException</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+  <a href="#nestedclasses">Nested Classes</a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">AmbiguousViewMatcherException</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    extends RuntimeException<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="5" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="4" class="jd-inheritance-class-cell">java.lang.Throwable</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Exception</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.RuntimeException</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.AmbiguousViewMatcherException</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">An exception which indicates that a Matcher<View> matched multiple views in the hierarchy when
+ only one view was expected. It should be called only from the main thread.
+ <p>
+ Contains details about the matcher and the current view hierarchy to aid in debugging.
+ </p>
+ <p>
+ Since this is usually an unrecoverable error this exception is a runtime exception.
+ </p>
+ <p>
+ References to the view and failing matcher are purposefully not included in the state of this
+ object - since it will most likely be created on the UI thread and thrown on the instrumentation
+ thread, it would be invalid to touch the view on the instrumentation thread. Also the view
+ hierarchy may have changed since exception creation (leading to more confusion).
+ </p>
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+      <td class="jd-typecol"><nobr>
+
+
+
+
+        class</nobr></td>
+      <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></td>
+      <td class="jd-descrcol" width="100%">
+        Builder for <code><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></code>.&nbsp;
+
+
+
+      </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Throwable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Throwable-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Throwable
+
+<div id="inherited-methods-java.lang.Throwable">
+  <div id="inherited-methods-java.lang.Throwable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Throwable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addSuppressed</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">fillInStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getCause</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getLocalizedMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            StackTraceElement[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Throwable[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getSuppressed</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">initCause</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintStream arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintWriter arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setStackTrace</span>(StackTraceElement[] arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/AppNotIdleException.html b/docs/html/reference/android/support/test/espresso/AppNotIdleException.html
new file mode 100644
index 0000000..30736b6
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/AppNotIdleException.html
@@ -0,0 +1,1485 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>AppNotIdleException | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">AppNotIdleException</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">AppNotIdleException</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    extends RuntimeException<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="5" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="4" class="jd-inheritance-class-cell">java.lang.Throwable</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Exception</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.RuntimeException</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.AppNotIdleException</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">An exception which indicates that the App has not become idle even after the specified duration.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html#create(java.util.List<java.lang.String>, int, int)">create</a></span>(List&lt;String&gt; idleConditions, int loopCount, int seconds)</nobr>
+
+        <div class="jd-descrdiv">
+          Creates a new AppNotIdleException suitable for erroring out a test case.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Throwable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Throwable-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Throwable
+
+<div id="inherited-methods-java.lang.Throwable">
+  <div id="inherited-methods-java.lang.Throwable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Throwable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addSuppressed</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">fillInStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getCause</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getLocalizedMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            StackTraceElement[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Throwable[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getSuppressed</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">initCause</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintStream arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintWriter arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setStackTrace</span>(StackTraceElement[] arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="create(java.util.List<java.lang.String>, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a>
+      </span>
+      <span class="sympad">create</span>
+      <span class="normal">(List&lt;String&gt; idleConditions, int loopCount, int seconds)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Creates a new AppNotIdleException suitable for erroring out a test case.
+
+ This should be called only from the main thread if the app does not idle out within the
+ specified duration.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>idleConditions</td>
+          <td>list of idleConditions that failed to become idle.</td>
+        </tr>
+        <tr>
+          <th>loopCount</td>
+          <td>number of times it was tried to check if they became idle.</td>
+        </tr>
+        <tr>
+          <th>seconds</td>
+          <td>number of seconds that was tried before giving up.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a AppNotIdleException suitable to be thrown on the instrumentation thread.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/DataInteraction.html b/docs/html/reference/android/support/test/espresso/DataInteraction.html
new file mode 100644
index 0000000..c5028ed
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/DataInteraction.html
@@ -0,0 +1,1513 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>DataInteraction | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">DataInteraction</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">DataInteraction</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.DataInteraction</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">An interface to interact with data displayed in AdapterViews.
+ <p>
+ This interface builds on top of <code><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></code> and should be the preferred way to
+ interact with elements displayed inside AdapterViews.
+ </p>
+ <p>
+ This is necessary because an AdapterView may not load all the data held by its Adapter into the
+ view hierarchy until a user interaction makes it necessary. Also it is more fluent / less brittle
+ to match upon the data object being rendered into the display then the rendering itself.
+ </p>
+ <p>
+ By default, a DataInteraction takes place against any AdapterView found within the current
+ screen, if you have multiple AdapterView objects displayed, you will need to narrow the selection
+ by using the inAdapterView method.
+ </p>
+ <p>
+ The check and perform method operate on the top level child of the adapter view, if you need to
+ operate on a subview (eg: a Button within the list) use the onChildView method before calling
+ perform or check.
+ </p>
+
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html#atPosition(java.lang.Integer)">atPosition</a></span>(Integer atPosition)</nobr>
+
+        <div class="jd-descrdiv">
+          Selects the view which matches the nth position on the adapter
+ based on the data matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html#check(android.support.test.espresso.ViewAssertion)">check</a></span>(<a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a> assertion)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs an assertion on the state of the view after we force the data to be loaded.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html#inAdapterView(org.hamcrest.Matcher<android.view.View>)">inAdapterView</a></span>(Matcher&lt;View&gt; adapterMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Selects a particular adapter view to operate on, by default we operate on any adapter view
+ on the screen.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html#inRoot(org.hamcrest.Matcher<android.support.test.espresso.Root>)">inRoot</a></span>(Matcher&lt;<a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt; rootMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Causes this data interaction to work within the Root specified by the given root matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html#onChildView(org.hamcrest.Matcher<android.view.View>)">onChildView</a></span>(Matcher&lt;View&gt; childMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Causes perform and check methods to take place on a specific child view of the view returned
+ by Adapter.getView()
+
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html#perform(android.support.test.espresso.ViewAction...)">perform</a></span>(<a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction...</a> actions)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs an action on the view after we force the data to be loaded.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html#usingAdapterViewProtocol(android.support.test.espresso.action.AdapterViewProtocol)">usingAdapterViewProtocol</a></span>(<a href="../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a> adapterViewProtocol)</nobr>
+
+        <div class="jd-descrdiv">
+          Use a different AdapterViewProtocol if the Adapter implementation does not
+ satisfy the AdapterView contract like (@code ExpandableListView)
+
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="atPosition(java.lang.Integer)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a>
+      </span>
+      <span class="sympad">atPosition</span>
+      <span class="normal">(Integer atPosition)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Selects the view which matches the nth position on the adapter
+ based on the data matcher.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="check(android.support.test.espresso.ViewAssertion)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a>
+      </span>
+      <span class="sympad">check</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a> assertion)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs an assertion on the state of the view after we force the data to be loaded.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>an <code><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></code> for more assertions or actions.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="inAdapterView(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a>
+      </span>
+      <span class="sympad">inAdapterView</span>
+      <span class="normal">(Matcher&lt;View&gt; adapterMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Selects a particular adapter view to operate on, by default we operate on any adapter view
+ on the screen.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="inRoot(org.hamcrest.Matcher<android.support.test.espresso.Root>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a>
+      </span>
+      <span class="sympad">inRoot</span>
+      <span class="normal">(Matcher&lt;<a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt; rootMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Causes this data interaction to work within the Root specified by the given root matcher.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="onChildView(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a>
+      </span>
+      <span class="sympad">onChildView</span>
+      <span class="normal">(Matcher&lt;View&gt; childMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Causes perform and check methods to take place on a specific child view of the view returned
+ by Adapter.getView()
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="perform(android.support.test.espresso.ViewAction...)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a>
+      </span>
+      <span class="sympad">perform</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction...</a> actions)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs an action on the view after we force the data to be loaded.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>an <code><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></code> for more assertions or actions.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="usingAdapterViewProtocol(android.support.test.espresso.action.AdapterViewProtocol)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a>
+      </span>
+      <span class="sympad">usingAdapterViewProtocol</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a> adapterViewProtocol)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Use a different AdapterViewProtocol if the Adapter implementation does not
+ satisfy the AdapterView contract like (@code ExpandableListView)
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/Espresso.html b/docs/html/reference/android/support/test/espresso/Espresso.html
new file mode 100644
index 0000000..0694747
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/Espresso.html
@@ -0,0 +1,1831 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>Espresso | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">Espresso</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">Espresso</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.Espresso</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Entry point to the Espresso framework. Test authors can initiate testing by using one of the on*
+ methods (e.g. onView) or perform top-level user actions (e.g. pressBack).
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Espresso.html#closeSoftKeyboard()">closeSoftKeyboard</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Closes soft keyboard if open.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            List&lt;<a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a>&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Espresso.html#getIdlingResources()">getIdlingResources</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a list of all currently registered <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code>s.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Espresso.html#onData(org.hamcrest.Matcher<java.lang.Object>)">onData</a></span>(Matcher&lt;Object&gt; dataMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Creates an <code><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></code> for a data object displayed by the application.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Espresso.html#onView(org.hamcrest.Matcher<android.view.View>)">onView</a></span>(Matcher&lt;View&gt; viewMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Creates a <code><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></code> for a given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Espresso.html#openActionBarOverflowOrOptionsMenu(android.content.Context)">openActionBarOverflowOrOptionsMenu</a></span>(Context context)</nobr>
+
+        <div class="jd-descrdiv">
+          Opens the overflow menu displayed within an ActionBar.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Espresso.html#openContextualActionModeOverflowMenu()">openContextualActionModeOverflowMenu</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Opens the overflow menu displayed in the contextual options of an ActionMode.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Espresso.html#pressBack()">pressBack</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Press on the back button.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Espresso.html#registerIdlingResources(android.support.test.espresso.IdlingResource...)">registerIdlingResources</a></span>(<a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource...</a> resources)</nobr>
+
+        <div class="jd-descrdiv">
+          Registers one or more <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code>s with the framework.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Espresso.html#registerLooperAsIdlingResource(android.os.Looper, boolean)">registerLooperAsIdlingResource</a></span>(Looper looper, boolean considerWaitIdle)</nobr>
+
+        <div class="jd-descrdiv">
+          Registers a Looper for idle checking with the framework.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Espresso.html#registerLooperAsIdlingResource(android.os.Looper)">registerLooperAsIdlingResource</a></span>(Looper looper)</nobr>
+
+        <div class="jd-descrdiv">
+          Registers a Looper for idle checking with the framework.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Espresso.html#setFailureHandler(android.support.test.espresso.FailureHandler)">setFailureHandler</a></span>(<a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a> failureHandler)</nobr>
+
+        <div class="jd-descrdiv">
+          Changes the default <code><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></code> to the given one.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Espresso.html#unregisterIdlingResources(android.support.test.espresso.IdlingResource...)">unregisterIdlingResources</a></span>(<a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource...</a> resources)</nobr>
+
+        <div class="jd-descrdiv">
+          Unregisters one or more <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code>s.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="closeSoftKeyboard()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        void
+      </span>
+      <span class="sympad">closeSoftKeyboard</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Closes soft keyboard if open.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getIdlingResources()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        List&lt;<a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a>&gt;
+      </span>
+      <span class="sympad">getIdlingResources</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a list of all currently registered <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code>s.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="onData(org.hamcrest.Matcher<java.lang.Object>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a>
+      </span>
+      <span class="sympad">onData</span>
+      <span class="normal">(Matcher&lt;Object&gt; dataMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Creates an <code><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></code> for a data object displayed by the application. Use this
+ method to load (into the view hierarchy) items from AdapterView widgets (e.g. ListView).</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>dataMatcher</td>
+          <td>a matcher used to find the data object.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="onView(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a>
+      </span>
+      <span class="sympad">onView</span>
+      <span class="normal">(Matcher&lt;View&gt; viewMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Creates a <code><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></code> for a given view. Note: the view has
+ to be part of the  view hierarchy. This may not be the case if it is rendered as part of
+ an AdapterView (e.g. ListView). If this is the case, use Espresso.onData to load the view
+ first.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>viewMatcher</td>
+          <td>used to select the view.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/espresso/Espresso.html#onData(org.hamcrest.Matcher<java.lang.Object>)">onData(org.hamcrest.Matcher)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="openActionBarOverflowOrOptionsMenu(android.content.Context)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        void
+      </span>
+      <span class="sympad">openActionBarOverflowOrOptionsMenu</span>
+      <span class="normal">(Context context)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Opens the overflow menu displayed within an ActionBar.
+
+ <p>This works with both native and SherlockActionBar ActionBars.
+
+ <p>Note the significant differences of UX between ActionMode and ActionBars with respect to
+ overflows. If a hardware menu key is present, the overflow icon is never displayed in
+ ActionBars and can only be interacted with via menu key presses.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="openContextualActionModeOverflowMenu()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        void
+      </span>
+      <span class="sympad">openContextualActionModeOverflowMenu</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Opens the overflow menu displayed in the contextual options of an ActionMode.
+
+ <p>This works with both native and SherlockActionBar action modes.
+
+ <p>Note the significant difference in UX between ActionMode and ActionBar overflows -
+ ActionMode will always present an overflow icon and that icon only responds to clicks.
+ The menu button (if present) has no impact on it.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="pressBack()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        void
+      </span>
+      <span class="sympad">pressBack</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Press on the back button.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></td>
+            <td>if currently displayed activity is root activity, since pressing back
+         button would result in application closing.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="registerIdlingResources(android.support.test.espresso.IdlingResource...)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        boolean
+      </span>
+      <span class="sympad">registerIdlingResources</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource...</a> resources)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Registers one or more <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code>s with the framework. It is expected, although not
+ strictly required, that this method will be called at test setup time prior to any interaction
+ with the application under test. When registering more than one resource, ensure that each has
+ a unique name. If any of the given resources is already registered, a warning is logged.</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="registerLooperAsIdlingResource(android.os.Looper, boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        void
+      </span>
+      <span class="sympad">registerLooperAsIdlingResource</span>
+      <span class="normal">(Looper looper, boolean considerWaitIdle)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Registers a Looper for idle checking with the framework. This is intended for use with
+ non-UI thread loopers.
+
+ <p>This method allows the caller to consider Thread.State.WAIT to be 'idle'.
+
+ <p>This is useful in the case where a looper is sending a message to the UI thread
+ synchronously through a wait/notify mechanism.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th>IllegalArgumentException</td>
+            <td>if looper is the main looper.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="registerLooperAsIdlingResource(android.os.Looper)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        void
+      </span>
+      <span class="sympad">registerLooperAsIdlingResource</span>
+      <span class="normal">(Looper looper)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Registers a Looper for idle checking with the framework. This is intended for use with
+ non-UI thread loopers.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th>IllegalArgumentException</td>
+            <td>if looper is the main looper.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="setFailureHandler(android.support.test.espresso.FailureHandler)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        void
+      </span>
+      <span class="sympad">setFailureHandler</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a> failureHandler)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Changes the default <code><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></code> to the given one.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="unregisterIdlingResources(android.support.test.espresso.IdlingResource...)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        boolean
+      </span>
+      <span class="sympad">unregisterIdlingResources</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource...</a> resources)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Unregisters one or more <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code>s. If any of the given resources are not already
+ registered, a warning is logged.</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/EspressoException.html b/docs/html/reference/android/support/test/espresso/EspressoException.html
new file mode 100644
index 0000000..b2dbe42
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/EspressoException.html
@@ -0,0 +1,936 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>EspressoException | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">EspressoException</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">EspressoException</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.EspressoException</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-indirect" class="jd-expando-trigger closed"
+          ><img id="subclasses-indirect-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>Known Indirect Subclasses
+
+  <div id="subclasses-indirect">
+      <div id="subclasses-indirect-list"
+              class="jd-inheritedlinks"
+
+              >
+
+
+              <a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a>
+
+
+      </div>
+      <div id="subclasses-indirect-summary"
+              style="display: none;"
+              >
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></td>
+        <td class="jd-descrcol" width="100%">
+          An exception which indicates that a Matcher<View> matched multiple views in the hierarchy when
+ only one view was expected.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></td>
+        <td class="jd-descrcol" width="100%">
+          An exception which indicates that the App has not become idle even after the specified duration.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that an <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code>, which has been registered with the framework, has not
+ idled within the allowed time.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></td>
+        <td class="jd-descrcol" width="100%">
+          An checked <code><a href="../../../../../reference/java/lang/Exception.html">Exception</a></code> indicating that event injection failed with a
+ <code><a href="../../../../../reference/java/lang/SecurityException.html">SecurityException</a></code>.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></td>
+        <td class="jd-descrcol" width="100%">
+          An exception which indicates that there are no activities in stage RESUMED.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that a given matcher did not match any <code><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></code>s (windows) from those that are
+ currently available.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that a given matcher did not match any elements in the view hierarchy.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that an exception occurred while performing a ViewAction on the UI thread.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+      </div>
+  </div>
+</td></tr></table>
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Used for identifying an exception as coming from the <code><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></code> framework.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/FailureHandler.html b/docs/html/reference/android/support/test/espresso/FailureHandler.html
new file mode 100644
index 0000000..c79bcb4
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/FailureHandler.html
@@ -0,0 +1,950 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>FailureHandler | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">FailureHandler</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">FailureHandler</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.FailureHandler</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-indirect" class="jd-expando-trigger closed"
+          ><img id="subclasses-indirect-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>Known Indirect Subclasses
+
+  <div id="subclasses-indirect">
+      <div id="subclasses-indirect-list"
+              class="jd-inheritedlinks"
+
+              >
+
+
+              <a href="../../../../../reference/android/support/test/espresso/base/DefaultFailureHandler.html">DefaultFailureHandler</a>
+
+
+      </div>
+      <div id="subclasses-indirect-summary"
+              style="display: none;"
+              >
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/base/DefaultFailureHandler.html">DefaultFailureHandler</a></td>
+        <td class="jd-descrcol" width="100%">
+          Espresso's default <code><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></code>.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+      </div>
+  </div>
+</td></tr></table>
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Handles failures that happen during test execution.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html#handle(java.lang.Throwable, org.hamcrest.Matcher<android.view.View>)">handle</a></span>(Throwable error, Matcher&lt;View&gt; viewMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Handle the given error in a manner that makes sense to the environment in which the test is
+ executed (e.g.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="handle(java.lang.Throwable, org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        void
+      </span>
+      <span class="sympad">handle</span>
+      <span class="normal">(Throwable error, Matcher&lt;View&gt; viewMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Handle the given error in a manner that makes sense to the environment in which the test is
+ executed (e.g. take a screenshot, output extra debug info, etc). Upon handling, most handlers
+ will choose to propagate the error.
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/GraphHolder.html b/docs/html/reference/android/support/test/espresso/GraphHolder.html
new file mode 100644
index 0000000..0ab18fa
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/GraphHolder.html
@@ -0,0 +1,1227 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>GraphHolder | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">GraphHolder</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">GraphHolder</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.GraphHolder</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Holds Espresso's ObjectGraph.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;T&gt;
+            T</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html#espressoGet(java.lang.Class<T>)">espressoGet</a></span>(Class&lt;T&gt; type)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;T&gt;
+            T</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html#espressoInject(T)">espressoInject</a></span>(T instance)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html#initialize(java.lang.Object...)">initialize</a></span>(Object... modules)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="espressoGet(java.lang.Class<T>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        T
+      </span>
+      <span class="sympad">espressoGet</span>
+      <span class="normal">(Class&lt;T&gt; type)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="espressoInject(T)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        T
+      </span>
+      <span class="sympad">espressoInject</span>
+      <span class="normal">(T instance)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="initialize(java.lang.Object...)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        void
+      </span>
+      <span class="sympad">initialize</span>
+      <span class="normal">(Object... modules)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/IdlingPolicies.html b/docs/html/reference/android/support/test/espresso/IdlingPolicies.html
new file mode 100644
index 0000000..b117388
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/IdlingPolicies.html
@@ -0,0 +1,1372 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>IdlingPolicies | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">IdlingPolicies</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">IdlingPolicies</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.IdlingPolicies</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Allows users fine grain control over idling policies.
+
+ Espresso's default idling policies are suitable for most usecases - however
+ certain execution environments (like the ARM emulator) might be very slow.
+ This class allows users the ability to adjust defaults to sensible values
+ for their environments.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html#getDynamicIdlingResourceErrorPolicy()">getDynamicIdlingResourceErrorPolicy</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html#getDynamicIdlingResourceWarningPolicy()">getDynamicIdlingResourceWarningPolicy</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html#getMasterIdlingPolicy()">getMasterIdlingPolicy</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html#setIdlingResourceTimeout(long, java.util.concurrent.TimeUnit)">setIdlingResourceTimeout</a></span>(long timeout, TimeUnit unit)</nobr>
+
+        <div class="jd-descrdiv">
+          Updates the IdlingPolicy used by IdlingResourceRegistry to determine when IdlingResources
+ timeout.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html#setMasterPolicyTimeout(long, java.util.concurrent.TimeUnit)">setMasterPolicyTimeout</a></span>(long timeout, TimeUnit unit)</nobr>
+
+        <div class="jd-descrdiv">
+          Updates the IdlingPolicy used in UiController.loopUntil to detect AppNotIdleExceptions.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getDynamicIdlingResourceErrorPolicy()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a>
+      </span>
+      <span class="sympad">getDynamicIdlingResourceErrorPolicy</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getDynamicIdlingResourceWarningPolicy()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a>
+      </span>
+      <span class="sympad">getDynamicIdlingResourceWarningPolicy</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getMasterIdlingPolicy()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a>
+      </span>
+      <span class="sympad">getMasterIdlingPolicy</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="setIdlingResourceTimeout(long, java.util.concurrent.TimeUnit)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        void
+      </span>
+      <span class="sympad">setIdlingResourceTimeout</span>
+      <span class="normal">(long timeout, TimeUnit unit)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Updates the IdlingPolicy used by IdlingResourceRegistry to determine when IdlingResources
+ timeout.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>timeout</td>
+          <td>the timeout before an IdlingResourceTimeoutException is created.</td>
+        </tr>
+        <tr>
+          <th>unit</td>
+          <td>the unit of the timeout value.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="setMasterPolicyTimeout(long, java.util.concurrent.TimeUnit)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        void
+      </span>
+      <span class="sympad">setMasterPolicyTimeout</span>
+      <span class="normal">(long timeout, TimeUnit unit)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Updates the IdlingPolicy used in UiController.loopUntil to detect AppNotIdleExceptions.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>timeout</td>
+          <td>the timeout before an AppNotIdleException is created.</td>
+        </tr>
+        <tr>
+          <th>unit</td>
+          <td>the unit of the timeout value.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/IdlingPolicy.html b/docs/html/reference/android/support/test/espresso/IdlingPolicy.html
new file mode 100644
index 0000000..7e3a538
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/IdlingPolicy.html
@@ -0,0 +1,1264 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>IdlingPolicy | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">IdlingPolicy</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">IdlingPolicy</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.IdlingPolicy</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Allows users to control idling idleTimeouts in Espresso.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            long</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html#getIdleTimeout()">getIdleTimeout</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          The amount of time the policy allows a resource to be non-idle.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            TimeUnit</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html#getIdleTimeoutUnit()">getIdleTimeoutUnit</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          The unit for {@linkgetIdleTimeout }.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html#handleTimeout(java.util.List<java.lang.String>, java.lang.String)">handleTimeout</a></span>(List&lt;String&gt; busyResources, String message)</nobr>
+
+        <div class="jd-descrdiv">
+          Invoked when the idle idleTimeout has been exceeded.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getIdleTimeout()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        long
+      </span>
+      <span class="sympad">getIdleTimeout</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>The amount of time the policy allows a resource to be non-idle.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getIdleTimeoutUnit()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        TimeUnit
+      </span>
+      <span class="sympad">getIdleTimeoutUnit</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>The unit for {@linkgetIdleTimeout }.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="handleTimeout(java.util.List<java.lang.String>, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">handleTimeout</span>
+      <span class="normal">(List&lt;String&gt; busyResources, String message)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Invoked when the idle idleTimeout has been exceeded.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>busyResources</td>
+          <td>the resources that are not idle.</td>
+        </tr>
+        <tr>
+          <th>message</td>
+          <td>an additional message to include in an exception.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/IdlingResource.ResourceCallback.html b/docs/html/reference/android/support/test/espresso/IdlingResource.ResourceCallback.html
new file mode 100644
index 0000000..0bf235d
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/IdlingResource.ResourceCallback.html
@@ -0,0 +1,887 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>IdlingResource.ResourceCallback | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">IdlingResource.ResourceCallback</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+    static
+
+
+    interface
+<h1 itemprop="name">IdlingResource.ResourceCallback</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.IdlingResource.ResourceCallback</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Registered by an <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code> to notify Espresso of a transition to idle.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html#onTransitionToIdle()">onTransitionToIdle</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Called when the resource goes from busy to idle.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="onTransitionToIdle()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        void
+      </span>
+      <span class="sympad">onTransitionToIdle</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Called when the resource goes from busy to idle.
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/IdlingResource.html b/docs/html/reference/android/support/test/espresso/IdlingResource.html
new file mode 100644
index 0000000..7c6a83a
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/IdlingResource.html
@@ -0,0 +1,1106 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>IdlingResource | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">IdlingResource</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+  <a href="#nestedclasses">Nested Classes</a>
+
+
+
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">IdlingResource</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.IdlingResource</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-indirect" class="jd-expando-trigger closed"
+          ><img id="subclasses-indirect-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>Known Indirect Subclasses
+
+  <div id="subclasses-indirect">
+      <div id="subclasses-indirect-list"
+              class="jd-inheritedlinks"
+
+              >
+
+
+              <a href="../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html">CountingIdlingResource</a>
+
+
+      </div>
+      <div id="subclasses-indirect-summary"
+              style="display: none;"
+              >
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html">CountingIdlingResource</a></td>
+        <td class="jd-descrcol" width="100%">
+          An implementation of <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code> that determines idleness by maintaining an internal
+ counter.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+      </div>
+  </div>
+</td></tr></table>
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Represents a resource of an application under test which can cause asynchronous background work
+ to happen during test execution (e.g. an intent service that processes a button click). By
+ default, <code><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></code> synchronizes all view operations with the UI thread as well as
+ AsyncTasks; however, it has no way of doing so with "hand-made" resources. In such cases, test
+ authors can register the custom resource and <code><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></code> will wait for the resource to
+ become idle prior to executing a view operation.
+ <br><br>
+ <b>Important Note:</b> it is assumed that the resource stays idle most of the time.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+      <td class="jd-typecol"><nobr>
+
+
+
+
+        interface</nobr></td>
+      <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></td>
+      <td class="jd-descrcol" width="100%">
+        Registered by an <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code> to notify Espresso of a transition to idle.&nbsp;
+
+
+
+      </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html#getName()">getName</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the name of the resources (used for logging and idempotency  of registration).
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html#isIdleNow()">isIdleNow</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns <code>true</code> if resource is currently idle.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html#registerIdleTransitionCallback(android.support.test.espresso.IdlingResource.ResourceCallback)">registerIdleTransitionCallback</a></span>(<a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a> callback)</nobr>
+
+        <div class="jd-descrdiv">
+          Registers the given <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></code> with the resource.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getName()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        String
+      </span>
+      <span class="sympad">getName</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the name of the resources (used for logging and idempotency  of registration).
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isIdleNow()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        boolean
+      </span>
+      <span class="sympad">isIdleNow</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns <code>true</code> if resource is currently idle. Espresso will <b>always</b> call this
+ method from the main thread, therefore it should be non-blocking and return immediately.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="registerIdleTransitionCallback(android.support.test.espresso.IdlingResource.ResourceCallback)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        void
+      </span>
+      <span class="sympad">registerIdleTransitionCallback</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a> callback)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Registers the given <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></code> with the resource. Espresso will call this method:
+ <ul>
+ <li>with its implementation of <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></code> so it can be notified asynchronously
+ that your resource is idle
+ <li>from the main thread, but you are free to execute the callback's onTransitionToIdle from
+ any thread
+ <li>once (when it is initially given a reference to your IdlingResource)
+ </ul>
+ <br>
+ You only need to call this upon transition from busy to idle - if the resource is already idle
+ when the method is called invoking the call back is optional and has no significant impact.
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/IdlingResourceTimeoutException.html b/docs/html/reference/android/support/test/espresso/IdlingResourceTimeoutException.html
new file mode 100644
index 0000000..a936b74
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/IdlingResourceTimeoutException.html
@@ -0,0 +1,1460 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>IdlingResourceTimeoutException | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">IdlingResourceTimeoutException</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">IdlingResourceTimeoutException</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    extends RuntimeException<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="5" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="4" class="jd-inheritance-class-cell">java.lang.Throwable</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Exception</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.RuntimeException</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.IdlingResourceTimeoutException</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Indicates that an <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code>, which has been registered with the framework, has not
+ idled within the allowed time.
+
+ Since it is not safe to proceed with test execution while the registered resource is busy (as it
+ is likely to cause inconsistent results in the test), this is an unrecoverable error. The test
+ author should verify that the <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code> interface has been implemented correctly.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html#IdlingResourceTimeoutException(java.util.List<java.lang.String>)">IdlingResourceTimeoutException</a></span>(List&lt;String&gt; resourceNames)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Throwable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Throwable-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Throwable
+
+<div id="inherited-methods-java.lang.Throwable">
+  <div id="inherited-methods-java.lang.Throwable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Throwable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addSuppressed</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">fillInStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getCause</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getLocalizedMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            StackTraceElement[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Throwable[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getSuppressed</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">initCause</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintStream arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintWriter arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setStackTrace</span>(StackTraceElement[] arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="IdlingResourceTimeoutException(java.util.List<java.lang.String>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">IdlingResourceTimeoutException</span>
+      <span class="normal">(List&lt;String&gt; resourceNames)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/InjectEventSecurityException.html b/docs/html/reference/android/support/test/espresso/InjectEventSecurityException.html
new file mode 100644
index 0000000..dd1b7e8
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/InjectEventSecurityException.html
@@ -0,0 +1,1527 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>InjectEventSecurityException | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">InjectEventSecurityException</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">InjectEventSecurityException</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+    extends Exception<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="4" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Throwable</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Exception</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.InjectEventSecurityException</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">An checked <code><a href="../../../../../reference/java/lang/Exception.html">Exception</a></code> indicating that event injection failed with a
+ <code><a href="../../../../../reference/java/lang/SecurityException.html">SecurityException</a></code>.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html#InjectEventSecurityException(java.lang.String)">InjectEventSecurityException</a></span>(String message)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html#InjectEventSecurityException(java.lang.Throwable)">InjectEventSecurityException</a></span>(Throwable cause)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html#InjectEventSecurityException(java.lang.String, java.lang.Throwable)">InjectEventSecurityException</a></span>(String message, Throwable cause)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Throwable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Throwable-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Throwable
+
+<div id="inherited-methods-java.lang.Throwable">
+  <div id="inherited-methods-java.lang.Throwable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Throwable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addSuppressed</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">fillInStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getCause</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getLocalizedMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            StackTraceElement[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Throwable[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getSuppressed</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">initCause</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintStream arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintWriter arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setStackTrace</span>(StackTraceElement[] arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="InjectEventSecurityException(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">InjectEventSecurityException</span>
+      <span class="normal">(String message)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="InjectEventSecurityException(java.lang.Throwable)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">InjectEventSecurityException</span>
+      <span class="normal">(Throwable cause)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="InjectEventSecurityException(java.lang.String, java.lang.Throwable)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">InjectEventSecurityException</span>
+      <span class="normal">(String message, Throwable cause)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/NoActivityResumedException.html b/docs/html/reference/android/support/test/espresso/NoActivityResumedException.html
new file mode 100644
index 0000000..2e611a8
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/NoActivityResumedException.html
@@ -0,0 +1,1503 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>NoActivityResumedException | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">NoActivityResumedException</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">NoActivityResumedException</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    extends RuntimeException<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="5" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="4" class="jd-inheritance-class-cell">java.lang.Throwable</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Exception</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.RuntimeException</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.NoActivityResumedException</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">An exception which indicates that there are no activities in stage RESUMED.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html#NoActivityResumedException(java.lang.String)">NoActivityResumedException</a></span>(String description)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html#NoActivityResumedException(java.lang.String, java.lang.Throwable)">NoActivityResumedException</a></span>(String description, Throwable cause)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Throwable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Throwable-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Throwable
+
+<div id="inherited-methods-java.lang.Throwable">
+  <div id="inherited-methods-java.lang.Throwable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Throwable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addSuppressed</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">fillInStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getCause</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getLocalizedMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            StackTraceElement[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Throwable[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getSuppressed</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">initCause</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintStream arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintWriter arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setStackTrace</span>(StackTraceElement[] arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="NoActivityResumedException(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">NoActivityResumedException</span>
+      <span class="normal">(String description)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="NoActivityResumedException(java.lang.String, java.lang.Throwable)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">NoActivityResumedException</span>
+      <span class="normal">(String description, Throwable cause)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/NoMatchingRootException.html b/docs/html/reference/android/support/test/espresso/NoMatchingRootException.html
new file mode 100644
index 0000000..97f4069
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/NoMatchingRootException.html
@@ -0,0 +1,1454 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>NoMatchingRootException | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">NoMatchingRootException</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">NoMatchingRootException</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    extends RuntimeException<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="5" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="4" class="jd-inheritance-class-cell">java.lang.Throwable</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Exception</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.RuntimeException</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.NoMatchingRootException</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Indicates that a given matcher did not match any <code><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></code>s (windows) from those that are
+ currently available.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html#create(org.hamcrest.Matcher<android.support.test.espresso.Root>, java.util.List<android.support.test.espresso.Root>)">create</a></span>(Matcher&lt;<a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt; rootMatcher, List&lt;<a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt; roots)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Throwable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Throwable-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Throwable
+
+<div id="inherited-methods-java.lang.Throwable">
+  <div id="inherited-methods-java.lang.Throwable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Throwable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addSuppressed</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">fillInStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getCause</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getLocalizedMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            StackTraceElement[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Throwable[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getSuppressed</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">initCause</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintStream arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintWriter arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setStackTrace</span>(StackTraceElement[] arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="create(org.hamcrest.Matcher<android.support.test.espresso.Root>, java.util.List<android.support.test.espresso.Root>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a>
+      </span>
+      <span class="sympad">create</span>
+      <span class="normal">(Matcher&lt;<a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt; rootMatcher, List&lt;<a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt; roots)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/NoMatchingViewException.Builder.html b/docs/html/reference/android/support/test/espresso/NoMatchingViewException.Builder.html
new file mode 100644
index 0000000..b68ea18
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/NoMatchingViewException.Builder.html
@@ -0,0 +1,1485 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>NoMatchingViewException.Builder | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">NoMatchingViewException.Builder</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+    static
+
+
+    class
+<h1 itemprop="name">NoMatchingViewException.Builder</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.NoMatchingViewException.Builder</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Builder for <code><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></code>. </p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html#NoMatchingViewException.Builder()">NoMatchingViewException.Builder</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html#build()">build</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html#from(android.support.test.espresso.NoMatchingViewException)">from</a></span>(<a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a> exception)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html#includeViewHierarchy(boolean)">includeViewHierarchy</a></span>(boolean includeViewHierarchy)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html#withAdapterViewWarning(com.google.common.base.Optional<java.lang.String>)">withAdapterViewWarning</a></span>(Optional&lt;String&gt; adapterViewWarning)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html#withAdapterViews(java.util.List<android.view.View>)">withAdapterViews</a></span>(List&lt;View&gt; adapterViews)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html#withRootView(android.view.View)">withRootView</a></span>(View rootView)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html#withViewMatcher(org.hamcrest.Matcher<? super android.view.View>)">withViewMatcher</a></span>(Matcher&lt;?&nbsp;super&nbsp;View&gt; viewMatcher)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="NoMatchingViewException.Builder()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">NoMatchingViewException.Builder</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="build()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a>
+      </span>
+      <span class="sympad">build</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="from(android.support.test.espresso.NoMatchingViewException)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a>
+      </span>
+      <span class="sympad">from</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a> exception)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="includeViewHierarchy(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a>
+      </span>
+      <span class="sympad">includeViewHierarchy</span>
+      <span class="normal">(boolean includeViewHierarchy)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withAdapterViewWarning(com.google.common.base.Optional<java.lang.String>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a>
+      </span>
+      <span class="sympad">withAdapterViewWarning</span>
+      <span class="normal">(Optional&lt;String&gt; adapterViewWarning)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withAdapterViews(java.util.List<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a>
+      </span>
+      <span class="sympad">withAdapterViews</span>
+      <span class="normal">(List&lt;View&gt; adapterViews)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withRootView(android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a>
+      </span>
+      <span class="sympad">withRootView</span>
+      <span class="normal">(View rootView)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withViewMatcher(org.hamcrest.Matcher<? super android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a>
+      </span>
+      <span class="sympad">withViewMatcher</span>
+      <span class="normal">(Matcher&lt;?&nbsp;super&nbsp;View&gt; viewMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/NoMatchingViewException.html b/docs/html/reference/android/support/test/espresso/NoMatchingViewException.html
new file mode 100644
index 0000000..1141e9d
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/NoMatchingViewException.html
@@ -0,0 +1,1503 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>NoMatchingViewException | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">NoMatchingViewException</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+  <a href="#nestedclasses">Nested Classes</a>
+
+
+
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">NoMatchingViewException</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    extends RuntimeException<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="5" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="4" class="jd-inheritance-class-cell">java.lang.Throwable</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Exception</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.RuntimeException</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.NoMatchingViewException</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Indicates that a given matcher did not match any elements in the view hierarchy.
+ <p>
+ Contains details about the matcher and the current view hierarchy to aid in debugging.
+ </p>
+ <p>
+ Since this is usually an unrecoverable error this exception is a runtime exception.
+ </p>
+ <p>
+ References to the view and failing matcher are purposefully not included in the state of this
+ object - since it will most likely be created on the UI thread and thrown on the instrumentation
+ thread, it would be invalid to touch the view on the instrumentation thread. Also the view
+ hierarchy may have changed since exception creation (leading to more confusion).
+ </p>
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+      <td class="jd-typecol"><nobr>
+
+
+
+
+        class</nobr></td>
+      <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></td>
+      <td class="jd-descrcol" width="100%">
+        Builder for <code><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></code>.&nbsp;
+
+
+
+      </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html#getViewMatcherDescription()">getViewMatcherDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a string description of the ViewMatcher that did not match any view
+ in the hierarchy.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Throwable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Throwable-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Throwable
+
+<div id="inherited-methods-java.lang.Throwable">
+  <div id="inherited-methods-java.lang.Throwable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Throwable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addSuppressed</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">fillInStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getCause</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getLocalizedMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            StackTraceElement[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Throwable[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getSuppressed</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">initCause</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintStream arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintWriter arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setStackTrace</span>(StackTraceElement[] arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getViewMatcherDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getViewMatcherDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a string description of the ViewMatcher that did not match any view
+ in the hierarchy.
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/PerformException.Builder.html b/docs/html/reference/android/support/test/espresso/PerformException.Builder.html
new file mode 100644
index 0000000..5c4d87d
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/PerformException.Builder.html
@@ -0,0 +1,1390 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>PerformException.Builder | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">PerformException.Builder</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+    static
+
+
+    class
+<h1 itemprop="name">PerformException.Builder</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.PerformException.Builder</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Builder for <code><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></code>.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html#PerformException.Builder()">PerformException.Builder</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html#build()">build</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html#from(android.support.test.espresso.PerformException)">from</a></span>(<a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a> instance)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html#withActionDescription(java.lang.String)">withActionDescription</a></span>(String actionDescription)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html#withCause(java.lang.Throwable)">withCause</a></span>(Throwable cause)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html#withViewDescription(java.lang.String)">withViewDescription</a></span>(String viewDescription)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="PerformException.Builder()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">PerformException.Builder</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="build()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a>
+      </span>
+      <span class="sympad">build</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="from(android.support.test.espresso.PerformException)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a>
+      </span>
+      <span class="sympad">from</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a> instance)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withActionDescription(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a>
+      </span>
+      <span class="sympad">withActionDescription</span>
+      <span class="normal">(String actionDescription)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withCause(java.lang.Throwable)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a>
+      </span>
+      <span class="sympad">withCause</span>
+      <span class="normal">(Throwable cause)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withViewDescription(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a>
+      </span>
+      <span class="sympad">withViewDescription</span>
+      <span class="normal">(String viewDescription)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/PerformException.html b/docs/html/reference/android/support/test/espresso/PerformException.html
new file mode 100644
index 0000000..fe45800
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/PerformException.html
@@ -0,0 +1,1535 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>PerformException | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">PerformException</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+  <a href="#nestedclasses">Nested Classes</a>
+
+
+
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">PerformException</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    extends RuntimeException<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="5" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="4" class="jd-inheritance-class-cell">java.lang.Throwable</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Exception</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.RuntimeException</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.PerformException</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Indicates that an exception occurred while performing a ViewAction on the UI thread.
+
+ A description of the <code><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code>, the view being performed on and the cause are included
+ in the error. Note: <code><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></code>s can mutate the exception later to make it more user
+ friendly.
+
+ This is generally not recoverable so it is thrown on the instrumentation thread.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+      <td class="jd-typecol"><nobr>
+
+
+
+
+        class</nobr></td>
+      <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></td>
+      <td class="jd-descrcol" width="100%">
+        Builder for <code><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></code>.&nbsp;
+
+
+
+      </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/PerformException.html#getActionDescription()">getActionDescription</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/PerformException.html#getViewDescription()">getViewDescription</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Throwable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Throwable-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Throwable
+
+<div id="inherited-methods-java.lang.Throwable">
+  <div id="inherited-methods-java.lang.Throwable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Throwable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addSuppressed</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">fillInStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getCause</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getLocalizedMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            StackTraceElement[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Throwable[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getSuppressed</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">initCause</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintStream arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintWriter arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setStackTrace</span>(StackTraceElement[] arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getActionDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getActionDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getViewDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getViewDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/Root.Builder.html b/docs/html/reference/android/support/test/espresso/Root.Builder.html
new file mode 100644
index 0000000..d910ddf
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/Root.Builder.html
@@ -0,0 +1,1290 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>Root.Builder | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">Root.Builder</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+    static
+
+
+    class
+<h1 itemprop="name">Root.Builder</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.Root.Builder</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html#Root.Builder()">Root.Builder</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html#build()">build</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html#withDecorView(android.view.View)">withDecorView</a></span>(View view)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html#withWindowLayoutParams(android.view.WindowManager.LayoutParams)">withWindowLayoutParams</a></span>(WindowManager.LayoutParams windowLayoutParams)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="Root.Builder()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">Root.Builder</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="build()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a>
+      </span>
+      <span class="sympad">build</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withDecorView(android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a>
+      </span>
+      <span class="sympad">withDecorView</span>
+      <span class="normal">(View view)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withWindowLayoutParams(android.view.WindowManager.LayoutParams)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a>
+      </span>
+      <span class="sympad">withWindowLayoutParams</span>
+      <span class="normal">(WindowManager.LayoutParams windowLayoutParams)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/Root.html b/docs/html/reference/android/support/test/espresso/Root.html
new file mode 100644
index 0000000..75fd2bd
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/Root.html
@@ -0,0 +1,1259 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>Root | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">Root</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+  <a href="#nestedclasses">Nested Classes</a>
+
+
+
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">Root</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.Root</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Represents a root view in the application and optionally the layout params of the window holding
+ it.
+
+ This class is used internally to determine which view root to run user provided matchers against
+ it is not part of the public api.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+      <td class="jd-typecol"><nobr>
+
+
+
+
+        class</nobr></td>
+      <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></td>
+      <td class="jd-descrcol" width="100%">
+        &nbsp;
+
+
+
+      </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            View</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Root.html#getDecorView()">getDecorView</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Optional&lt;WindowManager.LayoutParams&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Root.html#getWindowLayoutParams()">getWindowLayoutParams</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/Root.html#toString()">toString</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getDecorView()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        View
+      </span>
+      <span class="sympad">getDecorView</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getWindowLayoutParams()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Optional&lt;WindowManager.LayoutParams&gt;
+      </span>
+      <span class="sympad">getWindowLayoutParams</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="toString()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">toString</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/UiController.html b/docs/html/reference/android/support/test/espresso/UiController.html
new file mode 100644
index 0000000..b1b8f7e
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/UiController.html
@@ -0,0 +1,1205 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>UiController | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">UiController</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">UiController</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.UiController</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Provides base-level UI operations (such as injection of <code><a href="../../../../../reference/android/view/MotionEvent.html">MotionEvent</a></code>s) that can be used to
+ build user actions such as clicks, scrolls, swipes, etc. This replaces parts of the android
+ Instrumentation class that provides similar functionality. However, it provides a more advanced
+ synchronization mechanism for test actions. The key differentiators are:
+ <ul>
+ <li>test actions are assumed to be called on the main thread
+ <li>after a test action is initiated, execution blocks until all messages in the main message
+ queue have been cleared.
+ </ul>
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/UiController.html#injectKeyEvent(android.view.KeyEvent)">injectKeyEvent</a></span>(KeyEvent event)</nobr>
+
+        <div class="jd-descrdiv">
+          Injects a key event into the application.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/UiController.html#injectMotionEvent(android.view.MotionEvent)">injectMotionEvent</a></span>(MotionEvent event)</nobr>
+
+        <div class="jd-descrdiv">
+          Injects a motion event into the application.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/UiController.html#injectString(java.lang.String)">injectString</a></span>(String str)</nobr>
+
+        <div class="jd-descrdiv">
+          Types a string into the application using series of <code><a href="../../../../../reference/android/view/KeyEvent.html">KeyEvent</a></code>s.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/UiController.html#loopMainThreadForAtLeast(long)">loopMainThreadForAtLeast</a></span>(long millisDelay)</nobr>
+
+        <div class="jd-descrdiv">
+          Loops the main thread for a specified period of time.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/UiController.html#loopMainThreadUntilIdle()">loopMainThreadUntilIdle</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Loops the main thread until the application goes idle.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="injectKeyEvent(android.view.KeyEvent)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        boolean
+      </span>
+      <span class="sympad">injectKeyEvent</span>
+      <span class="normal">(KeyEvent event)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Injects a key event into the application.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>event</td>
+          <td>the (non-null!) event to inject</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if the event was injected, false otherwise</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></td>
+            <td>if the event couldn't be injected because it would
+         interact with another application.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="injectMotionEvent(android.view.MotionEvent)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        boolean
+      </span>
+      <span class="sympad">injectMotionEvent</span>
+      <span class="normal">(MotionEvent event)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Injects a motion event into the application.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>event</td>
+          <td>the (non-null!) event to inject</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if the event was injected, false otherwise</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></td>
+            <td>if the event couldn't be injected because it would
+         interact with another application.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="injectString(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        boolean
+      </span>
+      <span class="sympad">injectString</span>
+      <span class="normal">(String str)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Types a string into the application using series of <code><a href="../../../../../reference/android/view/KeyEvent.html">KeyEvent</a></code>s. It is up to the
+ implementor to decide how to map the string to <code><a href="../../../../../reference/android/view/KeyEvent.html">KeyEvent</a></code> objects. if you need specific
+ control over the key events generated use <code><a href="../../../../../reference/android/support/test/espresso/UiController.html#injectKeyEvent(android.view.KeyEvent)">injectKeyEvent(KeyEvent)</a></code>.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>str</td>
+          <td>the (non-null!) string to type</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if the string was injected, false otherwise</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></td>
+            <td>if the events couldn't be injected because it would
+         interact with another application.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="loopMainThreadForAtLeast(long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        void
+      </span>
+      <span class="sympad">loopMainThreadForAtLeast</span>
+      <span class="normal">(long millisDelay)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Loops the main thread for a specified period of time.
+
+  Control may not return immediately, instead it'll return after the time has passed and the
+ queue is in an idle state again.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>millisDelay</td>
+          <td>time to spend in looping the main thread
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="loopMainThreadUntilIdle()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        void
+      </span>
+      <span class="sympad">loopMainThreadUntilIdle</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Loops the main thread until the application goes idle.
+
+  An empty task is immediately inserted into the task queue to ensure that if we're idle at this
+ moment we'll return instantly.
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/ViewAction.html b/docs/html/reference/android/support/test/espresso/ViewAction.html
new file mode 100644
index 0000000..5e41d8c
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/ViewAction.html
@@ -0,0 +1,1230 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>ViewAction | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">ViewAction</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">ViewAction</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.ViewAction</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-indirect" class="jd-expando-trigger closed"
+          ><img id="subclasses-indirect-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>Known Indirect Subclasses
+
+  <div id="subclasses-indirect">
+      <div id="subclasses-indirect-list"
+              class="jd-inheritedlinks"
+
+              >
+
+
+              <a href="../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a>,
+
+              <a href="../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a>
+
+
+      </div>
+      <div id="subclasses-indirect-summary"
+              style="display: none;"
+              >
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Forces an AdapterView to ensure that the data matching a provided data matcher
+ is loaded into the current view hierarchy.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Closes soft keyboard.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Performs whatever editor (IME) action is available on a view.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Enables clicking on views.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Enables swiping across a view.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Enables pressing KeyEvents on views.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Invokes onClick of a link within a TextView (made with Linkify or via another method).&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Most RecyclerViewActions are given a matcher to select a particular view / viewholder within
+ the RecyclerView.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Replaces view text by setting <code><a href="../../../../../reference/android/widget/EditText.html">EditText</a></code>s text property to given String.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Enables scrolling to the given view.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Enables typing text on views.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+      </div>
+  </div>
+</td></tr></table>
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Responsible for performing an interaction on the given View element.<br>
+ <p>
+ This is part of the test framework public API - developers are free to write their own ViewAction
+ implementations when necessary. When implementing a new ViewAction, follow these rules:
+ <ul>
+ <li>Inject motion events or key events via the UiController to simulate user interactions.
+ <li>Do not mutate the view directly via setter methods and other state changing methods on the
+ view parameter.
+ <li>Do not throw AssertionErrors. Assertions belong in ViewAssertion classes.
+ <li>View action code will executed on the UI thread, therefore you should not block, perform
+ sleeps, or perform other expensive computations.
+ <li>The test framework will wait for the UI thread to be idle both before and after perform() is
+ called. This means that the action is guaranteed to be synchronized with any other view
+ operations.
+ <li>Downcasting the View object to an expected subtype is allowed, so long as the object
+ expresses the subtype matches the constraints as specified in <code>getConstraints</code>.
+ </ul>
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getConstraints()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">getConstraints</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>A mechanism for ViewActions to specify what type of views they can operate on.
+
+  A ViewAction can demand that the view passed to perform meets certain constraints. For example
+ it may want to ensure the view is already in the viewable physical screen of the device or is
+ of a certain type.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+     <code>Matcher</code></a> that will be tested prior to calling perform.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        String
+      </span>
+      <span class="sympad">getDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a description of the view action. The description should not be overly long and should
+ fit nicely in a sentence like: "performing %description% action on view with id ..."
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="perform(android.support.test.espresso.UiController, android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        void
+      </span>
+      <span class="sympad">perform</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs this action on the given view.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>uiController</td>
+          <td>the controller to use to interact with the UI.</td>
+        </tr>
+        <tr>
+          <th>view</td>
+          <td>the view to act upon. never null.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/ViewAssertion.html b/docs/html/reference/android/support/test/espresso/ViewAssertion.html
new file mode 100644
index 0000000..848a416
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/ViewAssertion.html
@@ -0,0 +1,917 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>ViewAssertion | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">ViewAssertion</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">ViewAssertion</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.ViewAssertion</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Responsible for performing assertions on a View element.<br>
+ <p>
+ This is considered part of the test framework public API - developers are free to write their own
+ assertions as long as they meet the following requirements:
+ <ul>
+ <li>Do not mutate the passed in view.
+ <li>Throw junit.framework.AssertionError when the view assertion does not hold.
+ <li>Implementation runs on the UI thread - so it should not do any blocking operations
+ <li>Downcasting the view to a specific type is allowed, provided there is a test that view is an
+ instance of that type before downcasting. If not, an AssertionError should be thrown.
+ <li>It is encouraged to access non-mutating methods on the view to perform assertion.
+ </ul>
+ <br>
+ <p>
+ Strongly consider using a existing ViewAssertion via the ViewAssertions utility class before
+ writing your own assertion.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html#check(android.view.View, android.support.test.espresso.NoMatchingViewException)">check</a></span>(View view, <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a> noViewFoundException)</nobr>
+
+        <div class="jd-descrdiv">
+          Checks the state of the given view (if such a view is present).
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="check(android.view.View, android.support.test.espresso.NoMatchingViewException)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        void
+      </span>
+      <span class="sympad">check</span>
+      <span class="normal">(View view, <a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a> noViewFoundException)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Checks the state of the given view (if such a view is present).</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>view</td>
+          <td>the view, if one was found during the view interaction or null if it was not
+ (which may be an acceptable option for an assertion)</td>
+        </tr>
+        <tr>
+          <th>noViewFoundException</td>
+          <td>an exception detailing why the view could not be found or null if
+ the view was found
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/ViewFinder.html b/docs/html/reference/android/support/test/espresso/ViewFinder.html
new file mode 100644
index 0000000..7bf1284a
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/ViewFinder.html
@@ -0,0 +1,966 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>ViewFinder | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">ViewFinder</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">ViewFinder</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.ViewFinder</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-indirect" class="jd-expando-trigger closed"
+          ><img id="subclasses-indirect-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>Known Indirect Subclasses
+
+  <div id="subclasses-indirect">
+      <div id="subclasses-indirect-list"
+              class="jd-inheritedlinks"
+
+              >
+
+
+              <a href="../../../../../reference/android/support/test/espresso/base/ViewFinderImpl.html">ViewFinderImpl</a>
+
+
+      </div>
+      <div id="subclasses-indirect-summary"
+              style="display: none;"
+              >
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/base/ViewFinderImpl.html">ViewFinderImpl</a></td>
+        <td class="jd-descrcol" width="100%">
+          Implementation of <code><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></code>.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+      </div>
+  </div>
+</td></tr></table>
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Uses matchers to locate particular views within the view hierarchy.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            View</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html#getView()">getView</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Immediately locates a single view within the provided view hierarchy.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getView()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        View
+      </span>
+      <span class="sympad">getView</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Immediately locates a single view within the provided view hierarchy.
+
+ If multiple views match, or if no views match the appropriate exception is thrown.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A singular view which matches the matcher we were constructed with.</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></td>
+            <td>when multiple views match</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></td>
+            <td>when no views match.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/ViewInteraction.html b/docs/html/reference/android/support/test/espresso/ViewInteraction.html
new file mode 100644
index 0000000..b771faf
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/ViewInteraction.html
@@ -0,0 +1,1355 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>ViewInteraction | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">ViewInteraction</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">ViewInteraction</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.ViewInteraction</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Provides the primary interface for test authors to perform actions or asserts on views.
+ <p>
+ Each interaction is associated with a view identified by a view matcher. All view actions and
+ asserts are performed on the UI thread (thus ensuring sequential execution). The same goes for
+ retrieval of views (this is done to ensure that view state is "fresh" prior to execution of each
+ operation).
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html#check(android.support.test.espresso.ViewAssertion)">check</a></span>(<a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a> viewAssert)</nobr>
+
+        <div class="jd-descrdiv">
+          Checks the given <code><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> on the the view selected by the current view matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html#inRoot(org.hamcrest.Matcher<android.support.test.espresso.Root>)">inRoot</a></span>(Matcher&lt;<a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt; rootMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Makes this ViewInteraction scoped to the root selected by the given root matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html#perform(android.support.test.espresso.ViewAction...)">perform</a></span>(<a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction...</a> viewActions)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs the given action(s) on the view selected by the current view matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html#withFailureHandler(android.support.test.espresso.FailureHandler)">withFailureHandler</a></span>(<a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a> failureHandler)</nobr>
+
+        <div class="jd-descrdiv">
+          Replaces the default failure handler (@see Espresso.setFailureHandler) with a custom
+ failurehandler for this particular interaction.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="check(android.support.test.espresso.ViewAssertion)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a>
+      </span>
+      <span class="sympad">check</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a> viewAssert)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Checks the given <code><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> on the the view selected by the current view matcher.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>viewAssert</td>
+          <td>the assertion to check.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>this interaction for further perform/verification calls.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="inRoot(org.hamcrest.Matcher<android.support.test.espresso.Root>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a>
+      </span>
+      <span class="sympad">inRoot</span>
+      <span class="normal">(Matcher&lt;<a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt; rootMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Makes this ViewInteraction scoped to the root selected by the given root matcher.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="perform(android.support.test.espresso.ViewAction...)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a>
+      </span>
+      <span class="sympad">perform</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction...</a> viewActions)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs the given action(s) on the view selected by the current view matcher. If more than one
+ action is provided, actions are executed in the order provided with precondition checks running
+ prior to each action.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>viewActions</td>
+          <td>one or more actions to execute.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>this interaction for further perform/verification calls.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withFailureHandler(android.support.test.espresso.FailureHandler)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a>
+      </span>
+      <span class="sympad">withFailureHandler</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a> failureHandler)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Replaces the default failure handler (@see Espresso.setFailureHandler) with a custom
+ failurehandler for this particular interaction.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>failureHandler</td>
+          <td>a non-null failurehandler to use to report failures.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>this interaction for further perform/verification calls.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/AdapterDataLoaderAction.html b/docs/html/reference/android/support/test/espresso/action/AdapterDataLoaderAction.html
new file mode 100644
index 0000000..3578e16
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/AdapterDataLoaderAction.html
@@ -0,0 +1,1499 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>AdapterDataLoaderAction | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">AdapterDataLoaderAction</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">AdapterDataLoaderAction</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.AdapterDataLoaderAction</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Forces an AdapterView to ensure that the data matching a provided data matcher
+ is loaded into the current view hierarchy.
+
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html#AdapterDataLoaderAction(org.hamcrest.Matcher<java.lang.Object>, com.google.common.base.Optional<java.lang.Integer>, android.support.test.espresso.action.AdapterViewProtocol)">AdapterDataLoaderAction</a></span>(Matcher&lt;Object&gt; dataToLoadMatcher, Optional&lt;Integer&gt; atPosition, <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a> adapterViewProtocol)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html#getAdaptedData()">getAdaptedData</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.ViewAction" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.ViewAction-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">android.support.test.espresso.ViewAction</a>
+
+<div id="inherited-methods-android.support.test.espresso.ViewAction">
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="AdapterDataLoaderAction(org.hamcrest.Matcher<java.lang.Object>, com.google.common.base.Optional<java.lang.Integer>, android.support.test.espresso.action.AdapterViewProtocol)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">AdapterDataLoaderAction</span>
+      <span class="normal">(Matcher&lt;Object&gt; dataToLoadMatcher, Optional&lt;Integer&gt; atPosition, <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a> adapterViewProtocol)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getAdaptedData()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a>
+      </span>
+      <span class="sympad">getAdaptedData</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getConstraints()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">getConstraints</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>A mechanism for ViewActions to specify what type of views they can operate on.
+
+  A ViewAction can demand that the view passed to perform meets certain constraints. For example
+ it may want to ensure the view is already in the viewable physical screen of the device or is
+ of a certain type.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+     <code>Matcher</code></a> that will be tested prior to calling perform.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a description of the view action. The description should not be overly long and should
+ fit nicely in a sentence like: "performing %description% action on view with id ..."
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="perform(android.support.test.espresso.UiController, android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">perform</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs this action on the given view.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>uiController</td>
+          <td>the controller to use to interact with the UI.</td>
+        </tr>
+        <tr>
+          <th>view</td>
+          <td>the view to act upon. never null.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html b/docs/html/reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html
new file mode 100644
index 0000000..373c691
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html
@@ -0,0 +1,1339 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>AdapterViewProtocol.AdaptedData.Builder | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">AdapterViewProtocol.AdaptedData.Builder</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+    static
+
+
+    class
+<h1 itemprop="name">AdapterViewProtocol.AdaptedData.Builder</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.AdapterViewProtocol.AdaptedData.Builder</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html#AdapterViewProtocol.AdaptedData.Builder()">AdapterViewProtocol.AdaptedData.Builder</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html#build()">build</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html#withData(java.lang.Object)">withData</a></span>(Object data)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html#withDataFunction(android.support.test.espresso.action.AdapterViewProtocol.DataFunction)">withDataFunction</a></span>(<a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a> dataFunction)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html#withOpaqueToken(java.lang.Object)">withOpaqueToken</a></span>(Object opaqueToken)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="AdapterViewProtocol.AdaptedData.Builder()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">AdapterViewProtocol.AdaptedData.Builder</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="build()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a>
+      </span>
+      <span class="sympad">build</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withData(java.lang.Object)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a>
+      </span>
+      <span class="sympad">withData</span>
+      <span class="normal">(Object data)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withDataFunction(android.support.test.espresso.action.AdapterViewProtocol.DataFunction)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a>
+      </span>
+      <span class="sympad">withDataFunction</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a> dataFunction)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withOpaqueToken(java.lang.Object)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a>
+      </span>
+      <span class="sympad">withOpaqueToken</span>
+      <span class="normal">(Object opaqueToken)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html b/docs/html/reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html
new file mode 100644
index 0000000..9c28131
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html
@@ -0,0 +1,1335 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>AdapterViewProtocol.AdaptedData | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">AdapterViewProtocol.AdaptedData</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+  <a href="#nestedclasses">Nested Classes</a>
+
+
+
+
+
+
+
+
+  &#124; <a href="#lfields">Fields</a>
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+    static
+
+
+    class
+<h1 itemprop="name">AdapterViewProtocol.AdaptedData</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.AdapterViewProtocol.AdaptedData</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A holder that associates a data object from an AdapterView with a token the
+ AdapterViewProtocol can use to force that data object to be rendered as a child or deeper
+ descendant of the adapter view.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+      <td class="jd-typecol"><nobr>
+
+
+
+
+        class</nobr></td>
+      <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></td>
+      <td class="jd-descrcol" width="100%">
+        &nbsp;
+
+
+
+      </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
+
+
+
+      <tr class="alt-color api apilevel-" >
+          <td class="jd-typecol"><nobr>
+          public
+
+          final
+          Object</nobr></td>
+          <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html#data">data</a></td>
+          <td class="jd-descrcol" width="100%">
+            <em>
+      This field is deprecated.
+    use <code><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html#getData()">getData()</a></code> instead.
+</em>
+
+
+
+          </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+          <td class="jd-typecol"><nobr>
+          public
+
+          final
+          Object</nobr></td>
+          <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html#opaqueToken">opaqueToken</a></td>
+          <td class="jd-descrcol" width="100%">
+            A token the implementor of AdapterViewProtocol can use to force the adapterView to display
+ this data object as a child or deeper descendant in it.
+
+
+
+          </td>
+      </tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html#getData()">getData</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html#toString()">toString</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- ========= FIELD DETAIL ======== -->
+<h2>Fields</h2>
+
+
+
+
+<A NAME="data"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+        final
+        Object
+      </span>
+        data
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+      <p>
+  <p class="caution"><strong>
+      This field is deprecated.</strong><br/>
+    use <code><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html#getData()">getData()</a></code> instead.
+
+  </p>
+  <div class="jd-tagdata jd-tagdescr"><p>One of the objects the AdapterView is exposing to the user.</p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="opaqueToken"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+        final
+        Object
+      </span>
+        opaqueToken
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>A token the implementor of AdapterViewProtocol can use to force the adapterView to display
+ this data object as a child or deeper descendant in it. Equal opaqueToken point to the same
+ data object on the AdapterView.
+</p></div>
+
+
+    </div>
+</div>
+
+
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getData()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Object
+      </span>
+      <span class="sympad">getData</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="toString()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">toString</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html b/docs/html/reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html
new file mode 100644
index 0000000..2d4f465
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html
@@ -0,0 +1,884 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>AdapterViewProtocol.DataFunction | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">AdapterViewProtocol.DataFunction</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+    static
+
+
+    interface
+<h1 itemprop="name">AdapterViewProtocol.DataFunction</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.AdapterViewProtocol.DataFunction</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A custom function that is applied when <code><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html#getData()">getData()</a></code> is executed.</p>
+
+
+
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html#withDataFunction(android.support.test.espresso.action.AdapterViewProtocol.DataFunction)">withDataFunction(DataFunction)</a></code></li>
+      </ul>
+  </div>
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html#getData()">getData</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getData()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        Object
+      </span>
+      <span class="sympad">getData</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/AdapterViewProtocol.html b/docs/html/reference/android/support/test/espresso/action/AdapterViewProtocol.html
new file mode 100644
index 0000000..1fa8d07
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/AdapterViewProtocol.html
@@ -0,0 +1,1259 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>AdapterViewProtocol | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">AdapterViewProtocol</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">AdapterViewProtocol</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.AdapterViewProtocol</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A sadly necessary layer of indirection to interact with AdapterViews.
+ <p>
+ Generally any subclass should respect the contracts and behaviors of its superclass. Otherwise
+ it becomes impossible to work generically with objects that all claim to share a supertype - you
+ need special cases to perform the same operation 'owned' by the supertype for each sub-type. The
+ 'is - a' relationship is broken.
+ </p>
+
+ <p>
+ Android breaks the Liskov substitution principal with ExpandableListView - you can't use
+ getAdapter(), getItemAtPosition(), and other methods common to AdapterViews on an
+ ExpandableListView because an ExpandableListView isn't an adapterView - they just share a lot of
+ code.
+ </p>
+
+ <p>
+ This interface exists to work around this wart (which sadly is copied in other projects too) and
+ lets the implementor translate Espresso's needs and manipulations of the AdapterView into calls
+ that make sense for the given subtype and context.
+ </p>
+
+ <p><i>
+ If you have to implement this to talk to widgets your own project defines - I'm sorry.
+ </i><p>
+
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+      <td class="jd-typecol"><nobr>
+
+
+
+
+        class</nobr></td>
+      <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></td>
+      <td class="jd-descrcol" width="100%">
+        A holder that associates a data object from an AdapterView with a token the
+ AdapterViewProtocol can use to force that data object to be rendered as a child or deeper
+ descendant of the adapter view.&nbsp;
+
+
+
+      </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+      <td class="jd-typecol"><nobr>
+
+
+
+
+        interface</nobr></td>
+      <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></td>
+      <td class="jd-descrcol" width="100%">
+        A custom function that is applied when <code><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html#getData()">getData()</a></code> is executed.&nbsp;
+
+
+
+      </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Iterable&lt;<a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a>&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html#getDataInAdapterView(android.widget.AdapterView<? extends android.widget.Adapter>)">getDataInAdapterView</a></span>(AdapterView&lt;?&nbsp;extends&nbsp;Adapter&gt; adapterView)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns all data this AdapterViewProtocol can find within the given AdapterView.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Optional&lt;<a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a>&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html#getDataRenderedByView(android.widget.AdapterView<? extends android.widget.Adapter>, android.view.View)">getDataRenderedByView</a></span>(AdapterView&lt;?&nbsp;extends&nbsp;Adapter&gt; adapterView, View descendantView)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the data object this particular view is rendering if possible.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html#isDataRenderedWithinAdapterView(android.widget.AdapterView<? extends android.widget.Adapter>, android.support.test.espresso.action.AdapterViewProtocol.AdaptedData)">isDataRenderedWithinAdapterView</a></span>(AdapterView&lt;?&nbsp;extends&nbsp;Adapter&gt; adapterView, <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a> adaptedData)</nobr>
+
+        <div class="jd-descrdiv">
+          Indicates whether or not there now exists a descendant view within adapterView that
+ is rendering this data.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html#makeDataRenderedWithinAdapterView(android.widget.AdapterView<? extends android.widget.Adapter>, android.support.test.espresso.action.AdapterViewProtocol.AdaptedData)">makeDataRenderedWithinAdapterView</a></span>(AdapterView&lt;?&nbsp;extends&nbsp;Adapter&gt; adapterView, <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a> data)</nobr>
+
+        <div class="jd-descrdiv">
+          Requests that a particular piece of data held in this AdapterView is actually rendered by it.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getDataInAdapterView(android.widget.AdapterView<? extends android.widget.Adapter>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        Iterable&lt;<a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a>&gt;
+      </span>
+      <span class="sympad">getDataInAdapterView</span>
+      <span class="normal">(AdapterView&lt;?&nbsp;extends&nbsp;Adapter&gt; adapterView)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns all data this AdapterViewProtocol can find within the given AdapterView.
+
+ <p>
+ Any AdaptedData returned by this method can be passed to makeDataRenderedWithinView and the
+ implementation should make the AdapterView bring that data item onto the screen.
+ </p></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>adapterView</td>
+          <td>the AdapterView we want to interrogate the contents of.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>an <code><a href="../../../../../../reference/java/lang/Iterable.html">Iterable</a></code> of AdaptedDatas representing all data the implementation sees in
+         this view</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th>IllegalArgumentException</td>
+            <td>if the implementation doesn't know how to manipulate the given
+         adapter view.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getDataRenderedByView(android.widget.AdapterView<? extends android.widget.Adapter>, android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        Optional&lt;<a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a>&gt;
+      </span>
+      <span class="sympad">getDataRenderedByView</span>
+      <span class="normal">(AdapterView&lt;?&nbsp;extends&nbsp;Adapter&gt; adapterView, View descendantView)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the data object this particular view is rendering if possible.
+
+ <p>
+ Implementations are expected to create a relationship between the data in the AdapterView and
+ the descendant views of the AdapterView that obeys the following conditions:
+ </p>
+
+ <ul>
+ <li>For each descendant view there exists either 0 or 1 data objects it is rendering.</li>
+ <li>For each data object the AdapterView there exists either 0 or 1 descendant views which
+   claim to be rendering it.</li>
+ </ul>
+
+ <p> For example - if a PersonObject is rendered into: </p>
+ <code>
+ LinearLayout
+   ImageView picture
+   TextView firstName
+   TextView lastName
+ </code>
+
+ <p>
+ It would be expected that getDataRenderedByView(adapter, LinearLayout) would return the
+ PersonObject. If it were called instead with the TextView or ImageView it would return
+ Object.absent().
+ </p></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>adapterView</td>
+          <td>the adapterview hosting the data.</td>
+        </tr>
+        <tr>
+          <th>descendantView</td>
+          <td>a view which is a child, grand-child, or deeper descendant of adapterView</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>an optional data object the descendant view is rendering.</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th>IllegalArgumentException</td>
+            <td>if this protocol cannot interrogate this class of adapterView
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isDataRenderedWithinAdapterView(android.widget.AdapterView<? extends android.widget.Adapter>, android.support.test.espresso.action.AdapterViewProtocol.AdaptedData)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        boolean
+      </span>
+      <span class="sympad">isDataRenderedWithinAdapterView</span>
+      <span class="normal">(AdapterView&lt;?&nbsp;extends&nbsp;Adapter&gt; adapterView, <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a> adaptedData)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Indicates whether or not there now exists a descendant view within adapterView that
+ is rendering this data.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>adapterView</td>
+          <td>the AdapterView hosting this data.</td>
+        </tr>
+        <tr>
+          <th>adaptedData</td>
+          <td>the data we are checking the display state for.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if the data is rendered by a view in the adapterView, false otherwise.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="makeDataRenderedWithinAdapterView(android.widget.AdapterView<? extends android.widget.Adapter>, android.support.test.espresso.action.AdapterViewProtocol.AdaptedData)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        void
+      </span>
+      <span class="sympad">makeDataRenderedWithinAdapterView</span>
+      <span class="normal">(AdapterView&lt;?&nbsp;extends&nbsp;Adapter&gt; adapterView, <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a> data)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Requests that a particular piece of data held in this AdapterView is actually rendered by it.
+
+ <p>
+ After calling this method it expected that there will exist some descendant view of adapterView
+ for which calling getDataRenderedByView(adapterView, descView).get() == data.data is true.
+ <p>
+
+ </p>
+ Note: this need not happen immediately. EG: an implementor handling ListView may call
+ listView.smoothScrollToPosition(data.opaqueToken) - which kicks off an animated scroll over
+ the list to the given position. The animation may be in progress after this call returns. The
+ only guarantee is that eventually - with no further interaction necessary - this data item
+ will be rendered as a child or deeper descendant of this AdapterView.
+ </p></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>adapterView</td>
+          <td>the adapterView hosting the data.</td>
+        </tr>
+        <tr>
+          <th>data</td>
+          <td>an AdaptedData instance retrieved by a prior call to getDataInAdapterView</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th>IllegalArgumentException</td>
+            <td>if this protocol cannot manipulate adapterView or if data is
+   not owned by this AdapterViewProtocol.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/AdapterViewProtocols.html b/docs/html/reference/android/support/test/espresso/action/AdapterViewProtocols.html
new file mode 100644
index 0000000..4e58f99
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/AdapterViewProtocols.html
@@ -0,0 +1,1144 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>AdapterViewProtocols | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">AdapterViewProtocols</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">AdapterViewProtocols</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.AdapterViewProtocols</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Implementations of <code><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></code> for standard SDK Widgets.
+
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html#standardProtocol()">standardProtocol</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Creates an implementation of AdapterViewProtocol that can work with AdapterViews that do not
+ break method contracts on AdapterView.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="standardProtocol()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a>
+      </span>
+      <span class="sympad">standardProtocol</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Creates an implementation of AdapterViewProtocol that can work with AdapterViews that do not
+ break method contracts on AdapterView.
+
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/CloseKeyboardAction.html b/docs/html/reference/android/support/test/espresso/action/CloseKeyboardAction.html
new file mode 100644
index 0000000..2dc7705
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/CloseKeyboardAction.html
@@ -0,0 +1,1449 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>CloseKeyboardAction | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">CloseKeyboardAction</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">CloseKeyboardAction</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.CloseKeyboardAction</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Closes soft keyboard.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html#CloseKeyboardAction()">CloseKeyboardAction</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.ViewAction" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.ViewAction-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">android.support.test.espresso.ViewAction</a>
+
+<div id="inherited-methods-android.support.test.espresso.ViewAction">
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="CloseKeyboardAction()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">CloseKeyboardAction</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getConstraints()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">getConstraints</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>A mechanism for ViewActions to specify what type of views they can operate on.
+
+  A ViewAction can demand that the view passed to perform meets certain constraints. For example
+ it may want to ensure the view is already in the viewable physical screen of the device or is
+ of a certain type.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+     <code>Matcher</code></a> that will be tested prior to calling perform.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a description of the view action. The description should not be overly long and should
+ fit nicely in a sentence like: "performing %description% action on view with id ..."
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="perform(android.support.test.espresso.UiController, android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">perform</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs this action on the given view.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>uiController</td>
+          <td>the controller to use to interact with the UI.</td>
+        </tr>
+        <tr>
+          <th>view</td>
+          <td>the view to act upon. never null.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/CoordinatesProvider.html b/docs/html/reference/android/support/test/espresso/action/CoordinatesProvider.html
new file mode 100644
index 0000000..41c7425
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/CoordinatesProvider.html
@@ -0,0 +1,961 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>CoordinatesProvider | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">CoordinatesProvider</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">CoordinatesProvider</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.CoordinatesProvider</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-indirect" class="jd-expando-trigger closed"
+          ><img id="subclasses-indirect-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>Known Indirect Subclasses
+
+  <div id="subclasses-indirect">
+      <div id="subclasses-indirect-list"
+              class="jd-inheritedlinks"
+
+              >
+
+
+              <a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>
+
+
+      </div>
+      <div id="subclasses-indirect-summary"
+              style="display: none;"
+              >
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></td>
+        <td class="jd-descrcol" width="100%">
+          Calculates coordinate position for general locations.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+      </div>
+  </div>
+</td></tr></table>
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Interface to implement calculation of Coordinates.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            float[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html#calculateCoordinates(android.view.View)">calculateCoordinates</a></span>(View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Calculates coordinates of given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="calculateCoordinates(android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        float[]
+      </span>
+      <span class="sympad">calculateCoordinates</span>
+      <span class="normal">(View view)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Calculates coordinates of given view.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>view</td>
+          <td>the View which is used for the calculation.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a float[] with x and y values of the calculated coordinates.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/EditorAction.html b/docs/html/reference/android/support/test/espresso/action/EditorAction.html
new file mode 100644
index 0000000..f30461a
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/EditorAction.html
@@ -0,0 +1,1449 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>EditorAction | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">EditorAction</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">EditorAction</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.EditorAction</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Performs whatever editor (IME) action is available on a view.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html#EditorAction()">EditorAction</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.ViewAction" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.ViewAction-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">android.support.test.espresso.ViewAction</a>
+
+<div id="inherited-methods-android.support.test.espresso.ViewAction">
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="EditorAction()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">EditorAction</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getConstraints()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">getConstraints</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>A mechanism for ViewActions to specify what type of views they can operate on.
+
+  A ViewAction can demand that the view passed to perform meets certain constraints. For example
+ it may want to ensure the view is already in the viewable physical screen of the device or is
+ of a certain type.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+     <code>Matcher</code></a> that will be tested prior to calling perform.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a description of the view action. The description should not be overly long and should
+ fit nicely in a sentence like: "performing %description% action on view with id ..."
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="perform(android.support.test.espresso.UiController, android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">perform</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs this action on the given view.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>uiController</td>
+          <td>the controller to use to interact with the UI.</td>
+        </tr>
+        <tr>
+          <th>view</td>
+          <td>the view to act upon. never null.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/EspressoKey.Builder.html b/docs/html/reference/android/support/test/espresso/action/EspressoKey.Builder.html
new file mode 100644
index 0000000..e27e87b
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/EspressoKey.Builder.html
@@ -0,0 +1,1416 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>EspressoKey.Builder | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">EspressoKey.Builder</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+    static
+
+
+    class
+<h1 itemprop="name">EspressoKey.Builder</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.EspressoKey.Builder</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Builder for the EspressoKey class.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html#EspressoKey.Builder()">EspressoKey.Builder</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html#build()">build</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html#withAltPressed(boolean)">withAltPressed</a></span>(boolean altPressed)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the ALT_ON meta state of the resulting key.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html#withCtrlPressed(boolean)">withCtrlPressed</a></span>(boolean ctrlPressed)</nobr>
+
+        <div class="jd-descrdiv">
+          On Honeycomb and above, sets the CTRL_ON meta state of the resulting key.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html#withKeyCode(int)">withKeyCode</a></span>(int keyCode)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html#withShiftPressed(boolean)">withShiftPressed</a></span>(boolean shiftPressed)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the SHIFT_ON meta state of the resulting key.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="EspressoKey.Builder()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">EspressoKey.Builder</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="build()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a>
+      </span>
+      <span class="sympad">build</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withAltPressed(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a>
+      </span>
+      <span class="sympad">withAltPressed</span>
+      <span class="normal">(boolean altPressed)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the ALT_ON meta state of the resulting key.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withCtrlPressed(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a>
+      </span>
+      <span class="sympad">withCtrlPressed</span>
+      <span class="normal">(boolean ctrlPressed)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>On Honeycomb and above, sets the CTRL_ON meta state of the resulting key. On Gingerbread and
+ below, this is a noop.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withKeyCode(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a>
+      </span>
+      <span class="sympad">withKeyCode</span>
+      <span class="normal">(int keyCode)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withShiftPressed(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a>
+      </span>
+      <span class="sympad">withShiftPressed</span>
+      <span class="normal">(boolean shiftPressed)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the SHIFT_ON meta state of the resulting key.
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/EspressoKey.html b/docs/html/reference/android/support/test/espresso/action/EspressoKey.html
new file mode 100644
index 0000000..ea5ff706
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/EspressoKey.html
@@ -0,0 +1,1256 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>EspressoKey | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">EspressoKey</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+  <a href="#nestedclasses">Nested Classes</a>
+
+
+
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">EspressoKey</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.EspressoKey</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Class that wraps the key code and meta state of the desired key press.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+      <td class="jd-typecol"><nobr>
+
+
+
+
+        class</nobr></td>
+      <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></td>
+      <td class="jd-descrcol" width="100%">
+        Builder for the EspressoKey class.&nbsp;
+
+
+
+      </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html#getKeyCode()">getKeyCode</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html#getMetaState()">getMetaState</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html#toString()">toString</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getKeyCode()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        int
+      </span>
+      <span class="sympad">getKeyCode</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getMetaState()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        int
+      </span>
+      <span class="sympad">getMetaState</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="toString()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">toString</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/GeneralClickAction.html b/docs/html/reference/android/support/test/espresso/action/GeneralClickAction.html
new file mode 100644
index 0000000..95ba1746
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/GeneralClickAction.html
@@ -0,0 +1,1497 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>GeneralClickAction | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">GeneralClickAction</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">GeneralClickAction</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.GeneralClickAction</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Enables clicking on views.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html#GeneralClickAction(android.support.test.espresso.action.Tapper, android.support.test.espresso.action.CoordinatesProvider, android.support.test.espresso.action.PrecisionDescriber)">GeneralClickAction</a></span>(<a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a> tapper, <a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a> coordinatesProvider, <a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a> precisionDescriber)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html#GeneralClickAction(android.support.test.espresso.action.Tapper, android.support.test.espresso.action.CoordinatesProvider, android.support.test.espresso.action.PrecisionDescriber, android.support.test.espresso.ViewAction)">GeneralClickAction</a></span>(<a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a> tapper, <a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a> coordinatesProvider, <a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a> precisionDescriber, <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a> rollbackAction)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.ViewAction" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.ViewAction-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">android.support.test.espresso.ViewAction</a>
+
+<div id="inherited-methods-android.support.test.espresso.ViewAction">
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="GeneralClickAction(android.support.test.espresso.action.Tapper, android.support.test.espresso.action.CoordinatesProvider, android.support.test.espresso.action.PrecisionDescriber)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">GeneralClickAction</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a> tapper, <a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a> coordinatesProvider, <a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a> precisionDescriber)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="GeneralClickAction(android.support.test.espresso.action.Tapper, android.support.test.espresso.action.CoordinatesProvider, android.support.test.espresso.action.PrecisionDescriber, android.support.test.espresso.ViewAction)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">GeneralClickAction</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a> tapper, <a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a> coordinatesProvider, <a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a> precisionDescriber, <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a> rollbackAction)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getConstraints()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">getConstraints</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>A mechanism for ViewActions to specify what type of views they can operate on.
+
+  A ViewAction can demand that the view passed to perform meets certain constraints. For example
+ it may want to ensure the view is already in the viewable physical screen of the device or is
+ of a certain type.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+     <code>Matcher</code></a> that will be tested prior to calling perform.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a description of the view action. The description should not be overly long and should
+ fit nicely in a sentence like: "performing %description% action on view with id ..."
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="perform(android.support.test.espresso.UiController, android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">perform</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs this action on the given view.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>uiController</td>
+          <td>the controller to use to interact with the UI.</td>
+        </tr>
+        <tr>
+          <th>view</td>
+          <td>the view to act upon. never null.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/GeneralLocation.html b/docs/html/reference/android/support/test/espresso/action/GeneralLocation.html
new file mode 100644
index 0000000..4adcb05
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/GeneralLocation.html
@@ -0,0 +1,1966 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>GeneralLocation | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">GeneralLocation</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+  <a href="#enumconstants">Enums</a>
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    enum
+<h1 itemprop="name">GeneralLocation</h1>
+
+
+
+
+
+
+
+
+    extends Enum&lt;E&nbsp;extends&nbsp;Enum&lt;E&gt;&gt;<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Enum&lt;E&nbsp;extends&nbsp;java.lang.Enum&lt;E&gt;&gt;</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.GeneralLocation</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Calculates coordinate position for general locations.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="enumconstants" class="jd-sumtable"><tr><th colspan="12">Enum Values</th></tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>&nbsp;</td>
+        <td class="jd-linkcol">BOTTOM_CENTER&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>&nbsp;</td>
+        <td class="jd-linkcol">BOTTOM_LEFT&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>&nbsp;</td>
+        <td class="jd-linkcol">BOTTOM_RIGHT&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>&nbsp;</td>
+        <td class="jd-linkcol">CENTER&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>&nbsp;</td>
+        <td class="jd-linkcol">CENTER_LEFT&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>&nbsp;</td>
+        <td class="jd-linkcol">CENTER_RIGHT&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>&nbsp;</td>
+        <td class="jd-linkcol">TOP_CENTER&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>&nbsp;</td>
+        <td class="jd-linkcol">TOP_LEFT&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>&nbsp;</td>
+        <td class="jd-linkcol">TOP_RIGHT&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>&nbsp;</td>
+        <td class="jd-linkcol">VISIBLE_CENTER&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html#valueOf(java.lang.String)">valueOf</a></span>(String name)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation[]</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html#values()">values</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Enum" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Enum-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Enum
+
+<div id="inherited-methods-java.lang.Enum">
+  <div id="inherited-methods-java.lang.Enum-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Enum-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(E arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;E&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getDeclaringClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">name</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">ordinal</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;T&nbsp;extends&nbsp;Enum&lt;T&gt;&gt;
+            T</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">valueOf</span>(Class&lt;T&gt; arg0, String arg1)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.action.CoordinatesProvider" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.action.CoordinatesProvider-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">android.support.test.espresso.action.CoordinatesProvider</a>
+
+<div id="inherited-methods-android.support.test.espresso.action.CoordinatesProvider">
+  <div id="inherited-methods-android.support.test.espresso.action.CoordinatesProvider-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.action.CoordinatesProvider-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            float[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html#calculateCoordinates(android.view.View)">calculateCoordinates</a></span>(View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Calculates coordinates of given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Comparable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Comparable-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  java.lang.Comparable
+
+<div id="inherited-methods-java.lang.Comparable">
+  <div id="inherited-methods-java.lang.Comparable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Comparable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(T arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Enum Values</h2>
+
+
+
+
+<A NAME="BOTTOM_CENTER"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>
+      </span>
+        BOTTOM_CENTER
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="BOTTOM_LEFT"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>
+      </span>
+        BOTTOM_LEFT
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="BOTTOM_RIGHT"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>
+      </span>
+        BOTTOM_RIGHT
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="CENTER"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>
+      </span>
+        CENTER
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="CENTER_LEFT"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>
+      </span>
+        CENTER_LEFT
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="CENTER_RIGHT"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>
+      </span>
+        CENTER_RIGHT
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="TOP_CENTER"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>
+      </span>
+        TOP_CENTER
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="TOP_LEFT"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>
+      </span>
+        TOP_LEFT
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="TOP_RIGHT"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>
+      </span>
+        TOP_RIGHT
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="VISIBLE_CENTER"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>
+      </span>
+        VISIBLE_CENTER
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="valueOf(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a>
+      </span>
+      <span class="sympad">valueOf</span>
+      <span class="normal">(String name)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="values()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation[]</a>
+      </span>
+      <span class="sympad">values</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/GeneralSwipeAction.html b/docs/html/reference/android/support/test/espresso/action/GeneralSwipeAction.html
new file mode 100644
index 0000000..c49b489
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/GeneralSwipeAction.html
@@ -0,0 +1,1449 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>GeneralSwipeAction | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">GeneralSwipeAction</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">GeneralSwipeAction</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.GeneralSwipeAction</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Enables swiping across a view.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html#GeneralSwipeAction(android.support.test.espresso.action.Swiper, android.support.test.espresso.action.CoordinatesProvider, android.support.test.espresso.action.CoordinatesProvider, android.support.test.espresso.action.PrecisionDescriber)">GeneralSwipeAction</a></span>(<a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a> swiper, <a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a> startCoordinatesProvider, <a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a> endCoordinatesProvider, <a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a> precisionDescriber)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.ViewAction" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.ViewAction-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">android.support.test.espresso.ViewAction</a>
+
+<div id="inherited-methods-android.support.test.espresso.ViewAction">
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="GeneralSwipeAction(android.support.test.espresso.action.Swiper, android.support.test.espresso.action.CoordinatesProvider, android.support.test.espresso.action.CoordinatesProvider, android.support.test.espresso.action.PrecisionDescriber)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">GeneralSwipeAction</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a> swiper, <a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a> startCoordinatesProvider, <a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a> endCoordinatesProvider, <a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a> precisionDescriber)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getConstraints()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">getConstraints</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>A mechanism for ViewActions to specify what type of views they can operate on.
+
+  A ViewAction can demand that the view passed to perform meets certain constraints. For example
+ it may want to ensure the view is already in the viewable physical screen of the device or is
+ of a certain type.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+     <code>Matcher</code></a> that will be tested prior to calling perform.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a description of the view action. The description should not be overly long and should
+ fit nicely in a sentence like: "performing %description% action on view with id ..."
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="perform(android.support.test.espresso.UiController, android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">perform</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs this action on the given view.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>uiController</td>
+          <td>the controller to use to interact with the UI.</td>
+        </tr>
+        <tr>
+          <th>view</td>
+          <td>the view to act upon. never null.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/KeyEventAction.html b/docs/html/reference/android/support/test/espresso/action/KeyEventAction.html
new file mode 100644
index 0000000..7fd3bc6
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/KeyEventAction.html
@@ -0,0 +1,1449 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>KeyEventAction | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">KeyEventAction</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">KeyEventAction</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.KeyEventAction</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Enables pressing KeyEvents on views.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html#KeyEventAction(android.support.test.espresso.action.EspressoKey)">KeyEventAction</a></span>(<a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a> key)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.ViewAction" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.ViewAction-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">android.support.test.espresso.ViewAction</a>
+
+<div id="inherited-methods-android.support.test.espresso.ViewAction">
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="KeyEventAction(android.support.test.espresso.action.EspressoKey)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">KeyEventAction</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a> key)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getConstraints()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">getConstraints</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>A mechanism for ViewActions to specify what type of views they can operate on.
+
+  A ViewAction can demand that the view passed to perform meets certain constraints. For example
+ it may want to ensure the view is already in the viewable physical screen of the device or is
+ of a certain type.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+     <code>Matcher</code></a> that will be tested prior to calling perform.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a description of the view action. The description should not be overly long and should
+ fit nicely in a sentence like: "performing %description% action on view with id ..."
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="perform(android.support.test.espresso.UiController, android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">perform</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs this action on the given view.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>uiController</td>
+          <td>the controller to use to interact with the UI.</td>
+        </tr>
+        <tr>
+          <th>view</td>
+          <td>the view to act upon. never null.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/OpenLinkAction.html b/docs/html/reference/android/support/test/espresso/action/OpenLinkAction.html
new file mode 100644
index 0000000..bf0e7d9
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/OpenLinkAction.html
@@ -0,0 +1,1451 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>OpenLinkAction | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">OpenLinkAction</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">OpenLinkAction</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.OpenLinkAction</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Invokes onClick of a link within a TextView (made with Linkify or via another method).
+ Why not issue a real click event to the screen? Unfortunately, it does not seem to be possible
+ (at least using public APIs) to determine the location of the link on the screen.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html#OpenLinkAction(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<android.net.Uri>)">OpenLinkAction</a></span>(Matcher&lt;String&gt; linkTextMatcher, Matcher&lt;Uri&gt; uriMatcher)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.ViewAction" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.ViewAction-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">android.support.test.espresso.ViewAction</a>
+
+<div id="inherited-methods-android.support.test.espresso.ViewAction">
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="OpenLinkAction(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<android.net.Uri>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">OpenLinkAction</span>
+      <span class="normal">(Matcher&lt;String&gt; linkTextMatcher, Matcher&lt;Uri&gt; uriMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getConstraints()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">getConstraints</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>A mechanism for ViewActions to specify what type of views they can operate on.
+
+  A ViewAction can demand that the view passed to perform meets certain constraints. For example
+ it may want to ensure the view is already in the viewable physical screen of the device or is
+ of a certain type.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+     <code>Matcher</code></a> that will be tested prior to calling perform.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a description of the view action. The description should not be overly long and should
+ fit nicely in a sentence like: "performing %description% action on view with id ..."
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="perform(android.support.test.espresso.UiController, android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">perform</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs this action on the given view.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>uiController</td>
+          <td>the controller to use to interact with the UI.</td>
+        </tr>
+        <tr>
+          <th>view</td>
+          <td>the view to act upon. never null.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/PrecisionDescriber.html b/docs/html/reference/android/support/test/espresso/action/PrecisionDescriber.html
new file mode 100644
index 0000000..2f39f7e
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/PrecisionDescriber.html
@@ -0,0 +1,952 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>PrecisionDescriber | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">PrecisionDescriber</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">PrecisionDescriber</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.PrecisionDescriber</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-indirect" class="jd-expando-trigger closed"
+          ><img id="subclasses-indirect-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>Known Indirect Subclasses
+
+  <div id="subclasses-indirect">
+      <div id="subclasses-indirect-list"
+              class="jd-inheritedlinks"
+
+              >
+
+
+              <a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a>
+
+
+      </div>
+      <div id="subclasses-indirect-summary"
+              style="display: none;"
+              >
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></td>
+        <td class="jd-descrcol" width="100%">
+          Returns different touch target sizes.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+      </div>
+  </div>
+</td></tr></table>
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Interface to implement size of click area.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            float[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html#describePrecision()">describePrecision</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Different touch target sizes.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="describePrecision()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        float[]
+      </span>
+      <span class="sympad">describePrecision</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Different touch target sizes.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a float[] with x and y values of size of click area.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/Press.html b/docs/html/reference/android/support/test/espresso/action/Press.html
new file mode 100644
index 0000000..6080bc4
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/Press.html
@@ -0,0 +1,1665 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>Press | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">Press</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+  <a href="#enumconstants">Enums</a>
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    enum
+<h1 itemprop="name">Press</h1>
+
+
+
+
+
+
+
+
+    extends Enum&lt;E&nbsp;extends&nbsp;Enum&lt;E&gt;&gt;<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Enum&lt;E&nbsp;extends&nbsp;java.lang.Enum&lt;E&gt;&gt;</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.Press</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Returns different touch target sizes.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="enumconstants" class="jd-sumtable"><tr><th colspan="12">Enum Values</th></tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a>&nbsp;</td>
+        <td class="jd-linkcol">FINGER&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a>&nbsp;</td>
+        <td class="jd-linkcol">PINPOINT&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a>&nbsp;</td>
+        <td class="jd-linkcol">THUMB&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html#valueOf(java.lang.String)">valueOf</a></span>(String name)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press[]</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html#values()">values</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Enum" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Enum-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Enum
+
+<div id="inherited-methods-java.lang.Enum">
+  <div id="inherited-methods-java.lang.Enum-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Enum-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(E arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;E&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getDeclaringClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">name</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">ordinal</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;T&nbsp;extends&nbsp;Enum&lt;T&gt;&gt;
+            T</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">valueOf</span>(Class&lt;T&gt; arg0, String arg1)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.action.PrecisionDescriber" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.action.PrecisionDescriber-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">android.support.test.espresso.action.PrecisionDescriber</a>
+
+<div id="inherited-methods-android.support.test.espresso.action.PrecisionDescriber">
+  <div id="inherited-methods-android.support.test.espresso.action.PrecisionDescriber-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.action.PrecisionDescriber-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            float[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html#describePrecision()">describePrecision</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Different touch target sizes.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Comparable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Comparable-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  java.lang.Comparable
+
+<div id="inherited-methods-java.lang.Comparable">
+  <div id="inherited-methods-java.lang.Comparable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Comparable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(T arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Enum Values</h2>
+
+
+
+
+<A NAME="FINGER"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a>
+      </span>
+        FINGER
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="PINPOINT"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a>
+      </span>
+        PINPOINT
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="THUMB"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a>
+      </span>
+        THUMB
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="valueOf(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a>
+      </span>
+      <span class="sympad">valueOf</span>
+      <span class="normal">(String name)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="values()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press[]</a>
+      </span>
+      <span class="sympad">values</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/ReplaceTextAction.html b/docs/html/reference/android/support/test/espresso/action/ReplaceTextAction.html
new file mode 100644
index 0000000..7ca0ae1
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/ReplaceTextAction.html
@@ -0,0 +1,1449 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>ReplaceTextAction | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">ReplaceTextAction</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">ReplaceTextAction</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.ReplaceTextAction</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Replaces view text by setting <code><a href="../../../../../../reference/android/widget/EditText.html">EditText</a></code>s text property to given String.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html#ReplaceTextAction(java.lang.String)">ReplaceTextAction</a></span>(String value)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.ViewAction" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.ViewAction-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">android.support.test.espresso.ViewAction</a>
+
+<div id="inherited-methods-android.support.test.espresso.ViewAction">
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="ReplaceTextAction(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">ReplaceTextAction</span>
+      <span class="normal">(String value)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getConstraints()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">getConstraints</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>A mechanism for ViewActions to specify what type of views they can operate on.
+
+  A ViewAction can demand that the view passed to perform meets certain constraints. For example
+ it may want to ensure the view is already in the viewable physical screen of the device or is
+ of a certain type.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+     <code>Matcher</code></a> that will be tested prior to calling perform.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a description of the view action. The description should not be overly long and should
+ fit nicely in a sentence like: "performing %description% action on view with id ..."
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="perform(android.support.test.espresso.UiController, android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">perform</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs this action on the given view.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>uiController</td>
+          <td>the controller to use to interact with the UI.</td>
+        </tr>
+        <tr>
+          <th>view</td>
+          <td>the view to act upon. never null.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/ScrollToAction.html b/docs/html/reference/android/support/test/espresso/action/ScrollToAction.html
new file mode 100644
index 0000000..a3633b5
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/ScrollToAction.html
@@ -0,0 +1,1449 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>ScrollToAction | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">ScrollToAction</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">ScrollToAction</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.ScrollToAction</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Enables scrolling to the given view. View must be a descendant of a ScrollView.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html#ScrollToAction()">ScrollToAction</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.ViewAction" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.ViewAction-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">android.support.test.espresso.ViewAction</a>
+
+<div id="inherited-methods-android.support.test.espresso.ViewAction">
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="ScrollToAction()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">ScrollToAction</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getConstraints()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">getConstraints</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>A mechanism for ViewActions to specify what type of views they can operate on.
+
+  A ViewAction can demand that the view passed to perform meets certain constraints. For example
+ it may want to ensure the view is already in the viewable physical screen of the device or is
+ of a certain type.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+     <code>Matcher</code></a> that will be tested prior to calling perform.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a description of the view action. The description should not be overly long and should
+ fit nicely in a sentence like: "performing %description% action on view with id ..."
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="perform(android.support.test.espresso.UiController, android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">perform</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs this action on the given view.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>uiController</td>
+          <td>the controller to use to interact with the UI.</td>
+        </tr>
+        <tr>
+          <th>view</td>
+          <td>the view to act upon. never null.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/Swipe.html b/docs/html/reference/android/support/test/espresso/action/Swipe.html
new file mode 100644
index 0000000..000fd42
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/Swipe.html
@@ -0,0 +1,1623 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>Swipe | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">Swipe</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+  <a href="#enumconstants">Enums</a>
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    enum
+<h1 itemprop="name">Swipe</h1>
+
+
+
+
+
+
+
+
+    extends Enum&lt;E&nbsp;extends&nbsp;Enum&lt;E&gt;&gt;<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Enum&lt;E&nbsp;extends&nbsp;java.lang.Enum&lt;E&gt;&gt;</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.Swipe</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Executes different swipe types to given positions.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="enumconstants" class="jd-sumtable"><tr><th colspan="12">Enum Values</th></tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a>&nbsp;</td>
+        <td class="jd-linkcol">FAST&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          Swipes quickly between the co-ordinates.&nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a>&nbsp;</td>
+        <td class="jd-linkcol">SLOW&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          Swipes deliberately slowly between the co-ordinates, to aid in visual debugging.&nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html#valueOf(java.lang.String)">valueOf</a></span>(String name)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe[]</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html#values()">values</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Enum" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Enum-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Enum
+
+<div id="inherited-methods-java.lang.Enum">
+  <div id="inherited-methods-java.lang.Enum-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Enum-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(E arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;E&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getDeclaringClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">name</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">ordinal</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;T&nbsp;extends&nbsp;Enum&lt;T&gt;&gt;
+            T</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">valueOf</span>(Class&lt;T&gt; arg0, String arg1)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.action.Swiper" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.action.Swiper-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">android.support.test.espresso.action.Swiper</a>
+
+<div id="inherited-methods-android.support.test.espresso.action.Swiper">
+  <div id="inherited-methods-android.support.test.espresso.action.Swiper-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.action.Swiper-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html#sendSwipe(android.support.test.espresso.UiController, float[], float[], float[])">sendSwipe</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, float[] startCoordinates, float[] endCoordinates, float[] precision)</nobr>
+
+        <div class="jd-descrdiv">
+          Swipes from <code>startCoordinates</code> to <code>endCoordinates</code> using the given
+ <code>uiController</code> to send <code><a href="../../../../../../reference/android/view/MotionEvent.html">MotionEvent</a></code>s.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Comparable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Comparable-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  java.lang.Comparable
+
+<div id="inherited-methods-java.lang.Comparable">
+  <div id="inherited-methods-java.lang.Comparable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Comparable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(T arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Enum Values</h2>
+
+
+
+
+<A NAME="FAST"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a>
+      </span>
+        FAST
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Swipes quickly between the co-ordinates. </p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="SLOW"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a>
+      </span>
+        SLOW
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Swipes deliberately slowly between the co-ordinates, to aid in visual debugging. </p></div>
+
+
+    </div>
+</div>
+
+
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="valueOf(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a>
+      </span>
+      <span class="sympad">valueOf</span>
+      <span class="normal">(String name)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="values()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe[]</a>
+      </span>
+      <span class="sympad">values</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/Swiper.Status.html b/docs/html/reference/android/support/test/espresso/action/Swiper.Status.html
new file mode 100644
index 0000000..e6c4bec
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/Swiper.Status.html
@@ -0,0 +1,1563 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>Swiper.Status | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">Swiper.Status</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+  <a href="#enumconstants">Enums</a>
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+    static
+    final
+
+    enum
+<h1 itemprop="name">Swiper.Status</h1>
+
+
+
+
+
+
+
+
+    extends Enum&lt;E&nbsp;extends&nbsp;Enum&lt;E&gt;&gt;<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Enum&lt;E&nbsp;extends&nbsp;java.lang.Enum&lt;E&gt;&gt;</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.Swiper.Status</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">The result of the swipe.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="enumconstants" class="jd-sumtable"><tr><th colspan="12">Enum Values</th></tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a>&nbsp;</td>
+        <td class="jd-linkcol">FAILURE&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          Injecting the event was a complete failure.&nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a>&nbsp;</td>
+        <td class="jd-linkcol">SUCCESS&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          The swipe action completed successfully.&nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html#valueOf(java.lang.String)">valueOf</a></span>(String name)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Status[]</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html#values()">values</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Enum" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Enum-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Enum
+
+<div id="inherited-methods-java.lang.Enum">
+  <div id="inherited-methods-java.lang.Enum-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Enum-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(E arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;E&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getDeclaringClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">name</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">ordinal</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;T&nbsp;extends&nbsp;Enum&lt;T&gt;&gt;
+            T</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">valueOf</span>(Class&lt;T&gt; arg0, String arg1)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Comparable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Comparable-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  java.lang.Comparable
+
+<div id="inherited-methods-java.lang.Comparable">
+  <div id="inherited-methods-java.lang.Comparable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Comparable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(T arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Enum Values</h2>
+
+
+
+
+<A NAME="FAILURE"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a>
+      </span>
+        FAILURE
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Injecting the event was a complete failure.
+</p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="SUCCESS"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a>
+      </span>
+        SUCCESS
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>The swipe action completed successfully.
+</p></div>
+
+
+    </div>
+</div>
+
+
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="valueOf(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a>
+      </span>
+      <span class="sympad">valueOf</span>
+      <span class="normal">(String name)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="values()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Status[]</a>
+      </span>
+      <span class="sympad">values</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/Swiper.html b/docs/html/reference/android/support/test/espresso/action/Swiper.html
new file mode 100644
index 0000000..cf67b19
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/Swiper.html
@@ -0,0 +1,1003 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>Swiper | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">Swiper</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+  <a href="#nestedclasses">Nested Classes</a>
+
+
+
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">Swiper</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.Swiper</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-indirect" class="jd-expando-trigger closed"
+          ><img id="subclasses-indirect-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>Known Indirect Subclasses
+
+  <div id="subclasses-indirect">
+      <div id="subclasses-indirect-list"
+              class="jd-inheritedlinks"
+
+              >
+
+
+              <a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a>
+
+
+      </div>
+      <div id="subclasses-indirect-summary"
+              style="display: none;"
+              >
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></td>
+        <td class="jd-descrcol" width="100%">
+          Executes different swipe types to given positions.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+      </div>
+  </div>
+</td></tr></table>
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Interface to implement different swipe types.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+      <td class="jd-typecol"><nobr>
+
+
+
+
+        enum</nobr></td>
+      <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></td>
+      <td class="jd-descrcol" width="100%">
+        The result of the swipe.&nbsp;
+
+
+
+      </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html#sendSwipe(android.support.test.espresso.UiController, float[], float[], float[])">sendSwipe</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, float[] startCoordinates, float[] endCoordinates, float[] precision)</nobr>
+
+        <div class="jd-descrdiv">
+          Swipes from <code>startCoordinates</code> to <code>endCoordinates</code> using the given
+ <code>uiController</code> to send <code><a href="../../../../../../reference/android/view/MotionEvent.html">MotionEvent</a></code>s.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="sendSwipe(android.support.test.espresso.UiController, float[], float[], float[])"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a>
+      </span>
+      <span class="sympad">sendSwipe</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, float[] startCoordinates, float[] endCoordinates, float[] precision)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Swipes from <code>startCoordinates</code> to <code>endCoordinates</code> using the given
+ <code>uiController</code> to send <code><a href="../../../../../../reference/android/view/MotionEvent.html">MotionEvent</a></code>s.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>uiController</td>
+          <td>a UiController to use to send MotionEvents to the screen.</td>
+        </tr>
+        <tr>
+          <th>startCoordinates</td>
+          <td>a float[] with x and y co-ordinates of the start of the swipe.</td>
+        </tr>
+        <tr>
+          <th>endCoordinates</td>
+          <td>a float[] with x and y co-ordinates of the end of the swipe.</td>
+        </tr>
+        <tr>
+          <th>precision</td>
+          <td>a float[] with x and y values of precision of the tap.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>The status of the swipe.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/Tap.html b/docs/html/reference/android/support/test/espresso/action/Tap.html
new file mode 100644
index 0000000..7779cde
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/Tap.html
@@ -0,0 +1,1665 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>Tap | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">Tap</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+  <a href="#enumconstants">Enums</a>
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    enum
+<h1 itemprop="name">Tap</h1>
+
+
+
+
+
+
+
+
+    extends Enum&lt;E&nbsp;extends&nbsp;Enum&lt;E&gt;&gt;<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Enum&lt;E&nbsp;extends&nbsp;java.lang.Enum&lt;E&gt;&gt;</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.Tap</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Executes different click types to given position.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="enumconstants" class="jd-sumtable"><tr><th colspan="12">Enum Values</th></tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a>&nbsp;</td>
+        <td class="jd-linkcol">DOUBLE&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a>&nbsp;</td>
+        <td class="jd-linkcol">LONG&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a>&nbsp;</td>
+        <td class="jd-linkcol">SINGLE&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html#valueOf(java.lang.String)">valueOf</a></span>(String name)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap[]</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html#values()">values</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Enum" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Enum-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Enum
+
+<div id="inherited-methods-java.lang.Enum">
+  <div id="inherited-methods-java.lang.Enum-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Enum-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(E arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;E&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getDeclaringClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">name</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">ordinal</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;T&nbsp;extends&nbsp;Enum&lt;T&gt;&gt;
+            T</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">valueOf</span>(Class&lt;T&gt; arg0, String arg1)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.action.Tapper" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.action.Tapper-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">android.support.test.espresso.action.Tapper</a>
+
+<div id="inherited-methods-android.support.test.espresso.action.Tapper">
+  <div id="inherited-methods-android.support.test.espresso.action.Tapper-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.action.Tapper-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html#sendTap(android.support.test.espresso.UiController, float[], float[])">sendTap</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, float[] coordinates, float[] precision)</nobr>
+
+        <div class="jd-descrdiv">
+          Sends a MotionEvent to the given UiController.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Comparable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Comparable-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  java.lang.Comparable
+
+<div id="inherited-methods-java.lang.Comparable">
+  <div id="inherited-methods-java.lang.Comparable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Comparable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(T arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Enum Values</h2>
+
+
+
+
+<A NAME="DOUBLE"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a>
+      </span>
+        DOUBLE
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="LONG"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a>
+      </span>
+        LONG
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="SINGLE"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a>
+      </span>
+        SINGLE
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="valueOf(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a>
+      </span>
+      <span class="sympad">valueOf</span>
+      <span class="normal">(String name)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="values()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap[]</a>
+      </span>
+      <span class="sympad">values</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/Tapper.Status.html b/docs/html/reference/android/support/test/espresso/action/Tapper.Status.html
new file mode 100644
index 0000000..35fe928
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/Tapper.Status.html
@@ -0,0 +1,1610 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>Tapper.Status | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">Tapper.Status</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+  <a href="#enumconstants">Enums</a>
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+    static
+    final
+
+    enum
+<h1 itemprop="name">Tapper.Status</h1>
+
+
+
+
+
+
+
+
+    extends Enum&lt;E&nbsp;extends&nbsp;Enum&lt;E&gt;&gt;<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Enum&lt;E&nbsp;extends&nbsp;java.lang.Enum&lt;E&gt;&gt;</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.Tapper.Status</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">The result of the tap.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="enumconstants" class="jd-sumtable"><tr><th colspan="12">Enum Values</th></tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a>&nbsp;</td>
+        <td class="jd-linkcol">FAILURE&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          Injecting the event was a complete failure.&nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a>&nbsp;</td>
+        <td class="jd-linkcol">SUCCESS&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          The Tap action completed successfully.&nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a>&nbsp;</td>
+        <td class="jd-linkcol">WARNING&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          The action seemed to have completed - but may have been misinterpreted
+ by the application.&nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html#valueOf(java.lang.String)">valueOf</a></span>(String name)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Status[]</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html#values()">values</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Enum" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Enum-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Enum
+
+<div id="inherited-methods-java.lang.Enum">
+  <div id="inherited-methods-java.lang.Enum-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Enum-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(E arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;E&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getDeclaringClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">name</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">ordinal</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;T&nbsp;extends&nbsp;Enum&lt;T&gt;&gt;
+            T</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">valueOf</span>(Class&lt;T&gt; arg0, String arg1)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Comparable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Comparable-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  java.lang.Comparable
+
+<div id="inherited-methods-java.lang.Comparable">
+  <div id="inherited-methods-java.lang.Comparable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Comparable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(T arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Enum Values</h2>
+
+
+
+
+<A NAME="FAILURE"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a>
+      </span>
+        FAILURE
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Injecting the event was a complete failure.
+</p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="SUCCESS"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a>
+      </span>
+        SUCCESS
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>The Tap action completed successfully.
+</p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="WARNING"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a>
+      </span>
+        WARNING
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>The action seemed to have completed - but may have been misinterpreted
+ by the application. (For Example a TAP became a LONG PRESS by measuring
+ its time between the down and up events).
+</p></div>
+
+
+    </div>
+</div>
+
+
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="valueOf(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a>
+      </span>
+      <span class="sympad">valueOf</span>
+      <span class="normal">(String name)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="values()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Status[]</a>
+      </span>
+      <span class="sympad">values</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/Tapper.html b/docs/html/reference/android/support/test/espresso/action/Tapper.html
new file mode 100644
index 0000000..fced46e
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/Tapper.html
@@ -0,0 +1,997 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>Tapper | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">Tapper</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+  <a href="#nestedclasses">Nested Classes</a>
+
+
+
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">Tapper</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.Tapper</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-indirect" class="jd-expando-trigger closed"
+          ><img id="subclasses-indirect-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>Known Indirect Subclasses
+
+  <div id="subclasses-indirect">
+      <div id="subclasses-indirect-list"
+              class="jd-inheritedlinks"
+
+              >
+
+
+              <a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a>
+
+
+      </div>
+      <div id="subclasses-indirect-summary"
+              style="display: none;"
+              >
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></td>
+        <td class="jd-descrcol" width="100%">
+          Executes different click types to given position.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+      </div>
+  </div>
+</td></tr></table>
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Interface to implement different click types.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+      <td class="jd-typecol"><nobr>
+
+
+
+
+        enum</nobr></td>
+      <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></td>
+      <td class="jd-descrcol" width="100%">
+        The result of the tap.&nbsp;
+
+
+
+      </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html#sendTap(android.support.test.espresso.UiController, float[], float[])">sendTap</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, float[] coordinates, float[] precision)</nobr>
+
+        <div class="jd-descrdiv">
+          Sends a MotionEvent to the given UiController.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="sendTap(android.support.test.espresso.UiController, float[], float[])"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        <a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a>
+      </span>
+      <span class="sympad">sendTap</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, float[] coordinates, float[] precision)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sends a MotionEvent to the given UiController.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>uiController</td>
+          <td>a UiController to use to send MotionEvents to the screen.</td>
+        </tr>
+        <tr>
+          <th>coordinates</td>
+          <td>a float[] with x and y values of center of the tap.</td>
+        </tr>
+        <tr>
+          <th>precision</td>
+          <td>a float[] with x and y values of precision of the tap.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>The status of the tap.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/TypeTextAction.html b/docs/html/reference/android/support/test/espresso/action/TypeTextAction.html
new file mode 100644
index 0000000..3ffef11
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/TypeTextAction.html
@@ -0,0 +1,1538 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>TypeTextAction | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">TypeTextAction</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">TypeTextAction</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.TypeTextAction</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Enables typing text on views.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html#TypeTextAction(java.lang.String)">TypeTextAction</a></span>(String stringToBeTyped)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs <code><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></code> with given string.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html#TypeTextAction(java.lang.String, boolean)">TypeTextAction</a></span>(String stringToBeTyped, boolean tapToFocus)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs <code><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></code> with given string.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.ViewAction" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.ViewAction-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">android.support.test.espresso.ViewAction</a>
+
+<div id="inherited-methods-android.support.test.espresso.ViewAction">
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="TypeTextAction(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">TypeTextAction</span>
+      <span class="normal">(String stringToBeTyped)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs <code><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></code> with given string. If the string is empty it results in no-op
+ (nothing is typed). By default this action sends a tap event to the center of the view to
+ attain focus before typing.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>stringToBeTyped</td>
+          <td>String To be typed by <code><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></code>
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="TypeTextAction(java.lang.String, boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">TypeTextAction</span>
+      <span class="normal">(String stringToBeTyped, boolean tapToFocus)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs <code><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></code> with given string. If the string is empty it results in no-op
+ (nothing is typed).</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>stringToBeTyped</td>
+          <td>String To be typed by <code><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></code></td>
+        </tr>
+        <tr>
+          <th>tapToFocus</td>
+          <td>indicates whether a tap should be sent to the underlying view before typing.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getConstraints()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">getConstraints</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>A mechanism for ViewActions to specify what type of views they can operate on.
+
+  A ViewAction can demand that the view passed to perform meets certain constraints. For example
+ it may want to ensure the view is already in the viewable physical screen of the device or is
+ of a certain type.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+     <code>Matcher</code></a> that will be tested prior to calling perform.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a description of the view action. The description should not be overly long and should
+ fit nicely in a sentence like: "performing %description% action on view with id ..."
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="perform(android.support.test.espresso.UiController, android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">perform</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs this action on the given view.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>uiController</td>
+          <td>the controller to use to interact with the UI.</td>
+        </tr>
+        <tr>
+          <th>view</td>
+          <td>the view to act upon. never null.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/ViewActions.html b/docs/html/reference/android/support/test/espresso/action/ViewActions.html
new file mode 100644
index 0000000..ae65ab9
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/ViewActions.html
@@ -0,0 +1,2545 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>ViewActions | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">ViewActions</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">ViewActions</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.action.ViewActions</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A collection of common <code><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></code>.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#clearText()">clearText</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that clears text on the view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#click(android.support.test.espresso.ViewAction)">click</a></span>(<a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a> rollbackAction)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that performs a single click on the view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#click()">click</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that clicks the view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#closeSoftKeyboard()">closeSoftKeyboard</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that closes soft keyboard.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#doubleClick()">doubleClick</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that double clicks the view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#longClick()">longClick</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that long clicks the view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#openLink(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<android.net.Uri>)">openLink</a></span>(Matcher&lt;String&gt; linkTextMatcher, Matcher&lt;Uri&gt; uriMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that opens a link matching the given link text and uri matchers.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#openLinkWithText(org.hamcrest.Matcher<java.lang.String>)">openLinkWithText</a></span>(Matcher&lt;String&gt; linkTextMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Same as <code>openLink(Matcher<String> linkTextMatcher, Matcher<Uri> uriMatcher)</code>, but uses
+ <code>any(Uri.class)</code> as the uriMatcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#openLinkWithText(java.lang.String)">openLinkWithText</a></span>(String linkText)</nobr>
+
+        <div class="jd-descrdiv">
+          Same as <code>openLinkWithText(Matcher<String> linkTextMatcher)</code>, but uses
+ <code>is(linkText)</code> as the linkTextMatcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#openLinkWithUri(java.lang.String)">openLinkWithUri</a></span>(String uri)</nobr>
+
+        <div class="jd-descrdiv">
+          Same as <code>openLinkWithUri(Matcher<Uri> uriMatcher)</code>, but uses <code>is(uri)</code> as the
+ uriMatcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#openLinkWithUri(org.hamcrest.Matcher<android.net.Uri>)">openLinkWithUri</a></span>(Matcher&lt;Uri&gt; uriMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Same as <code>openLink(Matcher<String> linkTextMatcher, Matcher<Uri> uriMatcher)</code>, but uses
+ <code>any(String.class)</code> as the linkTextMatcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#pressBack()">pressBack</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that clicks the back button.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#pressImeActionButton()">pressImeActionButton</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that presses the current action button (next, done, search, etc) on the IME
+ (Input Method Editor).
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#pressKey(android.support.test.espresso.action.EspressoKey)">pressKey</a></span>(<a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a> key)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that presses the specified key with the specified modifiers.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#pressKey(int)">pressKey</a></span>(int keyCode)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that presses the key specified by the keyCode (eg.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#pressMenuKey()">pressMenuKey</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that presses the hardware menu key.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#replaceText(java.lang.String)">replaceText</a></span>(String stringToBeSet)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that updates the text attribute of a view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#scrollTo()">scrollTo</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that scrolls to the view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#swipeDown()">swipeDown</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that performs a swipe top-to-bottom across the horizontal center of the view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#swipeLeft()">swipeLeft</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that performs a swipe right-to-left across the vertical center of the
+ view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#swipeRight()">swipeRight</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that performs a swipe left-to-right across the vertical center of the
+ view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#swipeUp()">swipeUp</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that performs a swipe bottom-to-top across the horizontal center of the view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#typeText(java.lang.String)">typeText</a></span>(String stringToBeTyped)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that selects the view (by clicking on it) and types the provided string into
+ the view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html#typeTextIntoFocusedView(java.lang.String)">typeTextIntoFocusedView</a></span>(String stringToBeTyped)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an action that types the provided string into the view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="clearText()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">clearText</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that clears text on the view.<br>
+ <br>
+ View constraints:
+ <ul>
+ <li>must be displayed on screen
+ <ul>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="click(android.support.test.espresso.ViewAction)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">click</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a> rollbackAction)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that performs a single click on the view.
+
+ If the click takes longer than the 'long press' duration (which is possible) the provided
+ rollback action is invoked on the view and a click is attempted again.
+
+ This is only necessary if the view being clicked on has some different behaviour for long press
+ versus a normal tap.
+
+ For example - if a long press on a particular view element opens a popup menu -
+ ViewActions.pressBack() may be an acceptable rollback action.
+
+ <br>
+ View constraints:
+ <ul>
+ <li>must be displayed on screen</li>
+ <li>any constraints of the rollbackAction</li>
+ <ul>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="click()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">click</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that clicks the view.<br>
+ <br>
+ View constraints:
+ <ul>
+ <li>must be displayed on screen
+ <ul>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="closeSoftKeyboard()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">closeSoftKeyboard</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that closes soft keyboard. If the keyboard is already closed, it is a no-op.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="doubleClick()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">doubleClick</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that double clicks the view.<br>
+ <br>
+ View preconditions:
+ <ul>
+ <li>must be displayed on screen
+ <ul>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="longClick()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">longClick</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that long clicks the view.<br>
+
+ <br>
+ View preconditions:
+ <ul>
+ <li>must be displayed on screen
+ <ul>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="openLink(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<android.net.Uri>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">openLink</span>
+      <span class="normal">(Matcher&lt;String&gt; linkTextMatcher, Matcher&lt;Uri&gt; uriMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that opens a link matching the given link text and uri matchers. The action
+ is performed by invoking the link's onClick method (as opposed to actually issuing a click on
+ the screen).
+ <br>
+ <br>
+ View preconditions:
+ <ul>
+ <li>must be displayed on screen
+ <li>must be assignable from TextView
+ <li>must have links
+ <ul>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="openLinkWithText(org.hamcrest.Matcher<java.lang.String>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">openLinkWithText</span>
+      <span class="normal">(Matcher&lt;String&gt; linkTextMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Same as <code>openLink(Matcher<String> linkTextMatcher, Matcher<Uri> uriMatcher)</code>, but uses
+ <code>any(Uri.class)</code> as the uriMatcher.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="openLinkWithText(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">openLinkWithText</span>
+      <span class="normal">(String linkText)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Same as <code>openLinkWithText(Matcher<String> linkTextMatcher)</code>, but uses
+ <code>is(linkText)</code> as the linkTextMatcher.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="openLinkWithUri(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">openLinkWithUri</span>
+      <span class="normal">(String uri)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Same as <code>openLinkWithUri(Matcher<Uri> uriMatcher)</code>, but uses <code>is(uri)</code> as the
+ uriMatcher.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="openLinkWithUri(org.hamcrest.Matcher<android.net.Uri>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">openLinkWithUri</span>
+      <span class="normal">(Matcher&lt;Uri&gt; uriMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Same as <code>openLink(Matcher<String> linkTextMatcher, Matcher<Uri> uriMatcher)</code>, but uses
+ <code>any(String.class)</code> as the linkTextMatcher.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="pressBack()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">pressBack</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that clicks the back button.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="pressImeActionButton()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">pressImeActionButton</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that presses the current action button (next, done, search, etc) on the IME
+ (Input Method Editor). The selected view will have its onEditorAction method called.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="pressKey(android.support.test.espresso.action.EspressoKey)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">pressKey</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a> key)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that presses the specified key with the specified modifiers.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="pressKey(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">pressKey</span>
+      <span class="normal">(int keyCode)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that presses the key specified by the keyCode (eg. Keyevent.KEYCODE_BACK).
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="pressMenuKey()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">pressMenuKey</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that presses the hardware menu key.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="replaceText(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">replaceText</span>
+      <span class="normal">(String stringToBeSet)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that updates the text attribute of a view.
+ <br>
+ <br>
+ View preconditions:
+ <ul>
+ <li>must be displayed on screen
+ <li>must be assignable from EditText
+ <ul>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollTo()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">scrollTo</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that scrolls to the view.<br>
+ <br>
+ View preconditions:
+ <ul>
+ <li>must be a descendant of ScrollView
+ <li>must have visibility set to View.VISIBLE
+ <ul>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="swipeDown()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">swipeDown</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that performs a swipe top-to-bottom across the horizontal center of the view.
+ The swipe doesn't start at the very edge of the view, but has a bit of offset.<br>
+ <br>
+ View constraints:
+ <ul>
+ <li>must be displayed on screen
+ <ul>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="swipeLeft()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">swipeLeft</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that performs a swipe right-to-left across the vertical center of the
+ view. The swipe doesn't start at the very edge of the view, but is a bit offset.<br>
+ <br>
+ View constraints:
+ <ul>
+ <li>must be displayed on screen
+ <ul>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="swipeRight()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">swipeRight</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that performs a swipe left-to-right across the vertical center of the
+ view. The swipe doesn't start at the very edge of the view, but is a bit offset.<br>
+ <br>
+ View constraints:
+ <ul>
+ <li>must be displayed on screen
+ <ul>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="swipeUp()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">swipeUp</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that performs a swipe bottom-to-top across the horizontal center of the view.
+ The swipe doesn't start at the very edge of the view, but has a bit of offset.<br>
+ <br>
+ View constraints:
+ <ul>
+ <li>must be displayed on screen
+ <ul>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="typeText(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">typeText</span>
+      <span class="normal">(String stringToBeTyped)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that selects the view (by clicking on it) and types the provided string into
+ the view. Appending a \n to the end of the string translates to a ENTER key event. Note: this
+ method performs a tap on the view before typing to force the view into focus, if the view
+ already contains text this tap may place the cursor at an arbitrary position within the text.
+ <br>
+ <br>
+ View preconditions:
+ <ul>
+ <li>must be displayed on screen
+ <li>must support input methods
+ <ul>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="typeTextIntoFocusedView(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">typeTextIntoFocusedView</span>
+      <span class="normal">(String stringToBeTyped)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an action that types the provided string into the view.
+ Appending a \n to the end of the string translates to a ENTER key event. Note: this method
+ does not change cursor position in the focused view - text is inserted at the location where
+ the cursor is currently pointed.<br>
+ <br>
+ View preconditions:
+ <ul>
+ <li>must be displayed on screen
+ <li>must support input methods
+ <li>must be already focused
+ <ul>
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/action/package-summary.html b/docs/html/reference/android/support/test/espresso/action/package-summary.html
new file mode 100644
index 0000000..6baa91a
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/action/package-summary.html
@@ -0,0 +1,1033 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>android.support.test.espresso.action | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+
+<body class="gc-documentation
+  develop reference">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">android.support.test.espresso.action</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+<div class="api-level">
+
+
+
+
+</div>
+</div>
+
+<div id="jd-header">
+  package
+  <h1>android.support.test.espresso.action</h1>
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+
+
+
+
+
+
+
+
+
+
+    <h2>Interfaces</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></td>
+        <td class="jd-descrcol" width="100%">
+          A sadly necessary layer of indirection to interact with AdapterViews.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.DataFunction.html">AdapterViewProtocol.DataFunction</a></td>
+        <td class="jd-descrcol" width="100%">
+          A custom function that is applied when <code><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html#getData()">getData()</a></code> is executed.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/CoordinatesProvider.html">CoordinatesProvider</a></td>
+        <td class="jd-descrcol" width="100%">
+          Interface to implement calculation of Coordinates.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/PrecisionDescriber.html">PrecisionDescriber</a></td>
+        <td class="jd-descrcol" width="100%">
+          Interface to implement size of click area.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.html">Swiper</a></td>
+        <td class="jd-descrcol" width="100%">
+          Interface to implement different swipe types.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.html">Tapper</a></td>
+        <td class="jd-descrcol" width="100%">
+          Interface to implement different click types.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+    <h2>Classes</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterDataLoaderAction.html">AdapterDataLoaderAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Forces an AdapterView to ensure that the data matching a provided data matcher
+ is loaded into the current view hierarchy.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.html">AdapterViewProtocol.AdaptedData</a></td>
+        <td class="jd-descrcol" width="100%">
+          A holder that associates a data object from an AdapterView with a token the
+ AdapterViewProtocol can use to force that data object to be rendered as a child or deeper
+ descendant of the adapter view.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.AdaptedData.Builder.html">AdapterViewProtocol.AdaptedData.Builder</a></td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocols.html">AdapterViewProtocols</a></td>
+        <td class="jd-descrcol" width="100%">
+          Implementations of <code><a href="../../../../../../reference/android/support/test/espresso/action/AdapterViewProtocol.html">AdapterViewProtocol</a></code> for standard SDK Widgets.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/CloseKeyboardAction.html">CloseKeyboardAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Closes soft keyboard.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/EditorAction.html">EditorAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Performs whatever editor (IME) action is available on a view.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.html">EspressoKey</a></td>
+        <td class="jd-descrcol" width="100%">
+          Class that wraps the key code and meta state of the desired key press.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/EspressoKey.Builder.html">EspressoKey.Builder</a></td>
+        <td class="jd-descrcol" width="100%">
+          Builder for the EspressoKey class.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralClickAction.html">GeneralClickAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Enables clicking on views.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralSwipeAction.html">GeneralSwipeAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Enables swiping across a view.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/KeyEventAction.html">KeyEventAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Enables pressing KeyEvents on views.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/OpenLinkAction.html">OpenLinkAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Invokes onClick of a link within a TextView (made with Linkify or via another method).&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/ReplaceTextAction.html">ReplaceTextAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Replaces view text by setting <code><a href="../../../../../../reference/android/widget/EditText.html">EditText</a></code>s text property to given String.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/ScrollToAction.html">ScrollToAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Enables scrolling to the given view.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/TypeTextAction.html">TypeTextAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Enables typing text on views.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></td>
+        <td class="jd-descrcol" width="100%">
+          A collection of common <code><a href="../../../../../../reference/android/support/test/espresso/action/ViewActions.html">ViewActions</a></code>.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+    <h2>Enums</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/GeneralLocation.html">GeneralLocation</a></td>
+        <td class="jd-descrcol" width="100%">
+          Calculates coordinate position for general locations.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/Press.html">Press</a></td>
+        <td class="jd-descrcol" width="100%">
+          Returns different touch target sizes.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/Swipe.html">Swipe</a></td>
+        <td class="jd-descrcol" width="100%">
+          Executes different swipe types to given positions.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/Swiper.Status.html">Swiper.Status</a></td>
+        <td class="jd-descrcol" width="100%">
+          The result of the swipe.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/Tap.html">Tap</a></td>
+        <td class="jd-descrcol" width="100%">
+          Executes different click types to given position.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/action/Tapper.Status.html">Tapper.Status</a></td>
+        <td class="jd-descrcol" width="100%">
+          The result of the tap.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+
+
+
+
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div><!-- end jd-content -->
+</div><!-- doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/assertion/LayoutAssertions.html b/docs/html/reference/android/support/test/espresso/assertion/LayoutAssertions.html
new file mode 100644
index 0000000..037b2ce
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/assertion/LayoutAssertions.html
@@ -0,0 +1,1287 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>LayoutAssertions | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">LayoutAssertions</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/assertion/LayoutAssertions.html">LayoutAssertions</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/assertion/PositionAssertions.html">PositionAssertions</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/assertion/ViewAssertions.html">ViewAssertions</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">LayoutAssertions</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.assertion.LayoutAssertions</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A collection of layout <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code>s.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/assertion/LayoutAssertions.html#noEllipsizedText()">noEllipsizedText</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view hierarchy does not contain
+ ellipsized or cut off text views.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/assertion/LayoutAssertions.html#noMultilineButtons()">noMultilineButtons</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view hierarchy does not contain
+ multiline buttons.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/assertion/LayoutAssertions.html#noOverlaps(org.hamcrest.Matcher<android.view.View>)">noOverlaps</a></span>(Matcher&lt;View&gt; selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that descendant views matching the selector
+ do not overlap each other.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/assertion/LayoutAssertions.html#noOverlaps()">noOverlaps</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that descendant objects assignable
+ to TextView or ImageView do not overlap each other.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="noEllipsizedText()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a>
+      </span>
+      <span class="sympad">noEllipsizedText</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view hierarchy does not contain
+ ellipsized or cut off text views.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="noMultilineButtons()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a>
+      </span>
+      <span class="sympad">noMultilineButtons</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view hierarchy does not contain
+ multiline buttons.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="noOverlaps(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a>
+      </span>
+      <span class="sympad">noOverlaps</span>
+      <span class="normal">(Matcher&lt;View&gt; selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that descendant views matching the selector
+ do not overlap each other.
+ <p>
+ Example: onView(rootView).check(noOverlaps(isAssignableFrom(TextView.class));
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="noOverlaps()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a>
+      </span>
+      <span class="sympad">noOverlaps</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that descendant objects assignable
+ to TextView or ImageView do not overlap each other.
+ <p>
+ Example: onView(rootView).check(noOverlaps())
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/assertion/PositionAssertions.html b/docs/html/reference/android/support/test/espresso/assertion/PositionAssertions.html
new file mode 100644
index 0000000..90c6901
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/assertion/PositionAssertions.html
@@ -0,0 +1,1663 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>PositionAssertions | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">PositionAssertions</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/assertion/LayoutAssertions.html">LayoutAssertions</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/assertion/PositionAssertions.html">PositionAssertions</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/assertion/ViewAssertions.html">ViewAssertions</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">PositionAssertions</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.assertion.PositionAssertions</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A collection of <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code>s for checking relative position of elements on the screen.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/assertion/PositionAssertions.html#isAbove(org.hamcrest.Matcher<android.view.View>)">isAbove</a></span>(Matcher&lt;View&gt; matcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an Assertion that asserts that view displayed is completely above
+ the view matching the given matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/assertion/PositionAssertions.html#isBelow(org.hamcrest.Matcher<android.view.View>)">isBelow</a></span>(Matcher&lt;View&gt; matcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view displayed is completely
+ below the view matching the given matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/assertion/PositionAssertions.html#isBottomAlignedWith(org.hamcrest.Matcher<android.view.View>)">isBottomAlignedWith</a></span>(Matcher&lt;View&gt; matcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view displayed is completely
+ aligned to bottom with the view matching the given matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/assertion/PositionAssertions.html#isLeftAlignedWith(org.hamcrest.Matcher<android.view.View>)">isLeftAlignedWith</a></span>(Matcher&lt;View&gt; matcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view displayed is completely aligned
+ to the left as the view matching the given matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/assertion/PositionAssertions.html#isLeftOf(org.hamcrest.Matcher<android.view.View>)">isLeftOf</a></span>(Matcher&lt;View&gt; matcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view displayed is completely left of
+ the view matching the given matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/assertion/PositionAssertions.html#isRightAlignedWith(org.hamcrest.Matcher<android.view.View>)">isRightAlignedWith</a></span>(Matcher&lt;View&gt; matcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view displayed is completely aligned
+ to the right as the view matching the given matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/assertion/PositionAssertions.html#isRightOf(org.hamcrest.Matcher<android.view.View>)">isRightOf</a></span>(Matcher&lt;View&gt; matcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view displayed is completely right of
+ the view matching the given matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/assertion/PositionAssertions.html#isTopAlignedWith(org.hamcrest.Matcher<android.view.View>)">isTopAlignedWith</a></span>(Matcher&lt;View&gt; matcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view displayed is completely
+  aligned to top with the view matching the given matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="isAbove(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a>
+      </span>
+      <span class="sympad">isAbove</span>
+      <span class="normal">(Matcher&lt;View&gt; matcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an Assertion that asserts that view displayed is completely above
+ the view matching the given matcher.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>if there is more than 1 pixel of vertical overlap.</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></td>
+            <td>if more than one view matches the given matcher.</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></td>
+            <td>if no views match the given matcher.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isBelow(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a>
+      </span>
+      <span class="sympad">isBelow</span>
+      <span class="normal">(Matcher&lt;View&gt; matcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view displayed is completely
+ below the view matching the given matcher.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>if there is more than 1 pixel of vertical overlap.</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></td>
+            <td>if more than one view matches the given matcher.</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></td>
+            <td>if no views match the given matcher.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isBottomAlignedWith(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a>
+      </span>
+      <span class="sympad">isBottomAlignedWith</span>
+      <span class="normal">(Matcher&lt;View&gt; matcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view displayed is completely
+ aligned to bottom with the view matching the given matcher.
+
+ <p>The bottom 'y' coordinate of the view displayed must equal the bottom 'y'
+ coordinate of the view matching the given matcher.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>if the views are not aligned bottom.</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></td>
+            <td>if more than one view matches the given matcher.</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></td>
+            <td>if no views match the given matcher.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isLeftAlignedWith(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a>
+      </span>
+      <span class="sympad">isLeftAlignedWith</span>
+      <span class="normal">(Matcher&lt;View&gt; matcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view displayed is completely aligned
+ to the left as the view matching the given matcher.
+
+ <p>The left 'x' coordinate of the view displayed must equal the left 'x'
+ coordinate of the view matching the given matcher.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>if the views are not aligned to the left.</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></td>
+            <td>if more than one view matches the given matcher.</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></td>
+            <td>if no views match the given matcher.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isLeftOf(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a>
+      </span>
+      <span class="sympad">isLeftOf</span>
+      <span class="normal">(Matcher&lt;View&gt; matcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view displayed is completely left of
+ the view matching the given matcher.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>if there is more than 1 pixel of horizontal overlap.</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></td>
+            <td>if more than one view matches the given matcher.</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></td>
+            <td>if no views match the given matcher.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isRightAlignedWith(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a>
+      </span>
+      <span class="sympad">isRightAlignedWith</span>
+      <span class="normal">(Matcher&lt;View&gt; matcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view displayed is completely aligned
+ to the right as the view matching the given matcher.
+
+ <p>The right 'x' coordinate of the view displayed must equal the right 'x'
+ coordinate of the view matching the given matcher.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>if the views are not aligned to the right.</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></td>
+            <td>if more than one view matches the given matcher.</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></td>
+            <td>if no views match the given matcher.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isRightOf(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a>
+      </span>
+      <span class="sympad">isRightOf</span>
+      <span class="normal">(Matcher&lt;View&gt; matcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view displayed is completely right of
+ the view matching the given matcher.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>if there is more than 1 pixel of horizontal overlap.</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></td>
+            <td>if more than one view matches the given matcher.</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></td>
+            <td>if no views match the given matcher.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isTopAlignedWith(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a>
+      </span>
+      <span class="sympad">isTopAlignedWith</span>
+      <span class="normal">(Matcher&lt;View&gt; matcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that view displayed is completely
+  aligned to top with the view matching the given matcher.
+
+ <p>The top 'y' coordinate of the view displayed must equal the top 'y'
+ coordinate of the view matching the given matcher.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>if the views are not aligned top.</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></td>
+            <td>if more than one view matches the given matcher.</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></td>
+            <td>if no views match the given matcher.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/assertion/ViewAssertions.html b/docs/html/reference/android/support/test/espresso/assertion/ViewAssertions.html
new file mode 100644
index 0000000..8e956d4
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/assertion/ViewAssertions.html
@@ -0,0 +1,1228 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>ViewAssertions | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">ViewAssertions</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/assertion/LayoutAssertions.html">LayoutAssertions</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/assertion/PositionAssertions.html">PositionAssertions</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/assertion/ViewAssertions.html">ViewAssertions</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">ViewAssertions</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.assertion.ViewAssertions</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A collection of common <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code>s.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/assertion/ViewAssertions.html#doesNotExist()">doesNotExist</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an assert that ensures the view matcher does not find any matching view in the
+ hierarchy.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/assertion/ViewAssertions.html#matches(org.hamcrest.Matcher<? super android.view.View>)">matches</a></span>(Matcher&lt;?&nbsp;super&nbsp;View&gt; viewMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a generic <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that a view exists in the view hierarchy
+ and is matched by the given view matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/assertion/ViewAssertions.html#selectedDescendantsMatch(org.hamcrest.Matcher<android.view.View>, org.hamcrest.Matcher<android.view.View>)">selectedDescendantsMatch</a></span>(Matcher&lt;View&gt; selector, Matcher&lt;View&gt; matcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a generic <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that the descendant views selected by the
+ selector match the specified matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="doesNotExist()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a>
+      </span>
+      <span class="sympad">doesNotExist</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an assert that ensures the view matcher does not find any matching view in the
+ hierarchy.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="matches(org.hamcrest.Matcher<? super android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a>
+      </span>
+      <span class="sympad">matches</span>
+      <span class="normal">(Matcher&lt;?&nbsp;super&nbsp;View&gt; viewMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a generic <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that a view exists in the view hierarchy
+ and is matched by the given view matcher.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="selectedDescendantsMatch(org.hamcrest.Matcher<android.view.View>, org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a>
+      </span>
+      <span class="sympad">selectedDescendantsMatch</span>
+      <span class="normal">(Matcher&lt;View&gt; selector, Matcher&lt;View&gt; matcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a generic <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code> that asserts that the descendant views selected by the
+ selector match the specified matcher.
+
+  Example: onView(rootView).check(selectedDescendantsMatch(
+ not(isAssignableFrom(TextView.class)), hasContentDescription()));
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/assertion/package-summary.html b/docs/html/reference/android/support/test/espresso/assertion/package-summary.html
new file mode 100644
index 0000000..ec07392
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/assertion/package-summary.html
@@ -0,0 +1,702 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>android.support.test.espresso.assertion | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+
+<body class="gc-documentation
+  develop reference">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">android.support.test.espresso.assertion</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/assertion/LayoutAssertions.html">LayoutAssertions</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/assertion/PositionAssertions.html">PositionAssertions</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/assertion/ViewAssertions.html">ViewAssertions</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+<div class="api-level">
+
+
+
+
+</div>
+</div>
+
+<div id="jd-header">
+  package
+  <h1>android.support.test.espresso.assertion</h1>
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+
+
+
+
+
+
+
+
+
+
+
+
+
+    <h2>Classes</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/assertion/LayoutAssertions.html">LayoutAssertions</a></td>
+        <td class="jd-descrcol" width="100%">
+          A collection of layout <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code>s.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/assertion/PositionAssertions.html">PositionAssertions</a></td>
+        <td class="jd-descrcol" width="100%">
+          A collection of <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code>s for checking relative position of elements on the screen.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/assertion/ViewAssertions.html">ViewAssertions</a></td>
+        <td class="jd-descrcol" width="100%">
+          A collection of common <code><a href="../../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></code>s.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+
+
+
+
+
+
+
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div><!-- end jd-content -->
+</div><!-- doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/base/ActiveRootLister.html b/docs/html/reference/android/support/test/espresso/base/ActiveRootLister.html
new file mode 100644
index 0000000..8585b65
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/base/ActiveRootLister.html
@@ -0,0 +1,882 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>ActiveRootLister | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">ActiveRootLister</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+    <li><h2>Annotations</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/Default.html">Default</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/MainThread.html">MainThread</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ActiveRootLister.html">ActiveRootLister</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html">BaseLayerModule</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html">BaseLayerModule.FailureHandlerHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/DefaultFailureHandler.html">DefaultFailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/IdlingResourceRegistry.html">IdlingResourceRegistry</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/RootViewPicker.html">RootViewPicker</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ViewFinderImpl.html">ViewFinderImpl</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">ActiveRootLister</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.base.ActiveRootLister</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Provides access to all root views in an application.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            List&lt;<a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/ActiveRootLister.html#listActiveRoots()">listActiveRoots</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Lists the active roots in an application at this moment.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="listActiveRoots()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        List&lt;<a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt;
+      </span>
+      <span class="sympad">listActiveRoots</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Lists the active roots in an application at this moment.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a list of all the active roots in the application.</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th>IllegalStateException</td>
+            <td>if invoked from a thread besides the main thread.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html b/docs/html/reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html
new file mode 100644
index 0000000..f0e2673
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html
@@ -0,0 +1,1228 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>BaseLayerModule.FailureHandlerHolder | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">BaseLayerModule.FailureHandlerHolder</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+    <li><h2>Annotations</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/Default.html">Default</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/MainThread.html">MainThread</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ActiveRootLister.html">ActiveRootLister</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html">BaseLayerModule</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html">BaseLayerModule.FailureHandlerHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/DefaultFailureHandler.html">DefaultFailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/IdlingResourceRegistry.html">IdlingResourceRegistry</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/RootViewPicker.html">RootViewPicker</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ViewFinderImpl.html">ViewFinderImpl</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+    static
+
+
+    class
+<h1 itemprop="name">BaseLayerModule.FailureHandlerHolder</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.base.BaseLayerModule.FailureHandlerHolder</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Holder for AtomicReference<FailureHandler> which allows updating it at runtime.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html#BaseLayerModule.FailureHandlerHolder(android.support.test.espresso.FailureHandler)">BaseLayerModule.FailureHandlerHolder</a></span>(<a href="../../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a> defaultHandler)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html#get()">get</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html#update(android.support.test.espresso.FailureHandler)">update</a></span>(<a href="../../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a> handler)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="BaseLayerModule.FailureHandlerHolder(android.support.test.espresso.FailureHandler)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">BaseLayerModule.FailureHandlerHolder</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a> defaultHandler)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="get()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a>
+      </span>
+      <span class="sympad">get</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="update(android.support.test.espresso.FailureHandler)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">update</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a> handler)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/base/BaseLayerModule.html b/docs/html/reference/android/support/test/espresso/base/BaseLayerModule.html
new file mode 100644
index 0000000..c440de1
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/base/BaseLayerModule.html
@@ -0,0 +1,1640 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>BaseLayerModule | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">BaseLayerModule</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+    <li><h2>Annotations</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/Default.html">Default</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/MainThread.html">MainThread</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ActiveRootLister.html">ActiveRootLister</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html">BaseLayerModule</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html">BaseLayerModule.FailureHandlerHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/DefaultFailureHandler.html">DefaultFailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/IdlingResourceRegistry.html">IdlingResourceRegistry</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/RootViewPicker.html">RootViewPicker</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ViewFinderImpl.html">ViewFinderImpl</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+  <a href="#nestedclasses">Nested Classes</a>
+
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">BaseLayerModule</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.base.BaseLayerModule</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Dagger module for creating the implementation classes within the base package.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+      <td class="jd-typecol"><nobr>
+
+
+
+
+        class</nobr></td>
+      <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html">BaseLayerModule.FailureHandlerHolder</a></td>
+      <td class="jd-descrcol" width="100%">
+        Holder for AtomicReference<FailureHandler> which allows updating it at runtime.&nbsp;
+
+
+
+      </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html#BaseLayerModule()">BaseLayerModule</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/base/ActiveRootLister.html">ActiveRootLister</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html#provideActiveRootLister(android.support.test.espresso.base.RootsOracle)">provideActiveRootLister</a></span>(RootsOracle rootsOracle)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Optional&lt;AsyncTaskPoolMonitor&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html#provideCompatAsyncTaskMonitor(android.support.test.espresso.base.ThreadPoolExecutorExtractor)">provideCompatAsyncTaskMonitor</a></span>(ThreadPoolExecutorExtractor extractor)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            EventInjector</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html#provideEventInjector()">provideEventInjector</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html">ActivityLifecycleMonitor</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html#provideLifecycleMonitor()">provideLifecycleMonitor</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Looper</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html#provideMainLooper()">provideMainLooper</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Executor</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html#provideMainThreadExecutor(android.os.Looper)">provideMainThreadExecutor</a></span>(Looper mainLooper)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Recycler</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html#provideRecycler()">provideRecycler</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            AsyncTaskPoolMonitor</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html#provideSdkAsyncTaskMonitor(android.support.test.espresso.base.ThreadPoolExecutorExtractor)">provideSdkAsyncTaskMonitor</a></span>(ThreadPoolExecutorExtractor extractor)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Context</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html#provideTargetContext()">provideTargetContext</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html#provideUiController(android.support.test.espresso.base.UiControllerImpl)">provideUiController</a></span>(UiControllerImpl uiControllerImpl)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="BaseLayerModule()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">BaseLayerModule</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="provideActiveRootLister(android.support.test.espresso.base.RootsOracle)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/base/ActiveRootLister.html">ActiveRootLister</a>
+      </span>
+      <span class="sympad">provideActiveRootLister</span>
+      <span class="normal">(RootsOracle rootsOracle)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="provideCompatAsyncTaskMonitor(android.support.test.espresso.base.ThreadPoolExecutorExtractor)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Optional&lt;AsyncTaskPoolMonitor&gt;
+      </span>
+      <span class="sympad">provideCompatAsyncTaskMonitor</span>
+      <span class="normal">(ThreadPoolExecutorExtractor extractor)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="provideEventInjector()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        EventInjector
+      </span>
+      <span class="sympad">provideEventInjector</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="provideLifecycleMonitor()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html">ActivityLifecycleMonitor</a>
+      </span>
+      <span class="sympad">provideLifecycleMonitor</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="provideMainLooper()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Looper
+      </span>
+      <span class="sympad">provideMainLooper</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="provideMainThreadExecutor(android.os.Looper)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Executor
+      </span>
+      <span class="sympad">provideMainThreadExecutor</span>
+      <span class="normal">(Looper mainLooper)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="provideRecycler()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Recycler
+      </span>
+      <span class="sympad">provideRecycler</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="provideSdkAsyncTaskMonitor(android.support.test.espresso.base.ThreadPoolExecutorExtractor)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        AsyncTaskPoolMonitor
+      </span>
+      <span class="sympad">provideSdkAsyncTaskMonitor</span>
+      <span class="normal">(ThreadPoolExecutorExtractor extractor)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="provideTargetContext()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Context
+      </span>
+      <span class="sympad">provideTargetContext</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="provideUiController(android.support.test.espresso.base.UiControllerImpl)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a>
+      </span>
+      <span class="sympad">provideUiController</span>
+      <span class="normal">(UiControllerImpl uiControllerImpl)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/base/Default.html b/docs/html/reference/android/support/test/espresso/base/Default.html
new file mode 100644
index 0000000..5e45a33
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/base/Default.html
@@ -0,0 +1,927 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>Default | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">Default</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+    <li><h2>Annotations</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/Default.html">Default</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/MainThread.html">MainThread</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ActiveRootLister.html">ActiveRootLister</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html">BaseLayerModule</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html">BaseLayerModule.FailureHandlerHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/DefaultFailureHandler.html">DefaultFailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/IdlingResourceRegistry.html">IdlingResourceRegistry</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/RootViewPicker.html">RootViewPicker</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ViewFinderImpl.html">ViewFinderImpl</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+    abstract
+    @interface
+<h1 itemprop="name">Default</h1>
+
+
+
+
+
+      implements
+
+        Annotation
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.base.Default</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Annotates a default provider.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.annotation.Annotation" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.annotation.Annotation-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  java.lang.annotation.Annotation
+
+<div id="inherited-methods-java.lang.annotation.Annotation">
+  <div id="inherited-methods-java.lang.annotation.Annotation-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.annotation.Annotation-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Class&lt;?&nbsp;extends&nbsp;Annotation&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">annotationType</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/base/DefaultFailureHandler.html b/docs/html/reference/android/support/test/espresso/base/DefaultFailureHandler.html
new file mode 100644
index 0000000..5fe6b19
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/base/DefaultFailureHandler.html
@@ -0,0 +1,1254 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>DefaultFailureHandler | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">DefaultFailureHandler</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+    <li><h2>Annotations</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/Default.html">Default</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/MainThread.html">MainThread</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ActiveRootLister.html">ActiveRootLister</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html">BaseLayerModule</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html">BaseLayerModule.FailureHandlerHolder</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/DefaultFailureHandler.html">DefaultFailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/IdlingResourceRegistry.html">IdlingResourceRegistry</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/RootViewPicker.html">RootViewPicker</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ViewFinderImpl.html">ViewFinderImpl</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">DefaultFailureHandler</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.base.DefaultFailureHandler</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Espresso's default <code><a href="../../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></code>. If this does not fit your needs, feel free to provide
+ your own implementation via Espresso.setFailureHandler(FailureHandler).
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/DefaultFailureHandler.html#DefaultFailureHandler(android.content.Context)">DefaultFailureHandler</a></span>(Context appContext)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/DefaultFailureHandler.html#handle(java.lang.Throwable, org.hamcrest.Matcher<android.view.View>)">handle</a></span>(Throwable error, Matcher&lt;View&gt; viewMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Handle the given error in a manner that makes sense to the environment in which the test is
+ executed (e.g.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.FailureHandler" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.FailureHandler-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/FailureHandler.html">android.support.test.espresso.FailureHandler</a>
+
+<div id="inherited-methods-android.support.test.espresso.FailureHandler">
+  <div id="inherited-methods-android.support.test.espresso.FailureHandler-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.FailureHandler-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/FailureHandler.html#handle(java.lang.Throwable, org.hamcrest.Matcher<android.view.View>)">handle</a></span>(Throwable error, Matcher&lt;View&gt; viewMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Handle the given error in a manner that makes sense to the environment in which the test is
+ executed (e.g.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="DefaultFailureHandler(android.content.Context)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">DefaultFailureHandler</span>
+      <span class="normal">(Context appContext)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="handle(java.lang.Throwable, org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">handle</span>
+      <span class="normal">(Throwable error, Matcher&lt;View&gt; viewMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Handle the given error in a manner that makes sense to the environment in which the test is
+ executed (e.g. take a screenshot, output extra debug info, etc). Upon handling, most handlers
+ will choose to propagate the error.
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/base/IdlingResourceRegistry.html b/docs/html/reference/android/support/test/espresso/base/IdlingResourceRegistry.html
new file mode 100644
index 0000000..b960161
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/base/IdlingResourceRegistry.html
@@ -0,0 +1,1353 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>IdlingResourceRegistry | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">IdlingResourceRegistry</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+    <li><h2>Annotations</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/Default.html">Default</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/MainThread.html">MainThread</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ActiveRootLister.html">ActiveRootLister</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html">BaseLayerModule</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html">BaseLayerModule.FailureHandlerHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/DefaultFailureHandler.html">DefaultFailureHandler</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/IdlingResourceRegistry.html">IdlingResourceRegistry</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/RootViewPicker.html">RootViewPicker</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ViewFinderImpl.html">ViewFinderImpl</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">IdlingResourceRegistry</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.base.IdlingResourceRegistry</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Keeps track of user-registered <code><a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code>s.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/IdlingResourceRegistry.html#IdlingResourceRegistry(android.os.Looper)">IdlingResourceRegistry</a></span>(Looper looper)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            List&lt;<a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a>&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/IdlingResourceRegistry.html#getResources()">getResources</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a list of all currently registered <code><a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code>s.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/IdlingResourceRegistry.html#registerLooper(android.os.Looper, boolean)">registerLooper</a></span>(Looper looper, boolean considerWaitIdle)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/IdlingResourceRegistry.html#registerResources(java.util.List<? extends android.support.test.espresso.IdlingResource>)">registerResources</a></span>(List&lt;?&nbsp;extends&nbsp;<a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a>&gt; resourceList)</nobr>
+
+        <div class="jd-descrdiv">
+          Registers the given resources.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/IdlingResourceRegistry.html#unregisterResources(java.util.List<? extends android.support.test.espresso.IdlingResource>)">unregisterResources</a></span>(List&lt;?&nbsp;extends&nbsp;<a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a>&gt; resourceList)</nobr>
+
+        <div class="jd-descrdiv">
+          Unregisters the given resources.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="IdlingResourceRegistry(android.os.Looper)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">IdlingResourceRegistry</span>
+      <span class="normal">(Looper looper)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getResources()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        List&lt;<a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a>&gt;
+      </span>
+      <span class="sympad">getResources</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a list of all currently registered <code><a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code>s.
+ This method is safe to call from any thread.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>an ImmutableList of <code><a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code>s.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="registerLooper(android.os.Looper, boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">registerLooper</span>
+      <span class="normal">(Looper looper, boolean considerWaitIdle)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="registerResources(java.util.List<? extends android.support.test.espresso.IdlingResource>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">registerResources</span>
+      <span class="normal">(List&lt;?&nbsp;extends&nbsp;<a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a>&gt; resourceList)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Registers the given resources. If any of the given resources are already
+ registered, a warning is logged.</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="unregisterResources(java.util.List<? extends android.support.test.espresso.IdlingResource>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">unregisterResources</span>
+      <span class="normal">(List&lt;?&nbsp;extends&nbsp;<a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a>&gt; resourceList)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Unregisters the given resources. If any of the given resources are not already
+ registered, a warning is logged.</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/base/MainThread.html b/docs/html/reference/android/support/test/espresso/base/MainThread.html
new file mode 100644
index 0000000..92b396e
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/base/MainThread.html
@@ -0,0 +1,927 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>MainThread | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">MainThread</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+    <li><h2>Annotations</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/Default.html">Default</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/MainThread.html">MainThread</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ActiveRootLister.html">ActiveRootLister</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html">BaseLayerModule</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html">BaseLayerModule.FailureHandlerHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/DefaultFailureHandler.html">DefaultFailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/IdlingResourceRegistry.html">IdlingResourceRegistry</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/RootViewPicker.html">RootViewPicker</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ViewFinderImpl.html">ViewFinderImpl</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+    abstract
+    @interface
+<h1 itemprop="name">MainThread</h1>
+
+
+
+
+
+      implements
+
+        Annotation
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.base.MainThread</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Annotates an Executor that executes tasks on the main thread
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.annotation.Annotation" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.annotation.Annotation-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  java.lang.annotation.Annotation
+
+<div id="inherited-methods-java.lang.annotation.Annotation">
+  <div id="inherited-methods-java.lang.annotation.Annotation-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.annotation.Annotation-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Class&lt;?&nbsp;extends&nbsp;Annotation&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">annotationType</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/base/RootViewPicker.html b/docs/html/reference/android/support/test/espresso/base/RootViewPicker.html
new file mode 100644
index 0000000..d1eb8e7
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/base/RootViewPicker.html
@@ -0,0 +1,1170 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>RootViewPicker | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">RootViewPicker</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+    <li><h2>Annotations</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/Default.html">Default</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/MainThread.html">MainThread</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ActiveRootLister.html">ActiveRootLister</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html">BaseLayerModule</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html">BaseLayerModule.FailureHandlerHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/DefaultFailureHandler.html">DefaultFailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/IdlingResourceRegistry.html">IdlingResourceRegistry</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/RootViewPicker.html">RootViewPicker</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ViewFinderImpl.html">ViewFinderImpl</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">RootViewPicker</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+      implements
+
+        Provider&lt;T&gt;
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.base.RootViewPicker</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Provides the root View of the top-most Window, with which the user can interact. View is
+ guaranteed to be in a stable state - i.e. not pending any updates from the application.
+
+ This provider can only be accessed from the main thread.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            View</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/RootViewPicker.html#get()">get</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-javax.inject.Provider" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-javax.inject.Provider-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  javax.inject.Provider
+
+<div id="inherited-methods-javax.inject.Provider">
+  <div id="inherited-methods-javax.inject.Provider-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-javax.inject.Provider-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            T</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">get</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="get()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        View
+      </span>
+      <span class="sympad">get</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/base/ViewFinderImpl.html b/docs/html/reference/android/support/test/espresso/base/ViewFinderImpl.html
new file mode 100644
index 0000000..d5c7949
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/base/ViewFinderImpl.html
@@ -0,0 +1,1200 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>ViewFinderImpl | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">ViewFinderImpl</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+    <li><h2>Annotations</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/Default.html">Default</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/MainThread.html">MainThread</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ActiveRootLister.html">ActiveRootLister</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html">BaseLayerModule</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html">BaseLayerModule.FailureHandlerHolder</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/DefaultFailureHandler.html">DefaultFailureHandler</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/IdlingResourceRegistry.html">IdlingResourceRegistry</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/RootViewPicker.html">RootViewPicker</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ViewFinderImpl.html">ViewFinderImpl</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">ViewFinderImpl</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.base.ViewFinderImpl</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Implementation of <code><a href="../../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></code>.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            View</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/base/ViewFinderImpl.html#getView()">getView</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Immediately locates a single view within the provided view hierarchy.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.ViewFinder" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.ViewFinder-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/ViewFinder.html">android.support.test.espresso.ViewFinder</a>
+
+<div id="inherited-methods-android.support.test.espresso.ViewFinder">
+  <div id="inherited-methods-android.support.test.espresso.ViewFinder-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.ViewFinder-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            View</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewFinder.html#getView()">getView</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Immediately locates a single view within the provided view hierarchy.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getView()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        View
+      </span>
+      <span class="sympad">getView</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Immediately locates a single view within the provided view hierarchy.
+
+ If multiple views match, or if no views match the appropriate exception is thrown.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A singular view which matches the matcher we were constructed with.</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></td>
+            <td></td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/base/package-summary.html b/docs/html/reference/android/support/test/espresso/base/package-summary.html
new file mode 100644
index 0000000..e0ba7fb
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/base/package-summary.html
@@ -0,0 +1,803 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>android.support.test.espresso.base | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+
+<body class="gc-documentation
+  develop reference">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">android.support.test.espresso.base</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+    <li><h2>Annotations</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/Default.html">Default</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/MainThread.html">MainThread</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Interfaces</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ActiveRootLister.html">ActiveRootLister</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html">BaseLayerModule</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html">BaseLayerModule.FailureHandlerHolder</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/DefaultFailureHandler.html">DefaultFailureHandler</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/IdlingResourceRegistry.html">IdlingResourceRegistry</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/RootViewPicker.html">RootViewPicker</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/base/ViewFinderImpl.html">ViewFinderImpl</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+<div class="api-level">
+
+
+
+
+</div>
+</div>
+
+<div id="jd-header">
+  package
+  <h1>android.support.test.espresso.base</h1>
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+
+
+
+
+
+
+
+    <h2>Annotations</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/base/Default.html">Default</a></td>
+        <td class="jd-descrcol" width="100%">
+          Annotates a default provider.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/base/MainThread.html">MainThread</a></td>
+        <td class="jd-descrcol" width="100%">
+          Annotates an Executor that executes tasks on the main thread
+&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+    <h2>Interfaces</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/base/ActiveRootLister.html">ActiveRootLister</a></td>
+        <td class="jd-descrcol" width="100%">
+          Provides access to all root views in an application.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+    <h2>Classes</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.html">BaseLayerModule</a></td>
+        <td class="jd-descrcol" width="100%">
+          Dagger module for creating the implementation classes within the base package.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/base/BaseLayerModule.FailureHandlerHolder.html">BaseLayerModule.FailureHandlerHolder</a></td>
+        <td class="jd-descrcol" width="100%">
+          Holder for AtomicReference<FailureHandler> which allows updating it at runtime.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/base/DefaultFailureHandler.html">DefaultFailureHandler</a></td>
+        <td class="jd-descrcol" width="100%">
+          Espresso's default <code><a href="../../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></code>.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/base/IdlingResourceRegistry.html">IdlingResourceRegistry</a></td>
+        <td class="jd-descrcol" width="100%">
+          Keeps track of user-registered <code><a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code>s.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/base/RootViewPicker.html">RootViewPicker</a></td>
+        <td class="jd-descrcol" width="100%">
+          Provides the root View of the top-most Window, with which the user can interact.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/base/ViewFinderImpl.html">ViewFinderImpl</a></td>
+        <td class="jd-descrcol" width="100%">
+          Implementation of <code><a href="../../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></code>.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+
+
+
+
+
+
+
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div><!-- end jd-content -->
+</div><!-- doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/contrib/CountingIdlingResource.html b/docs/html/reference/android/support/test/espresso/contrib/CountingIdlingResource.html
new file mode 100644
index 0000000..a2a3ee9
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/contrib/CountingIdlingResource.html
@@ -0,0 +1,1738 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>CountingIdlingResource | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">CountingIdlingResource</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html">CountingIdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerActions.html">DrawerActions</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerMatchers.html">DrawerMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/PickerActions.html">PickerActions</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.html">RecyclerViewActions</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">CountingIdlingResource</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.contrib.CountingIdlingResource</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">An implementation of <code><a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code> that determines idleness by maintaining an internal
+ counter. When the counter is 0 - it is considered to be idle, when it is non-zero it is not
+ idle. This is very similar to the way a <code><a href="../../../../../../reference/java/util/concurrent/Semaphore.html">Semaphore</a></code> behaves.
+ <p>
+ The counter may be incremented or decremented from any thread. If it reaches an illogical state
+ (like counter less than zero) it will throw an IllegalStateException.
+ </p>
+ <p>
+ This class can then be used to wrap up operations that while in progress should block tests from
+ accessing the UI.
+ </p>
+
+ <pre>
+ <code>public interface FooServer {
+     public Foo newFoo();
+     public void updateFoo(Foo foo);
+   </code>
+
+   public DecoratedFooServer implements FooServer {
+     private final FooServer realFooServer;
+     private final CountingIdlingResource fooServerIdlingResource;
+
+     public DecoratedFooServer(FooServer realFooServer,
+         CountingIdlingResource fooServerIdlingResource) {
+       this.realFooServer = checkNotNull(realFooServer);
+       this.fooServerIdlingResource = checkNotNull(fooServerIdlingResource);
+     }
+
+     public Foo newFoo() {
+       fooServerIdlingResource.increment();
+       try {
+         return realFooServer.newFoo();
+       } finally {
+         fooServerIdlingResource.decrement();
+       }
+     }
+
+     public void updateFoo(Foo foo) {
+       fooServerIdlingResource.increment();
+       try {
+         realFooServer.updateFoo(foo);
+       } finally {
+         fooServerIdlingResource.decrement();
+       }
+     }
+   }
+   }
+   </pre>
+
+   Then in your test setup:
+   <pre>
+   <code>public void setUp() throws Exception {
+       super.setUp();
+       FooServer realServer = FooApplication.getFooServer();
+       CountingIdlingResource countingResource = new CountingIdlingResource("FooServerCalls");
+       FooApplication.setFooServer(new DecoratedFooServer(realServer, countingResource));
+       Espresso.registerIdlingResource(countingResource);
+     </code>
+   }
+   </pre>
+
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html#CountingIdlingResource(java.lang.String)">CountingIdlingResource</a></span>(String resourceName)</nobr>
+
+        <div class="jd-descrdiv">
+          Creates a CountingIdlingResource without debug tracing.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html#CountingIdlingResource(java.lang.String, boolean)">CountingIdlingResource</a></span>(String resourceName, boolean debugCounting)</nobr>
+
+        <div class="jd-descrdiv">
+          Creates a CountingIdlingResource.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html#decrement()">decrement</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Decrements the count of in-flight transactions to the resource being monitored.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html#dumpStateToLogs()">dumpStateToLogs</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Prints the current state of this resource to the logcat at info level.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html#getName()">getName</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the name of the resources (used for logging and idempotency  of registration).
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html#increment()">increment</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Increments the count of in-flight transactions to the resource being monitored.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html#isIdleNow()">isIdleNow</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns <code>true</code> if resource is currently idle.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html#registerIdleTransitionCallback(android.support.test.espresso.IdlingResource.ResourceCallback)">registerIdleTransitionCallback</a></span>(<a href="../../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a> resourceCallback)</nobr>
+
+        <div class="jd-descrdiv">
+          Registers the given <code><a href="../../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></code> with the resource.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.IdlingResource" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.IdlingResource-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html">android.support.test.espresso.IdlingResource</a>
+
+<div id="inherited-methods-android.support.test.espresso.IdlingResource">
+  <div id="inherited-methods-android.support.test.espresso.IdlingResource-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.IdlingResource-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html#getName()">getName</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the name of the resources (used for logging and idempotency  of registration).
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html#isIdleNow()">isIdleNow</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns <code>true</code> if resource is currently idle.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html#registerIdleTransitionCallback(android.support.test.espresso.IdlingResource.ResourceCallback)">registerIdleTransitionCallback</a></span>(<a href="../../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a> callback)</nobr>
+
+        <div class="jd-descrdiv">
+          Registers the given <code><a href="../../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></code> with the resource.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="CountingIdlingResource(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">CountingIdlingResource</span>
+      <span class="normal">(String resourceName)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Creates a CountingIdlingResource without debug tracing.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>resourceName</td>
+          <td>the resource name this resource should report to Espresso.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="CountingIdlingResource(java.lang.String, boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">CountingIdlingResource</span>
+      <span class="normal">(String resourceName, boolean debugCounting)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Creates a CountingIdlingResource.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>resourceName</td>
+          <td>the resource name this resource should report to Espresso.</td>
+        </tr>
+        <tr>
+          <th>debugCounting</td>
+          <td>if true increment & decrement calls will print trace information to logs.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="decrement()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">decrement</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Decrements the count of in-flight transactions to the resource being monitored.
+
+ If this operation results in the counter falling below 0 - an exception is raised.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th>IllegalStateException</td>
+            <td>if the counter is below 0.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="dumpStateToLogs()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">dumpStateToLogs</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Prints the current state of this resource to the logcat at info level.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getName()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getName</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the name of the resources (used for logging and idempotency  of registration).
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="increment()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">increment</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Increments the count of in-flight transactions to the resource being monitored.
+
+ This method can be called from any thread.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isIdleNow()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isIdleNow</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns <code>true</code> if resource is currently idle. Espresso will <b>always</b> call this
+ method from the main thread, therefore it should be non-blocking and return immediately.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="registerIdleTransitionCallback(android.support.test.espresso.IdlingResource.ResourceCallback)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">registerIdleTransitionCallback</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a> resourceCallback)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Registers the given <code><a href="../../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></code> with the resource. Espresso will call this method:
+ <ul>
+ <li>with its implementation of <code><a href="../../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></code> so it can be notified asynchronously
+ that your resource is idle
+ <li>from the main thread, but you are free to execute the callback's onTransitionToIdle from
+ any thread
+ <li>once (when it is initially given a reference to your IdlingResource)
+ </ul>
+ <br>
+ You only need to call this upon transition from busy to idle - if the resource is already idle
+ when the method is called invoking the call back is optional and has no significant impact.
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/contrib/DrawerActions.html b/docs/html/reference/android/support/test/espresso/contrib/DrawerActions.html
new file mode 100644
index 0000000..840a57b
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/contrib/DrawerActions.html
@@ -0,0 +1,1177 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>DrawerActions | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">DrawerActions</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html">CountingIdlingResource</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerActions.html">DrawerActions</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerMatchers.html">DrawerMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/PickerActions.html">PickerActions</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.html">RecyclerViewActions</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">DrawerActions</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.contrib.DrawerActions</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Espresso actions for using a <code><a href="../../../../../../reference/android/support/v4/widget/DrawerLayout.html">DrawerLayout</a></code>.</p>
+
+
+
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><a href="http://developer.android.com/design/patterns/navigation-drawer.html">Navigation
+      drawer design guide</a></li>
+      </ul>
+  </div>
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerActions.html#closeDrawer(int)">closeDrawer</a></span>(int drawerLayoutId)</nobr>
+
+        <div class="jd-descrdiv">
+          Closes the <code><a href="../../../../../../reference/android/support/v4/widget/DrawerLayout.html">DrawerLayout</a></code> with the given id.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerActions.html#openDrawer(int)">openDrawer</a></span>(int drawerLayoutId)</nobr>
+
+        <div class="jd-descrdiv">
+          Opens the <code><a href="../../../../../../reference/android/support/v4/widget/DrawerLayout.html">DrawerLayout</a></code> with the given id.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="closeDrawer(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        void
+      </span>
+      <span class="sympad">closeDrawer</span>
+      <span class="normal">(int drawerLayoutId)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Closes the <code><a href="../../../../../../reference/android/support/v4/widget/DrawerLayout.html">DrawerLayout</a></code> with the given id. This method blocks until the drawer is fully
+ closed. No operation if the drawer is already closed.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="openDrawer(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        void
+      </span>
+      <span class="sympad">openDrawer</span>
+      <span class="normal">(int drawerLayoutId)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Opens the <code><a href="../../../../../../reference/android/support/v4/widget/DrawerLayout.html">DrawerLayout</a></code> with the given id. This method blocks until the drawer is fully
+ open. No operation if the drawer is already open.
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/contrib/DrawerMatchers.html b/docs/html/reference/android/support/test/espresso/contrib/DrawerMatchers.html
new file mode 100644
index 0000000..11aa326
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/contrib/DrawerMatchers.html
@@ -0,0 +1,1174 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>DrawerMatchers | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">DrawerMatchers</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html">CountingIdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerActions.html">DrawerActions</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerMatchers.html">DrawerMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/PickerActions.html">PickerActions</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.html">RecyclerViewActions</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">DrawerMatchers</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.contrib.DrawerMatchers</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Hamcrest matchers for a <code><a href="../../../../../../reference/android/support/v4/widget/DrawerLayout.html">DrawerLayout</a></code>.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerMatchers.html#isClosed()">isClosed</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that verifies that the drawer is closed.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerMatchers.html#isOpen()">isOpen</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that verifies that the drawer is open.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="isClosed()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">isClosed</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that verifies that the drawer is closed. Matches only when the drawer is
+ fully closed. Use <code><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerMatchers.html#isOpen()">isOpen()</a></code> instead of <code>not(isClosed()))</code> when you wish to check
+ that the drawer is fully open.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isOpen()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">isOpen</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that verifies that the drawer is open. Matches only when the drawer is fully
+ open. Use <code><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerMatchers.html#isClosed()">isClosed()</a></code> instead of <code>not(isOpen())</code> when you wish to check that the
+ drawer is fully closed.
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/contrib/PickerActions.html b/docs/html/reference/android/support/test/espresso/contrib/PickerActions.html
new file mode 100644
index 0000000..f1fbede
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/contrib/PickerActions.html
@@ -0,0 +1,1176 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>PickerActions | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">PickerActions</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html">CountingIdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerActions.html">DrawerActions</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerMatchers.html">DrawerMatchers</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/PickerActions.html">PickerActions</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.html">RecyclerViewActions</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">PickerActions</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.contrib.PickerActions</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Espresso action for interacting with <code><a href="../../../../../../reference/android/widget/DatePicker.html">DatePicker</a></code> and
+ <code><a href="../../../../../../reference/android/widget/TimePicker.html">TimePicker</a></code>.</p>
+
+
+
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><a href="http://developer.android.com/guide/topics/ui/controls/pickers.html">Pickers
+      API guide</a></li>
+      </ul>
+  </div>
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/PickerActions.html#setDate(int, int, int)">setDate</a></span>(int year, int monthOfYear, int dayOfMonth)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> that sets a date on a <code><a href="../../../../../../reference/android/widget/DatePicker.html">DatePicker</a></code>.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/PickerActions.html#setTime(int, int)">setTime</a></span>(int hours, int minutes)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> that sets a time on a <code><a href="../../../../../../reference/android/widget/TimePicker.html">TimePicker</a></code>.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="setDate(int, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">setDate</span>
+      <span class="normal">(int year, int monthOfYear, int dayOfMonth)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> that sets a date on a <code><a href="../../../../../../reference/android/widget/DatePicker.html">DatePicker</a></code>.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="setTime(int, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">setTime</span>
+      <span class="normal">(int hours, int minutes)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> that sets a time on a <code><a href="../../../../../../reference/android/widget/TimePicker.html">TimePicker</a></code>.
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html b/docs/html/reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html
new file mode 100644
index 0000000..09a593c
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html
@@ -0,0 +1,1024 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>RecyclerViewActions.PositionableRecyclerViewAction | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">RecyclerViewActions.PositionableRecyclerViewAction</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html">CountingIdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerActions.html">DrawerActions</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerMatchers.html">DrawerMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/PickerActions.html">PickerActions</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.html">RecyclerViewActions</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+    static
+
+
+    interface
+<h1 itemprop="name">RecyclerViewActions.PositionableRecyclerViewAction</h1>
+
+
+
+
+
+      implements
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.contrib.RecyclerViewActions.PositionableRecyclerViewAction</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Most RecyclerViewActions are given a matcher to select a particular view / viewholder within
+ the RecyclerView. In this case the default behaviour is to expect that the matcher matches 1
+ and only one item within the RecyclerView.
+
+  This interface gives users the ability to override that type of behaviour and explicitly
+ select an item in the RecyclerView at a given position. This is similar to on the
+ onData(...).atPosition() api for AdapterViews.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html#atPosition(int)">atPosition</a></span>(int position)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a new ViewAction which will cause the ViewAction to operate upon the position-th
+ element which the matcher has selected.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.espresso.ViewAction" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.espresso.ViewAction-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">android.support.test.espresso.ViewAction</a>
+
+<div id="inherited-methods-android.support.test.espresso.ViewAction">
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.espresso.ViewAction-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getConstraints()">getConstraints</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          A mechanism for ViewActions to specify what type of views they can operate on.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#getDescription()">getDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a description of the view action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html#perform(android.support.test.espresso.UiController, android.view.View)">perform</a></span>(<a href="../../../../../../reference/android/support/test/espresso/UiController.html">UiController</a> uiController, View view)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs this action on the given view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="atPosition(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        <a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a>
+      </span>
+      <span class="sympad">atPosition</span>
+      <span class="normal">(int position)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a new ViewAction which will cause the ViewAction to operate upon the position-th
+ element which the matcher has selected.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>position</td>
+          <td>a 0-based index into the list of matching elements within the RecyclerView.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th>IllegalArgumentException</td>
+            <td>if position < 0.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/contrib/RecyclerViewActions.html b/docs/html/reference/android/support/test/espresso/contrib/RecyclerViewActions.html
new file mode 100644
index 0000000..9445a4e
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/contrib/RecyclerViewActions.html
@@ -0,0 +1,1574 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>RecyclerViewActions | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">RecyclerViewActions</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html">CountingIdlingResource</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerActions.html">DrawerActions</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerMatchers.html">DrawerMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/PickerActions.html">PickerActions</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.html">RecyclerViewActions</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+  <a href="#nestedclasses">Nested Classes</a>
+
+
+
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">RecyclerViewActions</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.contrib.RecyclerViewActions</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody"><code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code>s to interact <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.html">RecyclerView</a></code>. RecyclerView works differently than
+ <code><a href="../../../../../../reference/android/widget/AdapterView.html">AdapterView</a></code>. In fact, RecyclerView is not an AdapterView anymore, hence it can't be used
+ in combination with <code><a href="../../../../../../reference/android/support/test/espresso/Espresso.html#onData(org.hamcrest.Matcher<java.lang.Object>)">onData(Matcher)</a></code>.
+
+ <p>
+ To use <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code>s in this class use <code><a href="../../../../../../reference/android/support/test/espresso/Espresso.html#onView(org.hamcrest.Matcher<android.view.View>)">onView(Matcher)</a></code> with a
+ <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches your <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.html">RecyclerView</a></code>, then perform a
+ <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> from this class.
+ </p>
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+      <td class="jd-typecol"><nobr>
+
+
+
+
+        interface</nobr></td>
+      <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a></td>
+      <td class="jd-descrcol" width="100%">
+        Most RecyclerViewActions are given a matcher to select a particular view / viewholder within
+ the RecyclerView.&nbsp;
+
+
+
+      </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;VH&nbsp;extends&nbsp;RecyclerView.ViewHolder&gt;
+            <a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.html#actionOnHolderItem(org.hamcrest.Matcher<VH>, android.support.test.espresso.ViewAction)">actionOnHolderItem</a></span>(Matcher&lt;VH&gt; viewHolderMatcher, <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a> viewAction)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> on a view matched by viewHolderMatcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;VH&nbsp;extends&nbsp;RecyclerView.ViewHolder&gt;
+            <a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.html#actionOnItem(org.hamcrest.Matcher<android.view.View>, android.support.test.espresso.ViewAction)">actionOnItem</a></span>(Matcher&lt;View&gt; itemViewMatcher, <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a> viewAction)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> on a view matched by viewHolderMatcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;VH&nbsp;extends&nbsp;RecyclerView.ViewHolder&gt;
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.html#actionOnItemAtPosition(int, android.support.test.espresso.ViewAction)">actionOnItemAtPosition</a></span>(int position, <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a> viewAction)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> on a view at position.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;VH&nbsp;extends&nbsp;RecyclerView.ViewHolder&gt;
+            <a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.html#scrollTo(org.hamcrest.Matcher<android.view.View>)">scrollTo</a></span>(Matcher&lt;View&gt; itemViewMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> which scrolls <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.html">RecyclerView</a></code> to the view matched by
+ itemViewMatcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;VH&nbsp;extends&nbsp;RecyclerView.ViewHolder&gt;
+            <a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.html#scrollToHolder(org.hamcrest.Matcher<VH>)">scrollToHolder</a></span>(Matcher&lt;VH&gt; viewHolderMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> which scrolls <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.html">RecyclerView</a></code> to the view matched by
+ viewHolderMatcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;VH&nbsp;extends&nbsp;RecyclerView.ViewHolder&gt;
+            <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.html#scrollToPosition(int)">scrollToPosition</a></span>(int position)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> which scrolls <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.html">RecyclerView</a></code> to a position.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="actionOnHolderItem(org.hamcrest.Matcher<VH>, android.support.test.espresso.ViewAction)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a>
+      </span>
+      <span class="sympad">actionOnHolderItem</span>
+      <span class="normal">(Matcher&lt;VH&gt; viewHolderMatcher, <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a> viewAction)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> on a view matched by viewHolderMatcher.
+
+ <ol>
+ <li>Scroll Recycler View to the view matched by itemViewMatcher</li>
+ <li>Perform an action on the matched view</li>
+ </ol>
+ Note: actionOnItem method is not overloaded, method overloading with
+ generic parameters is not possible.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>viewHolderMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                          <code>Matcher</code></a> that matchesan item view holder in <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.html">RecyclerView</a></code></td>
+        </tr>
+        <tr>
+          <th>viewAction</td>
+          <td>the action that is performed on the view matched by viewHolderMatcher</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></td>
+            <td>if there are more than one items matching given viewHolderMatcher.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="actionOnItem(org.hamcrest.Matcher<android.view.View>, android.support.test.espresso.ViewAction)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a>
+      </span>
+      <span class="sympad">actionOnItem</span>
+      <span class="normal">(Matcher&lt;View&gt; itemViewMatcher, <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a> viewAction)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> on a view matched by viewHolderMatcher.
+
+ <ol>
+ <li>Scroll Recycler View to the view matched by itemViewMatcher</li>
+ <li>Perform an action on the matched view</li>
+ </ol></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>itemViewMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                        <code>Matcher</code></a> that matches an item view in <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.html">RecyclerView</a></code></td>
+        </tr>
+        <tr>
+          <th>viewAction</td>
+          <td>the action that is performed on the view matched by viewHolderMatcher</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></td>
+            <td>if there are more than one items matching given viewHolderMatcher.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="actionOnItemAtPosition(int, android.support.test.espresso.ViewAction)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">actionOnItemAtPosition</span>
+      <span class="normal">(int position, <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a> viewAction)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> on a view at position.
+
+ <ol>
+ <li>Scroll Recycler View to position</li>
+ <li>Perform an action on the view at position</li>
+ </ol></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>position</td>
+          <td>position of a view in <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.html">RecyclerView</a></code></td>
+        </tr>
+        <tr>
+          <th>viewAction</td>
+          <td>the action that is performed on the view matched by itemViewMatcher
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollTo(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a>
+      </span>
+      <span class="sympad">scrollTo</span>
+      <span class="normal">(Matcher&lt;View&gt; itemViewMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> which scrolls <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.html">RecyclerView</a></code> to the view matched by
+ itemViewMatcher.
+
+ <p>
+ This approach uses <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.ViewHolder.html">RecyclerView.ViewHolder</a></code>s to find the target view. It will create one ViewHolder
+ per item type and bind adapter data to the ViewHolder. If the itemViewMatcher matches a
+ ViewHolder the current position of the View is used to perform a
+ <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.html#scrollToPosition(int)">scrollToPosition(int)</a></code>.
+ </p></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>itemViewMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                        <code>Matcher</code></a> that matches an item view in <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.html">RecyclerView</a></code></td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></td>
+            <td>if there are more than one items matching given viewHolderMatcher.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollToHolder(org.hamcrest.Matcher<VH>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a>
+      </span>
+      <span class="sympad">scrollToHolder</span>
+      <span class="normal">(Matcher&lt;VH&gt; viewHolderMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> which scrolls <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.html">RecyclerView</a></code> to the view matched by
+ viewHolderMatcher.
+
+ <p>
+ This approach uses <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.ViewHolder.html">RecyclerView.ViewHolder</a></code>s to find the target view. It will create one ViewHolder
+ per item type and bind adapter data to the ViewHolder. If the itemViewMatcher matches a
+ ViewHolder the current position of the View is used to perform a
+ <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.html#scrollToPosition(int)">scrollToPosition(int)</a></code>. Note: scrollTo method is not overloaded, method
+ overloading with generic parameters is not possible.
+ </p></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>viewHolderMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html"><code>Matcher</code></a> that matches an item view holder in
+        <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.html">RecyclerView</a></code></td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></td>
+            <td>if there are more than one items matching given viewHolderMatcher.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollToPosition(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a>
+      </span>
+      <span class="sympad">scrollToPosition</span>
+      <span class="normal">(int position)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code> which scrolls <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.html">RecyclerView</a></code> to a position.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>position</td>
+          <td>the position of the view to scroll to
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/contrib/package-summary.html b/docs/html/reference/android/support/test/espresso/contrib/package-summary.html
new file mode 100644
index 0000000..e015879
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/contrib/package-summary.html
@@ -0,0 +1,755 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>android.support.test.espresso.contrib | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+
+<body class="gc-documentation
+  develop reference">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">android.support.test.espresso.contrib</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html">CountingIdlingResource</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerActions.html">DrawerActions</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerMatchers.html">DrawerMatchers</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/PickerActions.html">PickerActions</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.html">RecyclerViewActions</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+<div class="api-level">
+
+
+
+
+</div>
+</div>
+
+<div id="jd-header">
+  package
+  <h1>android.support.test.espresso.contrib</h1>
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+
+
+
+
+
+
+
+
+
+
+    <h2>Interfaces</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction.html">RecyclerViewActions.PositionableRecyclerViewAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Most RecyclerViewActions are given a matcher to select a particular view / viewholder within
+ the RecyclerView.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+    <h2>Classes</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/contrib/CountingIdlingResource.html">CountingIdlingResource</a></td>
+        <td class="jd-descrcol" width="100%">
+          An implementation of <code><a href="../../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code> that determines idleness by maintaining an internal
+ counter.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerActions.html">DrawerActions</a></td>
+        <td class="jd-descrcol" width="100%">
+          Espresso actions for using a <code><a href="../../../../../../reference/android/support/v4/widget/DrawerLayout.html">DrawerLayout</a></code>.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/contrib/DrawerMatchers.html">DrawerMatchers</a></td>
+        <td class="jd-descrcol" width="100%">
+          Hamcrest matchers for a <code><a href="../../../../../../reference/android/support/v4/widget/DrawerLayout.html">DrawerLayout</a></code>.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/contrib/PickerActions.html">PickerActions</a></td>
+        <td class="jd-descrcol" width="100%">
+          Espresso action for interacting with <code><a href="../../../../../../reference/android/widget/DatePicker.html">DatePicker</a></code> and
+ <code><a href="../../../../../../reference/android/widget/TimePicker.html">TimePicker</a></code>.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/contrib/RecyclerViewActions.html">RecyclerViewActions</a></td>
+        <td class="jd-descrcol" width="100%">
+          <code><a href="../../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></code>s to interact <code><a href="../../../../../../reference/android/support/v7/widget/RecyclerView.html">RecyclerView</a></code>.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+
+
+
+
+
+
+
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div><!-- end jd-content -->
+</div><!-- doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/matcher/BoundedMatcher.html b/docs/html/reference/android/support/test/espresso/matcher/BoundedMatcher.html
new file mode 100644
index 0000000..c387859
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/matcher/BoundedMatcher.html
@@ -0,0 +1,1510 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>BoundedMatcher | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">BoundedMatcher</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/BoundedMatcher.html">BoundedMatcher</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html">CursorMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/LayoutMatchers.html">LayoutMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html">PreferenceMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/RootMatchers.html">RootMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html">ViewMatchers</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+  &#124; <a href="#promethods">Protected Methods</a>
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+    abstract
+    class
+<h1 itemprop="name">BoundedMatcher</h1>
+
+
+
+
+
+
+
+
+    extends BaseMatcher&lt;T&gt;<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">org.hamcrest.BaseMatcher&lt;T&gt;</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.matcher.BoundedMatcher&lt;T,&nbsp;S&nbsp;extends&nbsp;T&gt;</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Some matcher sugar that lets you create a matcher for a given type
+ but only process items of a specific subtype of that matcher.</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/BoundedMatcher.html#BoundedMatcher(java.lang.Class<? extends S>)">BoundedMatcher</a></span>(Class&lt;?&nbsp;extends&nbsp;S&gt; expectedType)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/BoundedMatcher.html#BoundedMatcher(java.lang.Class<?>, java.lang.Class<?>, java.lang.Class<?>...)">BoundedMatcher</a></span>(Class&lt;?&gt; expectedType, Class&lt;?&gt; interfaceType1, Class...&lt;?&gt; otherInterfaces)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/BoundedMatcher.html#matches(java.lang.Object)">matches</a></span>(Object item)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="promethods" class="jd-sumtable"><tr><th colspan="12">Protected Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/BoundedMatcher.html#matchesSafely(S)">matchesSafely</a></span>(S item)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-org.hamcrest.BaseMatcher" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-org.hamcrest.BaseMatcher-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  org.hamcrest.BaseMatcher
+
+<div id="inherited-methods-org.hamcrest.BaseMatcher">
+  <div id="inherited-methods-org.hamcrest.BaseMatcher-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-org.hamcrest.BaseMatcher-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">_dont_implement_Matcher___instead_extend_BaseMatcher_</span>()</nobr>
+
+        <div class="jd-descrdiv">
+          This method simply acts a friendly reminder not to implement Matcher directly and
+ instead extend BaseMatcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-org.hamcrest.Matcher" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-org.hamcrest.Matcher-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  org.hamcrest.Matcher
+
+<div id="inherited-methods-org.hamcrest.Matcher">
+  <div id="inherited-methods-org.hamcrest.Matcher-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-org.hamcrest.Matcher-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">_dont_implement_Matcher___instead_extend_BaseMatcher_</span>()</nobr>
+
+        <div class="jd-descrdiv">
+          This method simply acts a friendly reminder not to implement Matcher directly and
+ instead extend BaseMatcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">matches</span>(Object item)</nobr>
+
+        <div class="jd-descrdiv">
+          Evaluates the matcher for argument <var>item</var>.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-org.hamcrest.SelfDescribing" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-org.hamcrest.SelfDescribing-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  org.hamcrest.SelfDescribing
+
+<div id="inherited-methods-org.hamcrest.SelfDescribing">
+  <div id="inherited-methods-org.hamcrest.SelfDescribing-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-org.hamcrest.SelfDescribing-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">describeTo</span>(Description description)</nobr>
+
+        <div class="jd-descrdiv">
+          Generates a description of the object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="BoundedMatcher(java.lang.Class<? extends S>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">BoundedMatcher</span>
+      <span class="normal">(Class&lt;?&nbsp;extends&nbsp;S&gt; expectedType)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="BoundedMatcher(java.lang.Class<?>, java.lang.Class<?>, java.lang.Class<?>...)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">BoundedMatcher</span>
+      <span class="normal">(Class&lt;?&gt; expectedType, Class&lt;?&gt; interfaceType1, Class...&lt;?&gt; otherInterfaces)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="matches(java.lang.Object)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+        final
+
+
+        boolean
+      </span>
+      <span class="sympad">matches</span>
+      <span class="normal">(Object item)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+<h2>Protected Methods</h2>
+
+
+
+<A NAME="matchesSafely(S)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        protected
+
+
+        abstract
+
+        boolean
+      </span>
+      <span class="sympad">matchesSafely</span>
+      <span class="normal">(S item)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/matcher/CursorMatchers.html b/docs/html/reference/android/support/test/espresso/matcher/CursorMatchers.html
new file mode 100644
index 0000000..4af83e2
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/matcher/CursorMatchers.html
@@ -0,0 +1,3688 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>CursorMatchers | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">CursorMatchers</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/BoundedMatcher.html">BoundedMatcher</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html">CursorMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/LayoutMatchers.html">LayoutMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html">PreferenceMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/RootMatchers.html">RootMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html">ViewMatchers</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">CursorMatchers</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.matcher.CursorMatchers</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A collection of Hamcrest matchers that matches a data row in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>.
+ <br>
+ <p>
+ <code><a href="../../../../../../reference/android/widget/AdapterView.html">AdapterView</a></code>s that are backed by a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code> are very common. This class contains
+ <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a>s that can be used together with
+ <code><a href="../../../../../../reference/android/support/test/espresso/Espresso.html#onData(org.hamcrest.Matcher<java.lang.Object>)">onData(Matcher)</a></code> to match a data row in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>.
+ The <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a>s can only operate on a single data row of the cursor and Espresso
+ internally moves the <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code> to the correct adapter position.
+ </p>
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowBlob(java.lang.String, byte[])">withRowBlob</a></span>(String columnName, byte[] value)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a byte[] at a given column index in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s
+ data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowBlob(int, org.hamcrest.Matcher<byte[]>)">withRowBlob</a></span>(int columnIndex, Matcher&lt;byte[]&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a byte[] at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowBlob(int, byte[])">withRowBlob</a></span>(int columnIndex, byte[] value)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a byte[] at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowBlob(java.lang.String, org.hamcrest.Matcher<byte[]>)">withRowBlob</a></span>(String columnName, Matcher&lt;byte[]&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a byte[] at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowBlob(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<byte[]>)">withRowBlob</a></span>(Matcher&lt;String&gt; columnPicker, Matcher&lt;byte[]&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a byte[] at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowDouble(java.lang.String, double)">withRowDouble</a></span>(String columnName, double value)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher .html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Double.html">Double</a></code> value at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowDouble(java.lang.String, org.hamcrest.Matcher<java.lang.Double>)">withRowDouble</a></span>(String columnName, Matcher&lt;Double&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Double.html">Double</a></code> value at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowDouble(int, double)">withRowDouble</a></span>(int columnIndex, double value)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Double.html">Double</a></code> value at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowDouble(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<java.lang.Double>)">withRowDouble</a></span>(Matcher&lt;String&gt; columnNameMatcher, Matcher&lt;Double&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Double.html">Double</a></code> value at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowDouble(int, org.hamcrest.Matcher<java.lang.Double>)">withRowDouble</a></span>(int columnIndex, Matcher&lt;Double&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Double.html">Double</a></code> value at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowFloat(java.lang.String, org.hamcrest.Matcher<java.lang.Float>)">withRowFloat</a></span>(String columnName, Matcher&lt;Float&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Float.html">Float</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowFloat(int, float)">withRowFloat</a></span>(int columnIndex, float value)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Float.html">Float</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowFloat(java.lang.String, float)">withRowFloat</a></span>(String columnName, float value)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher
+ .html"><code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Float.html">Float</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowFloat(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<java.lang.Float>)">withRowFloat</a></span>(Matcher&lt;String&gt; columnNameMatcher, Matcher&lt;Float&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Float.html">Float</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowFloat(int, org.hamcrest.Matcher<java.lang.Float>)">withRowFloat</a></span>(int columnIndex, Matcher&lt;Float&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Float.html">Float</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowInt(java.lang.String, org.hamcrest.Matcher<java.lang.Integer>)">withRowInt</a></span>(String columnName, Matcher&lt;Integer&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Integer.html">Integer</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowInt(int, int)">withRowInt</a></span>(int columnIndex, int value)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Integer.html">Integer</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowInt(java.lang.String, int)">withRowInt</a></span>(String columnName, int value)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Integer.html">Integer</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowInt(int, org.hamcrest.Matcher<java.lang.Integer>)">withRowInt</a></span>(int columnIndex, Matcher&lt;Integer&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Integer.html">Integer</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowInt(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<java.lang.Integer>)">withRowInt</a></span>(Matcher&lt;String&gt; columnNameMatcher, Matcher&lt;Integer&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Integer.html">Integer</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowLong(int, org.hamcrest.Matcher<java.lang.Long>)">withRowLong</a></span>(int columnIndex, Matcher&lt;Long&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Long.html">Long</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowLong(int, long)">withRowLong</a></span>(int columnIndex, long value)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Long.html">Long</a></code> value at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowLong(java.lang.String, long)">withRowLong</a></span>(String columnName, long value)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Long.html">Long</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowLong(java.lang.String, org.hamcrest.Matcher<java.lang.Long>)">withRowLong</a></span>(String columnName, Matcher&lt;Long&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Long.html">Long</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowLong(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<java.lang.Long>)">withRowLong</a></span>(Matcher&lt;String&gt; columnNameMatcher, Matcher&lt;Long&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Long.html">Long</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowShort(int, org.hamcrest.Matcher<java.lang.Short>)">withRowShort</a></span>(int columnIndex, Matcher&lt;Short&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Short.html">Short</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowShort(java.lang.String, org.hamcrest.Matcher<java.lang.Short>)">withRowShort</a></span>(String columnName, Matcher&lt;Short&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Short.html">Short</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowShort(java.lang.String, short)">withRowShort</a></span>(String columnName, short value)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Short.html">Short</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowShort(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<java.lang.Short>)">withRowShort</a></span>(Matcher&lt;String&gt; columnNameMatcher, Matcher&lt;Short&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Short.html">Short</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowShort(int, short)">withRowShort</a></span>(int columnIndex, short value)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Short.html">Short</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowString(java.lang.String, java.lang.String)">withRowString</a></span>(String columnName, String value)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowString(int, org.hamcrest.Matcher<java.lang.String>)">withRowString</a></span>(int columnIndex, Matcher&lt;String&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowString(int, java.lang.String)">withRowString</a></span>(int columnIndex, String value)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowString(java.lang.String, org.hamcrest.Matcher<java.lang.String>)">withRowString</a></span>(String columnName, Matcher&lt;String&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Object&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html#withRowString(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<java.lang.String>)">withRowString</a></span>(Matcher&lt;String&gt; columnPicker, Matcher&lt;String&gt; valueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="withRowBlob(java.lang.String, byte[])"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowBlob</span>
+      <span class="normal">(String columnName, byte[] value)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a byte[] at a given column index in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s
+ data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnName</td>
+          <td>as a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>value</td>
+          <td>byte[] to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowBlob(int, org.hamcrest.Matcher<byte[]>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowBlob</span>
+      <span class="normal">(int columnIndex, Matcher&lt;byte[]&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a byte[] at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnIndex</td>
+          <td>int column index</td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> that matches a byte[]
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowBlob(int, byte[])"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowBlob</span>
+      <span class="normal">(int columnIndex, byte[] value)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a byte[] at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnIndex</td>
+          <td>int column index</td>
+        </tr>
+        <tr>
+          <th>value</td>
+          <td>byte[] to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowBlob(java.lang.String, org.hamcrest.Matcher<byte[]>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowBlob</span>
+      <span class="normal">(String columnName, Matcher&lt;byte[]&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a byte[] at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnName</td>
+          <td>as a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> that matches a byte[]
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowBlob(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<byte[]>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowBlob</span>
+      <span class="normal">(Matcher&lt;String&gt; columnPicker, Matcher&lt;byte[]&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a byte[] at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnPicker</td>
+          <td>as a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> of <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> that matches a byte[]
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowDouble(java.lang.String, double)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowDouble</span>
+      <span class="normal">(String columnName, double value)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher .html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Double.html">Double</a></code> value at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnName</td>
+          <td>as a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>value</td>
+          <td>a double value to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowDouble(java.lang.String, org.hamcrest.Matcher<java.lang.Double>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowDouble</span>
+      <span class="normal">(String columnName, Matcher&lt;Double&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Double.html">Double</a></code> value at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnName</td>
+          <td>as a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Double.html">Double</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowDouble(int, double)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowDouble</span>
+      <span class="normal">(int columnIndex, double value)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Double.html">Double</a></code> value at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnIndex</td>
+          <td>int column index</td>
+        </tr>
+        <tr>
+          <th>value</td>
+          <td>a double value to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowDouble(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<java.lang.Double>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowDouble</span>
+      <span class="normal">(Matcher&lt;String&gt; columnNameMatcher, Matcher&lt;Double&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Double.html">Double</a></code> value at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnNameMatcher</td>
+          <td>as a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                          <code>Matcher</code></a> of <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                          <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Double.html">Double</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowDouble(int, org.hamcrest.Matcher<java.lang.Double>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowDouble</span>
+      <span class="normal">(int columnIndex, Matcher&lt;Double&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Double.html">Double</a></code> value at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnIndex</td>
+          <td>int column index</td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Double.html">Double</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowFloat(java.lang.String, org.hamcrest.Matcher<java.lang.Float>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowFloat</span>
+      <span class="normal">(String columnName, Matcher&lt;Float&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Float.html">Float</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnName</td>
+          <td>as a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Float.html">Float</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowFloat(int, float)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowFloat</span>
+      <span class="normal">(int columnIndex, float value)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Float.html">Float</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnIndex</td>
+          <td>int column index</td>
+        </tr>
+        <tr>
+          <th>value</td>
+          <td>a float value to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowFloat(java.lang.String, float)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowFloat</span>
+      <span class="normal">(String columnName, float value)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher
+ .html"><code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Float.html">Float</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnName</td>
+          <td>as a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>value</td>
+          <td>a float value to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowFloat(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<java.lang.Float>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowFloat</span>
+      <span class="normal">(Matcher&lt;String&gt; columnNameMatcher, Matcher&lt;Float&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Float.html">Float</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnNameMatcher</td>
+          <td>as a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                          <code>Matcher</code></a> of <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                          <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Float.html">Float</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowFloat(int, org.hamcrest.Matcher<java.lang.Float>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowFloat</span>
+      <span class="normal">(int columnIndex, Matcher&lt;Float&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Float.html">Float</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnIndex</td>
+          <td>int column index</td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Float.html">Float</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowInt(java.lang.String, org.hamcrest.Matcher<java.lang.Integer>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowInt</span>
+      <span class="normal">(String columnName, Matcher&lt;Integer&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Integer.html">Integer</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnName</td>
+          <td>as a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Integer.html">Integer</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowInt(int, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowInt</span>
+      <span class="normal">(int columnIndex, int value)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Integer.html">Integer</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnIndex</td>
+          <td>int column index</td>
+        </tr>
+        <tr>
+          <th>value</td>
+          <td>a int value to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowInt(java.lang.String, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowInt</span>
+      <span class="normal">(String columnName, int value)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Integer.html">Integer</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnName</td>
+          <td>as a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>value</td>
+          <td>a int value to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowInt(int, org.hamcrest.Matcher<java.lang.Integer>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowInt</span>
+      <span class="normal">(int columnIndex, Matcher&lt;Integer&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Integer.html">Integer</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnIndex</td>
+          <td>int column index</td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Integer.html">Integer</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowInt(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<java.lang.Integer>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowInt</span>
+      <span class="normal">(Matcher&lt;String&gt; columnNameMatcher, Matcher&lt;Integer&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Integer.html">Integer</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnNameMatcher</td>
+          <td>as a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                          <code>Matcher</code></a> of <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                          <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Integer.html">Integer</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowLong(int, org.hamcrest.Matcher<java.lang.Long>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowLong</span>
+      <span class="normal">(int columnIndex, Matcher&lt;Long&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Long.html">Long</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnIndex</td>
+          <td>int column index</td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Long.html">Long</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowLong(int, long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowLong</span>
+      <span class="normal">(int columnIndex, long value)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Long.html">Long</a></code> value at a given column index in a
+ <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnIndex</td>
+          <td>int column index</td>
+        </tr>
+        <tr>
+          <th>value</td>
+          <td>a long value to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowLong(java.lang.String, long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowLong</span>
+      <span class="normal">(String columnName, long value)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Long.html">Long</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnName</td>
+          <td>as a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>value</td>
+          <td>a long value to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowLong(java.lang.String, org.hamcrest.Matcher<java.lang.Long>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowLong</span>
+      <span class="normal">(String columnName, Matcher&lt;Long&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Long.html">Long</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnName</td>
+          <td>as a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Long.html">Long</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowLong(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<java.lang.Long>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowLong</span>
+      <span class="normal">(Matcher&lt;String&gt; columnNameMatcher, Matcher&lt;Long&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Long.html">Long</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnNameMatcher</td>
+          <td>as a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                          <code>Matcher</code></a> of <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                          <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Long.html">Long</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowShort(int, org.hamcrest.Matcher<java.lang.Short>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowShort</span>
+      <span class="normal">(int columnIndex, Matcher&lt;Short&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Short.html">Short</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnIndex</td>
+          <td>int column index</td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Short.html">Short</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowShort(java.lang.String, org.hamcrest.Matcher<java.lang.Short>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowShort</span>
+      <span class="normal">(String columnName, Matcher&lt;Short&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Short.html">Short</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnName</td>
+          <td>as a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Short.html">Short</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowShort(java.lang.String, short)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowShort</span>
+      <span class="normal">(String columnName, short value)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Short.html">Short</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnName</td>
+          <td>as a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>value</td>
+          <td>a short value to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowShort(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<java.lang.Short>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowShort</span>
+      <span class="normal">(Matcher&lt;String&gt; columnNameMatcher, Matcher&lt;Short&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Short.html">Short</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnNameMatcher</td>
+          <td>as a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                          <code>Matcher</code></a> of <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                          <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Short.html">Short</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowShort(int, short)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowShort</span>
+      <span class="normal">(int columnIndex, short value)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/Short.html">Short</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnIndex</td>
+          <td>int column index</td>
+        </tr>
+        <tr>
+          <th>value</td>
+          <td>a short value to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowString(java.lang.String, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowString</span>
+      <span class="normal">(String columnName, String value)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnName</td>
+          <td>as a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>value</td>
+          <td>a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> value to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowString(int, org.hamcrest.Matcher<java.lang.String>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowString</span>
+      <span class="normal">(int columnIndex, Matcher&lt;String&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnIndex</td>
+          <td>int column index</td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowString(int, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowString</span>
+      <span class="normal">(int columnIndex, String value)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnIndex</td>
+          <td>int column index</td>
+        </tr>
+        <tr>
+          <th>value</td>
+          <td>a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> value to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowString(java.lang.String, org.hamcrest.Matcher<java.lang.String>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowString</span>
+      <span class="normal">(String columnName, Matcher&lt;String&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnName</td>
+          <td>as a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withRowString(org.hamcrest.Matcher<java.lang.String>, org.hamcrest.Matcher<java.lang.String>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Object&gt;
+      </span>
+      <span class="sympad">withRowString</span>
+      <span class="normal">(Matcher&lt;String&gt; columnPicker, Matcher&lt;String&gt; valueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> value at a given column index
+ in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>s data row.
+ <br></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>columnPicker</td>
+          <td>as a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> of <code><a href="../../../../../../reference/java/lang/String.html">String</a></code></td>
+        </tr>
+        <tr>
+          <th>valueMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                     <code>Matcher</code></a> that matches a <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/matcher/LayoutMatchers.html b/docs/html/reference/android/support/test/espresso/matcher/LayoutMatchers.html
new file mode 100644
index 0000000..d6e78ec
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/matcher/LayoutMatchers.html
@@ -0,0 +1,1174 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>LayoutMatchers | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">LayoutMatchers</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/BoundedMatcher.html">BoundedMatcher</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html">CursorMatchers</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/LayoutMatchers.html">LayoutMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html">PreferenceMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/RootMatchers.html">RootMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html">ViewMatchers</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">LayoutMatchers</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.matcher.LayoutMatchers</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A collection of hamcrest matches to detect typical layout issues.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/LayoutMatchers.html#hasEllipsizedText()">hasEllipsizedText</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Matches TextView elements having ellipsized text.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/LayoutMatchers.html#hasMultilineText()">hasMultilineText</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Matches TextView elements having multiline text.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="hasEllipsizedText()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher
+      </span>
+      <span class="sympad">hasEllipsizedText</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Matches TextView elements having ellipsized text. If text is too long to fit into a TextView,
+ it can be either ellipsized ('Too long' shown as 'Too l…' or '… long') or cut off ('Too
+ long' shown as 'Too l'). Though acceptable in some cases, usually indicates bad user
+ experience.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="hasMultilineText()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher
+      </span>
+      <span class="sympad">hasMultilineText</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Matches TextView elements having multiline text.
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/matcher/PreferenceMatchers.html b/docs/html/reference/android/support/test/espresso/matcher/PreferenceMatchers.html
new file mode 100644
index 0000000..1712e28
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/matcher/PreferenceMatchers.html
@@ -0,0 +1,1491 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>PreferenceMatchers | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">PreferenceMatchers</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/BoundedMatcher.html">BoundedMatcher</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html">CursorMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/LayoutMatchers.html">LayoutMatchers</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html">PreferenceMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/RootMatchers.html">RootMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html">ViewMatchers</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">PreferenceMatchers</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.matcher.PreferenceMatchers</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A collection of hamcrest matchers that match <code><a href="../../../../../../reference/android/preference/Preference.html">Preference</a></code>s.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Preference&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html#isEnabled()">isEnabled</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Preference&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html#withKey(java.lang.String)">withKey</a></span>(String key)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Preference&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html#withKey(org.hamcrest.Matcher<java.lang.String>)">withKey</a></span>(Matcher&lt;String&gt; keyMatcher)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Preference&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html#withSummary(int)">withSummary</a></span>(int resourceId)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Preference&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html#withSummaryText(org.hamcrest.Matcher<java.lang.String>)">withSummaryText</a></span>(Matcher&lt;String&gt; summaryMatcher)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Preference&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html#withSummaryText(java.lang.String)">withSummaryText</a></span>(String summary)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Preference&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html#withTitle(int)">withTitle</a></span>(int resourceId)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Preference&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html#withTitleText(java.lang.String)">withTitleText</a></span>(String title)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;Preference&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html#withTitleText(org.hamcrest.Matcher<java.lang.String>)">withTitleText</a></span>(Matcher&lt;String&gt; titleMatcher)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="isEnabled()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Preference&gt;
+      </span>
+      <span class="sympad">isEnabled</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withKey(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Preference&gt;
+      </span>
+      <span class="sympad">withKey</span>
+      <span class="normal">(String key)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withKey(org.hamcrest.Matcher<java.lang.String>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Preference&gt;
+      </span>
+      <span class="sympad">withKey</span>
+      <span class="normal">(Matcher&lt;String&gt; keyMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withSummary(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Preference&gt;
+      </span>
+      <span class="sympad">withSummary</span>
+      <span class="normal">(int resourceId)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withSummaryText(org.hamcrest.Matcher<java.lang.String>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Preference&gt;
+      </span>
+      <span class="sympad">withSummaryText</span>
+      <span class="normal">(Matcher&lt;String&gt; summaryMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withSummaryText(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Preference&gt;
+      </span>
+      <span class="sympad">withSummaryText</span>
+      <span class="normal">(String summary)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withTitle(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Preference&gt;
+      </span>
+      <span class="sympad">withTitle</span>
+      <span class="normal">(int resourceId)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withTitleText(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Preference&gt;
+      </span>
+      <span class="sympad">withTitleText</span>
+      <span class="normal">(String title)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withTitleText(org.hamcrest.Matcher<java.lang.String>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;Preference&gt;
+      </span>
+      <span class="sympad">withTitleText</span>
+      <span class="normal">(Matcher&lt;String&gt; titleMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/matcher/RootMatchers.html b/docs/html/reference/android/support/test/espresso/matcher/RootMatchers.html
new file mode 100644
index 0000000..39d8b87
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/matcher/RootMatchers.html
@@ -0,0 +1,1407 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>RootMatchers | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">RootMatchers</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/BoundedMatcher.html">BoundedMatcher</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html">CursorMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/LayoutMatchers.html">LayoutMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html">PreferenceMatchers</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/RootMatchers.html">RootMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html">ViewMatchers</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+  <a href="#lfields">Fields</a>
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">RootMatchers</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.matcher.RootMatchers</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A collection of matchers for <code><a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a></code> objects.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
+
+
+
+      <tr class="alt-color api apilevel-" >
+          <td class="jd-typecol"><nobr>
+          public
+          static
+          final
+          Matcher&lt;<a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt;</nobr></td>
+          <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/matcher/RootMatchers.html#DEFAULT">DEFAULT</a></td>
+          <td class="jd-descrcol" width="100%">
+            Espresso's default <code><a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a></code> matcher.
+
+
+
+          </td>
+      </tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;<a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/RootMatchers.html#isDialog()">isDialog</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Matches <code><a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a></code>s that are dialogs (i.e.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;<a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/RootMatchers.html#isFocusable()">isFocusable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Matches <code><a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a></code>s that can take window focus.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;<a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/RootMatchers.html#isPlatformPopup()">isPlatformPopup</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Matches <code><a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a></code>s that are popups - like autocomplete suggestions or the actionbar spinner.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;<a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/RootMatchers.html#isTouchable()">isTouchable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Matches <code><a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a></code>s that can receive touch events.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;<a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/RootMatchers.html#withDecorView(org.hamcrest.Matcher<android.view.View>)">withDecorView</a></span>(Matcher&lt;View&gt; decorViewMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Matches <code><a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a></code>s with decor views that match the given view matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- ========= FIELD DETAIL ======== -->
+<h2>Fields</h2>
+
+
+
+
+<A NAME="DEFAULT"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        Matcher&lt;<a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt;
+      </span>
+        DEFAULT
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Espresso's default <code><a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a></code> matcher.
+</p></div>
+
+
+    </div>
+</div>
+
+
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="isDialog()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;<a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt;
+      </span>
+      <span class="sympad">isDialog</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Matches <code><a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a></code>s that are dialogs (i.e. is not a window of the currently resumed
+ activity).
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isFocusable()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;<a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt;
+      </span>
+      <span class="sympad">isFocusable</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Matches <code><a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a></code>s that can take window focus.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isPlatformPopup()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;<a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt;
+      </span>
+      <span class="sympad">isPlatformPopup</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Matches <code><a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a></code>s that are popups - like autocomplete suggestions or the actionbar spinner.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isTouchable()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;<a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt;
+      </span>
+      <span class="sympad">isTouchable</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Matches <code><a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a></code>s that can receive touch events.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withDecorView(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;<a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a>&gt;
+      </span>
+      <span class="sympad">withDecorView</span>
+      <span class="normal">(Matcher&lt;View&gt; decorViewMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Matches <code><a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a></code>s with decor views that match the given view matcher.
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html b/docs/html/reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html
new file mode 100644
index 0000000..51f454f
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html
@@ -0,0 +1,1627 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>ViewMatchers.Visibility | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">ViewMatchers.Visibility</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/BoundedMatcher.html">BoundedMatcher</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html">CursorMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/LayoutMatchers.html">LayoutMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html">PreferenceMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/RootMatchers.html">RootMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html">ViewMatchers</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+  <a href="#enumconstants">Enums</a>
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+    static
+    final
+
+    enum
+<h1 itemprop="name">ViewMatchers.Visibility</h1>
+
+
+
+
+
+
+
+
+    extends Enum&lt;E&nbsp;extends&nbsp;Enum&lt;E&gt;&gt;<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Enum&lt;E&nbsp;extends&nbsp;java.lang.Enum&lt;E&gt;&gt;</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.matcher.ViewMatchers.Visibility</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Enumerates the possible list of values for View.getVisibility().
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="enumconstants" class="jd-sumtable"><tr><th colspan="12">Enum Values</th></tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a>&nbsp;</td>
+        <td class="jd-linkcol">GONE&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a>&nbsp;</td>
+        <td class="jd-linkcol">INVISIBLE&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a>&nbsp;</td>
+        <td class="jd-linkcol">VISIBLE&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html#getValue()">getValue</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html#valueOf(java.lang.String)">valueOf</a></span>(String name)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+            static
+
+            <a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">Visibility[]</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html#values()">values</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Enum" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Enum-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Enum
+
+<div id="inherited-methods-java.lang.Enum">
+  <div id="inherited-methods-java.lang.Enum-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Enum-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(E arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;E&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getDeclaringClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">name</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">ordinal</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;T&nbsp;extends&nbsp;Enum&lt;T&gt;&gt;
+            T</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">valueOf</span>(Class&lt;T&gt; arg0, String arg1)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Comparable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Comparable-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  java.lang.Comparable
+
+<div id="inherited-methods-java.lang.Comparable">
+  <div id="inherited-methods-java.lang.Comparable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Comparable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(T arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Enum Values</h2>
+
+
+
+
+<A NAME="GONE"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a>
+      </span>
+        GONE
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="INVISIBLE"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a>
+      </span>
+        INVISIBLE
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="VISIBLE"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a>
+      </span>
+        VISIBLE
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getValue()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        int
+      </span>
+      <span class="sympad">getValue</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="valueOf(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a>
+      </span>
+      <span class="sympad">valueOf</span>
+      <span class="normal">(String name)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="values()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+
+
+        <a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">Visibility[]</a>
+      </span>
+      <span class="sympad">values</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/matcher/ViewMatchers.html b/docs/html/reference/android/support/test/espresso/matcher/ViewMatchers.html
new file mode 100644
index 0000000..7c11ed97b
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/matcher/ViewMatchers.html
@@ -0,0 +1,3800 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>ViewMatchers | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">ViewMatchers</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/BoundedMatcher.html">BoundedMatcher</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html">CursorMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/LayoutMatchers.html">LayoutMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html">PreferenceMatchers</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/RootMatchers.html">RootMatchers</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html">ViewMatchers</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+  <a href="#nestedclasses">Nested Classes</a>
+
+
+
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">ViewMatchers</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.matcher.ViewMatchers</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A collection of hamcrest matchers that match <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+      <td class="jd-typecol"><nobr>
+
+
+
+
+        enum</nobr></td>
+      <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a></td>
+      <td class="jd-descrcol" width="100%">
+        Enumerates the possible list of values for View.getVisibility().&nbsp;
+
+
+
+      </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;T&gt;
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#assertThat(java.lang.String, T, org.hamcrest.Matcher<T>)">assertThat</a></span>(String message, T actual, Matcher&lt;T&gt; matcher)</nobr>
+
+        <div class="jd-descrdiv">
+          A replacement for MatcherAssert.assertThat that renders View objects nicely.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;T&gt;
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#assertThat(T, org.hamcrest.Matcher<T>)">assertThat</a></span>(T actual, Matcher&lt;T&gt; matcher)</nobr>
+
+        <div class="jd-descrdiv">
+          A replacement for MatcherAssert.assertThat that renders View objects nicely.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#hasContentDescription()">hasContentDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s with any content description.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#hasDescendant(org.hamcrest.Matcher<android.view.View>)">hasDescendant</a></span>(Matcher&lt;View&gt; descendantMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s based on the presence of a descendant in its
+ view hierarchy.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#hasFocus()">hasFocus</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s currently have focus.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#hasImeAction(int)">hasImeAction</a></span>(int imeAction)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches views that support input methods (e.g.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#hasImeAction(org.hamcrest.Matcher<java.lang.Integer>)">hasImeAction</a></span>(Matcher&lt;Integer&gt; imeActionMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches views that support input methods (e.g.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#hasLinks()">hasLinks</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/widget/TextView.html">TextView</a></code>s that have links.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#hasSibling(org.hamcrest.Matcher<android.view.View>)">hasSibling</a></span>(Matcher&lt;View&gt; siblingMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s based on their siblings.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#isAssignableFrom(java.lang.Class<? extends android.view.View>)">isAssignableFrom</a></span>(Class&lt;?&nbsp;extends&nbsp;View&gt; clazz)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches Views which are an instance of or subclass of the provided
+ class.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#isChecked()">isChecked</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that accepts if and only if the view is a CompoundButton (or subtype of)
+ and is in checked state.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#isClickable()">isClickable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s that are clickable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#isCompletelyDisplayed()">isCompletelyDisplayed</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher which only accepts a view whose height and width fit perfectly within
+ the currently displayed region of this view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#isDescendantOfA(org.hamcrest.Matcher<android.view.View>)">isDescendantOfA</a></span>(Matcher&lt;View&gt; ancestorMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s based on the given ancestor type.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#isDisplayed()">isDisplayed</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s that are currently displayed on the screen to
+ the user.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#isDisplayingAtLeast(int)">isDisplayingAtLeast</a></span>(int areaPercentage)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher which accepts a view so long as a given percentage of that view's area is
+ not obscured by any other view and is thus visible to the user.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#isEnabled()">isEnabled</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s that are enabled.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#isFocusable()">isFocusable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s that are focusable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#isJavascriptEnabled()">isJavascriptEnabled</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/webkit/WebView.html">WebView</a></code> if they are evaluating Javascript.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#isNotChecked()">isNotChecked</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that accepts if and only if the view is a CompoundButton (or subtype of)
+ and is not in checked state.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#isRoot()">isRoot</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches root <code><a href="../../../../../../reference/android/view/View.html">View</a></code>.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#isSelected()">isSelected</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s that are selected.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#supportsInputMethods()">supportsInputMethods</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches views that support input methods.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withChild(org.hamcrest.Matcher<android.view.View>)">withChild</a></span>(Matcher&lt;View&gt; childMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          A matcher that returns true if and only if the view's child is accepted by the provided
+ matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withClassName(org.hamcrest.Matcher<java.lang.String>)">withClassName</a></span>(Matcher&lt;String&gt; classNameMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches Views with class name matching the given matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withContentDescription(java.lang.String)">withContentDescription</a></span>(String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s based on content description
+ property value.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withContentDescription(org.hamcrest.Matcher<? extends java.lang.CharSequence>)">withContentDescription</a></span>(Matcher&lt;?&nbsp;extends&nbsp;CharSequence&gt; charSequenceMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s based on content description
+ property value.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withEffectiveVisibility(android.support.test.espresso.matcher.ViewMatchers.Visibility)">withEffectiveVisibility</a></span>(<a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a> visibility)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s that have "effective" visibility set to the
+ given value.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withHint(int)">withHint</a></span>(int resourceId)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches a descendant of <code><a href="../../../../../../reference/android/widget/TextView.html">TextView</a></code> that is displaying the hint
+ associated with the given resource id.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withHint(org.hamcrest.Matcher<java.lang.String>)">withHint</a></span>(Matcher&lt;String&gt; stringMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/widget/TextView.html">TextView</a></code>s based on hint property value.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withHint(java.lang.String)">withHint</a></span>(String hintText)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/widget/TextView.html">TextView</a></code> based on it's hint property value.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withId(org.hamcrest.Matcher<java.lang.Integer>)">withId</a></span>(Matcher&lt;Integer&gt; integerMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s based on resource ids.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withId(int)">withId</a></span>(int id)</nobr>
+
+        <div class="jd-descrdiv">
+          Same as withId(is(int)), but attempts to look up resource name of the given id and use an
+ R.id.myView style description with describeTo.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withParent(org.hamcrest.Matcher<android.view.View>)">withParent</a></span>(Matcher&lt;View&gt; parentMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          A matcher that accepts a view if and only if the view's parent is accepted by the provided
+ matcher.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withSpinnerText(java.lang.String)">withSpinnerText</a></span>(String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/widget/Spinner.html">Spinner</a></code> based on it's selected item's toString value.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withSpinnerText(int)">withSpinnerText</a></span>(int resourceId)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches a descendant of <code><a href="../../../../../../reference/android/widget/Spinner.html">Spinner</a></code> that is displaying the string
+ of the selected item associated with the given resource id.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withSpinnerText(org.hamcrest.Matcher<java.lang.String>)">withSpinnerText</a></span>(Matcher&lt;String&gt; stringMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/widget/Spinner.html">Spinner</a></code>s based on toString value of the selected item.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withTagKey(int, org.hamcrest.Matcher<java.lang.Object>)">withTagKey</a></span>(int key, Matcher&lt;Object&gt; objectMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s based on tag keys.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withTagKey(int)">withTagKey</a></span>(int key)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code> based on tag keys.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withTagValue(org.hamcrest.Matcher<java.lang.Object>)">withTagValue</a></span>(Matcher&lt;Object&gt; tagValueMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s based on tag property values.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withText(java.lang.String)">withText</a></span>(String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/widget/TextView.html">TextView</a></code> based on its text property value.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withText(org.hamcrest.Matcher<java.lang.String>)">withText</a></span>(Matcher&lt;String&gt; stringMatcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches <code><a href="../../../../../../reference/android/widget/TextView.html">TextView</a></code>s based on text property value.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Matcher&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html#withText(int)">withText</a></span>(int resourceId)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a matcher that matches a descendant of <code><a href="../../../../../../reference/android/widget/TextView.html">TextView</a></code> that is displaying the string
+ associated with the given resource id.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="assertThat(java.lang.String, T, org.hamcrest.Matcher<T>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        void
+      </span>
+      <span class="sympad">assertThat</span>
+      <span class="normal">(String message, T actual, Matcher&lt;T&gt; matcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>A replacement for MatcherAssert.assertThat that renders View objects nicely.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>message</td>
+          <td>the message to display.</td>
+        </tr>
+        <tr>
+          <th>actual</td>
+          <td>the actual value.</td>
+        </tr>
+        <tr>
+          <th>matcher</td>
+          <td>a matcher that accepts or rejects actual.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="assertThat(T, org.hamcrest.Matcher<T>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        void
+      </span>
+      <span class="sympad">assertThat</span>
+      <span class="normal">(T actual, Matcher&lt;T&gt; matcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>A replacement for MatcherAssert.assertThat that renders View objects nicely.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>actual</td>
+          <td>the actual value.</td>
+        </tr>
+        <tr>
+          <th>matcher</td>
+          <td>a matcher that accepts or rejects actual.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="hasContentDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">hasContentDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s with any content description.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="hasDescendant(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">hasDescendant</span>
+      <span class="normal">(Matcher&lt;View&gt; descendantMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s based on the presence of a descendant in its
+ view hierarchy.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>descendantMatcher</td>
+          <td>the type of the descendant to match on
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="hasFocus()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">hasFocus</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s currently have focus.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="hasImeAction(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">hasImeAction</span>
+      <span class="normal">(int imeAction)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches views that support input methods (e.g. EditText) and have the
+ specified IME action set in its <code><a href="../../../../../../reference/android/view/inputmethod/EditorInfo.html">EditorInfo</a></code>.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>imeAction</td>
+          <td>the IME action to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="hasImeAction(org.hamcrest.Matcher<java.lang.Integer>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">hasImeAction</span>
+      <span class="normal">(Matcher&lt;Integer&gt; imeActionMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches views that support input methods (e.g. EditText) and have the
+ specified IME action set in its <code><a href="../../../../../../reference/android/view/inputmethod/EditorInfo.html">EditorInfo</a></code>.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>imeActionMatcher</td>
+          <td>a matcher for the IME action
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="hasLinks()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">hasLinks</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/widget/TextView.html">TextView</a></code>s that have links.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="hasSibling(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">hasSibling</span>
+      <span class="normal">(Matcher&lt;View&gt; siblingMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s based on their siblings.<br>
+ <br>
+ This may be particularly useful when a view cannot be uniquely selected on properties such as
+ text or R.id. For example: a call button is repeated several times in a contacts layout
+ and the only way to differentiate the call button view is by what appears next to it (e.g.
+ the unique name of the contact).</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>siblingMatcher</td>
+          <td>a <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                       <code>Matcher</code></a> for the sibling of the view.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isAssignableFrom(java.lang.Class<? extends android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">isAssignableFrom</span>
+      <span class="normal">(Class&lt;?&nbsp;extends&nbsp;View&gt; clazz)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches Views which are an instance of or subclass of the provided
+ class. Some versions of Hamcrest make the generic typing of this a nightmare, so we have a
+ special case for our users.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isChecked()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">isChecked</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that accepts if and only if the view is a CompoundButton (or subtype of)
+ and is in checked state.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isClickable()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">isClickable</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s that are clickable.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isCompletelyDisplayed()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">isCompletelyDisplayed</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher which only accepts a view whose height and width fit perfectly within
+ the currently displayed region of this view.
+ <p/>
+ There exist views (such as ScrollViews) whose height and width are larger then the physical
+ device screen by design. Such views will _never_ be completely displayed.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isDescendantOfA(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">isDescendantOfA</span>
+      <span class="normal">(Matcher&lt;View&gt; ancestorMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s based on the given ancestor type.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>ancestorMatcher</td>
+          <td>the type of the ancestor to match on
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isDisplayed()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">isDisplayed</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s that are currently displayed on the screen to
+ the user.
+ <p/>
+ Note: isDisplayed will select views that are partially displayed (eg: the full
+ height/width of the view is greater then the height/width of the visible rectangle).
+ If you wish to ensure the entire rectangle this view draws is displayed to the user use
+ isCompletelyDisplayed.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isDisplayingAtLeast(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">isDisplayingAtLeast</span>
+      <span class="normal">(int areaPercentage)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher which accepts a view so long as a given percentage of that view's area is
+ not obscured by any other view and is thus visible to the user.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>areaPercentage</td>
+          <td>an integer ranging from (0, 100] indicating how much percent of the
+                       surface area of the view must be shown to the user to be accepted.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isEnabled()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">isEnabled</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s that are enabled.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isFocusable()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">isFocusable</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s that are focusable.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isJavascriptEnabled()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">isJavascriptEnabled</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/webkit/WebView.html">WebView</a></code> if they are evaluating Javascript.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isNotChecked()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">isNotChecked</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that accepts if and only if the view is a CompoundButton (or subtype of)
+ and is not in checked state.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isRoot()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">isRoot</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches root <code><a href="../../../../../../reference/android/view/View.html">View</a></code>.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isSelected()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">isSelected</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s that are selected.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="supportsInputMethods()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">supportsInputMethods</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches views that support input methods.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withChild(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withChild</span>
+      <span class="normal">(Matcher&lt;View&gt; childMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>A matcher that returns true if and only if the view's child is accepted by the provided
+ matcher.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>childMatcher</td>
+          <td>the matcher to apply on the child views.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withClassName(org.hamcrest.Matcher<java.lang.String>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withClassName</span>
+      <span class="normal">(Matcher&lt;String&gt; classNameMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches Views with class name matching the given matcher.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withContentDescription(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withContentDescription</span>
+      <span class="normal">(String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s based on content description
+ property value. Sugar for withContentDescription(is("string")).</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>text</td>
+          <td>the text to match on.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withContentDescription(org.hamcrest.Matcher<? extends java.lang.CharSequence>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withContentDescription</span>
+      <span class="normal">(Matcher&lt;?&nbsp;extends&nbsp;CharSequence&gt; charSequenceMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+ <code>Matcher</code></a> that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s based on content description
+ property value.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>charSequenceMatcher</td>
+          <td>a <code><a href="../../../../../../reference/java/lang/CharSequence.html">CharSequence</a></code> <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                            <code>Matcher</code></a> for the content description
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withEffectiveVisibility(android.support.test.espresso.matcher.ViewMatchers.Visibility)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withEffectiveVisibility</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a> visibility)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s that have "effective" visibility set to the
+ given value. Effective visibility takes into account not only the view's visibility value,
+ but also that of its ancestors. In case of View.VISIBLE, this means that the view and all of
+ its ancestors have visibility=VISIBLE. In case of GONE and INVISIBLE, it's the opposite -
+ any GONE or INVISIBLE parent will make all of its children have their effective visibility.
+ <p/>
+ Note: Contrary to what the name may imply, view visibility does not directly translate into
+ whether the view is displayed on screen (use isDisplayed() for that). For example,
+ the view and
+ all of its ancestors can have visibility=VISIBLE, but the view may need to be scrolled to in
+ order to be actually visible to the user. Unless you're specifically targeting the visibility
+ value with your test, use isDisplayed.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withHint(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withHint</span>
+      <span class="normal">(int resourceId)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches a descendant of <code><a href="../../../../../../reference/android/widget/TextView.html">TextView</a></code> that is displaying the hint
+ associated with the given resource id.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>resourceId</td>
+          <td>the string resource the text view is expected to have as a hint.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withHint(org.hamcrest.Matcher<java.lang.String>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withHint</span>
+      <span class="normal">(Matcher&lt;String&gt; stringMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/widget/TextView.html">TextView</a></code>s based on hint property value. Note: View's
+ hint property can be null.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>stringMatcher</td>
+          <td><a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                      <code>Matcher</code></a> of <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> with text to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withHint(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withHint</span>
+      <span class="normal">(String hintText)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/widget/TextView.html">TextView</a></code> based on it's hint property value. Note:
+ View's Sugar for withHint(is("string")).</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withId(org.hamcrest.Matcher<java.lang.Integer>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withId</span>
+      <span class="normal">(Matcher&lt;Integer&gt; integerMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s based on resource ids. Note: Android resource
+ ids are not guaranteed to be unique. You may have to pair this matcher with another one to
+ guarantee a unique view selection.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>integerMatcher</td>
+          <td>a Matcher for resource ids
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withId(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withId</span>
+      <span class="normal">(int id)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Same as withId(is(int)), but attempts to look up resource name of the given id and use an
+ R.id.myView style description with describeTo. If resource lookup is unavailable, at the time
+ describeTo is invoked, this will print out a simple "with id: %d". If resource lookup is
+ available, but looking up the name for the given id, fails, "with id: %d (resource name not
+ found)" will be returned as the description.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>id</td>
+          <td>the resource id.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withParent(org.hamcrest.Matcher<android.view.View>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withParent</span>
+      <span class="normal">(Matcher&lt;View&gt; parentMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>A matcher that accepts a view if and only if the view's parent is accepted by the provided
+ matcher.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>parentMatcher</td>
+          <td>the matcher to apply on getParent.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withSpinnerText(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withSpinnerText</span>
+      <span class="normal">(String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/widget/Spinner.html">Spinner</a></code> based on it's selected item's toString value.
+ <p/>
+ Note: Sugar for withSpinnerText(is("string")).
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withSpinnerText(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withSpinnerText</span>
+      <span class="normal">(int resourceId)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches a descendant of <code><a href="../../../../../../reference/android/widget/Spinner.html">Spinner</a></code> that is displaying the string
+ of the selected item associated with the given resource id.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>resourceId</td>
+          <td>the string resource the text view is expected to hold.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withSpinnerText(org.hamcrest.Matcher<java.lang.String>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withSpinnerText</span>
+      <span class="normal">(Matcher&lt;String&gt; stringMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/widget/Spinner.html">Spinner</a></code>s based on toString value of the selected item.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>stringMatcher</td>
+          <td><a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                      <code>Matcher</code></a> of <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> with text to match.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withTagKey(int, org.hamcrest.Matcher<java.lang.Object>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withTagKey</span>
+      <span class="normal">(int key, Matcher&lt;Object&gt; objectMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s based on tag keys.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>key</td>
+          <td>to match</td>
+        </tr>
+        <tr>
+          <th>objectMatcher</td>
+          <td>Object to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withTagKey(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withTagKey</span>
+      <span class="normal">(int key)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code> based on tag keys.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>key</td>
+          <td>to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withTagValue(org.hamcrest.Matcher<java.lang.Object>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withTagValue</span>
+      <span class="normal">(Matcher&lt;Object&gt; tagValueMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s based on tag property values.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>tagValueMatcher</td>
+          <td>a Matcher for the view's tag property value
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withText(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withText</span>
+      <span class="normal">(String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/widget/TextView.html">TextView</a></code> based on its text property value. Note:
+ View's Sugar for withText(is("string")).</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="withText(org.hamcrest.Matcher<java.lang.String>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withText</span>
+      <span class="normal">(Matcher&lt;String&gt; stringMatcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches <code><a href="../../../../../../reference/android/widget/TextView.html">TextView</a></code>s based on text property value. Note: View's
+ text property is never null. If you setText(null) it will still be "". Do not use null
+ matcher.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>stringMatcher</td>
+          <td><a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html">
+                      <code>Matcher</code></a> of <code><a href="../../../../../../reference/java/lang/String.html">String</a></code> with text to match
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="withText(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Matcher&lt;View&gt;
+      </span>
+      <span class="sympad">withText</span>
+      <span class="normal">(int resourceId)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a matcher that matches a descendant of <code><a href="../../../../../../reference/android/widget/TextView.html">TextView</a></code> that is displaying the string
+ associated with the given resource id.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>resourceId</td>
+          <td>the string resource the text view is expected to hold.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/matcher/package-summary.html b/docs/html/reference/android/support/test/espresso/matcher/package-summary.html
new file mode 100644
index 0000000..ea9f5ad
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/matcher/package-summary.html
@@ -0,0 +1,765 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>android.support.test.espresso.matcher | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+
+<body class="gc-documentation
+  develop reference">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">android.support.test.espresso.matcher</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/BoundedMatcher.html">BoundedMatcher</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html">CursorMatchers</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/LayoutMatchers.html">LayoutMatchers</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html">PreferenceMatchers</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/RootMatchers.html">RootMatchers</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html">ViewMatchers</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+<div class="api-level">
+
+
+
+
+</div>
+</div>
+
+<div id="jd-header">
+  package
+  <h1>android.support.test.espresso.matcher</h1>
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+
+
+
+
+
+
+
+
+
+
+
+
+
+    <h2>Classes</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/matcher/BoundedMatcher.html">BoundedMatcher</a>&lt;T,&nbsp;S&nbsp;extends&nbsp;T&gt;</td>
+        <td class="jd-descrcol" width="100%">
+          Some matcher sugar that lets you create a matcher for a given type
+ but only process items of a specific subtype of that matcher.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/matcher/CursorMatchers.html">CursorMatchers</a></td>
+        <td class="jd-descrcol" width="100%">
+          A collection of Hamcrest matchers that matches a data row in a <code><a href="../../../../../../reference/android/database/Cursor.html">Cursor</a></code>.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/matcher/LayoutMatchers.html">LayoutMatchers</a></td>
+        <td class="jd-descrcol" width="100%">
+          A collection of hamcrest matches to detect typical layout issues.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/matcher/PreferenceMatchers.html">PreferenceMatchers</a></td>
+        <td class="jd-descrcol" width="100%">
+          A collection of hamcrest matchers that match <code><a href="../../../../../../reference/android/preference/Preference.html">Preference</a></code>s.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/matcher/RootMatchers.html">RootMatchers</a></td>
+        <td class="jd-descrcol" width="100%">
+          A collection of matchers for <code><a href="../../../../../../reference/android/support/test/espresso/Root.html">Root</a></code> objects.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.html">ViewMatchers</a></td>
+        <td class="jd-descrcol" width="100%">
+          A collection of hamcrest matchers that match <code><a href="../../../../../../reference/android/view/View.html">View</a></code>s.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+    <h2>Enums</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/matcher/ViewMatchers.Visibility.html">ViewMatchers.Visibility</a></td>
+        <td class="jd-descrcol" width="100%">
+          Enumerates the possible list of values for View.getVisibility().&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+
+
+
+
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div><!-- end jd-content -->
+</div><!-- doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/package-summary.html b/docs/html/reference/android/support/test/espresso/package-summary.html
new file mode 100644
index 0000000..03fa25b
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/package-summary.html
@@ -0,0 +1,1025 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>android.support.test.espresso | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+
+<body class="gc-documentation
+  develop reference">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">android.support.test.espresso</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Exceptions</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+<div class="api-level">
+
+
+
+
+</div>
+</div>
+
+<div id="jd-header">
+  package
+  <h1>android.support.test.espresso</h1>
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+
+
+
+
+
+
+
+
+
+
+    <h2>Interfaces</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/EspressoException.html">EspressoException</a></td>
+        <td class="jd-descrcol" width="100%">
+          Used for identifying an exception as coming from the <code><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></code> framework.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/FailureHandler.html">FailureHandler</a></td>
+        <td class="jd-descrcol" width="100%">
+          Handles failures that happen during test execution.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></td>
+        <td class="jd-descrcol" width="100%">
+          Represents a resource of an application under test which can cause asynchronous background work
+ to happen during test execution (e.g.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/IdlingResource.ResourceCallback.html">IdlingResource.ResourceCallback</a></td>
+        <td class="jd-descrcol" width="100%">
+          Registered by an <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code> to notify Espresso of a transition to idle.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/UiController.html">UiController</a></td>
+        <td class="jd-descrcol" width="100%">
+          Provides base-level UI operations (such as injection of <code><a href="../../../../../reference/android/view/MotionEvent.html">MotionEvent</a></code>s) that can be used to
+ build user actions such as clicks, scrolls, swipes, etc.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/ViewAction.html">ViewAction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Responsible for performing an interaction on the given View element.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/ViewAssertion.html">ViewAssertion</a></td>
+        <td class="jd-descrcol" width="100%">
+          Responsible for performing assertions on a View element.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/ViewFinder.html">ViewFinder</a></td>
+        <td class="jd-descrcol" width="100%">
+          Uses matchers to locate particular views within the view hierarchy.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+    <h2>Classes</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.Builder.html">AmbiguousViewMatcherException.Builder</a></td>
+        <td class="jd-descrcol" width="100%">
+          Builder for <code><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></code>.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/DataInteraction.html">DataInteraction</a></td>
+        <td class="jd-descrcol" width="100%">
+          An interface to interact with data displayed in AdapterViews.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/Espresso.html">Espresso</a></td>
+        <td class="jd-descrcol" width="100%">
+          Entry point to the Espresso framework.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/GraphHolder.html">GraphHolder</a></td>
+        <td class="jd-descrcol" width="100%">
+          Holds Espresso's ObjectGraph.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicies.html">IdlingPolicies</a></td>
+        <td class="jd-descrcol" width="100%">
+          Allows users fine grain control over idling policies.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/IdlingPolicy.html">IdlingPolicy</a></td>
+        <td class="jd-descrcol" width="100%">
+          Allows users to control idling idleTimeouts in Espresso.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.Builder.html">NoMatchingViewException.Builder</a></td>
+        <td class="jd-descrcol" width="100%">
+          Builder for <code><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></code>.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/PerformException.Builder.html">PerformException.Builder</a></td>
+        <td class="jd-descrcol" width="100%">
+          Builder for <code><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></code>.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></td>
+        <td class="jd-descrcol" width="100%">
+          Represents a root view in the application and optionally the layout params of the window holding
+ it.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/Root.Builder.html">Root.Builder</a></td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/ViewInteraction.html">ViewInteraction</a></td>
+        <td class="jd-descrcol" width="100%">
+          Provides the primary interface for test authors to perform actions or asserts on views.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+
+
+
+    <h2>Exceptions</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/AmbiguousViewMatcherException.html">AmbiguousViewMatcherException</a></td>
+        <td class="jd-descrcol" width="100%">
+          An exception which indicates that a Matcher<View> matched multiple views in the hierarchy when
+ only one view was expected.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/AppNotIdleException.html">AppNotIdleException</a></td>
+        <td class="jd-descrcol" width="100%">
+          An exception which indicates that the App has not become idle even after the specified duration.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/IdlingResourceTimeoutException.html">IdlingResourceTimeoutException</a></td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that an <code><a href="../../../../../reference/android/support/test/espresso/IdlingResource.html">IdlingResource</a></code>, which has been registered with the framework, has not
+ idled within the allowed time.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/InjectEventSecurityException.html">InjectEventSecurityException</a></td>
+        <td class="jd-descrcol" width="100%">
+          An checked <code><a href="../../../../../reference/java/lang/Exception.html">Exception</a></code> indicating that event injection failed with a
+ <code><a href="../../../../../reference/java/lang/SecurityException.html">SecurityException</a></code>.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/NoActivityResumedException.html">NoActivityResumedException</a></td>
+        <td class="jd-descrcol" width="100%">
+          An exception which indicates that there are no activities in stage RESUMED.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/NoMatchingRootException.html">NoMatchingRootException</a></td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that a given matcher did not match any <code><a href="../../../../../reference/android/support/test/espresso/Root.html">Root</a></code>s (windows) from those that are
+ currently available.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/NoMatchingViewException.html">NoMatchingViewException</a></td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that a given matcher did not match any elements in the view hierarchy.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/espresso/PerformException.html">PerformException</a></td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that an exception occurred while performing a ViewAction on the UI thread.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div><!-- end jd-content -->
+</div><!-- doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/util/ActivityLifecycles.html b/docs/html/reference/android/support/test/espresso/util/ActivityLifecycles.html
new file mode 100644
index 0000000..5bbf461
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/util/ActivityLifecycles.html
@@ -0,0 +1,1207 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>ActivityLifecycles | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">ActivityLifecycles</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/ActivityLifecycles.html">ActivityLifecycles</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/HumanReadables.html">HumanReadables</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.html">TreeIterables</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.ViewAndDistance.html">TreeIterables.ViewAndDistance</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">ActivityLifecycles</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.util.ActivityLifecycles</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Helper methods to understand ActivityLifecycle of the app.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/util/ActivityLifecycles.html#hasForegroundActivities(android.support.test.runner.lifecycle.ActivityLifecycleMonitor)">hasForegroundActivities</a></span>(<a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html">ActivityLifecycleMonitor</a> monitor)</nobr>
+
+        <div class="jd-descrdiv">
+          Indicates whether or not an Activity in our app is currently in the foreground.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/util/ActivityLifecycles.html#hasVisibleActivities(android.support.test.runner.lifecycle.ActivityLifecycleMonitor)">hasVisibleActivities</a></span>(<a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html">ActivityLifecycleMonitor</a> monitor)</nobr>
+
+        <div class="jd-descrdiv">
+          Indicates whether or not an Activity exists in our app within the "Visible Lifetime" state.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="hasForegroundActivities(android.support.test.runner.lifecycle.ActivityLifecycleMonitor)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        boolean
+      </span>
+      <span class="sympad">hasForegroundActivities</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html">ActivityLifecycleMonitor</a> monitor)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Indicates whether or not an Activity in our app is currently in the foreground.
+
+ <p>The "Foreground lifetime" of an activity occurs after a call to onResume and before a call
+ to onPause.
+
+ <p>During this time, the activity is in front of all other activities and is currently
+ receiving user input.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>monitor</td>
+          <td>the ActivityLifecycleMonitor to use.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if an activity exists in the foreground state.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="hasVisibleActivities(android.support.test.runner.lifecycle.ActivityLifecycleMonitor)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        boolean
+      </span>
+      <span class="sympad">hasVisibleActivities</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html">ActivityLifecycleMonitor</a> monitor)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Indicates whether or not an Activity exists in our app within the "Visible Lifetime" state.
+
+ <p>The "Visible Lifetime" is defined as an activity who's onStart() method has been called but
+ who's onStop() method has not been called.
+
+ <p>During this time, the Activity may be visible to the user, and it may be receiving input
+ from the user. This time is a superset of the "Foreground lifetime' of the activity.
+
+ <p>It may be the case that an application has activities in the "visible lifetime" but none in
+ the "Foreground lifetime." It may be the case that without user input an activity will shortly
+ transition into the "Foreground lifetime" in this state, however it also may not transition
+ without further user interaction.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>monitor</td>
+          <td>the ActivityLifecycleMonitor to use</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if any activity exists within it's foreground lifetime.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/util/HumanReadables.html b/docs/html/reference/android/support/test/espresso/util/HumanReadables.html
new file mode 100644
index 0000000..5be127c
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/util/HumanReadables.html
@@ -0,0 +1,1253 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>HumanReadables | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">HumanReadables</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/ActivityLifecycles.html">ActivityLifecycles</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/HumanReadables.html">HumanReadables</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.html">TreeIterables</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.ViewAndDistance.html">TreeIterables.ViewAndDistance</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">HumanReadables</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.util.HumanReadables</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Text converters for various Android objects.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/util/HumanReadables.html#describe(android.view.View)">describe</a></span>(View v)</nobr>
+
+        <div class="jd-descrdiv">
+          Transforms an arbitrary view into a string with (hopefully) enough debug info.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/util/HumanReadables.html#describe(android.database.Cursor)">describe</a></span>(Cursor c)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/util/HumanReadables.html#getViewHierarchyErrorMessage(android.view.View, java.util.List<android.view.View>, java.lang.String, java.lang.String)">getViewHierarchyErrorMessage</a></span>(View rootView, List&lt;View&gt; problemViews, String errorHeader, String problemViewSuffix)</nobr>
+
+        <div class="jd-descrdiv">
+          Prints out an error message feature the view hierarchy starting at the rootView.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="describe(android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        String
+      </span>
+      <span class="sympad">describe</span>
+      <span class="normal">(View v)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Transforms an arbitrary view into a string with (hopefully) enough debug info.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>v</td>
+          <td>nullable view</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a string for human consumption.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="describe(android.database.Cursor)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        String
+      </span>
+      <span class="sympad">describe</span>
+      <span class="normal">(Cursor c)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getViewHierarchyErrorMessage(android.view.View, java.util.List<android.view.View>, java.lang.String, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        String
+      </span>
+      <span class="sympad">getViewHierarchyErrorMessage</span>
+      <span class="normal">(View rootView, List&lt;View&gt; problemViews, String errorHeader, String problemViewSuffix)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Prints out an error message feature the view hierarchy starting at the rootView.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>rootView</td>
+          <td>the root of the hierarchy tree to print out.</td>
+        </tr>
+        <tr>
+          <th>problemViews</td>
+          <td>list of the views that you would like to point out are causing the error
+        message or null, if you want to skip this feature.</td>
+        </tr>
+        <tr>
+          <th>errorHeader</td>
+          <td>the header of the error message (should contain the description of why the
+        error is happening).</td>
+        </tr>
+        <tr>
+          <th>problemViewSuffix</td>
+          <td>the message to append to the view description in the tree printout.
+        Required if problemViews is supplied. Otherwise, null is acceptable.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a string for human consumption.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/util/TreeIterables.ViewAndDistance.html b/docs/html/reference/android/support/test/espresso/util/TreeIterables.ViewAndDistance.html
new file mode 100644
index 0000000..fe6c4e5
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/util/TreeIterables.ViewAndDistance.html
@@ -0,0 +1,1148 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>TreeIterables.ViewAndDistance | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">TreeIterables.ViewAndDistance</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/ActivityLifecycles.html">ActivityLifecycles</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/HumanReadables.html">HumanReadables</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.html">TreeIterables</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.ViewAndDistance.html">TreeIterables.ViewAndDistance</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+    static
+
+
+    class
+<h1 itemprop="name">TreeIterables.ViewAndDistance</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.util.TreeIterables.ViewAndDistance</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Represents the distance a given view is from the root view.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.ViewAndDistance.html#getDistanceFromRoot()">getDistanceFromRoot</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            View</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.ViewAndDistance.html#getView()">getView</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getDistanceFromRoot()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        int
+      </span>
+      <span class="sympad">getDistanceFromRoot</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getView()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        View
+      </span>
+      <span class="sympad">getView</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/util/TreeIterables.html b/docs/html/reference/android/support/test/espresso/util/TreeIterables.html
new file mode 100644
index 0000000..952df09
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/util/TreeIterables.html
@@ -0,0 +1,1306 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>TreeIterables | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">TreeIterables</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/ActivityLifecycles.html">ActivityLifecycles</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/HumanReadables.html">HumanReadables</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.html">TreeIterables</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.ViewAndDistance.html">TreeIterables.ViewAndDistance</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+  <a href="#nestedclasses">Nested Classes</a>
+
+
+
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">TreeIterables</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.espresso.util.TreeIterables</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Utility methods for iterating over tree structured items.
+
+ Since the view hierarchy is a tree - having a method of iterating over its contents
+ is useful.
+
+ This is generalized for any object which can display tree like qualities - but this
+ generalization was done for testability concerns (since creating View hierarchies is a pain).
+
+ Only public methods of this utility class are considered public API of the test framework.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+      <td class="jd-typecol"><nobr>
+
+
+
+
+        class</nobr></td>
+      <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.ViewAndDistance.html">TreeIterables.ViewAndDistance</a></td>
+      <td class="jd-descrcol" width="100%">
+        Represents the distance a given view is from the root view.&nbsp;
+
+
+
+      </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Iterable&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.html#breadthFirstViewTraversal(android.view.View)">breadthFirstViewTraversal</a></span>(View root)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an iterable which iterates thru the provided view and its children in a
+ breadth-first, row-level-order traversal.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Iterable&lt;View&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.html#depthFirstViewTraversal(android.view.View)">depthFirstViewTraversal</a></span>(View root)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns an iterable which iterates thru the provided view and its children in a
+ depth-first, in-order traversal.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Iterable&lt;<a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.ViewAndDistance.html">TreeIterables.ViewAndDistance</a>&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.html#depthFirstViewTraversalWithDistance(android.view.View)">depthFirstViewTraversalWithDistance</a></span>(View root)</nobr>
+
+        <div class="jd-descrdiv">
+          Creates an iterable that traverses the tree formed by the given root.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="breadthFirstViewTraversal(android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Iterable&lt;View&gt;
+      </span>
+      <span class="sympad">breadthFirstViewTraversal</span>
+      <span class="normal">(View root)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an iterable which iterates thru the provided view and its children in a
+ breadth-first, row-level-order traversal. That is to say that for a view such as:
+      Root
+     /  |  \
+     A  R  U
+    /|  |\
+   B D  G N
+ Will be iterated: Root, A, R, U, B, D, G, N</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>root</td>
+          <td>the non-null, root view.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="depthFirstViewTraversal(android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Iterable&lt;View&gt;
+      </span>
+      <span class="sympad">depthFirstViewTraversal</span>
+      <span class="normal">(View root)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns an iterable which iterates thru the provided view and its children in a
+ depth-first, in-order traversal. That is to say that for a view such as:
+      Root
+     /  |  \
+     A  R  U
+    /|  |\
+   B D  G N
+ Will be iterated: Root, A, B, D, R, G, N, U.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>root</td>
+          <td>the non-null, root view.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="depthFirstViewTraversalWithDistance(android.view.View)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        Iterable&lt;<a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.ViewAndDistance.html">TreeIterables.ViewAndDistance</a>&gt;
+      </span>
+      <span class="sympad">depthFirstViewTraversalWithDistance</span>
+      <span class="normal">(View root)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Creates an iterable that traverses the tree formed by the given root.
+
+ Along with iteration order, the distance from the root element is also tracked.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>root</td>
+          <td>the root view to track from.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>An iterable of ViewAndDistance containing the view tree in a depth first order with
+   the distance of a given node from the root.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/espresso/util/package-summary.html b/docs/html/reference/android/support/test/espresso/util/package-summary.html
new file mode 100644
index 0000000..474b44f
--- /dev/null
+++ b/docs/html/reference/android/support/test/espresso/util/package-summary.html
@@ -0,0 +1,714 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>android.support.test.espresso.util | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+
+<body class="gc-documentation
+  develop reference">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">android.support.test.espresso.util</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/ActivityLifecycles.html">ActivityLifecycles</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/HumanReadables.html">HumanReadables</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.html">TreeIterables</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.ViewAndDistance.html">TreeIterables.ViewAndDistance</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+<div class="api-level">
+
+
+
+
+</div>
+</div>
+
+<div id="jd-header">
+  package
+  <h1>android.support.test.espresso.util</h1>
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+
+
+
+
+
+
+
+
+
+
+
+
+
+    <h2>Classes</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/util/ActivityLifecycles.html">ActivityLifecycles</a></td>
+        <td class="jd-descrcol" width="100%">
+          Helper methods to understand ActivityLifecycle of the app.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/util/HumanReadables.html">HumanReadables</a></td>
+        <td class="jd-descrcol" width="100%">
+          Text converters for various Android objects.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.html">TreeIterables</a></td>
+        <td class="jd-descrcol" width="100%">
+          Utility methods for iterating over tree structured items.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/espresso/util/TreeIterables.ViewAndDistance.html">TreeIterables.ViewAndDistance</a></td>
+        <td class="jd-descrcol" width="100%">
+          Represents the distance a given view is from the root view.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+
+
+
+
+
+
+
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div><!-- end jd-content -->
+</div><!-- doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/filters/FlakyTest.html b/docs/html/reference/android/support/test/filters/FlakyTest.html
new file mode 100644
index 0000000..3e359d5
--- /dev/null
+++ b/docs/html/reference/android/support/test/filters/FlakyTest.html
@@ -0,0 +1,916 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>FlakyTest | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">FlakyTest</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+    <li><h2>Annotations</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/filters/FlakyTest.html">FlakyTest</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/filters/RequiresDevice.html">RequiresDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/filters/SdkSuppress.html">SdkSuppress</a></li>
+      </ul>
+    </li>
+
+
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+    abstract
+    @interface
+<h1 itemprop="name">FlakyTest</h1>
+
+
+
+
+
+      implements
+
+        Annotation
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.filters.FlakyTest</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Designates a test as being flaky (non-deterministic).
+ <p/>
+ Can then be used to filter tests on execution using -e annotation or -e notAnnotation as
+ desired.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.annotation.Annotation" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.annotation.Annotation-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  java.lang.annotation.Annotation
+
+<div id="inherited-methods-java.lang.annotation.Annotation">
+  <div id="inherited-methods-java.lang.annotation.Annotation-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.annotation.Annotation-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Class&lt;?&nbsp;extends&nbsp;Annotation&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">annotationType</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/filters/RequiresDevice.html b/docs/html/reference/android/support/test/filters/RequiresDevice.html
new file mode 100644
index 0000000..f82c911
--- /dev/null
+++ b/docs/html/reference/android/support/test/filters/RequiresDevice.html
@@ -0,0 +1,915 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>RequiresDevice | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">RequiresDevice</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+    <li><h2>Annotations</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/filters/FlakyTest.html">FlakyTest</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/filters/RequiresDevice.html">RequiresDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/filters/SdkSuppress.html">SdkSuppress</a></li>
+      </ul>
+    </li>
+
+
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+    abstract
+    @interface
+<h1 itemprop="name">RequiresDevice</h1>
+
+
+
+
+
+      implements
+
+        Annotation
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.filters.RequiresDevice</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Indicates that a specific test should not be run on emulator.
+ <p/>
+ It will be executed only if the test is running on the physical android device.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.annotation.Annotation" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.annotation.Annotation-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  java.lang.annotation.Annotation
+
+<div id="inherited-methods-java.lang.annotation.Annotation">
+  <div id="inherited-methods-java.lang.annotation.Annotation-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.annotation.Annotation-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Class&lt;?&nbsp;extends&nbsp;Annotation&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">annotationType</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/filters/SdkSuppress.html b/docs/html/reference/android/support/test/filters/SdkSuppress.html
new file mode 100644
index 0000000..c38c0e3
--- /dev/null
+++ b/docs/html/reference/android/support/test/filters/SdkSuppress.html
@@ -0,0 +1,915 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>SdkSuppress | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">SdkSuppress</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+    <li><h2>Annotations</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/filters/FlakyTest.html">FlakyTest</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/filters/RequiresDevice.html">RequiresDevice</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/filters/SdkSuppress.html">SdkSuppress</a></li>
+      </ul>
+    </li>
+
+
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+    abstract
+    @interface
+<h1 itemprop="name">SdkSuppress</h1>
+
+
+
+
+
+      implements
+
+        Annotation
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.filters.SdkSuppress</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Indicates that a specific test or class requires a minimum API Level to execute.
+ <p/>
+ Test(s) will be skipped when executed on android platforms less than specified level.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.annotation.Annotation" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.annotation.Annotation-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  java.lang.annotation.Annotation
+
+<div id="inherited-methods-java.lang.annotation.Annotation">
+  <div id="inherited-methods-java.lang.annotation.Annotation-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.annotation.Annotation-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Class&lt;?&nbsp;extends&nbsp;Annotation&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">annotationType</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/filters/package-summary.html b/docs/html/reference/android/support/test/filters/package-summary.html
new file mode 100644
index 0000000..e93c049
--- /dev/null
+++ b/docs/html/reference/android/support/test/filters/package-summary.html
@@ -0,0 +1,702 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>android.support.test.filters | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+
+<body class="gc-documentation
+  develop reference">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">android.support.test.filters</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+    <li><h2>Annotations</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/filters/FlakyTest.html">FlakyTest</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/filters/RequiresDevice.html">RequiresDevice</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/filters/SdkSuppress.html">SdkSuppress</a></li>
+      </ul>
+    </li>
+
+
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+<div class="api-level">
+
+
+
+
+</div>
+</div>
+
+<div id="jd-header">
+  package
+  <h1>android.support.test.filters</h1>
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+
+
+
+
+
+
+
+    <h2>Annotations</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/filters/FlakyTest.html">FlakyTest</a></td>
+        <td class="jd-descrcol" width="100%">
+          Designates a test as being flaky (non-deterministic).&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/filters/RequiresDevice.html">RequiresDevice</a></td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that a specific test should not be run on emulator.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/filters/SdkSuppress.html">SdkSuppress</a></td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that a specific test or class requires a minimum API Level to execute.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div><!-- end jd-content -->
+</div><!-- doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/package-summary.html b/docs/html/reference/android/support/test/package-summary.html
new file mode 100644
index 0000000..1377ae2
--- /dev/null
+++ b/docs/html/reference/android/support/test/package-summary.html
@@ -0,0 +1,679 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" />
+<title>android.support.test | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+
+<body class="gc-documentation
+  develop reference">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../index.html">
+            <img src="../../../../assets/images/dac_logo.png"
+                srcset="../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../about/index.html">About</a></li>
+                <li><a href="../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">android.support.test</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="selected api apilevel-">
+  <a href="../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../reference/android/support/test/InstrumentationRegistry.html">InstrumentationRegistry</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+<div class="api-level">
+
+
+
+
+</div>
+</div>
+
+<div id="jd-header">
+  package
+  <h1>android.support.test</h1>
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+
+
+
+
+
+
+
+
+
+
+
+
+
+    <h2>Classes</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../reference/android/support/test/InstrumentationRegistry.html">InstrumentationRegistry</a></td>
+        <td class="jd-descrcol" width="100%">
+          An exposed registry instance that holds a reference to the instrumentation running in the
+ process and it's arguments.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+
+
+
+
+
+
+
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div><!-- end jd-content -->
+</div><!-- doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/runner/AndroidJUnit4.html b/docs/html/reference/android/support/test/runner/AndroidJUnit4.html
new file mode 100644
index 0000000..ad6381c
--- /dev/null
+++ b/docs/html/reference/android/support/test/runner/AndroidJUnit4.html
@@ -0,0 +1,2213 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>AndroidJUnit4 | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">AndroidJUnit4</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/runner/AndroidJUnit4.html">AndroidJUnit4</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/runner/AndroidJUnitRunner.html">AndroidJUnitRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html">MonitoringInstrumentation</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.ActivityFinisher.html">MonitoringInstrumentation.ActivityFinisher</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+
+  &#124; <a href="#promethods">Protected Methods</a>
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">AndroidJUnit4</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    extends BlockJUnit4ClassRunner<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="5" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="4" class="jd-inheritance-class-cell">org.junit.runner.Runner</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="3" class="jd-inheritance-class-cell">org.junit.runners.ParentRunner&lt;T&gt;</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">org.junit.runners.BlockJUnit4ClassRunner</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.runner.AndroidJUnit4</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Aliases the current default Android JUnit 4 class runner, for future-proofing. If
+ future versions of JUnit change the default Runner class, they will also
+ change the definition of this class. Developers wanting to explicitly tag a
+ class as an Android JUnit 4 class should use <code>@RunWith(AndroidJUnit4.class)</code>
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/AndroidJUnit4.html#AndroidJUnit4(java.lang.Class<?>, android.support.test.internal.util.AndroidRunnerParams)">AndroidJUnit4</a></span>(Class&lt;?&gt; klass, <a href="../../../../../reference/android/support/test/internal/util/AndroidRunnerParams.html">AndroidRunnerParams</a> runnerParams)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new instance of the default runner
+
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="promethods" class="jd-sumtable"><tr><th colspan="12">Protected Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Statement</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/AndroidJUnit4.html#withPotentialTimeout(org.junit.runners.model.FrameworkMethod, java.lang.Object, org.junit.runners.model.Statement)">withPotentialTimeout</a></span>(FrameworkMethod method, Object test, Statement next)</nobr>
+
+        <div class="jd-descrdiv">
+          Default to <a href="http://junit.org/javadoc/latest/org/junit/Test.html">
+ <code>Test</code></a> level timeout if set.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-org.junit.runners.BlockJUnit4ClassRunner" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-org.junit.runners.BlockJUnit4ClassRunner-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  org.junit.runners.BlockJUnit4ClassRunner
+
+<div id="inherited-methods-org.junit.runners.BlockJUnit4ClassRunner">
+  <div id="inherited-methods-org.junit.runners.BlockJUnit4ClassRunner-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-org.junit.runners.BlockJUnit4ClassRunner-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">collectInitializationErrors</span>(List&lt;Throwable&gt; arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            List&lt;FrameworkMethod&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">computeTestMethods</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">createTest</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Description</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">describeChild</span>(FrameworkMethod arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Description</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">describeChild</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            List&lt;FrameworkMethod&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getChildren</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            List&lt;TestRule&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getTestRules</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Statement</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">methodBlock</span>(FrameworkMethod arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Statement</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">methodInvoker</span>(FrameworkMethod arg0, Object arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Statement</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">possiblyExpectingExceptions</span>(FrameworkMethod arg0, Object arg1, Statement arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            List&lt;MethodRule&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">rules</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">runChild</span>(Object arg0, RunNotifier arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">runChild</span>(FrameworkMethod arg0, RunNotifier arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">testName</span>(FrameworkMethod arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">validateConstructor</span>(List&lt;Throwable&gt; arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">validateInstanceMethods</span>(List&lt;Throwable&gt; arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">validateNoNonStaticInnerClass</span>(List&lt;Throwable&gt; arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">validateOnlyOneConstructor</span>(List&lt;Throwable&gt; arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">validateTestMethods</span>(List&lt;Throwable&gt; arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">validateZeroArgConstructor</span>(List&lt;Throwable&gt; arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Statement</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">withAfters</span>(FrameworkMethod arg0, Object arg1, Statement arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Statement</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">withBefores</span>(FrameworkMethod arg0, Object arg1, Statement arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Statement</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">withPotentialTimeout</span>(FrameworkMethod arg0, Object arg1, Statement arg2)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-org.junit.runners.ParentRunner" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-org.junit.runners.ParentRunner-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  org.junit.runners.ParentRunner
+
+<div id="inherited-methods-org.junit.runners.ParentRunner">
+  <div id="inherited-methods-org.junit.runners.ParentRunner-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-org.junit.runners.ParentRunner-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Statement</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">childrenInvoker</span>(RunNotifier arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Statement</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">classBlock</span>(RunNotifier arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            List&lt;TestRule&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">classRules</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">collectInitializationErrors</span>(List&lt;Throwable&gt; arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Description</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">describeChild</span>(T arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">filter</span>(Filter arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            List&lt;T&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getChildren</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Description</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getDescription</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getName</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Annotation[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getRunnerAnnotations</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            TestClass</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getTestClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">run</span>(RunNotifier arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">runChild</span>(T arg0, RunNotifier arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">runLeaf</span>(Statement arg0, Description arg1, RunNotifier arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setScheduler</span>(RunnerScheduler arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sort</span>(Sorter arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">validatePublicVoidNoArgMethods</span>(Class&lt;?&nbsp;extends&nbsp;Annotation&gt; arg0, boolean arg1, List&lt;Throwable&gt; arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Statement</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">withAfterClasses</span>(Statement arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Statement</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">withBeforeClasses</span>(Statement arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-org.junit.runner.Runner" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-org.junit.runner.Runner-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  org.junit.runner.Runner
+
+<div id="inherited-methods-org.junit.runner.Runner">
+  <div id="inherited-methods-org.junit.runner.Runner-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-org.junit.runner.Runner-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Description</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getDescription</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">run</span>(RunNotifier arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">testCount</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-org.junit.runner.Describable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-org.junit.runner.Describable-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  org.junit.runner.Describable
+
+<div id="inherited-methods-org.junit.runner.Describable">
+  <div id="inherited-methods-org.junit.runner.Describable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-org.junit.runner.Describable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Description</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getDescription</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-org.junit.runner.manipulation.Filterable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-org.junit.runner.manipulation.Filterable-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  org.junit.runner.manipulation.Filterable
+
+<div id="inherited-methods-org.junit.runner.manipulation.Filterable">
+  <div id="inherited-methods-org.junit.runner.manipulation.Filterable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-org.junit.runner.manipulation.Filterable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">filter</span>(Filter arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-org.junit.runner.manipulation.Sortable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-org.junit.runner.manipulation.Sortable-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  org.junit.runner.manipulation.Sortable
+
+<div id="inherited-methods-org.junit.runner.manipulation.Sortable">
+  <div id="inherited-methods-org.junit.runner.manipulation.Sortable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-org.junit.runner.manipulation.Sortable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sort</span>(Sorter arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="AndroidJUnit4(java.lang.Class<?>, android.support.test.internal.util.AndroidRunnerParams)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">AndroidJUnit4</span>
+      <span class="normal">(Class&lt;?&gt; klass, <a href="../../../../../reference/android/support/test/internal/util/AndroidRunnerParams.html">AndroidRunnerParams</a> runnerParams)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new instance of the default runner
+</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th>InitializationError</td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+<h2>Protected Methods</h2>
+
+
+
+<A NAME="withPotentialTimeout(org.junit.runners.model.FrameworkMethod, java.lang.Object, org.junit.runners.model.Statement)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        protected
+
+
+
+
+        Statement
+      </span>
+      <span class="sympad">withPotentialTimeout</span>
+      <span class="normal">(FrameworkMethod method, Object test, Statement next)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Default to <a href="http://junit.org/javadoc/latest/org/junit/Test.html">
+ <code>Test</code></a> level timeout if set. Otherwise, set the timeout that was passed to the
+ instrumentation via argument
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/runner/AndroidJUnitRunner.html b/docs/html/reference/android/support/test/runner/AndroidJUnitRunner.html
new file mode 100644
index 0000000..1979517
--- /dev/null
+++ b/docs/html/reference/android/support/test/runner/AndroidJUnitRunner.html
@@ -0,0 +1,3044 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>AndroidJUnitRunner | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">AndroidJUnitRunner</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/runner/AndroidJUnit4.html">AndroidJUnit4</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/runner/AndroidJUnitRunner.html">AndroidJUnitRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html">MonitoringInstrumentation</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.ActivityFinisher.html">MonitoringInstrumentation.ActivityFinisher</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+  <a href="#constants">Constants</a>
+
+
+
+  &#124; <a href="#inhconstants">Inherited Constants</a>
+
+
+
+
+
+  &#124; <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">AndroidJUnitRunner</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+    extends <a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html">MonitoringInstrumentation</a><br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="4" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="3" class="jd-inheritance-class-cell">android.app.Instrumentation</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html">android.support.test.runner.MonitoringInstrumentation</a></td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.runner.AndroidJUnitRunner</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">An <code><a href="../../../../../reference/android/app/Instrumentation.html">Instrumentation</a></code> that runs JUnit3 and JUnit4 tests against
+ an Android package (application).
+ <p/>
+ Currently experimental. Based on <code><a href="../../../../../reference/android/test/InstrumentationTestRunner.html">InstrumentationTestRunner</a></code>.
+ <p/>
+ Will eventually support a superset of <code><a href="../../../../../reference/android/test/InstrumentationTestRunner.html">InstrumentationTestRunner</a></code> features,
+ while maintaining command/output format compatibility with that class.
+
+ <h3>Typical Usage</h3>
+ <p/>
+ Write JUnit3 style <code><a href="../../../../../reference/junit/framework/TestCase.html">TestCase</a></code>s and/or JUnit4 style
+ <a href="http://junit.org/javadoc/latest/org/junit/Test.html">
+ <code>Test</code></a>s that perform tests against the classes in your package.
+ Make use of the <code><a href="../../../../../reference/android/support/test/InstrumentationRegistry.html">InstrumentationRegistry</a></code> if needed.
+ <p/>
+ In an appropriate AndroidManifest.xml, define an instrumentation with android:name set to
+ <code><a href="../../../../../reference/android/support/test/runner/AndroidJUnitRunner.html">AndroidJUnitRunner</a></code> and the appropriate android:targetPackage
+ set.
+ <p/>
+ Execution options:
+ <p/>
+ <b>Running all tests:</b> adb shell am instrument -w
+ com.android.foo/android.support.test.runner.AndroidJUnitRunner
+ <p/>
+ <b>Running all tests in a class:</b> adb shell am instrument -w
+ -e class com.android.foo.FooTest
+ com.android.foo/android.support.test.runner.AndroidJUnitRunner
+ <p/>
+ <b>Running a single test:</b> adb shell am instrument -w
+ -e class com.android.foo.FooTest#testFoo
+ com.android.foo/android.support.test.runner.AndroidJUnitRunner
+ <p/>
+ <b>Running all tests in multiple classes:</b> adb shell am instrument -w
+ -e class com.android.foo.FooTest,com.android.foo.TooTest
+ com.android.foo/android.support.test.runner.AndroidJUnitRunner
+ <p/>
+ <b>Running all tests listed in a file:</b> adb shell am instrument -w
+ -e testFile /sdcard/tmp/testFile.txt com.android.foo/com.android.test.runner.AndroidJUnitRunner
+ The file should contain a list of line separated test classes and optionally methods (expected
+ format: com.android.foo.FooClassName#testMethodName).
+ <p/>
+ <b>Running all tests in a java package:</b> adb shell am instrument -w
+ -e package com.android.foo.bar
+ com.android.foo/android.support.test.runner.AndroidJUnitRunner
+ <b>To debug your tests, set a break point in your code and pass:</b>
+ -e debug true
+ <p/>
+ <b>Running a specific test size i.e. annotated with
+ <code><a href="../../../../../reference/android/test/suitebuilder/annotation/SmallTest.html">SmallTest</a></code> or
+ <code><a href="../../../../../reference/android/test/suitebuilder/annotation/MediumTest.html">MediumTest</a></code> or
+ <code><a href="../../../../../reference/android/test/suitebuilder/annotation/LargeTest.html">LargeTest</a></code>:</b>
+ adb shell am instrument -w -e size [small|medium|large]
+ com.android.foo/android.support.test.runner.AndroidJUnitRunner
+ <p/>
+ <b>Filter test run to tests with given annotation:</b> adb shell am instrument -w
+ -e annotation com.android.foo.MyAnnotation
+ com.android.foo/android.support.test.runner.AndroidJUnitRunner
+ <p/>
+ If used with other options, the resulting test run will contain the intersection of the two
+ options.
+ e.g. "-e size large -e annotation com.android.foo.MyAnnotation" will run only tests with both
+ the <code><a href="../../../../../reference/android/test/suitebuilder/annotation/LargeTest.html">LargeTest</a></code> and "com.android.foo.MyAnnotation" annotations.
+ <p/>
+ <b>Filter test run to tests <i>without</i> given annotation:</b> adb shell am instrument -w
+ -e notAnnotation com.android.foo.MyAnnotation
+ com.android.foo/android.support.test.runner.AndroidJUnitRunner
+ <p/>
+ As above, if used with other options, the resulting test run will contain the intersection of
+ the two options.
+ e.g. "-e size large -e notAnnotation com.android.foo.MyAnnotation" will run tests with
+ the <code><a href="../../../../../reference/android/test/suitebuilder/annotation/LargeTest.html">LargeTest</a></code> annotation that do NOT have the "com.android.foo.MyAnnotation" annotations.
+ <p/>
+ <b>Filter test run to tests <i>without any</i> of a list of annotations:</b> adb shell am
+ instrument -w -e notAnnotation com.android.foo.MyAnnotation,com.android.foo.AnotherAnnotation
+ com.android.foo/android.support.test.runner.AndroidJUnitRunner
+ <p/>
+ <b>Filter test run to a shard of all tests, where numShards is an integer greater than 0 and
+ shardIndex is an integer between 0 (inclusive) and numShards (exclusive):</b> adb shell am
+ instrument -w -e numShards 4 -e shardIndex 1
+ com.android.foo/android.support.test.runner.AndroidJUnitRunner
+ <p/>
+ <b>To run in 'log only' mode</b>
+ -e log true
+ This option will load and iterate through all test classes and methods, but will bypass actual
+ test execution. Useful for quickly obtaining info on the tests to be executed by an
+ instrumentation command.
+ <p/>
+ <b>To generate EMMA code coverage:</b>
+ -e coverage true
+ Note: this requires an emma instrumented build. By default, the code coverage results file
+ will be saved in a /data/<app>/coverage.ec file, unless overridden by coverageFile flag (see
+ below)
+ <p/>
+ <b> To specify EMMA code coverage results file path:</b>
+ -e coverageFile /sdcard/myFile.ec
+ <p/>
+ <b> To specify one or more
+ <a href="http://junit.org/javadoc/latest/org/junit/runner/notification/RunListener.html">
+ <code>RunListener</code></a>s to observe the test run:</b>
+ -e listener com.foo.Listener,com.foo.Listener2
+ <p/>
+ <b/>OR, specify the multiple listeners in the AndroidManifest via a meta-data tag:</b>
+ instrumentation android:name="android.support.test.runner.AndroidJUnitRunner" ...
+    meta-data android:name="listener"
+              android:value="com.foo.Listener,com.foo.Listener2"
+ <p/>
+ <b>Set timeout (in milliseconds) that will be applied to each test:</b>
+ -e timeout_msec 5000
+ <p/>
+ Supported for both JUnit3 and JUnit4 style tests. For JUnit3 tests, this flag is the only way
+ to specify timeouts. For JUnit4 tests, this flag overrides timeouts specified via
+ <a href="http://junit.org/javadoc/latest/org/junit/rules/Timeout.html">
+ <code>org.junit.rules.Timeout</code></a>. Please note that in JUnit4
+ <a href="http://junit.org/javadoc/latest/org/junit/Test.html#timeout()">
+ <code>org.junit.Test#timeout()</code></a>
+ annotation take precedence over both, this flag and
+ <a href="http://junit.org/javadoc/latest/org/junit/Test.html#timeout()">
+ <code>org.junit.Test#timeout()</code></a>
+ annotation.
+ <p/>
+ <b>To disable Google Analytics:</b>
+ -e disableAnalytics true
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="constants" class="jd-sumtable"><tr><th colspan="12">Constants</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">String</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/runner/AndroidJUnitRunner.html#ARGUMENT_TEST_CLASS">ARGUMENT_TEST_CLASS</a></td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+
+</table>
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="inhconstants" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Constants</div></th></tr>
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-constants-android.app.Instrumentation" class="jd-expando-trigger closed"
+          ><img id="inherited-constants-android.app.Instrumentation-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>From class
+android.app.Instrumentation
+<div id="inherited-constants-android.app.Instrumentation">
+  <div id="inherited-constants-android.app.Instrumentation-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-constants-android.app.Instrumentation-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">String</td>
+        <td class="jd-linkcol">REPORT_KEY_IDENTIFIER</td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">String</td>
+        <td class="jd-linkcol">REPORT_KEY_STREAMRESULT</td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/AndroidJUnitRunner.html#AndroidJUnitRunner()">AndroidJUnitRunner</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/AndroidJUnitRunner.html#finish(int, android.os.Bundle)">finish</a></span>(int resultCode, Bundle results)</nobr>
+
+        <div class="jd-descrdiv">
+          Ensures all activities launched in this instrumentation are finished before the
+ instrumentation exits.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/AndroidJUnitRunner.html#newActivity(java.lang.Class<?>, android.content.Context, android.os.IBinder, android.app.Application, android.content.Intent, android.content.pm.ActivityInfo, java.lang.CharSequence, android.app.Activity, java.lang.String, java.lang.Object)">newActivity</a></span>(Class&lt;?&gt; clazz, Context context, IBinder token, Application application, Intent intent, ActivityInfo info, CharSequence title, Activity parent, String id, Object lastNonConfigurationInstance)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/AndroidJUnitRunner.html#onCreate(android.os.Bundle)">onCreate</a></span>(Bundle arguments)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets up lifecycle monitoring, and argument registry.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/AndroidJUnitRunner.html#onException(java.lang.Object, java.lang.Throwable)">onException</a></span>(Object obj, Throwable e)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/AndroidJUnitRunner.html#onStart()">onStart</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          This implementation of onStart() will guarantee that the Application's onCreate method
+ has completed when it returns.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.runner.MonitoringInstrumentation" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.runner.MonitoringInstrumentation-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  <a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html">android.support.test.runner.MonitoringInstrumentation</a>
+
+<div id="inherited-methods-android.support.test.runner.MonitoringInstrumentation">
+  <div id="inherited-methods-android.support.test.runner.MonitoringInstrumentation-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.runner.MonitoringInstrumentation-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#callActivityOnCreate(android.app.Activity, android.os.Bundle)">callActivityOnCreate</a></span>(Activity activity, Bundle bundle)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#callActivityOnDestroy(android.app.Activity)">callActivityOnDestroy</a></span>(Activity activity)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#callActivityOnPause(android.app.Activity)">callActivityOnPause</a></span>(Activity activity)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#callActivityOnRestart(android.app.Activity)">callActivityOnRestart</a></span>(Activity activity)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#callActivityOnResume(android.app.Activity)">callActivityOnResume</a></span>(Activity activity)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#callActivityOnStart(android.app.Activity)">callActivityOnStart</a></span>(Activity activity)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#callActivityOnStop(android.app.Activity)">callActivityOnStop</a></span>(Activity activity)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#dumpThreadStateToOutputs(java.lang.String)">dumpThreadStateToOutputs</a></span>(String outputFileName)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#finish(int, android.os.Bundle)">finish</a></span>(int resultCode, Bundle results)</nobr>
+
+        <div class="jd-descrdiv">
+          Ensures all activities launched in this instrumentation are finished before the
+ instrumentation exits.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#onCreate(android.os.Bundle)">onCreate</a></span>(Bundle arguments)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets up lifecycle monitoring, and argument registry.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#onDestroy()">onDestroy</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#onException(java.lang.Object, java.lang.Throwable)">onException</a></span>(Object obj, Throwable e)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#onStart()">onStart</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          This implementation of onStart() will guarantee that the Application's onCreate method
+ has completed when it returns.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#specifyDexMakerCacheProperty()">specifyDexMakerCacheProperty</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#startActivitySync(android.content.Intent)">startActivitySync</a></span>(Intent intent)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#waitForActivitiesToComplete()">waitForActivitiesToComplete</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Ensures we've onStopped() all activities which were onStarted().
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.app.Instrumentation" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.app.Instrumentation-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  android.app.Instrumentation
+
+<div id="inherited-methods-android.app.Instrumentation">
+  <div id="inherited-methods-android.app.Instrumentation-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.app.Instrumentation-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Instrumentation.ActivityMonitor</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addMonitor</span>(IntentFilter arg0, Instrumentation.ActivityResult arg1, boolean arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addMonitor</span>(Instrumentation.ActivityMonitor arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Instrumentation.ActivityMonitor</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addMonitor</span>(String arg0, Instrumentation.ActivityResult arg1, boolean arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnCreate</span>(Activity arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnCreate</span>(Activity arg0, Bundle arg1, PersistableBundle arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnDestroy</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnNewIntent</span>(Activity arg0, Intent arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnPause</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnPostCreate</span>(Activity arg0, Bundle arg1, PersistableBundle arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnPostCreate</span>(Activity arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnRestart</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnRestoreInstanceState</span>(Activity arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnRestoreInstanceState</span>(Activity arg0, Bundle arg1, PersistableBundle arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnResume</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnSaveInstanceState</span>(Activity arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnSaveInstanceState</span>(Activity arg0, Bundle arg1, PersistableBundle arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnStart</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnStop</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnUserLeaving</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callApplicationOnCreate</span>(Application arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">checkMonitorHit</span>(Instrumentation.ActivityMonitor arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">endPerformanceSnapshot</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finish</span>(int arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Bundle</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getAllocCounts</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Bundle</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getBinderCounts</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            ComponentName</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getComponentName</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Context</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getContext</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Context</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getTargetContext</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            UiAutomation</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getUiAutomation</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">invokeContextMenuAction</span>(Activity arg0, int arg1, int arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">invokeMenuActionSync</span>(Activity arg0, int arg1, int arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">isProfiling</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">newActivity</span>(ClassLoader arg0, String arg1, Intent arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">newActivity</span>(Class&lt;?&gt; arg0, Context arg1, IBinder arg2, Application arg3, Intent arg4, ActivityInfo arg5, CharSequence arg6, Activity arg7, String arg8, Object arg9)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Application</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">newApplication</span>(ClassLoader arg0, String arg1, Context arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Application</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">newApplication</span>(Class&lt;?&gt; arg0, Context arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">onCreate</span>(Bundle arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">onDestroy</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">onException</span>(Object arg0, Throwable arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">onStart</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">removeMonitor</span>(Instrumentation.ActivityMonitor arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">runOnMainSync</span>(Runnable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendCharacterSync</span>(int arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendKeyDownUpSync</span>(int arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendKeySync</span>(KeyEvent arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendPointerSync</span>(MotionEvent arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendStatus</span>(int arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendStringSync</span>(String arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendTrackballEventSync</span>(MotionEvent arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setAutomaticPerformanceSnapshots</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setInTouchMode</span>(boolean arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">start</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">startActivitySync</span>(Intent arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">startAllocCounting</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">startPerformanceSnapshot</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">startProfiling</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">stopAllocCounting</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">stopProfiling</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">waitForIdle</span>(Runnable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">waitForIdleSync</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">waitForMonitor</span>(Instrumentation.ActivityMonitor arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">waitForMonitorWithTimeout</span>(Instrumentation.ActivityMonitor arg0, long arg1)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Constants</h2>
+
+
+
+
+<A NAME="ARGUMENT_TEST_CLASS"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        String
+      </span>
+        ARGUMENT_TEST_CLASS
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+        <div class="jd-tagdata">
+        <span class="jd-tagtitle">Constant Value: </span>
+        <span>
+
+                "class"
+
+        </span>
+        </div>
+
+    </div>
+</div>
+
+
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="AndroidJUnitRunner()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">AndroidJUnitRunner</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="finish(int, android.os.Bundle)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">finish</span>
+      <span class="normal">(int resultCode, Bundle results)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Ensures all activities launched in this instrumentation are finished before the
+ instrumentation exits.
+ <p>
+ Subclasses who override this method should do their finish processing and then call
+ super.finish to invoke this logic. Not waiting for all activities to finish() before exiting
+ can cause device wide instability.
+ </p>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="newActivity(java.lang.Class<?>, android.content.Context, android.os.IBinder, android.app.Application, android.content.Intent, android.content.pm.ActivityInfo, java.lang.CharSequence, android.app.Activity, java.lang.String, java.lang.Object)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Activity
+      </span>
+      <span class="sympad">newActivity</span>
+      <span class="normal">(Class&lt;?&gt; clazz, Context context, IBinder token, Application application, Intent intent, ActivityInfo info, CharSequence title, Activity parent, String id, Object lastNonConfigurationInstance)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th>InstantiationException</td>
+            <td></td>
+        </tr>
+        <tr>
+            <th>IllegalAccessException</td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="onCreate(android.os.Bundle)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">onCreate</span>
+      <span class="normal">(Bundle arguments)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets up lifecycle monitoring, and argument registry.
+ <p>
+ Subclasses must call up to onCreate(). This onCreate method does not call start()
+ it is the subclasses responsibility to call start if it desires.
+ </p>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="onException(java.lang.Object, java.lang.Throwable)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">onException</span>
+      <span class="normal">(Object obj, Throwable e)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="onStart()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">onStart</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>This implementation of onStart() will guarantee that the Application's onCreate method
+ has completed when it returns.
+ <p>
+ Subclasses should call super.onStart() before executing any code that touches the application
+ and it's state.
+ </p>
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/runner/MonitoringInstrumentation.ActivityFinisher.html b/docs/html/reference/android/support/test/runner/MonitoringInstrumentation.ActivityFinisher.html
new file mode 100644
index 0000000..19e4a21
--- /dev/null
+++ b/docs/html/reference/android/support/test/runner/MonitoringInstrumentation.ActivityFinisher.html
@@ -0,0 +1,1222 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>MonitoringInstrumentation.ActivityFinisher | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">MonitoringInstrumentation.ActivityFinisher</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/runner/AndroidJUnit4.html">AndroidJUnit4</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/runner/AndroidJUnitRunner.html">AndroidJUnitRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html">MonitoringInstrumentation</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.ActivityFinisher.html">MonitoringInstrumentation.ActivityFinisher</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">MonitoringInstrumentation.ActivityFinisher</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+      implements
+
+        Runnable
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.runner.MonitoringInstrumentation.ActivityFinisher</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Loops through all the activities that have not yet finished and explicitly calls finish
+ on them.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.ActivityFinisher.html#MonitoringInstrumentation.ActivityFinisher()">MonitoringInstrumentation.ActivityFinisher</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.ActivityFinisher.html#run()">run</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Runnable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Runnable-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  java.lang.Runnable
+
+<div id="inherited-methods-java.lang.Runnable">
+  <div id="inherited-methods-java.lang.Runnable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Runnable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">run</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="MonitoringInstrumentation.ActivityFinisher()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">MonitoringInstrumentation.ActivityFinisher</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="run()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">run</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/runner/MonitoringInstrumentation.html b/docs/html/reference/android/support/test/runner/MonitoringInstrumentation.html
new file mode 100644
index 0000000..f5c9adf
--- /dev/null
+++ b/docs/html/reference/android/support/test/runner/MonitoringInstrumentation.html
@@ -0,0 +1,3150 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>MonitoringInstrumentation | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">MonitoringInstrumentation</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/runner/AndroidJUnit4.html">AndroidJUnit4</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/runner/AndroidJUnitRunner.html">AndroidJUnitRunner</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html">MonitoringInstrumentation</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.ActivityFinisher.html">MonitoringInstrumentation.ActivityFinisher</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+  <a href="#nestedclasses">Nested Classes</a>
+
+
+
+
+
+
+
+  &#124; <a href="#inhconstants">Inherited Constants</a>
+
+
+
+
+
+  &#124; <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+  &#124; <a href="#promethods">Protected Methods</a>
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">MonitoringInstrumentation</h1>
+
+
+
+
+
+
+
+
+    extends Instrumentation<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">android.app.Instrumentation</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.runner.MonitoringInstrumentation</td>
+    </tr>
+
+
+</table>
+
+
+
+
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-direct" class="jd-expando-trigger closed"
+          ><img id="subclasses-direct-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>Known Direct Subclasses
+
+  <div id="subclasses-direct">
+      <div id="subclasses-direct-list"
+              class="jd-inheritedlinks"
+
+              >
+
+
+              <a href="../../../../../reference/android/support/test/runner/AndroidJUnitRunner.html">AndroidJUnitRunner</a>
+
+
+      </div>
+      <div id="subclasses-direct-summary"
+              style="display: none;"
+              >
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/runner/AndroidJUnitRunner.html">AndroidJUnitRunner</a></td>
+        <td class="jd-descrcol" width="100%">
+          An <code><a href="../../../../../reference/android/app/Instrumentation.html">Instrumentation</a></code> that runs JUnit3 and JUnit4 tests against
+ an Android package (application).&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+      </div>
+  </div>
+</td></tr></table>
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">An instrumentation that enables several advanced features and makes some hard guarantees about
+ the state of the application under instrumentation.
+ <p/>
+ A short list of these capabilities:
+ <ul>
+ <li>Forces Application.onCreate() to happen before Instrumentation.onStart() runs (ensuring your
+ code always runs in a sane state).</li>
+ <li>Logs application death due to exceptions.</li>
+ <li>Allows tracking of activity lifecycle states.</li>
+ <li>Registers instrumentation arguments in an easy to access place.</li>
+ <li>Ensures your activities are creating themselves in reasonable amounts of time.</li>
+ <li>Provides facilities to dump current app threads to test outputs.</li>
+ <li>Ensures all activities finish before instrumentation exits.</li>
+ </ul>
+
+ This Instrumentation is *NOT* a test instrumentation (some of its subclasses are). It makes no
+ assumptions about what the subclass wants to do.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+      <td class="jd-typecol"><nobr>
+
+
+
+
+        class</nobr></td>
+      <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.ActivityFinisher.html">MonitoringInstrumentation.ActivityFinisher</a></td>
+      <td class="jd-descrcol" width="100%">
+        Loops through all the activities that have not yet finished and explicitly calls finish
+ on them.&nbsp;
+
+
+
+      </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="inhconstants" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Constants</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-constants-android.app.Instrumentation" class="jd-expando-trigger closed"
+          ><img id="inherited-constants-android.app.Instrumentation-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>From class
+android.app.Instrumentation
+<div id="inherited-constants-android.app.Instrumentation">
+  <div id="inherited-constants-android.app.Instrumentation-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-constants-android.app.Instrumentation-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">String</td>
+        <td class="jd-linkcol">REPORT_KEY_IDENTIFIER</td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">String</td>
+        <td class="jd-linkcol">REPORT_KEY_STREAMRESULT</td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#MonitoringInstrumentation()">MonitoringInstrumentation</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#callActivityOnCreate(android.app.Activity, android.os.Bundle)">callActivityOnCreate</a></span>(Activity activity, Bundle bundle)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#callActivityOnDestroy(android.app.Activity)">callActivityOnDestroy</a></span>(Activity activity)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#callActivityOnPause(android.app.Activity)">callActivityOnPause</a></span>(Activity activity)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#callActivityOnRestart(android.app.Activity)">callActivityOnRestart</a></span>(Activity activity)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#callActivityOnResume(android.app.Activity)">callActivityOnResume</a></span>(Activity activity)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#callActivityOnStart(android.app.Activity)">callActivityOnStart</a></span>(Activity activity)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#callActivityOnStop(android.app.Activity)">callActivityOnStop</a></span>(Activity activity)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#finish(int, android.os.Bundle)">finish</a></span>(int resultCode, Bundle results)</nobr>
+
+        <div class="jd-descrdiv">
+          Ensures all activities launched in this instrumentation are finished before the
+ instrumentation exits.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#onCreate(android.os.Bundle)">onCreate</a></span>(Bundle arguments)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets up lifecycle monitoring, and argument registry.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#onDestroy()">onDestroy</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#onException(java.lang.Object, java.lang.Throwable)">onException</a></span>(Object obj, Throwable e)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#onStart()">onStart</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          This implementation of onStart() will guarantee that the Application's onCreate method
+ has completed when it returns.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#startActivitySync(android.content.Intent)">startActivitySync</a></span>(Intent intent)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="promethods" class="jd-sumtable"><tr><th colspan="12">Protected Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#dumpThreadStateToOutputs(java.lang.String)">dumpThreadStateToOutputs</a></span>(String outputFileName)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#specifyDexMakerCacheProperty()">specifyDexMakerCacheProperty</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html#waitForActivitiesToComplete()">waitForActivitiesToComplete</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Ensures we've onStopped() all activities which were onStarted().
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.app.Instrumentation" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.app.Instrumentation-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  android.app.Instrumentation
+
+<div id="inherited-methods-android.app.Instrumentation">
+  <div id="inherited-methods-android.app.Instrumentation-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.app.Instrumentation-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Instrumentation.ActivityMonitor</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addMonitor</span>(IntentFilter arg0, Instrumentation.ActivityResult arg1, boolean arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addMonitor</span>(Instrumentation.ActivityMonitor arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Instrumentation.ActivityMonitor</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addMonitor</span>(String arg0, Instrumentation.ActivityResult arg1, boolean arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnCreate</span>(Activity arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnCreate</span>(Activity arg0, Bundle arg1, PersistableBundle arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnDestroy</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnNewIntent</span>(Activity arg0, Intent arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnPause</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnPostCreate</span>(Activity arg0, Bundle arg1, PersistableBundle arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnPostCreate</span>(Activity arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnRestart</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnRestoreInstanceState</span>(Activity arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnRestoreInstanceState</span>(Activity arg0, Bundle arg1, PersistableBundle arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnResume</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnSaveInstanceState</span>(Activity arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnSaveInstanceState</span>(Activity arg0, Bundle arg1, PersistableBundle arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnStart</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnStop</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnUserLeaving</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callApplicationOnCreate</span>(Application arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">checkMonitorHit</span>(Instrumentation.ActivityMonitor arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">endPerformanceSnapshot</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finish</span>(int arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Bundle</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getAllocCounts</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Bundle</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getBinderCounts</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            ComponentName</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getComponentName</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Context</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getContext</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Context</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getTargetContext</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            UiAutomation</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getUiAutomation</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">invokeContextMenuAction</span>(Activity arg0, int arg1, int arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">invokeMenuActionSync</span>(Activity arg0, int arg1, int arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">isProfiling</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">newActivity</span>(ClassLoader arg0, String arg1, Intent arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">newActivity</span>(Class&lt;?&gt; arg0, Context arg1, IBinder arg2, Application arg3, Intent arg4, ActivityInfo arg5, CharSequence arg6, Activity arg7, String arg8, Object arg9)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Application</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">newApplication</span>(ClassLoader arg0, String arg1, Context arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Application</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">newApplication</span>(Class&lt;?&gt; arg0, Context arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">onCreate</span>(Bundle arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">onDestroy</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">onException</span>(Object arg0, Throwable arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">onStart</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">removeMonitor</span>(Instrumentation.ActivityMonitor arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">runOnMainSync</span>(Runnable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendCharacterSync</span>(int arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendKeyDownUpSync</span>(int arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendKeySync</span>(KeyEvent arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendPointerSync</span>(MotionEvent arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendStatus</span>(int arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendStringSync</span>(String arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendTrackballEventSync</span>(MotionEvent arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setAutomaticPerformanceSnapshots</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setInTouchMode</span>(boolean arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">start</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">startActivitySync</span>(Intent arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">startAllocCounting</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">startPerformanceSnapshot</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">startProfiling</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">stopAllocCounting</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">stopProfiling</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">waitForIdle</span>(Runnable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">waitForIdleSync</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">waitForMonitor</span>(Instrumentation.ActivityMonitor arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">waitForMonitorWithTimeout</span>(Instrumentation.ActivityMonitor arg0, long arg1)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="MonitoringInstrumentation()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">MonitoringInstrumentation</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="callActivityOnCreate(android.app.Activity, android.os.Bundle)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">callActivityOnCreate</span>
+      <span class="normal">(Activity activity, Bundle bundle)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="callActivityOnDestroy(android.app.Activity)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">callActivityOnDestroy</span>
+      <span class="normal">(Activity activity)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="callActivityOnPause(android.app.Activity)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">callActivityOnPause</span>
+      <span class="normal">(Activity activity)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="callActivityOnRestart(android.app.Activity)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">callActivityOnRestart</span>
+      <span class="normal">(Activity activity)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="callActivityOnResume(android.app.Activity)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">callActivityOnResume</span>
+      <span class="normal">(Activity activity)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="callActivityOnStart(android.app.Activity)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">callActivityOnStart</span>
+      <span class="normal">(Activity activity)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="callActivityOnStop(android.app.Activity)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">callActivityOnStop</span>
+      <span class="normal">(Activity activity)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="finish(int, android.os.Bundle)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">finish</span>
+      <span class="normal">(int resultCode, Bundle results)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Ensures all activities launched in this instrumentation are finished before the
+ instrumentation exits.
+ <p>
+ Subclasses who override this method should do their finish processing and then call
+ super.finish to invoke this logic. Not waiting for all activities to finish() before exiting
+ can cause device wide instability.
+ </p>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="onCreate(android.os.Bundle)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">onCreate</span>
+      <span class="normal">(Bundle arguments)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets up lifecycle monitoring, and argument registry.
+ <p>
+ Subclasses must call up to onCreate(). This onCreate method does not call start()
+ it is the subclasses responsibility to call start if it desires.
+ </p>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="onDestroy()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">onDestroy</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="onException(java.lang.Object, java.lang.Throwable)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">onException</span>
+      <span class="normal">(Object obj, Throwable e)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="onStart()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">onStart</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>This implementation of onStart() will guarantee that the Application's onCreate method
+ has completed when it returns.
+ <p>
+ Subclasses should call super.onStart() before executing any code that touches the application
+ and it's state.
+ </p>
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="startActivitySync(android.content.Intent)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Activity
+      </span>
+      <span class="sympad">startActivitySync</span>
+      <span class="normal">(Intent intent)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+<h2>Protected Methods</h2>
+
+
+
+<A NAME="dumpThreadStateToOutputs(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        protected
+
+        final
+
+
+        void
+      </span>
+      <span class="sympad">dumpThreadStateToOutputs</span>
+      <span class="normal">(String outputFileName)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="specifyDexMakerCacheProperty()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        protected
+
+        final
+
+
+        void
+      </span>
+      <span class="sympad">specifyDexMakerCacheProperty</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="waitForActivitiesToComplete()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        protected
+
+
+
+
+        void
+      </span>
+      <span class="sympad">waitForActivitiesToComplete</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Ensures we've onStopped() all activities which were onStarted().
+ <p>
+ According to Activity's contract, the process is not killable between onStart and onStop.
+ Breaking this contract (which finish() will if you let it) can cause bad behaviour (including
+ a full restart of system_server).
+ </p>
+ <p>
+ We give the app 2 seconds to stop all its activities, then we proceed.
+ </p>
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/runner/lifecycle/ActivityLifecycleCallback.html b/docs/html/reference/android/support/test/runner/lifecycle/ActivityLifecycleCallback.html
new file mode 100644
index 0000000..e164e24
--- /dev/null
+++ b/docs/html/reference/android/support/test/runner/lifecycle/ActivityLifecycleCallback.html
@@ -0,0 +1,875 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>ActivityLifecycleCallback | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">ActivityLifecycleCallback</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleCallback.html">ActivityLifecycleCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html">ActivityLifecycleMonitor</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">ActivityLifecycleCallback</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.runner.lifecycle.ActivityLifecycleCallback</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Callback for monitoring activity lifecycle events. These callbacks are invoked on the main
+ thread, so any long operations or violating the strict mode policies should be avoided.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleCallback.html#onActivityLifecycleChanged(android.app.Activity, android.support.test.runner.lifecycle.Stage)">onActivityLifecycleChanged</a></span>(Activity activity, <a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a> stage)</nobr>
+
+        <div class="jd-descrdiv">
+          Called on the main thread after an activity has processed its lifecycle change event
+ (for example onResume or onStart)
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="onActivityLifecycleChanged(android.app.Activity, android.support.test.runner.lifecycle.Stage)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        void
+      </span>
+      <span class="sympad">onActivityLifecycleChanged</span>
+      <span class="normal">(Activity activity, <a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a> stage)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Called on the main thread after an activity has processed its lifecycle change event
+ (for example onResume or onStart)</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>activity</td>
+          <td>The activity</td>
+        </tr>
+        <tr>
+          <th>stage</td>
+          <td>its current stage.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html b/docs/html/reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html
new file mode 100644
index 0000000..1e38153
--- /dev/null
+++ b/docs/html/reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html
@@ -0,0 +1,1137 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>ActivityLifecycleMonitor | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">ActivityLifecycleMonitor</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleCallback.html">ActivityLifecycleCallback</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html">ActivityLifecycleMonitor</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">ActivityLifecycleMonitor</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.runner.lifecycle.ActivityLifecycleMonitor</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Interface for tests to use when they need to query the activity lifecycle state.
+ <p>
+ Activity lifecycle changes occur only on the UI thread - therefore listeners registered with
+ an ActivityLifecycleMonitor should expect to be invoked on the UI thread. The direct query
+ methods can only be called on the UI thread because otherwise they would not be able to return
+ consistent responses.
+ </p>
+ <p>
+ Retrieve instances of the monitor thru ActivityLifecycleMonitorRegistry.
+ </p>
+ <p>
+ Detecting these lifecycle states requires support from Instrumentation, therefore do not expect
+ an instance to be present under any arbitrary instrumentation.
+ </p>
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html#addLifecycleCallback(android.support.test.runner.lifecycle.ActivityLifecycleCallback)">addLifecycleCallback</a></span>(<a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleCallback.html">ActivityLifecycleCallback</a> callback)</nobr>
+
+        <div class="jd-descrdiv">
+          Adds a new callback that will be notified when lifecycle changes occur.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            Collection&lt;Activity&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html#getActivitiesInStage(android.support.test.runner.lifecycle.Stage)">getActivitiesInStage</a></span>(<a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a> stage)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns all activities in a given stage of their lifecycle.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            <a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html#getLifecycleStageOf(android.app.Activity)">getLifecycleStageOf</a></span>(Activity activity)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the current lifecycle stage of a given activity.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html#removeLifecycleCallback(android.support.test.runner.lifecycle.ActivityLifecycleCallback)">removeLifecycleCallback</a></span>(<a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleCallback.html">ActivityLifecycleCallback</a> callback)</nobr>
+
+        <div class="jd-descrdiv">
+          Removes a previously registered lifecycle callback.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="addLifecycleCallback(android.support.test.runner.lifecycle.ActivityLifecycleCallback)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        void
+      </span>
+      <span class="sympad">addLifecycleCallback</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleCallback.html">ActivityLifecycleCallback</a> callback)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Adds a new callback that will be notified when lifecycle changes occur.
+ <p>
+ Implementors will not hold a strong ref to the callback, the code which registers callbacks
+ is responsible for this. Code which registers callbacks should responsibly
+ remove their callback when it is no longer needed.
+ </p>
+ <p>
+ Callbacks are executed on the main thread of the application, and should take care not to
+ block or otherwise perform expensive operations as it will directly impact the application.
+ </p></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>callback</td>
+          <td>an ActivityLifecycleCallback
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getActivitiesInStage(android.support.test.runner.lifecycle.Stage)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        Collection&lt;Activity&gt;
+      </span>
+      <span class="sympad">getActivitiesInStage</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a> stage)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns all activities in a given stage of their lifecycle.
+ <p>
+ This method can only return a consistant and correct answer from the main thread, therefore
+ callers should always invoke it from the main thread and implementors are free to throw an
+ exception if the call is not made on the main thread.
+ </p>
+ <p>
+ Implementors should ensure this method returns a consistant response if called from a
+ lifecycle callback also registered with this monitor (eg: it would be horriblely wrong if a
+ callback sees PAUSED and calls this method with the PAUSED and does not see its activity in
+ the response.
+ </p>
+ <p>
+ Callers should be aware that the monitor implementation may not hold strong references to the
+ Activities in the application. Therefore stages which are considered end stages or eligible
+ for garbage collection on low memory situations may not return an instance of a particular
+ activity if it has been garbage collected.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>stage</td>
+          <td>the stage to query for.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a snapshot Collection of activities in the given stage. This collection may be empty.</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th>IllegalStateException</td>
+            <td>if called from outside the main thread.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getLifecycleStageOf(android.app.Activity)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        <a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>
+      </span>
+      <span class="sympad">getLifecycleStageOf</span>
+      <span class="normal">(Activity activity)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the current lifecycle stage of a given activity.
+ <p>
+ This method can only return a consistant and correct answer
+ from the main thread, therefore callers should always invoke
+ it from the main thread and implementors are free to throw an
+ exception if the call is not made on the main thread.
+ </p>
+ <p>
+ Implementors should ensure this method returns a consistant response if called from a
+ lifecycle callback also registered with this monitor (eg: it would be horriblely wrong if a
+ callback sees PAUSED and calls this method with the same activity and gets RESUMED.
+ </p></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>activity</td>
+          <td>an activity in this application.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>the lifecycle stage this activity is in.</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th>IllegalArgumentException</td>
+            <td>if activity is unknown to the monitor.</td>
+        </tr>
+        <tr>
+            <th>NullPointerException</td>
+            <td>if activity is null.</td>
+        </tr>
+        <tr>
+            <th>IllegalStateException</td>
+            <td>if called off the main thread.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="removeLifecycleCallback(android.support.test.runner.lifecycle.ActivityLifecycleCallback)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        void
+      </span>
+      <span class="sympad">removeLifecycleCallback</span>
+      <span class="normal">(<a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleCallback.html">ActivityLifecycleCallback</a> callback)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Removes a previously registered lifecycle callback.
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/runner/lifecycle/Stage.html b/docs/html/reference/android/support/test/runner/lifecycle/Stage.html
new file mode 100644
index 0000000..af7e942
--- /dev/null
+++ b/docs/html/reference/android/support/test/runner/lifecycle/Stage.html
@@ -0,0 +1,1793 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>Stage | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">Stage</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleCallback.html">ActivityLifecycleCallback</a></li>
+          <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html">ActivityLifecycleMonitor</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+  <a href="#enumconstants">Enums</a>
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    enum
+<h1 itemprop="name">Stage</h1>
+
+
+
+
+
+
+
+
+    extends Enum&lt;E&nbsp;extends&nbsp;Enum&lt;E&gt;&gt;<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Enum&lt;E&nbsp;extends&nbsp;java.lang.Enum&lt;E&gt;&gt;</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.runner.lifecycle.Stage</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">An enumeration of the lifecycle stages an activity undergoes.
+ <p>
+ See the <code><a href="../../../../../../reference/android/app/Activity.html">Activity</a></code> javadoc for detailed documentation.
+ </p>
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="enumconstants" class="jd-sumtable"><tr><th colspan="12">Enum Values</th></tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>&nbsp;</td>
+        <td class="jd-linkcol">CREATED&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that onCreate has been called.&nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>&nbsp;</td>
+        <td class="jd-linkcol">DESTROYED&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that onDestroy has been called - system is shutting down the activity.&nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>&nbsp;</td>
+        <td class="jd-linkcol">PAUSED&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that onPause has been called - activity is no longer in the foreground.&nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>&nbsp;</td>
+        <td class="jd-linkcol">PRE_ON_CREATE&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that onCreate is being called before any onCreate code executes.&nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>&nbsp;</td>
+        <td class="jd-linkcol">RESTARTED&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that onResume has been called - we have navigated back to the activity.&nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>&nbsp;</td>
+        <td class="jd-linkcol">RESUMED&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that onResume has been called - activity is now visible to user.&nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>&nbsp;</td>
+        <td class="jd-linkcol">STARTED&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that onStart has been called.&nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>&nbsp;</td>
+        <td class="jd-linkcol">STOPPED&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          Indicates that onStop has been called - activity is no longer visible to the user.&nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html#valueOf(java.lang.String)">valueOf</a></span>(String name)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+            static
+
+            <a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage[]</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html#values()">values</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Enum" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Enum-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Enum
+
+<div id="inherited-methods-java.lang.Enum">
+  <div id="inherited-methods-java.lang.Enum-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Enum-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(E arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;E&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getDeclaringClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">name</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">ordinal</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;T&nbsp;extends&nbsp;Enum&lt;T&gt;&gt;
+            T</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">valueOf</span>(Class&lt;T&gt; arg0, String arg1)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Comparable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Comparable-trigger"
+          src="../../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  java.lang.Comparable
+
+<div id="inherited-methods-java.lang.Comparable">
+  <div id="inherited-methods-java.lang.Comparable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Comparable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(T arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Enum Values</h2>
+
+
+
+
+<A NAME="CREATED"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>
+      </span>
+        CREATED
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Indicates that onCreate has been called. </p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="DESTROYED"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>
+      </span>
+        DESTROYED
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Indicates that onDestroy has been called - system is shutting down the activity. </p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="PAUSED"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>
+      </span>
+        PAUSED
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Indicates that onPause has been called - activity is no longer in the foreground. </p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="PRE_ON_CREATE"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>
+      </span>
+        PRE_ON_CREATE
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Indicates that onCreate is being called before any onCreate code executes.</p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="RESTARTED"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>
+      </span>
+        RESTARTED
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Indicates that onResume has been called - we have navigated back to the activity. </p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="RESUMED"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>
+      </span>
+        RESUMED
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Indicates that onResume has been called - activity is now visible to user. </p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="STARTED"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>
+      </span>
+        STARTED
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Indicates that onStart has been called. </p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="STOPPED"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>
+      </span>
+        STOPPED
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Indicates that onStop has been called - activity is no longer visible to the user. </p></div>
+
+
+    </div>
+</div>
+
+
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="valueOf(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a>
+      </span>
+      <span class="sympad">valueOf</span>
+      <span class="normal">(String name)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="values()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+
+
+        <a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage[]</a>
+      </span>
+      <span class="sympad">values</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/runner/lifecycle/package-summary.html b/docs/html/reference/android/support/test/runner/lifecycle/package-summary.html
new file mode 100644
index 0000000..b613b8c
--- /dev/null
+++ b/docs/html/reference/android/support/test/runner/lifecycle/package-summary.html
@@ -0,0 +1,716 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
+<title>android.support.test.runner.lifecycle | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+
+<body class="gc-documentation
+  develop reference">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../../index.html">
+            <img src="../../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">android.support.test.runner.lifecycle</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleCallback.html">ActivityLifecycleCallback</a></li>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html">ActivityLifecycleMonitor</a></li>
+      </ul>
+    </li>
+
+
+    <li><h2>Enums</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a></li>
+      </ul>
+    </li>
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+<div class="api-level">
+
+
+
+
+</div>
+</div>
+
+<div id="jd-header">
+  package
+  <h1>android.support.test.runner.lifecycle</h1>
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+
+
+
+
+
+
+
+
+
+
+    <h2>Interfaces</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleCallback.html">ActivityLifecycleCallback</a></td>
+        <td class="jd-descrcol" width="100%">
+          Callback for monitoring activity lifecycle events.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/runner/lifecycle/ActivityLifecycleMonitor.html">ActivityLifecycleMonitor</a></td>
+        <td class="jd-descrcol" width="100%">
+          Interface for tests to use when they need to query the activity lifecycle state.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+
+
+
+    <h2>Enums</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../../reference/android/support/test/runner/lifecycle/Stage.html">Stage</a></td>
+        <td class="jd-descrcol" width="100%">
+          An enumeration of the lifecycle stages an activity undergoes.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+
+
+
+
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div><!-- end jd-content -->
+</div><!-- doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/runner/package-summary.html b/docs/html/reference/android/support/test/runner/package-summary.html
new file mode 100644
index 0000000..82d6cf0
--- /dev/null
+++ b/docs/html/reference/android/support/test/runner/package-summary.html
@@ -0,0 +1,717 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>android.support.test.runner | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+
+<body class="gc-documentation
+  develop reference">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">android.support.test.runner</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+
+    <li><h2>Classes</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/runner/AndroidJUnit4.html">AndroidJUnit4</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/runner/AndroidJUnitRunner.html">AndroidJUnitRunner</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html">MonitoringInstrumentation</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.ActivityFinisher.html">MonitoringInstrumentation.ActivityFinisher</a></li>
+      </ul>
+    </li>
+
+
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+<div class="api-level">
+
+
+
+
+</div>
+</div>
+
+<div id="jd-header">
+  package
+  <h1>android.support.test.runner</h1>
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+
+
+
+
+
+
+
+
+
+
+
+
+
+    <h2>Classes</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/runner/AndroidJUnit4.html">AndroidJUnit4</a></td>
+        <td class="jd-descrcol" width="100%">
+          Aliases the current default Android JUnit 4 class runner, for future-proofing.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/runner/AndroidJUnitRunner.html">AndroidJUnitRunner</a></td>
+        <td class="jd-descrcol" width="100%">
+          An <code><a href="../../../../../reference/android/app/Instrumentation.html">Instrumentation</a></code> that runs JUnit3 and JUnit4 tests against
+ an Android package (application).&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.html">MonitoringInstrumentation</a></td>
+        <td class="jd-descrcol" width="100%">
+          An instrumentation that enables several advanced features and makes some hard guarantees about
+ the state of the application under instrumentation.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/runner/MonitoringInstrumentation.ActivityFinisher.html">MonitoringInstrumentation.ActivityFinisher</a></td>
+        <td class="jd-descrcol" width="100%">
+          Loops through all the activities that have not yet finished and explicitly calls finish
+ on them.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+
+
+
+
+
+
+
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div><!-- end jd-content -->
+</div><!-- doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/By.html b/docs/html/reference/android/support/test/uiautomator/By.html
new file mode 100644
index 0000000..2dcd317
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/By.html
@@ -0,0 +1,3058 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>By | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">By</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">By</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.By</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody"><p><code><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></code> is a utility class which enables the creation of <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>s in a concise
+ manner.</p>
+
+ <p>Its primary function is to provide static factory methods for constructing <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>s
+ using a shortened syntax. For example, you would use <code>findObject(By.text("foo"))</code> rather
+ than <code>findObject(new BySelector().text("foo"))</code> to select UI elements with the text value
+ "foo".</p>
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#checkable(boolean)">checkable</a></span>(boolean isCheckable)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the checkable criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#checked(boolean)">checked</a></span>(boolean isChecked)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the checked criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#clazz(java.util.regex.Pattern)">clazz</a></span>(Pattern className)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the class name criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#clazz(java.lang.String)">clazz</a></span>(String className)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the class name criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#clazz(java.lang.Class)">clazz</a></span>(Class clazz)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the class name criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#clazz(java.lang.String, java.lang.String)">clazz</a></span>(String packageName, String className)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the class name criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#clickable(boolean)">clickable</a></span>(boolean isClickable)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the clickable criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#copy(android.support.test.uiautomator.BySelector)">copy</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> original)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and copies the criteria from <code>original</code>.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#depth(int)">depth</a></span>(int depth)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the depth criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#desc(java.util.regex.Pattern)">desc</a></span>(Pattern contentDescription)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the content description criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#desc(java.lang.String)">desc</a></span>(String contentDescription)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the content description criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#descContains(java.lang.String)">descContains</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the content description criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#descEndsWith(java.lang.String)">descEndsWith</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the content description criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#descStartsWith(java.lang.String)">descStartsWith</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the content description criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#enabled(boolean)">enabled</a></span>(boolean isEnabled)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the enabled criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#focusable(boolean)">focusable</a></span>(boolean isFocusable)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the focusable criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#focused(boolean)">focused</a></span>(boolean isFocused)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the focused criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#hasChild(android.support.test.uiautomator.BySelector)">hasChild</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> childSelector)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and adds a child selector criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#hasDescendant(android.support.test.uiautomator.BySelector, int)">hasDescendant</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> descendantSelector, int maxDepth)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and adds a descendant selector criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#hasDescendant(android.support.test.uiautomator.BySelector)">hasDescendant</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> descendantSelector)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and adds a descendant selector criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#longClickable(boolean)">longClickable</a></span>(boolean isLongClickable)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the long clickable criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#pkg(java.lang.String)">pkg</a></span>(String applicationPackage)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the application package name criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#pkg(java.util.regex.Pattern)">pkg</a></span>(Pattern applicationPackage)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the application package name criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#res(java.lang.String)">res</a></span>(String resourceName)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the resource name criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#res(java.util.regex.Pattern)">res</a></span>(Pattern resourceName)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the resource id criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#res(java.lang.String, java.lang.String)">res</a></span>(String resourcePackage, String resourceId)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the resource name criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#scrollable(boolean)">scrollable</a></span>(boolean isScrollable)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the scrollable criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#selected(boolean)">selected</a></span>(boolean isSelected)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the selected criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#text(java.util.regex.Pattern)">text</a></span>(Pattern regex)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the text value criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#text(java.lang.String)">text</a></span>(String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the text value criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#textContains(java.lang.String)">textContains</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the text value criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#textEndsWith(java.lang.String)">textEndsWith</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the text value criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/By.html#textStartsWith(java.lang.String)">textStartsWith</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the text value criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="checkable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">checkable</span>
+      <span class="normal">(boolean isCheckable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the checkable criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#checkable(boolean)">checkable(boolean)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="checked(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">checked</span>
+      <span class="normal">(boolean isChecked)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the checked criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#checked(boolean)">checked(boolean)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="clazz(java.util.regex.Pattern)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">clazz</span>
+      <span class="normal">(Pattern className)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the class name criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#clazz(java.util.regex.Pattern)">clazz(Pattern)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="clazz(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">clazz</span>
+      <span class="normal">(String className)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the class name criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#clazz(java.lang.String)">clazz(String)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="clazz(java.lang.Class)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">clazz</span>
+      <span class="normal">(Class clazz)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the class name criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#clazz(java.lang.Class)">clazz(Class)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="clazz(java.lang.String, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">clazz</span>
+      <span class="normal">(String packageName, String className)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the class name criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#clazz(java.lang.String, java.lang.String)">clazz(String, String)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="clickable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">clickable</span>
+      <span class="normal">(boolean isClickable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the clickable criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#clickable(boolean)">clickable(boolean)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="copy(android.support.test.uiautomator.BySelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">copy</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> original)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and copies the criteria from <code>original</code>.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="depth(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">depth</span>
+      <span class="normal">(int depth)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the depth criteria.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="desc(java.util.regex.Pattern)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">desc</span>
+      <span class="normal">(Pattern contentDescription)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the content description criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#desc(java.util.regex.Pattern)">desc(Pattern)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="desc(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">desc</span>
+      <span class="normal">(String contentDescription)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the content description criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#desc(java.lang.String)">desc(String)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="descContains(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">descContains</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the content description criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#descContains(java.lang.String)">descContains(String)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="descEndsWith(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">descEndsWith</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the content description criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#descEndsWith(java.lang.String)">descEndsWith(String)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="descStartsWith(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">descStartsWith</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the content description criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#descStartsWith(java.lang.String)">descStartsWith(String)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="enabled(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">enabled</span>
+      <span class="normal">(boolean isEnabled)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the enabled criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#enabled(boolean)">enabled(boolean)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="focusable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">focusable</span>
+      <span class="normal">(boolean isFocusable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the focusable criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#focusable(boolean)">focusable(boolean)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="focused(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">focused</span>
+      <span class="normal">(boolean isFocused)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the focused criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#focused(boolean)">focused(boolean)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="hasChild(android.support.test.uiautomator.BySelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">hasChild</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> childSelector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and adds a child selector criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#hasChild(android.support.test.uiautomator.BySelector)">hasChild(BySelector)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="hasDescendant(android.support.test.uiautomator.BySelector, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">hasDescendant</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> descendantSelector, int maxDepth)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and adds a descendant selector criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#hasDescendant(android.support.test.uiautomator.BySelector, int)">hasDescendant(BySelector, int)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="hasDescendant(android.support.test.uiautomator.BySelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">hasDescendant</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> descendantSelector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and adds a descendant selector criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#hasDescendant(android.support.test.uiautomator.BySelector)">hasDescendant(BySelector)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="longClickable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">longClickable</span>
+      <span class="normal">(boolean isLongClickable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the long clickable criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#longClickable(boolean)">longClickable(boolean)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pkg(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">pkg</span>
+      <span class="normal">(String applicationPackage)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the application package name criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#pkg(java.lang.String)">pkg(String)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pkg(java.util.regex.Pattern)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">pkg</span>
+      <span class="normal">(Pattern applicationPackage)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the application package name criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#pkg(java.util.regex.Pattern)">pkg(Pattern)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="res(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">res</span>
+      <span class="normal">(String resourceName)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the resource name criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#res(java.lang.String)">res(String)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="res(java.util.regex.Pattern)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">res</span>
+      <span class="normal">(Pattern resourceName)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the resource id criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#res(java.util.regex.Pattern)">res(Pattern)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="res(java.lang.String, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">res</span>
+      <span class="normal">(String resourcePackage, String resourceId)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the resource name criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#res(java.lang.String, java.lang.String)">res(String, String)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">scrollable</span>
+      <span class="normal">(boolean isScrollable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the scrollable criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#scrollable(boolean)">scrollable(boolean)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="selected(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">selected</span>
+      <span class="normal">(boolean isSelected)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the selected criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#selected(boolean)">selected(boolean)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="text(java.util.regex.Pattern)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">text</span>
+      <span class="normal">(Pattern regex)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the text value criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#text(java.util.regex.Pattern)">text(Pattern)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="text(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">text</span>
+      <span class="normal">(String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the text value criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#text(java.lang.String)">text(String)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="textContains(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">textContains</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the text value criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#textContains(java.lang.String)">textContains(String)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="textEndsWith(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">textEndsWith</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the text value criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#textEndsWith(java.lang.String)">textEndsWith(String)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="textStartsWith(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">textStartsWith</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a new <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> and sets the text value criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#textStartsWith(java.lang.String)">textStartsWith(String)</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/BySelector.html b/docs/html/reference/android/support/test/uiautomator/BySelector.html
new file mode 100644
index 0000000..4f0b9b1
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/BySelector.html
@@ -0,0 +1,3563 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>BySelector | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">BySelector</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">BySelector</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.BySelector</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> specifies criteria for matching UI elements during a call to
+ <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#findObject(android.support.test.uiautomator.BySelector)">findObject(BySelector)</a></code>.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#checkable(boolean)">checkable</a></span>(boolean isCheckable)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the search criteria to match elements that are checkable or not checkable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#checked(boolean)">checked</a></span>(boolean isChecked)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the search criteria to match elements that are checked or unchecked.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#clazz(java.util.regex.Pattern)">clazz</a></span>(Pattern className)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the class name criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#clazz(java.lang.String)">clazz</a></span>(String className)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the class name criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#clazz(java.lang.Class)">clazz</a></span>(Class clazz)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the class name criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#clazz(java.lang.String, java.lang.String)">clazz</a></span>(String packageName, String className)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the class name criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#clickable(boolean)">clickable</a></span>(boolean isClickable)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the search criteria to match elements that are clickable or not clickable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#depth(int)">depth</a></span>(int exactDepth)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the search criteria to match elements that are at a certain depth.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#depth(int, int)">depth</a></span>(int min, int max)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the search criteria to match elements that are in a range of depths.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#desc(java.util.regex.Pattern)">desc</a></span>(Pattern contentDescription)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the content description criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#desc(java.lang.String)">desc</a></span>(String contentDescription)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the content description criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#descContains(java.lang.String)">descContains</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the content description criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#descEndsWith(java.lang.String)">descEndsWith</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the content description criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#descStartsWith(java.lang.String)">descStartsWith</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the content description criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#enabled(boolean)">enabled</a></span>(boolean isEnabled)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the search criteria to match elements that are enabled or disabled.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#focusable(boolean)">focusable</a></span>(boolean isFocusable)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the search criteria to match elements that are focusable or not focusable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#focused(boolean)">focused</a></span>(boolean isFocused)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the search criteria to match elements that are focused or unfocused.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#hasChild(android.support.test.uiautomator.BySelector)">hasChild</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> childSelector)</nobr>
+
+        <div class="jd-descrdiv">
+          Adds a child selector criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#hasDescendant(android.support.test.uiautomator.BySelector, int)">hasDescendant</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> descendantSelector, int maxDepth)</nobr>
+
+        <div class="jd-descrdiv">
+          Adds a descendant selector criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#hasDescendant(android.support.test.uiautomator.BySelector)">hasDescendant</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> descendantSelector)</nobr>
+
+        <div class="jd-descrdiv">
+          Adds a descendant selector criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#longClickable(boolean)">longClickable</a></span>(boolean isLongClickable)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the search criteria to match elements that are long clickable or not long clickable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#maxDepth(int)">maxDepth</a></span>(int max)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the search criteria to match elements that are no more than a certain depth.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#minDepth(int)">minDepth</a></span>(int min)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the search criteria to match elements that are at least a certain depth.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#pkg(java.lang.String)">pkg</a></span>(String applicationPackage)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the application package name criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#pkg(java.util.regex.Pattern)">pkg</a></span>(Pattern applicationPackage)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the package name criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#res(java.lang.String)">res</a></span>(String resourceName)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the resource name criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#res(java.util.regex.Pattern)">res</a></span>(Pattern resourceName)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the resource name criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#res(java.lang.String, java.lang.String)">res</a></span>(String resourcePackage, String resourceId)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the resource name criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#scrollable(boolean)">scrollable</a></span>(boolean isScrollable)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the search criteria to match elements that are scrollable or not scrollable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#selected(boolean)">selected</a></span>(boolean isSelected)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the search criteria to match elements that are selected or not selected.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#text(java.util.regex.Pattern)">text</a></span>(Pattern textValue)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the text value criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#text(java.lang.String)">text</a></span>(String textValue)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the text value criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#textContains(java.lang.String)">textContains</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the text value criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#textEndsWith(java.lang.String)">textEndsWith</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the text value criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#textStartsWith(java.lang.String)">textStartsWith</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the text value criteria for matching.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html#toString()">toString</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../reference/java/lang/String.html">String</a></code> representation of this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="checkable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">checkable</span>
+      <span class="normal">(boolean isCheckable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the search criteria to match elements that are checkable or not checkable.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isCheckable</td>
+          <td>Whether to match elements that are checkable or elements that are not
+ checkable.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="checked(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">checked</span>
+      <span class="normal">(boolean isChecked)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the search criteria to match elements that are checked or unchecked.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isChecked</td>
+          <td>Whether to match elements that are checked or elements that are unchecked.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="clazz(java.util.regex.Pattern)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">clazz</span>
+      <span class="normal">(Pattern className)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the class name criteria for matching. A UI element will be considered a match if its
+ full class name matches the <code>className</code> <code><a href="../../../../../reference/java/util/regex/Pattern.html">Pattern</a></code> and all other criteria for this
+ selector are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>className</td>
+          <td>The <code><a href="../../../../../reference/java/util/regex/Pattern.html">Pattern</a></code> to be used for matching.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="clazz(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">clazz</span>
+      <span class="normal">(String className)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the class name criteria for matching. A UI element will be considered a match if its
+ class name exactly matches the <code>className</code> parameter and all other criteria for
+ this selector are met. If <code>className</code> starts with a period, it is assumed to be in the
+ <code><a href="../../../../../reference/android/widget/package-summary.html">android.widget</a></code> package.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>className</td>
+          <td>The full class name value to match.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="clazz(java.lang.Class)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">clazz</span>
+      <span class="normal">(Class clazz)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the class name criteria for matching. A UI element will be considered a match if its
+ class name matches <code>clazz</code> and all other criteria for this selector are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>clazz</td>
+          <td>The class to match.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="clazz(java.lang.String, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">clazz</span>
+      <span class="normal">(String packageName, String className)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the class name criteria for matching. A UI element will be considered a match if its
+ package and class name exactly match the <code>packageName</code> and <code>className</code> parameters
+ and all other criteria for this selector are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>packageName</td>
+          <td>The package value to match.</td>
+        </tr>
+        <tr>
+          <th>className</td>
+          <td>The class name value to match.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="clickable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">clickable</span>
+      <span class="normal">(boolean isClickable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the search criteria to match elements that are clickable or not clickable.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isClickable</td>
+          <td>Whether to match elements that are clickable or elements that are not
+ clickable.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="depth(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">depth</span>
+      <span class="normal">(int exactDepth)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the search criteria to match elements that are at a certain depth. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="depth(int, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">depth</span>
+      <span class="normal">(int min, int max)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the search criteria to match elements that are in a range of depths. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="desc(java.util.regex.Pattern)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">desc</span>
+      <span class="normal">(Pattern contentDescription)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the content description criteria for matching. A UI element will be considered a match
+ if its content description matches the <code>contentDescription</code> <code><a href="../../../../../reference/java/util/regex/Pattern.html">Pattern</a></code> and all
+ other criteria for this selector are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>contentDescription</td>
+          <td>The <code><a href="../../../../../reference/java/util/regex/Pattern.html">Pattern</a></code> to be used for matching.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="desc(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">desc</span>
+      <span class="normal">(String contentDescription)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the content description criteria for matching. A UI element will be considered a match
+ if its content description exactly matches the <code>contentDescription</code> parameter and all
+ other criteria for this selector are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>contentDescription</td>
+          <td>The exact value to match.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="descContains(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">descContains</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the content description criteria for matching. A UI element will be considered a match
+ if its content description contains the <code>substring</code> parameter and all other criteria
+ for this selector are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>substring</td>
+          <td>The substring to match.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="descEndsWith(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">descEndsWith</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the content description criteria for matching. A UI element will be considered a match
+ if its content description ends with the <code>substring</code> parameter and all other criteria
+ for this selector are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>substring</td>
+          <td>The substring to match.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="descStartsWith(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">descStartsWith</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the content description criteria for matching. A UI element will be considered a match
+ if its content description starts with the <code>substring</code> parameter and all other criteria
+ for this selector are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>substring</td>
+          <td>The substring to match.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="enabled(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">enabled</span>
+      <span class="normal">(boolean isEnabled)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the search criteria to match elements that are enabled or disabled.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isEnabled</td>
+          <td>Whether to match elements that are enabled or elements that are disabled.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="focusable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">focusable</span>
+      <span class="normal">(boolean isFocusable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the search criteria to match elements that are focusable or not focusable.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isFocusable</td>
+          <td>Whether to match elements that are focusable or elements that are not
+ focusable.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="focused(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">focused</span>
+      <span class="normal">(boolean isFocused)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the search criteria to match elements that are focused or unfocused.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isFocused</td>
+          <td>Whether to match elements that are focused or elements that are unfocused.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="hasChild(android.support.test.uiautomator.BySelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">hasChild</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> childSelector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Adds a child selector criteria for matching. A UI element will be considered a match if it
+ has a child element (direct descendant) which matches the <code>childSelector</code> and all
+ other criteria for this selector are met. If specified more than once, matches must be found
+ for all <code>childSelector</code>s.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>childSelector</td>
+          <td>The selector used to find a matching child element.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="hasDescendant(android.support.test.uiautomator.BySelector, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">hasDescendant</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> descendantSelector, int maxDepth)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Adds a descendant selector criteria for matching. A UI element will be considered a match if
+ it has a descendant element which matches the <code>descendantSelector</code> and all other
+ criteria for this selector are met. If specified more than once, matches must be found for
+ all <code>descendantSelector</code>s.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>descendantSelector</td>
+          <td>The selector used to find a matching descendant element.</td>
+        </tr>
+        <tr>
+          <th>maxDepth</td>
+          <td>The maximum depth under the element to search the descendant.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="hasDescendant(android.support.test.uiautomator.BySelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">hasDescendant</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> descendantSelector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Adds a descendant selector criteria for matching. A UI element will be considered a match if
+ it has a descendant element which matches the <code>descendantSelector</code> and all other
+ criteria for this selector are met. If specified more than once, matches must be found for
+ all <code>descendantSelector</code>s.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>descendantSelector</td>
+          <td>The selector used to find a matching descendant element.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="longClickable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">longClickable</span>
+      <span class="normal">(boolean isLongClickable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the search criteria to match elements that are long clickable or not long clickable.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isLongClickable</td>
+          <td>Whether to match elements that are long clickable or elements that are
+ not long clickable.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="maxDepth(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">maxDepth</span>
+      <span class="normal">(int max)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the search criteria to match elements that are no more than a certain depth. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="minDepth(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">minDepth</span>
+      <span class="normal">(int min)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the search criteria to match elements that are at least a certain depth. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="pkg(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">pkg</span>
+      <span class="normal">(String applicationPackage)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the application package name criteria for matching. A UI element will be considered a
+ match if its application package name exactly matches the <code>applicationPackage</code>
+ parameter and all other criteria for this selector are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>applicationPackage</td>
+          <td>The exact value to match.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pkg(java.util.regex.Pattern)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">pkg</span>
+      <span class="normal">(Pattern applicationPackage)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the package name criteria for matching. A UI element will be considered a match if its
+ application package name matches the <code>applicationPackage</code> <code><a href="../../../../../reference/java/util/regex/Pattern.html">Pattern</a></code> and all other
+ criteria for this selector are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>applicationPackage</td>
+          <td>The <code><a href="../../../../../reference/java/util/regex/Pattern.html">Pattern</a></code> to be used for matching.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="res(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">res</span>
+      <span class="normal">(String resourceName)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the resource name criteria for matching. A UI element will be considered a match if its
+ resource name exactly matches the <code>resourceName</code> parameter and all other criteria for
+ this selector are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>resourceName</td>
+          <td>The exact value to match.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="res(java.util.regex.Pattern)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">res</span>
+      <span class="normal">(Pattern resourceName)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the resource name criteria for matching. A UI element will be considered a match if its
+ resource name matches the <code>resourceName</code> <code><a href="../../../../../reference/java/util/regex/Pattern.html">Pattern</a></code> and all other criteria for
+ this selector are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>resourceName</td>
+          <td>The <code><a href="../../../../../reference/java/util/regex/Pattern.html">Pattern</a></code> to be used for matching.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="res(java.lang.String, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">res</span>
+      <span class="normal">(String resourcePackage, String resourceId)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the resource name criteria for matching. A UI element will be considered a match if its
+ resource package and resource id exactly match the <code>resourcePackage</code> and
+ <code>resourceId</code> parameters and all other criteria for this selector are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>resourcePackage</td>
+          <td>The resource package value to match.</td>
+        </tr>
+        <tr>
+          <th>resourceId</td>
+          <td>The resouce-id value to match.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">scrollable</span>
+      <span class="normal">(boolean isScrollable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the search criteria to match elements that are scrollable or not scrollable.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isScrollable</td>
+          <td>Whether to match elements that are scrollable or elements that are not
+ scrollable.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="selected(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">selected</span>
+      <span class="normal">(boolean isSelected)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the search criteria to match elements that are selected or not selected.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isSelected</td>
+          <td>Whether to match elements that are selected or elements that are not
+ selected.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="text(java.util.regex.Pattern)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">text</span>
+      <span class="normal">(Pattern textValue)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the text value criteria for matching. A UI element will be considered a match if its
+ text value matches the <code>textValue</code> <code><a href="../../../../../reference/java/util/regex/Pattern.html">Pattern</a></code> and all other criteria for this
+ selector are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>textValue</td>
+          <td>The <code><a href="../../../../../reference/java/util/regex/Pattern.html">Pattern</a></code> to be used for matching.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="text(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">text</span>
+      <span class="normal">(String textValue)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the text value criteria for matching. A UI element will be considered a match if its
+ text value exactly matches the <code>textValue</code> parameter and all other criteria for this
+ selector are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>textValue</td>
+          <td>The exact value to match.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="textContains(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">textContains</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the text value criteria for matching. A UI element will be considered a match if its
+ text value contains the <code>substring</code> parameter and all other criteria for this selector
+ are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>substring</td>
+          <td>The substring to match.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="textEndsWith(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">textEndsWith</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the text value criteria for matching. A UI element will be considered a match if its
+ text value ends with the <code>substring</code> parameter and all other criteria for this selector
+ are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>substring</td>
+          <td>The substring to match.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="textStartsWith(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a>
+      </span>
+      <span class="sympad">textStartsWith</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the text value criteria for matching. A UI element will be considered a match if its
+ text value starts with the <code>substring</code> parameter and all other criteria for this
+ selector are met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>substring</td>
+          <td>The substring to match.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>A reference to this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="toString()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">toString</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../reference/java/lang/String.html">String</a></code> representation of this <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>. The format is
+ "BySelector [&lt;KEY&gt;='&lt;VALUE&gt; ... ]". Each criteria is listed as a key-value pair
+ where the key is the name of the criteria expressed in all caps (e.g. CLAZZ, RES, etc).
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/Configurator.html b/docs/html/reference/android/support/test/uiautomator/Configurator.html
new file mode 100644
index 0000000..ca448ef
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/Configurator.html
@@ -0,0 +1,1842 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>Configurator | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">Configurator</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    class
+<h1 itemprop="name">Configurator</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.Configurator</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Allows you to set key parameters for running uiautomator tests. The new
+ settings take effect immediately and can be changed any time during a test run.
+
+ To modify parameters using Configurator, first obtain an instance by calling
+ <code><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#getInstance()">getInstance()</a></code>. As a best practice, make sure you always save
+ the original value of any parameter that you are modifying. After running your
+ tests with the modified parameters, make sure to also restore
+ the original parameter values, otherwise this will impact other tests cases.</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            long</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#getActionAcknowledgmentTimeout()">getActionAcknowledgmentTimeout</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Gets the current timeout for waiting for an acknowledgment of generic
+ uiautomator actions, such as clicks, text setting, and menu presses.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#getInstance()">getInstance</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Retrieves a singleton instance of Configurator.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            long</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#getKeyInjectionDelay()">getKeyInjectionDelay</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Gets the current delay between key presses when injecting text input.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            long</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#getScrollAcknowledgmentTimeout()">getScrollAcknowledgmentTimeout</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Gets the timeout for waiting for an acknowledgement of an
+ uiautomtor scroll swipe action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            long</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#getWaitForIdleTimeout()">getWaitForIdleTimeout</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Gets the current timeout used for waiting for the user interface to go
+ into an idle state.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            long</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#getWaitForSelectorTimeout()">getWaitForSelectorTimeout</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Gets the current timeout for waiting for a widget to become visible in
+ the user interface so that it can be matched by a selector.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#setActionAcknowledgmentTimeout(long)">setActionAcknowledgmentTimeout</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the timeout for waiting for an acknowledgment of generic uiautomator
+ actions, such as clicks, text setting, and menu presses.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#setKeyInjectionDelay(long)">setKeyInjectionDelay</a></span>(long delay)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets a delay between key presses when injecting text input.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#setScrollAcknowledgmentTimeout(long)">setScrollAcknowledgmentTimeout</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the timeout for waiting for an acknowledgement of an
+ uiautomtor scroll swipe action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#setWaitForIdleTimeout(long)">setWaitForIdleTimeout</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the timeout for waiting for the user interface to go into an idle
+ state before starting a uiautomator action.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#setWaitForSelectorTimeout(long)">setWaitForSelectorTimeout</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the timeout for waiting for a widget to become visible in the user
+ interface so that it can be matched by a selector.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getActionAcknowledgmentTimeout()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        long
+      </span>
+      <span class="sympad">getActionAcknowledgmentTimeout</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Gets the current timeout for waiting for an acknowledgment of generic
+ uiautomator actions, such as clicks, text setting, and menu presses.
+
+ The acknowledgment is an <a href="http://developer.android.com/reference/android/view/accessibility/AccessibilityEvent.html">AccessibilityEvent</a>,
+ corresponding to an action, that lets the framework determine if the
+ action was successful. Generally, this timeout should not be modified.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>current timeout in milliseconds</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getInstance()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a>
+      </span>
+      <span class="sympad">getInstance</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Retrieves a singleton instance of Configurator.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>Configurator instance</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getKeyInjectionDelay()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        long
+      </span>
+      <span class="sympad">getKeyInjectionDelay</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Gets the current delay between key presses when injecting text input.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#setText(java.lang.String)">setText(String)</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>current delay in milliseconds</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getScrollAcknowledgmentTimeout()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        long
+      </span>
+      <span class="sympad">getScrollAcknowledgmentTimeout</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Gets the timeout for waiting for an acknowledgement of an
+ uiautomtor scroll swipe action.
+
+ The acknowledgment is an <a href="http://developer.android.com/reference/android/view/accessibility/AccessibilityEvent.html">AccessibilityEvent</a>,
+ corresponding to the scroll action, that lets the framework determine if
+ the scroll action was successful. Generally, this timeout should not be modified.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>current timeout in milliseconds</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getWaitForIdleTimeout()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        long
+      </span>
+      <span class="sympad">getWaitForIdleTimeout</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Gets the current timeout used for waiting for the user interface to go
+ into an idle state.
+
+ By default, all core uiautomator objects except <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></code> will perform
+ this wait before starting to search for the widget specified by the
+ object's <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>. Once the idle state is detected or the
+ timeout elapses (whichever occurs first), the object will start to wait
+ for the selector to find a match.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#setWaitForSelectorTimeout(long)">setWaitForSelectorTimeout(long)</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>Current timeout value in milliseconds</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getWaitForSelectorTimeout()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        long
+      </span>
+      <span class="sympad">getWaitForSelectorTimeout</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Gets the current timeout for waiting for a widget to become visible in
+ the user interface so that it can be matched by a selector.
+
+ Because user interface content is dynamic, sometimes a widget may not
+ be visible immediately and won't be detected by a selector. This timeout
+ allows the uiautomator framework to wait for a match to be found, up until
+ the timeout elapses.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>Current timeout value in milliseconds</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="setActionAcknowledgmentTimeout(long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a>
+      </span>
+      <span class="sympad">setActionAcknowledgmentTimeout</span>
+      <span class="normal">(long timeout)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the timeout for waiting for an acknowledgment of generic uiautomator
+ actions, such as clicks, text setting, and menu presses.
+
+ The acknowledgment is an <a href="http://developer.android.com/reference/android/view/accessibility/AccessibilityEvent.html">AccessibilityEvent</a>,
+ corresponding to an action, that lets the framework determine if the
+ action was successful. Generally, this timeout should not be modified.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>timeout</td>
+          <td>Timeout value in milliseconds</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>self</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="setKeyInjectionDelay(long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a>
+      </span>
+      <span class="sympad">setKeyInjectionDelay</span>
+      <span class="normal">(long delay)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets a delay between key presses when injecting text input.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#setText(java.lang.String)">setText(String)</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>delay</td>
+          <td>Delay value in milliseconds</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>self</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="setScrollAcknowledgmentTimeout(long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a>
+      </span>
+      <span class="sympad">setScrollAcknowledgmentTimeout</span>
+      <span class="normal">(long timeout)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the timeout for waiting for an acknowledgement of an
+ uiautomtor scroll swipe action.
+
+ The acknowledgment is an <a href="http://developer.android.com/reference/android/view/accessibility/AccessibilityEvent.html">AccessibilityEvent</a>,
+ corresponding to the scroll action, that lets the framework determine if
+ the scroll action was successful. Generally, this timeout should not be modified.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>timeout</td>
+          <td>Timeout value in milliseconds</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>self</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="setWaitForIdleTimeout(long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a>
+      </span>
+      <span class="sympad">setWaitForIdleTimeout</span>
+      <span class="normal">(long timeout)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the timeout for waiting for the user interface to go into an idle
+ state before starting a uiautomator action.
+
+ By default, all core uiautomator objects except <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></code> will perform
+ this wait before starting to search for the widget specified by the
+ object's <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>. Once the idle state is detected or the
+ timeout elapses (whichever occurs first), the object will start to wait
+ for the selector to find a match.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#setWaitForSelectorTimeout(long)">setWaitForSelectorTimeout(long)</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>timeout</td>
+          <td>Timeout value in milliseconds</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>self</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="setWaitForSelectorTimeout(long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a>
+      </span>
+      <span class="sympad">setWaitForSelectorTimeout</span>
+      <span class="normal">(long timeout)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the timeout for waiting for a widget to become visible in the user
+ interface so that it can be matched by a selector.
+
+ Because user interface content is dynamic, sometimes a widget may not
+ be visible immediately and won't be detected by a selector. This timeout
+ allows the uiautomator framework to wait for a match to be found, up until
+ the timeout elapses.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>timeout</td>
+          <td>Timeout value in milliseconds.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>self</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/Direction.html b/docs/html/reference/android/support/test/uiautomator/Direction.html
new file mode 100644
index 0000000..ae3bf12
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/Direction.html
@@ -0,0 +1,1697 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>Direction | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">Direction</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+  <a href="#enumconstants">Enums</a>
+
+
+
+
+
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+    final
+
+    enum
+<h1 itemprop="name">Direction</h1>
+
+
+
+
+
+
+
+
+    extends Enum&lt;E&nbsp;extends&nbsp;Enum&lt;E&gt;&gt;<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Enum&lt;E&nbsp;extends&nbsp;java.lang.Enum&lt;E&gt;&gt;</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.Direction</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">An enumeration used to specify the primary direction of certain gestures. </p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="enumconstants" class="jd-sumtable"><tr><th colspan="12">Enum Values</th></tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a>&nbsp;</td>
+        <td class="jd-linkcol">DOWN&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a>&nbsp;</td>
+        <td class="jd-linkcol">LEFT&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a>&nbsp;</td>
+        <td class="jd-linkcol">RIGHT&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-descrcol"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a>&nbsp;</td>
+        <td class="jd-linkcol">UP&nbsp;</td>
+        <td class="jd-descrcol" width="100%">
+          &nbsp;
+
+
+
+        </td>
+    </tr>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html#reverse(android.support.test.uiautomator.Direction)">reverse</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a> direction)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the reverse of the given direction.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html#valueOf(java.lang.String)">valueOf</a></span>(String name)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction[]</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html#values()">values</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Enum" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Enum-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Enum
+
+<div id="inherited-methods-java.lang.Enum">
+  <div id="inherited-methods-java.lang.Enum-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Enum-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(E arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;E&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getDeclaringClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">name</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">ordinal</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+            &lt;T&nbsp;extends&nbsp;Enum&lt;T&gt;&gt;
+            T</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">valueOf</span>(Class&lt;T&gt; arg0, String arg1)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Comparable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Comparable-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  java.lang.Comparable
+
+<div id="inherited-methods-java.lang.Comparable">
+  <div id="inherited-methods-java.lang.Comparable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Comparable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">compareTo</span>(T arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Enum Values</h2>
+
+
+
+
+<A NAME="DOWN"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a>
+      </span>
+        DOWN
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="LEFT"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a>
+      </span>
+        LEFT
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="RIGHT"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a>
+      </span>
+        RIGHT
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+<A NAME="UP"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+        <a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a>
+      </span>
+        UP
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+    </div>
+</div>
+
+
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="reverse(android.support.test.uiautomator.Direction)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a>
+      </span>
+      <span class="sympad">reverse</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a> direction)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the reverse of the given direction. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="valueOf(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a>
+      </span>
+      <span class="sympad">valueOf</span>
+      <span class="normal">(String name)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="values()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+        final
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction[]</a>
+      </span>
+      <span class="sympad">values</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/EventCondition.html b/docs/html/reference/android/support/test/uiautomator/EventCondition.html
new file mode 100644
index 0000000..8620772
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/EventCondition.html
@@ -0,0 +1,1131 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>EventCondition | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">EventCondition</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+    abstract
+    class
+<h1 itemprop="name">EventCondition</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.EventCondition&lt;R&gt;</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">An <code><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></code> is a condition which depends on an event or series of events having
+ occurred.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html#EventCondition()">EventCondition</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="EventCondition()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">EventCondition</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/IAutomationSupport.html b/docs/html/reference/android/support/test/uiautomator/IAutomationSupport.html
new file mode 100644
index 0000000..42a0f45
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/IAutomationSupport.html
@@ -0,0 +1,891 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>IAutomationSupport | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">IAutomationSupport</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">IAutomationSupport</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.IAutomationSupport</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Provides auxiliary support for running test cases</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html#sendStatus(int, android.os.Bundle)">sendStatus</a></span>(int resultCode, Bundle status)</nobr>
+
+        <div class="jd-descrdiv">
+          Allows the running test cases to send out interim status
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="sendStatus(int, android.os.Bundle)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        void
+      </span>
+      <span class="sympad">sendStatus</span>
+      <span class="normal">(int resultCode, Bundle status)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Allows the running test cases to send out interim status</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>status</td>
+          <td>status report, consisting of key value pairs</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/SearchCondition.html b/docs/html/reference/android/support/test/uiautomator/SearchCondition.html
new file mode 100644
index 0000000..3476019
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/SearchCondition.html
@@ -0,0 +1,1129 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>SearchCondition | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">SearchCondition</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+    abstract
+    class
+<h1 itemprop="name">SearchCondition</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.SearchCondition&lt;R&gt;</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A <code><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></code> is a condition that is satisfied by searching for UI elements. </p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html#SearchCondition()">SearchCondition</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="SearchCondition()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">SearchCondition</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/StaleObjectException.html b/docs/html/reference/android/support/test/uiautomator/StaleObjectException.html
new file mode 100644
index 0000000..84c528e
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/StaleObjectException.html
@@ -0,0 +1,1442 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>StaleObjectException | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">StaleObjectException</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">StaleObjectException</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    extends RuntimeException<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="5" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="4" class="jd-inheritance-class-cell">java.lang.Throwable</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Exception</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.RuntimeException</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.StaleObjectException</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A <code><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></code> exception is thrown when a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code> is used after the
+ underlying <code><a href="../../../../../reference/android/view/View.html">View</a></code> has been destroyed. In this case, it is necessary to call
+ <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#findObject(android.support.test.uiautomator.BySelector)">findObject(BySelector)</a></code> to obtain a new <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code> instance.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html#StaleObjectException()">StaleObjectException</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Throwable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Throwable-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Throwable
+
+<div id="inherited-methods-java.lang.Throwable">
+  <div id="inherited-methods-java.lang.Throwable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Throwable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addSuppressed</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">fillInStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getCause</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getLocalizedMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            StackTraceElement[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Throwable[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getSuppressed</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">initCause</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintStream arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintWriter arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setStackTrace</span>(StackTraceElement[] arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="StaleObjectException()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">StaleObjectException</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html b/docs/html/reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html
new file mode 100644
index 0000000..4a497de
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html
@@ -0,0 +1,2787 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>UiAutomatorInstrumentationTestRunner | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">UiAutomatorInstrumentationTestRunner</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+  <a href="#inhconstants">Inherited Constants</a>
+
+
+
+
+
+  &#124; <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+  &#124; <a href="#promethods">Protected Methods</a>
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">UiAutomatorInstrumentationTestRunner</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+    extends InstrumentationTestRunner<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="4" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="3" class="jd-inheritance-class-cell">android.app.Instrumentation</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">android.test.InstrumentationTestRunner</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.UiAutomatorInstrumentationTestRunner</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Test runner for <code><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></code>s. Such tests are executed
+ on the device and have access to an applications context.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="inhconstants" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Constants</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-constants-android.test.InstrumentationTestRunner" class="jd-expando-trigger closed"
+          ><img id="inherited-constants-android.test.InstrumentationTestRunner-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>From class
+android.test.InstrumentationTestRunner
+<div id="inherited-constants-android.test.InstrumentationTestRunner">
+  <div id="inherited-constants-android.test.InstrumentationTestRunner-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-constants-android.test.InstrumentationTestRunner-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">String</td>
+        <td class="jd-linkcol">REPORT_KEY_NAME_CLASS</td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">String</td>
+        <td class="jd-linkcol">REPORT_KEY_NAME_TEST</td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">String</td>
+        <td class="jd-linkcol">REPORT_KEY_NUM_CURRENT</td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">String</td>
+        <td class="jd-linkcol">REPORT_KEY_NUM_TOTAL</td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">String</td>
+        <td class="jd-linkcol">REPORT_KEY_STACK</td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">String</td>
+        <td class="jd-linkcol">REPORT_VALUE_ID</td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">int</td>
+        <td class="jd-linkcol">REPORT_VALUE_RESULT_ERROR</td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">int</td>
+        <td class="jd-linkcol">REPORT_VALUE_RESULT_FAILURE</td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">int</td>
+        <td class="jd-linkcol">REPORT_VALUE_RESULT_OK</td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">int</td>
+        <td class="jd-linkcol">REPORT_VALUE_RESULT_START</td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-constants-android.app.Instrumentation" class="jd-expando-trigger closed"
+          ><img id="inherited-constants-android.app.Instrumentation-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>From class
+android.app.Instrumentation
+<div id="inherited-constants-android.app.Instrumentation">
+  <div id="inherited-constants-android.app.Instrumentation-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-constants-android.app.Instrumentation-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">String</td>
+        <td class="jd-linkcol">REPORT_KEY_IDENTIFIER</td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">String</td>
+        <td class="jd-linkcol">REPORT_KEY_STREAMRESULT</td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html#UiAutomatorInstrumentationTestRunner()">UiAutomatorInstrumentationTestRunner</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html#onStart()">onStart</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="promethods" class="jd-sumtable"><tr><th colspan="12">Protected Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            AndroidTestRunner</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html#getAndroidTestRunner()">getAndroidTestRunner</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html#initializeUiAutomatorTest(android.support.test.uiautomator.UiAutomatorTestCase)">initializeUiAutomatorTest</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a> test)</nobr>
+
+        <div class="jd-descrdiv">
+          Perform initialization specific to UiAutomator test.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.test.InstrumentationTestRunner" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.test.InstrumentationTestRunner-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  android.test.InstrumentationTestRunner
+
+<div id="inherited-methods-android.test.InstrumentationTestRunner">
+  <div id="inherited-methods-android.test.InstrumentationTestRunner-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.test.InstrumentationTestRunner-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            TestSuite</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getAllTests</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            AndroidTestRunner</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getAndroidTestRunner</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Bundle</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getArguments</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            ClassLoader</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getLoader</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            TestSuite</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getTestSuite</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">onCreate</span>(Bundle arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">onStart</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.app.Instrumentation" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.app.Instrumentation-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  android.app.Instrumentation
+
+<div id="inherited-methods-android.app.Instrumentation">
+  <div id="inherited-methods-android.app.Instrumentation-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.app.Instrumentation-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Instrumentation.ActivityMonitor</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addMonitor</span>(IntentFilter arg0, Instrumentation.ActivityResult arg1, boolean arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addMonitor</span>(Instrumentation.ActivityMonitor arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Instrumentation.ActivityMonitor</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addMonitor</span>(String arg0, Instrumentation.ActivityResult arg1, boolean arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnCreate</span>(Activity arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnCreate</span>(Activity arg0, Bundle arg1, PersistableBundle arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnDestroy</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnNewIntent</span>(Activity arg0, Intent arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnPause</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnPostCreate</span>(Activity arg0, Bundle arg1, PersistableBundle arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnPostCreate</span>(Activity arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnRestart</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnRestoreInstanceState</span>(Activity arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnRestoreInstanceState</span>(Activity arg0, Bundle arg1, PersistableBundle arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnResume</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnSaveInstanceState</span>(Activity arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnSaveInstanceState</span>(Activity arg0, Bundle arg1, PersistableBundle arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnStart</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnStop</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callActivityOnUserLeaving</span>(Activity arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">callApplicationOnCreate</span>(Application arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">checkMonitorHit</span>(Instrumentation.ActivityMonitor arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">endPerformanceSnapshot</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finish</span>(int arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Bundle</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getAllocCounts</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Bundle</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getBinderCounts</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            ComponentName</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getComponentName</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Context</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getContext</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Context</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getTargetContext</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            UiAutomation</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getUiAutomation</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">invokeContextMenuAction</span>(Activity arg0, int arg1, int arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">invokeMenuActionSync</span>(Activity arg0, int arg1, int arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">isProfiling</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">newActivity</span>(ClassLoader arg0, String arg1, Intent arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">newActivity</span>(Class&lt;?&gt; arg0, Context arg1, IBinder arg2, Application arg3, Intent arg4, ActivityInfo arg5, CharSequence arg6, Activity arg7, String arg8, Object arg9)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Application</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">newApplication</span>(ClassLoader arg0, String arg1, Context arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            Application</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">newApplication</span>(Class&lt;?&gt; arg0, Context arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">onCreate</span>(Bundle arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">onDestroy</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">onException</span>(Object arg0, Throwable arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">onStart</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">removeMonitor</span>(Instrumentation.ActivityMonitor arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">runOnMainSync</span>(Runnable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendCharacterSync</span>(int arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendKeyDownUpSync</span>(int arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendKeySync</span>(KeyEvent arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendPointerSync</span>(MotionEvent arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendStatus</span>(int arg0, Bundle arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendStringSync</span>(String arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendTrackballEventSync</span>(MotionEvent arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setAutomaticPerformanceSnapshots</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setInTouchMode</span>(boolean arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">start</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">startActivitySync</span>(Intent arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">startAllocCounting</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">startPerformanceSnapshot</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">startProfiling</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">stopAllocCounting</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">stopProfiling</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">waitForIdle</span>(Runnable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">waitForIdleSync</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">waitForMonitor</span>(Instrumentation.ActivityMonitor arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Activity</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">waitForMonitorWithTimeout</span>(Instrumentation.ActivityMonitor arg0, long arg1)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.test.TestSuiteProvider" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.test.TestSuiteProvider-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  android.test.TestSuiteProvider
+
+<div id="inherited-methods-android.test.TestSuiteProvider">
+  <div id="inherited-methods-android.test.TestSuiteProvider-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.test.TestSuiteProvider-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            TestSuite</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getTestSuite</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="UiAutomatorInstrumentationTestRunner()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">UiAutomatorInstrumentationTestRunner</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="onStart()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">onStart</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+<h2>Protected Methods</h2>
+
+
+
+<A NAME="getAndroidTestRunner()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        protected
+
+
+
+
+        AndroidTestRunner
+      </span>
+      <span class="sympad">getAndroidTestRunner</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="initializeUiAutomatorTest(android.support.test.uiautomator.UiAutomatorTestCase)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        protected
+
+
+
+
+        void
+      </span>
+      <span class="sympad">initializeUiAutomatorTest</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a> test)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Perform initialization specific to UiAutomator test. It sets up the test case so that
+ it can access the UiDevice and gives it access to the command line arguments.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>test</td>
+          <td>UiAutomatorTestCase to initialize.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/UiAutomatorTestCase.html b/docs/html/reference/android/support/test/uiautomator/UiAutomatorTestCase.html
new file mode 100644
index 0000000..45859df
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/UiAutomatorTestCase.html
@@ -0,0 +1,2577 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>UiAutomatorTestCase | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">UiAutomatorTestCase</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">UiAutomatorTestCase</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    extends InstrumentationTestCase<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="5" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="4" class="jd-inheritance-class-cell">junit.framework.Assert</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="3" class="jd-inheritance-class-cell">junit.framework.TestCase</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">android.test.InstrumentationTestCase</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.UiAutomatorTestCase</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+<p>
+  <p class="caution"><strong>
+      This class is deprecated.</strong><br/>
+    It is no longer necessary to extend UiAutomatorTestCase. You can use
+ <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#getInstance(android.app.Instrumentation)">getInstance(Instrumentation)</a></code> from any test class as long as you have access to
+ an <code><a href="../../../../../reference/android/app/Instrumentation.html">Instrumentation</a></code> instance.
+
+  </p>
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">UI Automator test case that is executed on the device.</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html#UiAutomatorTestCase()">UiAutomatorTestCase</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html#getAutomationSupport()">getAutomationSupport</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          <em>
+      This method is deprecated.
+    Use <code><a href="../../../../../reference/android/app/Instrumentation.html#sendStatus(int, android.os.Bundle)">sendStatus(int, Bundle)</a></code> instead
+</em>
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Bundle</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html#getParams()">getParams</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Get command line parameters.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html#getUiDevice()">getUiDevice</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Get current instance of <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></code>.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html#sleep(long)">sleep</a></span>(long ms)</nobr>
+
+        <div class="jd-descrdiv">
+          <em>
+      This method is deprecated.
+    Use <code><a href="../../../../../reference/android/os/SystemClock.html#sleep(long)">sleep(long)</a></code> instead.
+</em>
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.test.InstrumentationTestCase" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.test.InstrumentationTestCase-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  android.test.InstrumentationTestCase
+
+<div id="inherited-methods-android.test.InstrumentationTestCase">
+  <div id="inherited-methods-android.test.InstrumentationTestCase-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.test.InstrumentationTestCase-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Instrumentation</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getInstrumentation</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">injectInsrumentation</span>(Instrumentation arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">injectInstrumentation</span>(Instrumentation arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+            &lt;T&nbsp;extends&nbsp;Activity&gt;
+            T</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">launchActivity</span>(String arg0, Class&lt;T&gt; arg1, Bundle arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+            &lt;T&nbsp;extends&nbsp;Activity&gt;
+            T</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">launchActivityWithIntent</span>(String arg0, Class&lt;T&gt; arg1, Intent arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">runTest</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">runTestOnUiThread</span>(Runnable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendKeys</span>(String arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendKeys</span>(int... arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">sendRepeatedKeys</span>(int... arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">tearDown</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-junit.framework.TestCase" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-junit.framework.TestCase-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  junit.framework.TestCase
+
+<div id="inherited-methods-junit.framework.TestCase">
+  <div id="inherited-methods-junit.framework.TestCase-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-junit.framework.TestCase-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">countTestCases</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            TestResult</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">createResult</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getName</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            TestResult</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">run</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">run</span>(TestResult arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">runBare</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">runTest</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setName</span>(String arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setUp</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">tearDown</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-junit.framework.Assert" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-junit.framework.Assert-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  junit.framework.Assert
+
+<div id="inherited-methods-junit.framework.Assert">
+  <div id="inherited-methods-junit.framework.Assert-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-junit.framework.Assert-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(short arg0, short arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(String arg0, int arg1, int arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(String arg0, short arg1, short arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(char arg0, char arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(String arg0, String arg1, String arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(int arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(String arg0, double arg1, double arg2, double arg3)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(String arg0, long arg1, long arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(byte arg0, byte arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(Object arg0, Object arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(boolean arg0, boolean arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(String arg0, float arg1, float arg2, float arg3)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(String arg0, boolean arg1, boolean arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(String arg0, String arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(float arg0, float arg1, float arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(String arg0, byte arg1, byte arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(double arg0, double arg1, double arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(String arg0, char arg1, char arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(String arg0, Object arg1, Object arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertEquals</span>(long arg0, long arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertFalse</span>(String arg0, boolean arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertFalse</span>(boolean arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertNotNull</span>(String arg0, Object arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertNotNull</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertNotSame</span>(Object arg0, Object arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertNotSame</span>(String arg0, Object arg1, Object arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertNull</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertNull</span>(String arg0, Object arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertSame</span>(Object arg0, Object arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertSame</span>(String arg0, Object arg1, Object arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertTrue</span>(String arg0, boolean arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">assertTrue</span>(boolean arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">fail</span>(String arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">fail</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">failNotEquals</span>(String arg0, Object arg1, Object arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">failNotSame</span>(String arg0, Object arg1, Object arg2)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">failSame</span>(String arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">format</span>(String arg0, Object arg1, Object arg2)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-junit.framework.Test" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-junit.framework.Test-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From interface
+
+  junit.framework.Test
+
+<div id="inherited-methods-junit.framework.Test">
+  <div id="inherited-methods-junit.framework.Test-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-junit.framework.Test-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">countTestCases</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">run</span>(TestResult arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="UiAutomatorTestCase()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">UiAutomatorTestCase</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getAutomationSupport()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a>
+      </span>
+      <span class="sympad">getAutomationSupport</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+      <p>
+  <p class="caution"><strong>
+      This method is deprecated.</strong><br/>
+    Use <code><a href="../../../../../reference/android/app/Instrumentation.html#sendStatus(int, android.os.Bundle)">sendStatus(int, Bundle)</a></code> instead
+
+  </p>
+  <div class="jd-tagdata jd-tagdescr"><p>Provides support for running tests to report interim status</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>IAutomationSupport</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getParams()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Bundle
+      </span>
+      <span class="sympad">getParams</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Get command line parameters. On the command line when passing <code>-e key value</code>
+ pairs, the <code><a href="../../../../../reference/android/os/Bundle.html">Bundle</a></code> will have the key value pairs conveniently available to the
+ tests.</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getUiDevice()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a>
+      </span>
+      <span class="sympad">getUiDevice</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Get current instance of <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></code>. Works similar to calling the static
+ <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#getInstance()">getInstance()</a></code> from anywhere in the test classes.</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="sleep(long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">sleep</span>
+      <span class="normal">(long ms)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+      <p>
+  <p class="caution"><strong>
+      This method is deprecated.</strong><br/>
+    Use <code><a href="../../../../../reference/android/os/SystemClock.html#sleep(long)">sleep(long)</a></code> instead.
+
+  </p>
+  <div class="jd-tagdata jd-tagdescr"><p>Calls <code><a href="../../../../../reference/android/os/SystemClock.html#sleep(long)">sleep(long)</a></code> to sleep</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>ms</td>
+          <td>is in milliseconds.</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/UiCollection.html b/docs/html/reference/android/support/test/uiautomator/UiCollection.html
new file mode 100644
index 0000000..8689b36
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/UiCollection.html
@@ -0,0 +1,2703 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>UiCollection | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">UiCollection</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+  <a href="#inhconstants">Inherited Constants</a>
+
+
+
+
+
+  &#124; <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">UiCollection</h1>
+
+
+
+
+
+
+
+
+    extends <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a><br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">android.support.test.uiautomator.UiObject</a></td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.UiCollection</td>
+    </tr>
+
+
+</table>
+
+
+
+
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-direct" class="jd-expando-trigger closed"
+          ><img id="subclasses-direct-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>Known Direct Subclasses
+
+  <div id="subclasses-direct">
+      <div id="subclasses-direct-list"
+              class="jd-inheritedlinks"
+
+              >
+
+
+              <a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a>
+
+
+      </div>
+      <div id="subclasses-direct-summary"
+              style="display: none;"
+              >
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></td>
+        <td class="jd-descrcol" width="100%">
+          UiScrollable is a <code><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></code> and provides support for searching
+ for items in scrollable layout elements.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+      </div>
+  </div>
+</td></tr></table>
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Used to enumerate a container's UI elements for the purpose of counting,
+ or targeting a sub elements by a child's text or description.</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="inhconstants" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Constants</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-constants-android.support.test.uiautomator.UiObject" class="jd-expando-trigger closed"
+          ><img id="inherited-constants-android.support.test.uiautomator.UiObject-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>From class
+<a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">android.support.test.uiautomator.UiObject</a>
+<div id="inherited-constants-android.support.test.uiautomator.UiObject">
+  <div id="inherited-constants-android.support.test.uiautomator.UiObject-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-constants-android.support.test.uiautomator.UiObject-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">int</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#FINGER_TOUCH_HALF_WIDTH">FINGER_TOUCH_HALF_WIDTH</a></td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">int</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#SWIPE_MARGIN_LIMIT">SWIPE_MARGIN_LIMIT</a></td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">long</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#WAIT_FOR_EVENT_TMEOUT">WAIT_FOR_EVENT_TMEOUT</a></td>
+        <td class="jd-descrcol" width="100%">
+          <em>
+      This constant is deprecated.
+    use <code><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#setScrollAcknowledgmentTimeout(long)">setScrollAcknowledgmentTimeout(long)</a></code>
+</em>
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">long</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#WAIT_FOR_SELECTOR_POLL">WAIT_FOR_SELECTOR_POLL</a></td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">long</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#WAIT_FOR_SELECTOR_TIMEOUT">WAIT_FOR_SELECTOR_TIMEOUT</a></td>
+        <td class="jd-descrcol" width="100%">
+          <em>
+      This constant is deprecated.
+    use <code><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#setWaitForSelectorTimeout(long)">setWaitForSelectorTimeout(long)</a></code>
+</em>
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">long</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#WAIT_FOR_WINDOW_TMEOUT">WAIT_FOR_WINDOW_TMEOUT</a></td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html#UiCollection(android.support.test.uiautomator.UiSelector)">UiCollection</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructs an instance as described by the selector
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html#getChildByDescription(android.support.test.uiautomator.UiSelector, java.lang.String)">getChildByDescription</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Searches for child UI element within the constraints of this UiCollection <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>
+ selector.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html#getChildByInstance(android.support.test.uiautomator.UiSelector, int)">getChildByInstance</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, int instance)</nobr>
+
+        <div class="jd-descrdiv">
+          Searches for child UI element within the constraints of this UiCollection <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>
+ selector.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html#getChildByText(android.support.test.uiautomator.UiSelector, java.lang.String)">getChildByText</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Searches for child UI element within the constraints of this UiCollection <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>
+ selector.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html#getChildCount(android.support.test.uiautomator.UiSelector)">getChildCount</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern)</nobr>
+
+        <div class="jd-descrdiv">
+          Counts child UI element instances matching the <code>childPattern</code>
+ argument.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.uiautomator.UiObject" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.uiautomator.UiObject-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">android.support.test.uiautomator.UiObject</a>
+
+<div id="inherited-methods-android.support.test.uiautomator.UiObject">
+  <div id="inherited-methods-android.support.test.uiautomator.UiObject-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.uiautomator.UiObject-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#clearTextField()">clearTextField</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Clears the existing text contents in an editable field.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#click()">click</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a click at the center of the visible bounds of the UI element represented
+ by this UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#clickAndWaitForNewWindow(long)">clickAndWaitForNewWindow</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a click at the center of the visible bounds of the UI element represented
+ by this UiObject and waits for window transitions.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#clickAndWaitForNewWindow()">clickAndWaitForNewWindow</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Waits for window transitions that would typically take longer than the
+ usual default timeouts.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#clickBottomRight()">clickBottomRight</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Clicks the bottom and right corner of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#clickTopLeft()">clickTopLeft</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Clicks the top and left corner of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#dragTo(android.support.test.uiautomator.UiObject, int)">dragTo</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a> destObj, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Drags this object to a destination UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#dragTo(int, int, int)">dragTo</a></span>(int destX, int destY, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Drags this object to arbitrary coordinates.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#exists()">exists</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if view exists.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            AccessibilityNodeInfo</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#findAccessibilityNodeInfo(long)">findAccessibilityNodeInfo</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Finds a matching UI element in the accessibility hierarchy, by
+ using the selector for this UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Rect</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getBounds()">getBounds</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the view's <code>bounds</code> property.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getChild(android.support.test.uiautomator.UiSelector)">getChild</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Creates a new UiObject for a child view that is under the present UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getChildCount()">getChildCount</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Counts the child views immediately under the present UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getClassName()">getClassName</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Retrieves the <code>className</code> property of the UI element.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getContentDescription()">getContentDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Reads the <code>content_desc</code> property of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getFromParent(android.support.test.uiautomator.UiSelector)">getFromParent</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Creates a new UiObject for a sibling view or a child of the sibling view,
+ relative to the present UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getPackageName()">getPackageName</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Reads the view's <code>package</code> property
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getSelector()">getSelector</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Debugging helper.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getText()">getText</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Reads the <code>text</code> property of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Rect</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getVisibleBounds()">getVisibleBounds</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the visible bounds of the view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isCheckable()">isCheckable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Checks if the UI element's <code>checkable</code> property is currently true.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isChecked()">isChecked</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if the UI element's <code>checked</code> property is currently true
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isClickable()">isClickable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Checks if the UI element's <code>clickable</code> property is currently true.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isEnabled()">isEnabled</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Checks if the UI element's <code>enabled</code> property is currently true.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isFocusable()">isFocusable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if the UI element's <code>focusable</code> property is currently true.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isFocused()">isFocused</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if the UI element's <code>focused</code> property is currently true
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isLongClickable()">isLongClickable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if the view's <code>long-clickable</code> property is currently true
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isScrollable()">isScrollable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if the view's <code>scrollable</code> property is currently true
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isSelected()">isSelected</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Checks if the UI element's <code>selected</code> property is currently true.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#longClick()">longClick</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Long clicks the center of the visible bounds of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#longClickBottomRight()">longClickBottomRight</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Long clicks bottom and right corner of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#longClickTopLeft()">longClickTopLeft</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Long clicks on the top and left corner of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#performMultiPointerGesture(android.view.MotionEvent.PointerCoords[]...)">performMultiPointerGesture</a></span>(PointerCoords... touches)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a multi-touch gesture.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#performTwoPointerGesture(android.graphics.Point, android.graphics.Point, android.graphics.Point, android.graphics.Point, int)">performTwoPointerGesture</a></span>(Point startPoint1, Point startPoint2, Point endPoint1, Point endPoint2, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Generates a two-pointer gesture with arbitrary starting and ending points.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#pinchIn(int, int)">pinchIn</a></span>(int percent, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a two-pointer gesture, where each pointer moves diagonally
+ toward the other, from the edges to the center of this UiObject .
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#pinchOut(int, int)">pinchOut</a></span>(int percent, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a two-pointer gesture, where each pointer moves diagonally
+ opposite across the other, from the center out towards the edges of the
+ this UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#setText(java.lang.String)">setText</a></span>(String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the text in an editable field, after clearing the field's content.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#swipeDown(int)">swipeDown</a></span>(int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs the swipe down action on the UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#swipeLeft(int)">swipeLeft</a></span>(int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs the swipe left action on the UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#swipeRight(int)">swipeRight</a></span>(int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs the swipe right action on the UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#swipeUp(int)">swipeUp</a></span>(int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs the swipe up action on the UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#waitForExists(long)">waitForExists</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Waits a specified length of time for a view to become visible.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#waitUntilGone(long)">waitUntilGone</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Waits a specified length of time for a view to become undetectable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="UiCollection(android.support.test.uiautomator.UiSelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">UiCollection</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs an instance as described by the selector</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="getChildByDescription(android.support.test.uiautomator.UiSelector, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a>
+      </span>
+      <span class="sympad">getChildByDescription</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Searches for child UI element within the constraints of this UiCollection <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>
+ selector.
+
+ It looks for any child matching the <code>childPattern</code> argument that has
+ a child UI element anywhere within its sub hierarchy that has content-description text.
+ The returned UiObject will point at the <code>childPattern</code> instance that matched the
+ search and not at the identifying child element that matched the content description.</p></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>childPattern</td>
+          <td><code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> selector of the child pattern to match and return</td>
+        </tr>
+        <tr>
+          <th>text</td>
+          <td>String of the identifying child contents of of the <code>childPattern</code></td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></code> pointing at and instance of <code>childPattern</code></li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getChildByInstance(android.support.test.uiautomator.UiSelector, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a>
+      </span>
+      <span class="sympad">getChildByInstance</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, int instance)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Searches for child UI element within the constraints of this UiCollection <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>
+ selector.
+
+ It looks for any child matching the <code>childPattern</code> argument that has
+ a child UI element anywhere within its sub hierarchy that is at the <code>instance</code>
+ specified. The operation is performed only on the visible items and no scrolling is performed
+ in this case.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>childPattern</td>
+          <td><code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> selector of the child pattern to match and return</td>
+        </tr>
+        <tr>
+          <th>instance</td>
+          <td>int the desired matched instance of this <code>childPattern</code></td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></code> pointing at and instance of <code>childPattern</code></li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getChildByText(android.support.test.uiautomator.UiSelector, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a>
+      </span>
+      <span class="sympad">getChildByText</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Searches for child UI element within the constraints of this UiCollection <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>
+ selector.
+
+ It looks for any child matching the <code>childPattern</code> argument that has
+ a child UI element anywhere within its sub hierarchy that has text attribute =
+ <code>text</code>. The returned UiObject will point at the <code>childPattern</code>
+ instance that matched the search and not at the identifying child element that matched the
+ text attribute.</p></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>childPattern</td>
+          <td><code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> selector of the child pattern to match and return</td>
+        </tr>
+        <tr>
+          <th>text</td>
+          <td>String of the identifying child contents of of the <code>childPattern</code></td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></code> pointing at and instance of <code>childPattern</code></li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getChildCount(android.support.test.uiautomator.UiSelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        int
+      </span>
+      <span class="sympad">getChildCount</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Counts child UI element instances matching the <code>childPattern</code>
+ argument. The method returns the number of matching UI elements that are
+ currently visible.  The count does not include items of a scrollable list
+ that are off-screen.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>childPattern</td>
+          <td>a <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> that represents the matching child UI
+ elements to count</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>the number of matched childPattern under the current <code><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></code></li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/UiDevice.html b/docs/html/reference/android/support/test/uiautomator/UiDevice.html
new file mode 100644
index 0000000..3eb721f
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/UiDevice.html
@@ -0,0 +1,4889 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>UiDevice | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">UiDevice</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">UiDevice</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.UiDevice</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">UiDevice provides access to state information about the device.
+ You can also use this class to simulate user actions on the device,
+ such as pressing the d-pad or pressing the Home and Menu buttons.</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#clearLastTraversedText()">clearLastTraversedText</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Clears the text from the last UI traversal event.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#click(int, int)">click</a></span>(int x, int y)</nobr>
+
+        <div class="jd-descrdiv">
+          Perform a click at arbitrary coordinates specified by the user
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#drag(int, int, int, int, int)">drag</a></span>(int startX, int startY, int endX, int endY, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a swipe from one coordinate to another coordinate.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#dumpWindowHierarchy(java.lang.String)">dumpWindowHierarchy</a></span>(String fileName)</nobr>
+
+        <div class="jd-descrdiv">
+          Helper method used for debugging to dump the current window's layout hierarchy.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#findObject(android.support.test.uiautomator.BySelector)">findObject</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the first object to match the <code>selector</code> criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#findObject(android.support.test.uiautomator.UiSelector)">findObject</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a UiObject which represents a view that matches the specified selector criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            List&lt;<a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a>&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#findObjects(android.support.test.uiautomator.BySelector)">findObjects</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns all objects that match the <code>selector</code> criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#freezeRotation()">freezeRotation</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Disables the sensors and freezes the device rotation at its
+ current rotation state.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#getCurrentActivityName()">getCurrentActivityName</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          <em>
+      This method is deprecated.
+    The results returned should be considered unreliable</em>
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#getCurrentPackageName()">getCurrentPackageName</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Retrieves the name of the last package to report accessibility events.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#getDisplayHeight()">getDisplayHeight</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Gets the height of the display, in pixels.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#getDisplayRotation()">getDisplayRotation</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the current rotation of the display, as defined in <code><a href="../../../../../reference/android/view/Surface.html">Surface</a></code>
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Point</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#getDisplaySizeDp()">getDisplaySizeDp</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the display size in dp (device-independent pixel)
+
+ The returned display size is adjusted per screen rotation.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#getDisplayWidth()">getDisplayWidth</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Gets the width of the display, in pixels.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#getInstance(android.app.Instrumentation)">getInstance</a></span>(Instrumentation instrumentation)</nobr>
+
+        <div class="jd-descrdiv">
+          Retrieves a singleton instance of UiDevice
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#getInstance()">getInstance</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          <em>
+      This method is deprecated.
+    Should use <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#getInstance(android.app.Instrumentation)">getInstance(Instrumentation)</a></code> instead. This version hides
+ UiDevice's dependency on having an Instrumentation reference and is prone to misuse.</em>
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#getLastTraversedText()">getLastTraversedText</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Retrieves the text from the last UI traversal event received.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#getProductName()">getProductName</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Retrieves the product name of the device.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#hasAnyWatcherTriggered()">hasAnyWatcherTriggered</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Checks if any registered <code><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></code> have triggered.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#hasObject(android.support.test.uiautomator.BySelector)">hasObject</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns whether there is a match for the given <code>selector</code> criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#hasWatcherTriggered(java.lang.String)">hasWatcherTriggered</a></span>(String watcherName)</nobr>
+
+        <div class="jd-descrdiv">
+          Checks if a specific registered  <code><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></code> has triggered.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#isNaturalOrientation()">isNaturalOrientation</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if the device is in its natural orientation.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#isScreenOn()">isScreenOn</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Checks the power manager if the screen is ON.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#openNotification()">openNotification</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Opens the notification shade.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#openQuickSettings()">openQuickSettings</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Opens the Quick Settings shade.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+            &lt;R&gt;
+            R</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#performActionAndWait(java.lang.Runnable, android.support.test.uiautomator.EventCondition<R>, long)">performActionAndWait</a></span>(Runnable action, <a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a>&lt;R&gt; condition, long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs the provided <code>action</code> and waits for the <code>condition</code> to be met.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#pressBack()">pressBack</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates a short press on the BACK button.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#pressDPadCenter()">pressDPadCenter</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates a short press on the CENTER button.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#pressDPadDown()">pressDPadDown</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates a short press on the DOWN button.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#pressDPadLeft()">pressDPadLeft</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates a short press on the LEFT button.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#pressDPadRight()">pressDPadRight</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates a short press on the RIGHT button.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#pressDPadUp()">pressDPadUp</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates a short press on the UP button.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#pressDelete()">pressDelete</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates a short press on the DELETE key.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#pressEnter()">pressEnter</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates a short press on the ENTER key.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#pressHome()">pressHome</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates a short press on the HOME button.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#pressKeyCode(int, int)">pressKeyCode</a></span>(int keyCode, int metaState)</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates a short press using a key code.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#pressKeyCode(int)">pressKeyCode</a></span>(int keyCode)</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates a short press using a key code.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#pressMenu()">pressMenu</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates a short press on the MENU button.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#pressRecentApps()">pressRecentApps</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates a short press on the Recent Apps button.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#pressSearch()">pressSearch</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates a short press on the SEARCH button.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#registerWatcher(java.lang.String, android.support.test.uiautomator.UiWatcher)">registerWatcher</a></span>(String name, <a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a> watcher)</nobr>
+
+        <div class="jd-descrdiv">
+          Registers a <code><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></code> to run automatically when the testing framework is unable to
+ find a match using a <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#removeWatcher(java.lang.String)">removeWatcher</a></span>(String name)</nobr>
+
+        <div class="jd-descrdiv">
+          Removes a previously registered <code><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></code>.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#resetWatcherTriggers()">resetWatcherTriggers</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Resets a <code><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></code> that has been triggered.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#runWatchers()">runWatchers</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          This method forces all registered watchers to run.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#setCompressedLayoutHeirarchy(boolean)">setCompressedLayoutHeirarchy</a></span>(boolean compressed)</nobr>
+
+        <div class="jd-descrdiv">
+          Enables or disables layout hierarchy compression.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#setOrientationLeft()">setOrientationLeft</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates orienting the device to the left and also freezes rotation
+ by disabling the sensors.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#setOrientationNatural()">setOrientationNatural</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates orienting the device into its natural orientation and also freezes rotation
+ by disabling the sensors.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#setOrientationRight()">setOrientationRight</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Simulates orienting the device to the right and also freezes rotation
+ by disabling the sensors.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#sleep()">sleep</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          This method simply presses the power button if the screen is ON else
+ it does nothing if the screen is already OFF.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#swipe(android.graphics.Point[], int)">swipe</a></span>(Point[] segments, int segmentSteps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a swipe between points in the Point array.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#swipe(int, int, int, int, int)">swipe</a></span>(int startX, int startY, int endX, int endY, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a swipe from one coordinate to another using the number of steps
+ to determine smoothness and speed.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#takeScreenshot(java.io.File)">takeScreenshot</a></span>(File storePath)</nobr>
+
+        <div class="jd-descrdiv">
+          Take a screenshot of current window and store it as PNG
+
+ Default scale of 1.0f (original size) and 90% quality is used
+ The screenshot is adjusted per screen rotation
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#takeScreenshot(java.io.File, float, int)">takeScreenshot</a></span>(File storePath, float scale, int quality)</nobr>
+
+        <div class="jd-descrdiv">
+          Take a screenshot of current window and store it as PNG
+
+ The screenshot is adjusted per screen rotation
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#unfreezeRotation()">unfreezeRotation</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Re-enables the sensors and un-freezes the device rotation allowing its contents
+ to rotate with the device physical rotation.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+            &lt;R&gt;
+            R</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#wait(android.support.test.uiautomator.SearchCondition<R>, long)">wait</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a>&lt;R&gt; condition, long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Waits for given the <code>condition</code> to be met.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#waitForIdle(long)">waitForIdle</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Waits for the current application to idle.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#waitForIdle()">waitForIdle</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Waits for the current application to idle.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#waitForWindowUpdate(java.lang.String, long)">waitForWindowUpdate</a></span>(String packageName, long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Waits for a window content update event to occur.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#wakeUp()">wakeUp</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          This method simulates pressing the power button if the screen is OFF else
+ it does nothing if the screen is already ON.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="clearLastTraversedText()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">clearLastTraversedText</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Clears the text from the last UI traversal event.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#getLastTraversedText()">getLastTraversedText()</a></code>.</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="click(int, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">click</span>
+      <span class="normal">(int x, int y)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Perform a click at arbitrary coordinates specified by the user</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>x</td>
+          <td>coordinate</td>
+        </tr>
+        <tr>
+          <th>y</td>
+          <td>coordinate</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if the click succeeded else false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="drag(int, int, int, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">drag</span>
+      <span class="normal">(int startX, int startY, int endX, int endY, int steps)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a swipe from one coordinate to another coordinate. You can control
+ the smoothness and speed of the swipe by specifying the number of steps.
+ Each step execution is throttled to 5 milliseconds per step, so for a 100
+ steps, the swipe will take around 0.5 seconds to complete.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>startX</td>
+          <td>X-axis value for the starting coordinate</td>
+        </tr>
+        <tr>
+          <th>startY</td>
+          <td>Y-axis value for the starting coordinate</td>
+        </tr>
+        <tr>
+          <th>endX</td>
+          <td>X-axis value for the ending coordinate</td>
+        </tr>
+        <tr>
+          <th>endY</td>
+          <td>Y-axis value for the ending coordinate</td>
+        </tr>
+        <tr>
+          <th>steps</td>
+          <td>is the number of steps for the swipe action</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if swipe is performed, false if the operation fails
+ or the coordinates are invalid</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="dumpWindowHierarchy(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">dumpWindowHierarchy</span>
+      <span class="normal">(String fileName)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Helper method used for debugging to dump the current window's layout hierarchy.
+ Relative file paths are stored the application's internal private storage location.</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="findObject(android.support.test.uiautomator.BySelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a>
+      </span>
+      <span class="sympad">findObject</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the first object to match the <code>selector</code> criteria. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="findObject(android.support.test.uiautomator.UiSelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a>
+      </span>
+      <span class="sympad">findObject</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a UiObject which represents a view that matches the specified selector criteria.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiObject object
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="findObjects(android.support.test.uiautomator.BySelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        List&lt;<a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a>&gt;
+      </span>
+      <span class="sympad">findObjects</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns all objects that match the <code>selector</code> criteria. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="freezeRotation()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">freezeRotation</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Disables the sensors and freezes the device rotation at its
+ current rotation state.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>RemoteException</td>
+        </tr>
+        <tr>
+            <th>RemoteException</td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getCurrentActivityName()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getCurrentActivityName</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+      <p>
+  <p class="caution"><strong>
+      This method is deprecated.</strong><br/>
+    The results returned should be considered unreliable
+  </p>
+  <div class="jd-tagdata jd-tagdescr"><p>Retrieves the last activity to report accessibility events.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>String name of activity</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getCurrentPackageName()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getCurrentPackageName</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Retrieves the name of the last package to report accessibility events.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>String name of package</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getDisplayHeight()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        int
+      </span>
+      <span class="sympad">getDisplayHeight</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Gets the height of the display, in pixels. The size is adjusted based
+ on the current orientation of the display.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>height in pixels or zero on failure</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getDisplayRotation()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        int
+      </span>
+      <span class="sympad">getDisplayRotation</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the current rotation of the display, as defined in <code><a href="../../../../../reference/android/view/Surface.html">Surface</a></code></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getDisplaySizeDp()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Point
+      </span>
+      <span class="sympad">getDisplaySizeDp</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the display size in dp (device-independent pixel)
+
+ The returned display size is adjusted per screen rotation. Also this will return the actual
+ size of the screen, rather than adjusted per system decorations (like status bar).</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a Point containing the display size in dp
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getDisplayWidth()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        int
+      </span>
+      <span class="sympad">getDisplayWidth</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Gets the width of the display, in pixels. The width and height details
+ are reported based on the current orientation of the display.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>width in pixels or zero on failure</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getInstance(android.app.Instrumentation)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a>
+      </span>
+      <span class="sympad">getInstance</span>
+      <span class="normal">(Instrumentation instrumentation)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Retrieves a singleton instance of UiDevice</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiDevice instance
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getInstance()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a>
+      </span>
+      <span class="sympad">getInstance</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+      <p>
+  <p class="caution"><strong>
+      This method is deprecated.</strong><br/>
+    Should use <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#getInstance(android.app.Instrumentation)">getInstance(Instrumentation)</a></code> instead. This version hides
+ UiDevice's dependency on having an Instrumentation reference and is prone to misuse.
+  </p>
+  <div class="jd-tagdata jd-tagdescr"><p>Retrieves a singleton instance of UiDevice</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiDevice instance</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getLastTraversedText()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getLastTraversedText</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Retrieves the text from the last UI traversal event received.
+
+ You can use this method to read the contents in a WebView container
+ because the accessibility framework fires events
+ as each text is highlighted. You can write a test to perform
+ directional arrow presses to focus on different elements inside a WebView,
+ and call this method to get the text from each traversed element.
+ If you are testing a view container that can return a reference to a
+ Document Object Model (DOM) object, your test should use the view's
+ DOM instead.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>text of the last traversal event, else return an empty string</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getProductName()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getProductName</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Retrieves the product name of the device.
+
+ This method provides information on what type of device the test is running on. This value is
+ the same as returned by invoking #adb shell getprop ro.product.name.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>product name of the device</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="hasAnyWatcherTriggered()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">hasAnyWatcherTriggered</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Checks if any registered <code><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></code> have triggered.
+
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#registerWatcher(java.lang.String, android.support.test.uiautomator.UiWatcher)">registerWatcher(String, UiWatcher)</a></code>
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#hasWatcherTriggered(java.lang.String)">hasWatcherTriggered(String)</a></code></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="hasObject(android.support.test.uiautomator.BySelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">hasObject</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns whether there is a match for the given <code>selector</code> criteria. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="hasWatcherTriggered(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">hasWatcherTriggered</span>
+      <span class="normal">(String watcherName)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Checks if a specific registered  <code><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></code> has triggered.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#registerWatcher(java.lang.String, android.support.test.uiautomator.UiWatcher)">registerWatcher(String, UiWatcher)</a></code>. If a UiWatcher runs and its
+ <code><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html#checkForCondition()">checkForCondition()</a></code> call returned <code>true</code>, then
+ the UiWatcher is considered triggered. This is helpful if a watcher is detecting errors
+ from ANR or crash dialogs and the test needs to know if a UiWatcher has been triggered.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if triggered else false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isNaturalOrientation()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isNaturalOrientation</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Check if the device is in its natural orientation. This is determined by checking if the
+ orientation is at 0 or 180 degrees.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if it is in natural orientation</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isScreenOn()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isScreenOn</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Checks the power manager if the screen is ON.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if the screen is ON else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>RemoteException</td>
+        </tr>
+        <tr>
+            <th>RemoteException</td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="openNotification()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">openNotification</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Opens the notification shade.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful, else return false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="openQuickSettings()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">openQuickSettings</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Opens the Quick Settings shade.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful, else return false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="performActionAndWait(java.lang.Runnable, android.support.test.uiautomator.EventCondition<R>, long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        R
+      </span>
+      <span class="sympad">performActionAndWait</span>
+      <span class="normal">(Runnable action, <a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a>&lt;R&gt; condition, long timeout)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs the provided <code>action</code> and waits for the <code>condition</code> to be met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>action</td>
+          <td>The <code><a href="../../../../../reference/java/lang/Runnable.html">Runnable</a></code> action to perform.</td>
+        </tr>
+        <tr>
+          <th>condition</td>
+          <td>The <code><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></code> to evaluate.</td>
+        </tr>
+        <tr>
+          <th>timeout</td>
+          <td>Maximum amount of time to wait in milliseconds.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>The final result returned by the condition.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pressBack()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">pressBack</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates a short press on the BACK button.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful, else return false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pressDPadCenter()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">pressDPadCenter</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates a short press on the CENTER button.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful, else return false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pressDPadDown()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">pressDPadDown</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates a short press on the DOWN button.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful, else return false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pressDPadLeft()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">pressDPadLeft</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates a short press on the LEFT button.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful, else return false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pressDPadRight()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">pressDPadRight</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates a short press on the RIGHT button.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful, else return false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pressDPadUp()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">pressDPadUp</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates a short press on the UP button.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful, else return false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pressDelete()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">pressDelete</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates a short press on the DELETE key.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful, else return false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pressEnter()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">pressEnter</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates a short press on the ENTER key.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful, else return false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pressHome()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">pressHome</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates a short press on the HOME button.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful, else return false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pressKeyCode(int, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">pressKeyCode</span>
+      <span class="normal">(int keyCode, int metaState)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates a short press using a key code.
+
+ See <code><a href="../../../../../reference/android/view/KeyEvent.html">KeyEvent</a></code>.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>keyCode</td>
+          <td>the key code of the event.</td>
+        </tr>
+        <tr>
+          <th>metaState</td>
+          <td>an integer in which each bit set to 1 represents a pressed meta key</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful, else return false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pressKeyCode(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">pressKeyCode</span>
+      <span class="normal">(int keyCode)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates a short press using a key code.
+
+ See <code><a href="../../../../../reference/android/view/KeyEvent.html">KeyEvent</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful, else return false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pressMenu()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">pressMenu</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates a short press on the MENU button.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful, else return false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pressRecentApps()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">pressRecentApps</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates a short press on the Recent Apps button.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful, else return false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>RemoteException</td>
+        </tr>
+        <tr>
+            <th>RemoteException</td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pressSearch()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">pressSearch</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates a short press on the SEARCH button.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful, else return false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="registerWatcher(java.lang.String, android.support.test.uiautomator.UiWatcher)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">registerWatcher</span>
+      <span class="normal">(String name, <a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a> watcher)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Registers a <code><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></code> to run automatically when the testing framework is unable to
+ find a match using a <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>. See <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#runWatchers()">runWatchers()</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>name</td>
+          <td>to register the UiWatcher</td>
+        </tr>
+        <tr>
+          <th>watcher</td>
+          <td><code><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></code></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="removeWatcher(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">removeWatcher</span>
+      <span class="normal">(String name)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Removes a previously registered <code><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></code>.
+
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#registerWatcher(java.lang.String, android.support.test.uiautomator.UiWatcher)">registerWatcher(String, UiWatcher)</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>name</td>
+          <td>used to register the UiWatcher</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="resetWatcherTriggers()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">resetWatcherTriggers</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Resets a <code><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></code> that has been triggered.
+ If a UiWatcher runs and its <code><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html#checkForCondition()">checkForCondition()</a></code> call
+ returned <code>true</code>, then the UiWatcher is considered triggered.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#registerWatcher(java.lang.String, android.support.test.uiautomator.UiWatcher)">registerWatcher(String, UiWatcher)</a></code></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="runWatchers()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">runWatchers</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>This method forces all registered watchers to run.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#registerWatcher(java.lang.String, android.support.test.uiautomator.UiWatcher)">registerWatcher(String, UiWatcher)</a></code></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="setCompressedLayoutHeirarchy(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">setCompressedLayoutHeirarchy</span>
+      <span class="normal">(boolean compressed)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Enables or disables layout hierarchy compression.
+
+ If compression is enabled, the layout hierarchy derived from the Acessibility
+ framework will only contain nodes that are important for uiautomator
+ testing. Any unnecessary surrounding layout nodes that make viewing
+ and searching the hierarchy inefficient are removed.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>compressed</td>
+          <td>true to enable compression; else, false to disable</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="setOrientationLeft()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">setOrientationLeft</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates orienting the device to the left and also freezes rotation
+ by disabling the sensors.
+
+ If you want to un-freeze the rotation and re-enable the sensors
+ see <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#unfreezeRotation()">unfreezeRotation()</a></code>.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>RemoteException</td>
+        </tr>
+        <tr>
+            <th>RemoteException</td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="setOrientationNatural()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">setOrientationNatural</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates orienting the device into its natural orientation and also freezes rotation
+ by disabling the sensors.
+
+ If you want to un-freeze the rotation and re-enable the sensors
+ see <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#unfreezeRotation()">unfreezeRotation()</a></code>.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>RemoteException</td>
+        </tr>
+        <tr>
+            <th>RemoteException</td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="setOrientationRight()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">setOrientationRight</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Simulates orienting the device to the right and also freezes rotation
+ by disabling the sensors.
+
+ If you want to un-freeze the rotation and re-enable the sensors
+ see <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#unfreezeRotation()">unfreezeRotation()</a></code>.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>RemoteException</td>
+        </tr>
+        <tr>
+            <th>RemoteException</td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="sleep()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">sleep</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>This method simply presses the power button if the screen is ON else
+ it does nothing if the screen is already OFF.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>RemoteException</td>
+        </tr>
+        <tr>
+            <th>RemoteException</td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="swipe(android.graphics.Point[], int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">swipe</span>
+      <span class="normal">(Point[] segments, int segmentSteps)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a swipe between points in the Point array. Each step execution is throttled
+ to 5ms per step. So for a 100 steps, the swipe will take about 1/2 second to complete</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>segments</td>
+          <td>is Point array containing at least one Point object</td>
+        </tr>
+        <tr>
+          <th>segmentSteps</td>
+          <td>steps to inject between two Points</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true on success</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="swipe(int, int, int, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">swipe</span>
+      <span class="normal">(int startX, int startY, int endX, int endY, int steps)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a swipe from one coordinate to another using the number of steps
+ to determine smoothness and speed. Each step execution is throttled to 5ms
+ per step. So for a 100 steps, the swipe will take about 1/2 second to complete.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>steps</td>
+          <td>is the number of move steps sent to the system</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>false if the operation fails or the coordinates are invalid</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="takeScreenshot(java.io.File)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">takeScreenshot</span>
+      <span class="normal">(File storePath)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Take a screenshot of current window and store it as PNG
+
+ Default scale of 1.0f (original size) and 90% quality is used
+ The screenshot is adjusted per screen rotation</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>storePath</td>
+          <td>where the PNG should be written to</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if screen shot is created successfully, false otherwise</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="takeScreenshot(java.io.File, float, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">takeScreenshot</span>
+      <span class="normal">(File storePath, float scale, int quality)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Take a screenshot of current window and store it as PNG
+
+ The screenshot is adjusted per screen rotation</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>storePath</td>
+          <td>where the PNG should be written to</td>
+        </tr>
+        <tr>
+          <th>scale</td>
+          <td>scale the screenshot down if needed; 1.0f for original size</td>
+        </tr>
+        <tr>
+          <th>quality</td>
+          <td>quality of the PNG compression; range: 0-100</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if screen shot is created successfully, false otherwise</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="unfreezeRotation()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">unfreezeRotation</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Re-enables the sensors and un-freezes the device rotation allowing its contents
+ to rotate with the device physical rotation. During a test execution, it is best to
+ keep the device frozen in a specific orientation until the test case execution has completed.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th>RemoteException</td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="wait(android.support.test.uiautomator.SearchCondition<R>, long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        R
+      </span>
+      <span class="sympad">wait</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a>&lt;R&gt; condition, long timeout)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Waits for given the <code>condition</code> to be met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>condition</td>
+          <td>The <code><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></code> to evaluate.</td>
+        </tr>
+        <tr>
+          <th>timeout</td>
+          <td>Maximum amount of time to wait in milliseconds.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>The final result returned by the condition.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="waitForIdle(long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">waitForIdle</span>
+      <span class="normal">(long timeout)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Waits for the current application to idle.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>timeout</td>
+          <td>in milliseconds</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="waitForIdle()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">waitForIdle</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Waits for the current application to idle.
+ Default wait timeout is 10 seconds</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="waitForWindowUpdate(java.lang.String, long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">waitForWindowUpdate</span>
+      <span class="normal">(String packageName, long timeout)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Waits for a window content update event to occur.
+
+ If a package name for the window is specified, but the current window
+ does not have the same package name, the function returns immediately.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>packageName</td>
+          <td>the specified window package name (can be <code>null</code>).
+        If <code>null</code>, a window update from any front-end window will end the wait</td>
+        </tr>
+        <tr>
+          <th>timeout</td>
+          <td>the timeout for the wait</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if a window update occurred, false if timeout has elapsed or if the current
+         window does not have the specified package name</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="wakeUp()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">wakeUp</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>This method simulates pressing the power button if the screen is OFF else
+ it does nothing if the screen is already ON.
+
+ If the screen was OFF and it just got turned ON, this method will insert a 500ms delay
+ to allow the device time to wake up and accept input.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>RemoteException</td>
+        </tr>
+        <tr>
+            <th>RemoteException</td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/UiObject.html b/docs/html/reference/android/support/test/uiautomator/UiObject.html
new file mode 100644
index 0000000..7a299cc
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/UiObject.html
@@ -0,0 +1,4932 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>UiObject | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">UiObject</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+  <a href="#constants">Constants</a>
+
+
+
+
+
+
+  &#124; <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+  &#124; <a href="#promethods">Protected Methods</a>
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">UiObject</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.UiObject</td>
+    </tr>
+
+
+</table>
+
+
+
+
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-direct" class="jd-expando-trigger closed"
+          ><img id="subclasses-direct-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>Known Direct Subclasses
+
+  <div id="subclasses-direct">
+      <div id="subclasses-direct-list"
+              class="jd-inheritedlinks"
+
+              >
+
+
+              <a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a>
+
+
+      </div>
+      <div id="subclasses-direct-summary"
+              style="display: none;"
+              >
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></td>
+        <td class="jd-descrcol" width="100%">
+          Used to enumerate a container's UI elements for the purpose of counting,
+ or targeting a sub elements by a child's text or description.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+      </div>
+  </div>
+</td></tr></table>
+
+
+
+<table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-indirect" class="jd-expando-trigger closed"
+          ><img id="subclasses-indirect-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>Known Indirect Subclasses
+
+  <div id="subclasses-indirect">
+      <div id="subclasses-indirect-list"
+              class="jd-inheritedlinks"
+
+              >
+
+
+              <a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a>
+
+
+      </div>
+      <div id="subclasses-indirect-summary"
+              style="display: none;"
+              >
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></td>
+        <td class="jd-descrcol" width="100%">
+          UiScrollable is a <code><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></code> and provides support for searching
+ for items in scrollable layout elements.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+      </div>
+  </div>
+</td></tr></table>
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A UiObject is a representation of a view. It is not in any way directly bound to a
+ view as an object reference. A UiObject contains information to help it
+ locate a matching view at runtime based on the <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> properties specified in
+ its constructor. Once you create an instance of a UiObject, it can
+ be reused for different views that match the selector criteria.</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="constants" class="jd-sumtable"><tr><th colspan="12">Constants</th></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">int</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#FINGER_TOUCH_HALF_WIDTH">FINGER_TOUCH_HALF_WIDTH</a></td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">int</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#SWIPE_MARGIN_LIMIT">SWIPE_MARGIN_LIMIT</a></td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">long</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#WAIT_FOR_EVENT_TMEOUT">WAIT_FOR_EVENT_TMEOUT</a></td>
+        <td class="jd-descrcol" width="100%">
+          <em>
+      This constant is deprecated.
+    use <code><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#setScrollAcknowledgmentTimeout(long)">setScrollAcknowledgmentTimeout(long)</a></code>
+</em>
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">long</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#WAIT_FOR_SELECTOR_POLL">WAIT_FOR_SELECTOR_POLL</a></td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">long</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#WAIT_FOR_SELECTOR_TIMEOUT">WAIT_FOR_SELECTOR_TIMEOUT</a></td>
+        <td class="jd-descrcol" width="100%">
+          <em>
+      This constant is deprecated.
+    use <code><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#setWaitForSelectorTimeout(long)">setWaitForSelectorTimeout(long)</a></code>
+</em>
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">long</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#WAIT_FOR_WINDOW_TMEOUT">WAIT_FOR_WINDOW_TMEOUT</a></td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#UiObject(android.support.test.uiautomator.UiSelector)">UiObject</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          <em>
+      This constructor is deprecated.
+    Use <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#findObject(android.support.test.uiautomator.UiSelector)">findObject(UiSelector)</a></code> instead. This version hides
+ UiObject's dependency on UiDevice and is prone to misuse.</em>
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#clearTextField()">clearTextField</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Clears the existing text contents in an editable field.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#click()">click</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a click at the center of the visible bounds of the UI element represented
+ by this UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#clickAndWaitForNewWindow(long)">clickAndWaitForNewWindow</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a click at the center of the visible bounds of the UI element represented
+ by this UiObject and waits for window transitions.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#clickAndWaitForNewWindow()">clickAndWaitForNewWindow</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Waits for window transitions that would typically take longer than the
+ usual default timeouts.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#clickBottomRight()">clickBottomRight</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Clicks the bottom and right corner of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#clickTopLeft()">clickTopLeft</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Clicks the top and left corner of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#dragTo(android.support.test.uiautomator.UiObject, int)">dragTo</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a> destObj, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Drags this object to a destination UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#dragTo(int, int, int)">dragTo</a></span>(int destX, int destY, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Drags this object to arbitrary coordinates.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#exists()">exists</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if view exists.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Rect</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getBounds()">getBounds</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the view's <code>bounds</code> property.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getChild(android.support.test.uiautomator.UiSelector)">getChild</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Creates a new UiObject for a child view that is under the present UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getChildCount()">getChildCount</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Counts the child views immediately under the present UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getClassName()">getClassName</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Retrieves the <code>className</code> property of the UI element.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getContentDescription()">getContentDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Reads the <code>content_desc</code> property of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getFromParent(android.support.test.uiautomator.UiSelector)">getFromParent</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Creates a new UiObject for a sibling view or a child of the sibling view,
+ relative to the present UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getPackageName()">getPackageName</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Reads the view's <code>package</code> property
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getSelector()">getSelector</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Debugging helper.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getText()">getText</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Reads the <code>text</code> property of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Rect</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getVisibleBounds()">getVisibleBounds</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the visible bounds of the view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isCheckable()">isCheckable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Checks if the UI element's <code>checkable</code> property is currently true.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isChecked()">isChecked</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if the UI element's <code>checked</code> property is currently true
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isClickable()">isClickable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Checks if the UI element's <code>clickable</code> property is currently true.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isEnabled()">isEnabled</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Checks if the UI element's <code>enabled</code> property is currently true.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isFocusable()">isFocusable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if the UI element's <code>focusable</code> property is currently true.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isFocused()">isFocused</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if the UI element's <code>focused</code> property is currently true
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isLongClickable()">isLongClickable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if the view's <code>long-clickable</code> property is currently true
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isScrollable()">isScrollable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if the view's <code>scrollable</code> property is currently true
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isSelected()">isSelected</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Checks if the UI element's <code>selected</code> property is currently true.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#longClick()">longClick</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Long clicks the center of the visible bounds of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#longClickBottomRight()">longClickBottomRight</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Long clicks bottom and right corner of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#longClickTopLeft()">longClickTopLeft</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Long clicks on the top and left corner of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#performMultiPointerGesture(android.view.MotionEvent.PointerCoords[]...)">performMultiPointerGesture</a></span>(PointerCoords... touches)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a multi-touch gesture.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#performTwoPointerGesture(android.graphics.Point, android.graphics.Point, android.graphics.Point, android.graphics.Point, int)">performTwoPointerGesture</a></span>(Point startPoint1, Point startPoint2, Point endPoint1, Point endPoint2, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Generates a two-pointer gesture with arbitrary starting and ending points.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#pinchIn(int, int)">pinchIn</a></span>(int percent, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a two-pointer gesture, where each pointer moves diagonally
+ toward the other, from the edges to the center of this UiObject .
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#pinchOut(int, int)">pinchOut</a></span>(int percent, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a two-pointer gesture, where each pointer moves diagonally
+ opposite across the other, from the center out towards the edges of the
+ this UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#setText(java.lang.String)">setText</a></span>(String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the text in an editable field, after clearing the field's content.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#swipeDown(int)">swipeDown</a></span>(int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs the swipe down action on the UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#swipeLeft(int)">swipeLeft</a></span>(int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs the swipe left action on the UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#swipeRight(int)">swipeRight</a></span>(int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs the swipe right action on the UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#swipeUp(int)">swipeUp</a></span>(int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs the swipe up action on the UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#waitForExists(long)">waitForExists</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Waits a specified length of time for a view to become visible.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#waitUntilGone(long)">waitUntilGone</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Waits a specified length of time for a view to become undetectable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="promethods" class="jd-sumtable"><tr><th colspan="12">Protected Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            AccessibilityNodeInfo</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#findAccessibilityNodeInfo(long)">findAccessibilityNodeInfo</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Finds a matching UI element in the accessibility hierarchy, by
+ using the selector for this UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- ========= ENUM CONSTANTS DETAIL ======== -->
+<h2>Constants</h2>
+
+
+
+
+<A NAME="FINGER_TOUCH_HALF_WIDTH"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        protected
+        static
+        final
+        int
+      </span>
+        FINGER_TOUCH_HALF_WIDTH
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+        <div class="jd-tagdata">
+        <span class="jd-tagtitle">Constant Value: </span>
+        <span>
+
+                20
+                (0x00000014)
+
+        </span>
+        </div>
+
+    </div>
+</div>
+
+
+
+<A NAME="SWIPE_MARGIN_LIMIT"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        protected
+        static
+        final
+        int
+      </span>
+        SWIPE_MARGIN_LIMIT
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+        <div class="jd-tagdata">
+        <span class="jd-tagtitle">Constant Value: </span>
+        <span>
+
+                5
+                (0x00000005)
+
+        </span>
+        </div>
+
+    </div>
+</div>
+
+
+
+<A NAME="WAIT_FOR_EVENT_TMEOUT"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        protected
+        static
+        final
+        long
+      </span>
+        WAIT_FOR_EVENT_TMEOUT
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+      <p>
+  <p class="caution"><strong>
+      This constant is deprecated.</strong><br/>
+    use <code><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#setScrollAcknowledgmentTimeout(long)">setScrollAcknowledgmentTimeout(long)</a></code>
+
+  </p>
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+        <div class="jd-tagdata">
+        <span class="jd-tagtitle">Constant Value: </span>
+        <span>
+
+                3000
+                (0x0000000000000bb8)
+
+        </span>
+        </div>
+
+    </div>
+</div>
+
+
+
+<A NAME="WAIT_FOR_SELECTOR_POLL"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        protected
+        static
+        final
+        long
+      </span>
+        WAIT_FOR_SELECTOR_POLL
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+        <div class="jd-tagdata">
+        <span class="jd-tagtitle">Constant Value: </span>
+        <span>
+
+                1000
+                (0x00000000000003e8)
+
+        </span>
+        </div>
+
+    </div>
+</div>
+
+
+
+<A NAME="WAIT_FOR_SELECTOR_TIMEOUT"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        protected
+        static
+        final
+        long
+      </span>
+        WAIT_FOR_SELECTOR_TIMEOUT
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+      <p>
+  <p class="caution"><strong>
+      This constant is deprecated.</strong><br/>
+    use <code><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#setWaitForSelectorTimeout(long)">setWaitForSelectorTimeout(long)</a></code>
+
+  </p>
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+        <div class="jd-tagdata">
+        <span class="jd-tagtitle">Constant Value: </span>
+        <span>
+
+                10000
+                (0x0000000000002710)
+
+        </span>
+        </div>
+
+    </div>
+</div>
+
+
+
+<A NAME="WAIT_FOR_WINDOW_TMEOUT"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        protected
+        static
+        final
+        long
+      </span>
+        WAIT_FOR_WINDOW_TMEOUT
+    </h4>
+      <div class="api-level">
+
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+
+        <div class="jd-tagdata">
+        <span class="jd-tagtitle">Constant Value: </span>
+        <span>
+
+                5500
+                (0x000000000000157c)
+
+        </span>
+        </div>
+
+    </div>
+</div>
+
+
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="UiObject(android.support.test.uiautomator.UiSelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">UiObject</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+      <p>
+  <p class="caution"><strong>
+      This constructor is deprecated.</strong><br/>
+    Use <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#findObject(android.support.test.uiautomator.UiSelector)">findObject(UiSelector)</a></code> instead. This version hides
+ UiObject's dependency on UiDevice and is prone to misuse.
+  </p>
+  <div class="jd-tagdata jd-tagdescr"><p>Constructs a UiObject to represent a view that matches the specified
+ selector criteria.</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="clearTextField()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">clearTextField</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Clears the existing text contents in an editable field.
+
+ The <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> of this object must reference a UI element that is editable.
+
+ When you call this method, the method sets focus on the editable field, selects all of its
+ existing content, and clears it by sending a DELETE key press</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="click()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">click</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a click at the center of the visible bounds of the UI element represented
+ by this UiObject.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true id successful else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="clickAndWaitForNewWindow(long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">clickAndWaitForNewWindow</span>
+      <span class="normal">(long timeout)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a click at the center of the visible bounds of the UI element represented
+ by this UiObject and waits for window transitions.
+
+ This method differ from <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#click()">click()</a></code> only in that this method waits for a
+ a new window transition as a result of the click. Some examples of a window transition:
+ <li>launching a new activity</li>
+ <li>bringing up a pop-up menu</li>
+ <li>bringing up a dialog</li></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>timeout</td>
+          <td>timeout before giving up on waiting for a new window</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if the event was triggered, else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="clickAndWaitForNewWindow()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">clickAndWaitForNewWindow</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Waits for window transitions that would typically take longer than the
+ usual default timeouts.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#clickAndWaitForNewWindow(long)">clickAndWaitForNewWindow(long)</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if the event was triggered, else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="clickBottomRight()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">clickBottomRight</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Clicks the bottom and right corner of the UI element</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true on success</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="clickTopLeft()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">clickTopLeft</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Clicks the top and left corner of the UI element</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true on success</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="dragTo(android.support.test.uiautomator.UiObject, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">dragTo</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a> destObj, int steps)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Drags this object to a destination UiObject.
+ The number of steps specified in your input parameter can influence the
+ drag speed, and varying speeds may impact the results. Consider
+ evaluating different speeds when using this method in your tests.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>destObj</td>
+          <td>the destination UiObject.</td>
+        </tr>
+        <tr>
+          <th>steps</td>
+          <td>usually 40 steps. You can increase or decrease the steps to change the speed.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="dragTo(int, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">dragTo</span>
+      <span class="normal">(int destX, int destY, int steps)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Drags this object to arbitrary coordinates.
+ The number of steps specified in your input parameter can influence the
+ drag speed, and varying speeds may impact the results. Consider
+ evaluating different speeds when using this method in your tests.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>destX</td>
+          <td>the X-axis coordinate.</td>
+        </tr>
+        <tr>
+          <th>destY</td>
+          <td>the Y-axis coordinate.</td>
+        </tr>
+        <tr>
+          <th>steps</td>
+          <td>usually 40 steps. You can increase or decrease the steps to change the speed.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="exists()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">exists</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Check if view exists.
+
+ This methods performs a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#waitForExists(long)">waitForExists(long)</a></code> with zero timeout. This
+ basically returns immediately whether the view represented by this UiObject
+ exists or not. If you need to wait longer for this view, then see
+ <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#waitForExists(long)">waitForExists(long)</a></code>.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if the view represented by this UiObject does exist</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getBounds()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Rect
+      </span>
+      <span class="sympad">getBounds</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the view's <code>bounds</code> property. See <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getVisibleBounds()">getVisibleBounds()</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>Rect</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getChild(android.support.test.uiautomator.UiSelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a>
+      </span>
+      <span class="sympad">getChild</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Creates a new UiObject for a child view that is under the present UiObject.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>selector</td>
+          <td>for child view to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a new UiObject representing the child view</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getChildCount()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        int
+      </span>
+      <span class="sympad">getChildCount</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Counts the child views immediately under the present UiObject.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>the count of child views.</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getClassName()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getClassName</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Retrieves the <code>className</code> property of the UI element.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>class name of the current node represented by this UiObject</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td>if no match was found</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getContentDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getContentDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Reads the <code>content_desc</code> property of the UI element</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>value of node attribute "content_desc"</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getFromParent(android.support.test.uiautomator.UiSelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a>
+      </span>
+      <span class="sympad">getFromParent</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Creates a new UiObject for a sibling view or a child of the sibling view,
+ relative to the present UiObject.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>selector</td>
+          <td>for a sibling view or children of the sibling view</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a new UiObject representing the matched view</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getPackageName()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getPackageName</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Reads the view's <code>package</code> property</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if it is else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getSelector()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+        final
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">getSelector</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Debugging helper. A test can dump the properties of a selector as a string
+ to its logs if needed. <code>getSelector().toString();</code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code></li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getText()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getText</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Reads the <code>text</code> property of the UI element</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>text value of the current node represented by this UiObject</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td>if no match could be found</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getVisibleBounds()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Rect
+      </span>
+      <span class="sympad">getVisibleBounds</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the visible bounds of the view.
+
+ If a portion of the view is visible, only the bounds of the visible portion are
+ reported.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>Rect</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">See Also</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getBounds()">getBounds()</a></code></li>
+      </ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isCheckable()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isCheckable</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Checks if the UI element's <code>checkable</code> property is currently true.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if it is else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isChecked()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isChecked</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Check if the UI element's <code>checked</code> property is currently true</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if it is else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isClickable()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isClickable</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Checks if the UI element's <code>clickable</code> property is currently true.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if it is else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isEnabled()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isEnabled</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Checks if the UI element's <code>enabled</code> property is currently true.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if it is else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isFocusable()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isFocusable</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Check if the UI element's <code>focusable</code> property is currently true.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if it is else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isFocused()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isFocused</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Check if the UI element's <code>focused</code> property is currently true</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if it is else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isLongClickable()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isLongClickable</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Check if the view's <code>long-clickable</code> property is currently true</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if it is else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isScrollable()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isScrollable</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Check if the view's <code>scrollable</code> property is currently true</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if it is else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="isSelected()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isSelected</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Checks if the UI element's <code>selected</code> property is currently true.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if it is else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="longClick()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">longClick</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Long clicks the center of the visible bounds of the UI element</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if operation was successful</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="longClickBottomRight()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">longClickBottomRight</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Long clicks bottom and right corner of the UI element</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if operation was successful</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="longClickTopLeft()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">longClickTopLeft</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Long clicks on the top and left corner of the UI element</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if operation was successful</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="performMultiPointerGesture(android.view.MotionEvent.PointerCoords[]...)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">performMultiPointerGesture</span>
+      <span class="normal">(PointerCoords... touches)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a multi-touch gesture. You must specify touch coordinates for
+ at least 2 pointers. Each pointer must have all of its touch steps
+ defined in an array of <code><a href="../../../../../reference/android/view/MotionEvent.PointerCoords.html">MotionEvent.PointerCoords</a></code>. You can use this method to
+ specify complex gestures, like circles and irregular shapes, where each
+ pointer may take a different path.
+
+ To create a single point on a pointer's touch path:
+ <code>
+       PointerCoords p = new PointerCoords();
+       p.x = stepX;
+       p.y = stepY;
+       p.pressure = 1;
+       p.size = 1;
+ </code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>touches</td>
+          <td>represents the pointers' paths. Each <code><a href="../../../../../reference/android/view/MotionEvent.PointerCoords.html">MotionEvent.PointerCoords</a></code>
+ array represents a different pointer. Each <code><a href="../../../../../reference/android/view/MotionEvent.PointerCoords.html">MotionEvent.PointerCoords</a></code> in an
+ array element represents a touch point on a pointer's path.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li><code>true</code> if all touch events for this gesture are injected successfully,
+         <code>false</code> otherwise</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="performTwoPointerGesture(android.graphics.Point, android.graphics.Point, android.graphics.Point, android.graphics.Point, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">performTwoPointerGesture</span>
+      <span class="normal">(Point startPoint1, Point startPoint2, Point endPoint1, Point endPoint2, int steps)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Generates a two-pointer gesture with arbitrary starting and ending points.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>startPoint1</td>
+          <td>start point of pointer 1</td>
+        </tr>
+        <tr>
+          <th>startPoint2</td>
+          <td>start point of pointer 2</td>
+        </tr>
+        <tr>
+          <th>endPoint1</td>
+          <td>end point of pointer 1</td>
+        </tr>
+        <tr>
+          <th>endPoint2</td>
+          <td>end point of pointer 2</td>
+        </tr>
+        <tr>
+          <th>steps</td>
+          <td>the number of steps for the gesture. Steps are injected
+ about 5 milliseconds apart, so 100 steps may take around 0.5 seconds to complete.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li><code>true</code> if all touch events for this gesture are injected successfully,
+         <code>false</code> otherwise</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pinchIn(int, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">pinchIn</span>
+      <span class="normal">(int percent, int steps)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a two-pointer gesture, where each pointer moves diagonally
+ toward the other, from the edges to the center of this UiObject .</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>percent</td>
+          <td>percentage of the object's diagonal length for the pinch gesture</td>
+        </tr>
+        <tr>
+          <th>steps</td>
+          <td>the number of steps for the gesture. Steps are injected
+ about 5 milliseconds apart, so 100 steps may take around 0.5 seconds to complete.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li><code>true</code> if all touch events for this gesture are injected successfully,
+         <code>false</code> otherwise</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pinchOut(int, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">pinchOut</span>
+      <span class="normal">(int percent, int steps)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a two-pointer gesture, where each pointer moves diagonally
+ opposite across the other, from the center out towards the edges of the
+ this UiObject.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>percent</td>
+          <td>percentage of the object's diagonal length for the pinch gesture</td>
+        </tr>
+        <tr>
+          <th>steps</td>
+          <td>the number of steps for the gesture. Steps are injected
+ about 5 milliseconds apart, so 100 steps may take around 0.5 seconds to complete.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li><code>true</code> if all touch events for this gesture are injected successfully,
+         <code>false</code> otherwise</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="setText(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">setText</span>
+      <span class="normal">(String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the text in an editable field, after clearing the field's content.
+
+ <p>
+ The <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> selector of this object must reference a UI element that is editable.
+
+ <p>
+ When you call this method, the method sets focus on the editable field, clears its existing
+ content, then injects your specified text into the field.
+
+ <p>
+ If you want to capture the original contents of the field, call <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getText()">getText()</a></code> first.
+ You can then modify the text and use this method to update the field.
+
+ <p><strong>Improvements: </strong>
+ Post API Level 19 (KitKat release), the underlying implementation is updated to a dedicated
+ set text accessibility action, and it also now supports Unicode.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>text</td>
+          <td>string to set</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if operation is successful</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="swipeDown(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">swipeDown</span>
+      <span class="normal">(int steps)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs the swipe down action on the UiObject.
+ The swipe gesture can be performed over any surface. The targeted
+ UI element does not need to be scrollable.
+ See also:
+ <ul>
+ <li><code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollToBeginning(int)">scrollToBeginning(int)</a></code></li>
+ <li><code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollToEnd(int)">scrollToEnd(int)</a></code></li>
+ <li><code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollBackward()">scrollBackward()</a></code></li>
+ <li><code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollForward()">scrollForward()</a></code></li>
+ </ul></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>steps</td>
+          <td>indicates the number of injected move steps into the system. Steps are
+ injected about 5ms apart. So a 100 steps may take about 1/2 second to complete.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="swipeLeft(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">swipeLeft</span>
+      <span class="normal">(int steps)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs the swipe left action on the UiObject.
+ The swipe gesture can be performed over any surface. The targeted
+ UI element does not need to be scrollable.
+ See also:
+ <ul>
+ <li><code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollToBeginning(int)">scrollToBeginning(int)</a></code></li>
+ <li><code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollToEnd(int)">scrollToEnd(int)</a></code></li>
+ <li><code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollBackward()">scrollBackward()</a></code></li>
+ <li><code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollForward()">scrollForward()</a></code></li>
+ </ul></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>steps</td>
+          <td>indicates the number of injected move steps into the system. Steps are
+ injected about 5ms apart. So a 100 steps may take about 1/2 second to complete.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="swipeRight(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">swipeRight</span>
+      <span class="normal">(int steps)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs the swipe right action on the UiObject.
+ The swipe gesture can be performed over any surface. The targeted
+ UI element does not need to be scrollable.
+ See also:
+ <ul>
+ <li><code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollToBeginning(int)">scrollToBeginning(int)</a></code></li>
+ <li><code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollToEnd(int)">scrollToEnd(int)</a></code></li>
+ <li><code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollBackward()">scrollBackward()</a></code></li>
+ <li><code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollForward()">scrollForward()</a></code></li>
+ </ul></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>steps</td>
+          <td>indicates the number of injected move steps into the system. Steps are
+ injected about 5ms apart. So a 100 steps may take about 1/2 second to complete.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if successful</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="swipeUp(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">swipeUp</span>
+      <span class="normal">(int steps)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs the swipe up action on the UiObject.
+ See also:
+ <ul>
+ <li><code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollToBeginning(int)">scrollToBeginning(int)</a></code></li>
+ <li><code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollToEnd(int)">scrollToEnd(int)</a></code></li>
+ <li><code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollBackward()">scrollBackward()</a></code></li>
+ <li><code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollForward()">scrollForward()</a></code></li>
+ </ul></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>steps</td>
+          <td>indicates the number of injected move steps into the system. Steps are
+ injected about 5ms apart. So a 100 steps may take about 1/2 second to complete.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true of successful</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="waitForExists(long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">waitForExists</span>
+      <span class="normal">(long timeout)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Waits a specified length of time for a view to become visible.
+
+ This method waits until the view becomes visible on the display, or
+ until the timeout has elapsed. You can use this method in situations where
+ the content that you want to select is not immediately displayed.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>timeout</td>
+          <td>the amount of time to wait (in milliseconds)</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if the view is displayed, else false if timeout elapsed while waiting</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="waitUntilGone(long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">waitUntilGone</span>
+      <span class="normal">(long timeout)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Waits a specified length of time for a view to become undetectable.
+
+ This method waits until a view is no longer matchable, or until the
+ timeout has elapsed.
+
+ A view becomes undetectable when the <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> of the object is
+ unable to find a match because the element has either changed its state or is no
+ longer displayed.
+
+ You can use this method when attempting to wait for some long operation
+ to compete, such as downloading a large file or connecting to a remote server.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>timeout</td>
+          <td>time to wait (in milliseconds)</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if the element is gone before timeout elapsed, else false if timeout elapsed
+ but a matching element is still found.</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+<h2>Protected Methods</h2>
+
+
+
+<A NAME="findAccessibilityNodeInfo(long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        protected
+
+
+
+
+        AccessibilityNodeInfo
+      </span>
+      <span class="sympad">findAccessibilityNodeInfo</span>
+      <span class="normal">(long timeout)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Finds a matching UI element in the accessibility hierarchy, by
+ using the selector for this UiObject.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>timeout</td>
+          <td>in milliseconds</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>AccessibilityNodeInfo if found else null</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/UiObject2.html b/docs/html/reference/android/support/test/uiautomator/UiObject2.html
new file mode 100644
index 0000000..4c198bf
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/UiObject2.html
@@ -0,0 +1,3829 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>UiObject2 | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">UiObject2</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+
+
+  <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">UiObject2</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.UiObject2</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code> represents a UI element. Unlike <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></code>, it is bound to a particular
+ view instance and can become stale if the underlying view object is destroyed. As a result, it
+ may be necessary to call <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#findObject(android.support.test.uiautomator.BySelector)">findObject(BySelector)</a></code> to obtain a new
+ <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code> instance if the UI changes significantly.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#clear()">clear</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Clears the text content if this object is an editable field.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#click()">click</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Clicks on this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+            &lt;R&gt;
+            R</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#clickAndWait(android.support.test.uiautomator.EventCondition<R>, long)">clickAndWait</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a>&lt;R&gt; condition, long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Clicks on this object, and waits for the given condition to become true.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#drag(android.graphics.Point, int)">drag</a></span>(Point dest, int speed)</nobr>
+
+        <div class="jd-descrdiv">
+          Drags this object to the specified location.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#drag(android.graphics.Point)">drag</a></span>(Point dest)</nobr>
+
+        <div class="jd-descrdiv">
+          Drags this object to the specified location.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#equals(java.lang.Object)">equals</a></span>(Object object)</nobr>
+
+        <div class="jd-descrdiv">
+
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#findObject(android.support.test.uiautomator.BySelector)">findObject</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Searches all elements under this object and returns the first object to match the criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            List&lt;<a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a>&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#findObjects(android.support.test.uiautomator.BySelector)">findObjects</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Searches all elements under this object and returns all objects that match the criteria.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#fling(android.support.test.uiautomator.Direction)">fling</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a> direction)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a fling gesture on this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#fling(android.support.test.uiautomator.Direction, int)">fling</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a> direction, int speed)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a fling gesture on this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#getApplicationPackage()">getApplicationPackage</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the package name of the app that this object belongs to.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#getChildCount()">getChildCount</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the number of child elements directly under this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            List&lt;<a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a>&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#getChildren()">getChildren</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a collection of the child elements directly under this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#getClassName()">getClassName</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the class name of the underlying <code><a href="../../../../../reference/android/view/View.html">View</a></code> represented by this
+ object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#getContentDescription()">getContentDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the content description for this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#getParent()">getParent</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns this object's parent.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#getResourceName()">getResourceName</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the fully qualified resource name for this object's id.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#getText()">getText</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the text value for this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Rect</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#getVisibleBounds()">getVisibleBounds</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the visible bounds of this object in screen coordinates.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Point</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#getVisibleCenter()">getVisibleCenter</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a point in the center of the visible bounds of this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#hasObject(android.support.test.uiautomator.BySelector)">hasObject</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns whether there is a match for the given criteria under this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#hashCode()">hashCode</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#isCheckable()">isCheckable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns whether this object is checkable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#isChecked()">isChecked</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns whether this object is checked.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#isClickable()">isClickable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns whether this object is clickable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#isEnabled()">isEnabled</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns whether this object is enabled.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#isFocusable()">isFocusable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns whether this object is focusable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#isFocused()">isFocused</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns whether this object is focused.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#isLongClickable()">isLongClickable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns whether this object is long clickable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#isScrollable()">isScrollable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns whether this object is scrollable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#isSelected()">isSelected</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns whether this object is selected.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#longClick()">longClick</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a long click on this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#pinchClose(float, int)">pinchClose</a></span>(float percent, int speed)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a pinch close gesture on this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#pinchClose(float)">pinchClose</a></span>(float percent)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a pinch close gesture on this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#pinchOpen(float, int)">pinchOpen</a></span>(float percent, int speed)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a pinch open gesture on this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#pinchOpen(float)">pinchOpen</a></span>(float percent)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a pinch open gesture on this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#recycle()">recycle</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Recycle this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#scroll(android.support.test.uiautomator.Direction, float)">scroll</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a> direction, float percent)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a scroll gesture on this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#scroll(android.support.test.uiautomator.Direction, float, int)">scroll</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a> direction, float percent, int speed)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a scroll gesture on this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#setGestureMargin(int)">setGestureMargin</a></span>(int margin)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the margins used for gestures in pixels.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#setGestureMargins(int, int, int, int)">setGestureMargins</a></span>(int left, int top, int right, int bottom)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the margins used for gestures in pixels.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#setText(java.lang.String)">setText</a></span>(String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the text content if this object is an editable field.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#swipe(android.support.test.uiautomator.Direction, float, int)">swipe</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a> direction, float percent, int speed)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a swipe gesture on this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#swipe(android.support.test.uiautomator.Direction, float)">swipe</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a> direction, float percent)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a swipe gesture on this object.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+            &lt;R&gt;
+            R</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#wait(android.support.test.uiautomator.UiObject2Condition<R>, long)">wait</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;R&gt; condition, long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Waits for given the <code>condition</code> to be met.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+            &lt;R&gt;
+            R</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html#wait(android.support.test.uiautomator.SearchCondition<R>, long)">wait</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a>&lt;R&gt; condition, long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Waits for given the <code>condition</code> to be met.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="clear()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">clear</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Clears the text content if this object is an editable field. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="click()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">click</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Clicks on this object. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="clickAndWait(android.support.test.uiautomator.EventCondition<R>, long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        R
+      </span>
+      <span class="sympad">clickAndWait</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a>&lt;R&gt; condition, long timeout)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Clicks on this object, and waits for the given condition to become true. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="drag(android.graphics.Point, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">drag</span>
+      <span class="normal">(Point dest, int speed)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Drags this object to the specified location.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>dest</td>
+          <td>The end point that this object should be dragged to.</td>
+        </tr>
+        <tr>
+          <th>speed</td>
+          <td>The speed at which to perform this gesture in pixels per second.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="drag(android.graphics.Point)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">drag</span>
+      <span class="normal">(Point dest)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Drags this object to the specified location.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>dest</td>
+          <td>The end point that this object should be dragged to.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="equals(java.lang.Object)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">equals</span>
+      <span class="normal">(Object object)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p> </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="findObject(android.support.test.uiautomator.BySelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a>
+      </span>
+      <span class="sympad">findObject</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Searches all elements under this object and returns the first object to match the criteria.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="findObjects(android.support.test.uiautomator.BySelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        List&lt;<a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a>&gt;
+      </span>
+      <span class="sympad">findObjects</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Searches all elements under this object and returns all objects that match the criteria. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="fling(android.support.test.uiautomator.Direction)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">fling</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a> direction)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a fling gesture on this object.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>direction</td>
+          <td>The direction in which to fling.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>Whether the object can still scroll in the given direction.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="fling(android.support.test.uiautomator.Direction, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">fling</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a> direction, int speed)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a fling gesture on this object.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>direction</td>
+          <td>The direction in which to fling.</td>
+        </tr>
+        <tr>
+          <th>speed</td>
+          <td>The speed at which to perform this gesture in pixels per second.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>Whether the object can still scroll in the given direction.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getApplicationPackage()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getApplicationPackage</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the package name of the app that this object belongs to. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getChildCount()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        int
+      </span>
+      <span class="sympad">getChildCount</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the number of child elements directly under this object. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getChildren()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        List&lt;<a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a>&gt;
+      </span>
+      <span class="sympad">getChildren</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a collection of the child elements directly under this object. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getClassName()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getClassName</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the class name of the underlying <code><a href="../../../../../reference/android/view/View.html">View</a></code> represented by this
+ object.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getContentDescription()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getContentDescription</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the content description for this object. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getParent()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a>
+      </span>
+      <span class="sympad">getParent</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns this object's parent. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getResourceName()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getResourceName</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the fully qualified resource name for this object's id. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getText()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">getText</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the text value for this object. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getVisibleBounds()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Rect
+      </span>
+      <span class="sympad">getVisibleBounds</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the visible bounds of this object in screen coordinates. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="getVisibleCenter()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        Point
+      </span>
+      <span class="sympad">getVisibleCenter</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a point in the center of the visible bounds of this object. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="hasObject(android.support.test.uiautomator.BySelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">hasObject</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns whether there is a match for the given criteria under this object. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="hashCode()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        int
+      </span>
+      <span class="sympad">hashCode</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p> </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isCheckable()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isCheckable</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns whether this object is checkable. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isChecked()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isChecked</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns whether this object is checked. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isClickable()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isClickable</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns whether this object is clickable. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isEnabled()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isEnabled</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns whether this object is enabled. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isFocusable()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isFocusable</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns whether this object is focusable. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isFocused()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isFocused</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns whether this object is focused. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isLongClickable()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isLongClickable</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns whether this object is long clickable. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isScrollable()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isScrollable</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns whether this object is scrollable. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="isSelected()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">isSelected</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns whether this object is selected. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="longClick()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">longClick</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a long click on this object. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="pinchClose(float, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">pinchClose</span>
+      <span class="normal">(float percent, int speed)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a pinch close gesture on this object.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>percent</td>
+          <td>The size of the pinch as a percentage of this object's size.</td>
+        </tr>
+        <tr>
+          <th>speed</td>
+          <td>The speed at which to perform this gesture in pixels per second.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pinchClose(float)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">pinchClose</span>
+      <span class="normal">(float percent)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a pinch close gesture on this object.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>percent</td>
+          <td>The size of the pinch as a percentage of this object's size.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pinchOpen(float, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">pinchOpen</span>
+      <span class="normal">(float percent, int speed)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a pinch open gesture on this object.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>percent</td>
+          <td>The size of the pinch as a percentage of this object's size.</td>
+        </tr>
+        <tr>
+          <th>speed</td>
+          <td>The speed at which to perform this gesture in pixels per second.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="pinchOpen(float)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">pinchOpen</span>
+      <span class="normal">(float percent)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a pinch open gesture on this object.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>percent</td>
+          <td>The size of the pinch as a percentage of this object's size.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="recycle()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">recycle</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Recycle this object. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="scroll(android.support.test.uiautomator.Direction, float)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">scroll</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a> direction, float percent)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a scroll gesture on this object.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>direction</td>
+          <td>The direction in which to scroll.</td>
+        </tr>
+        <tr>
+          <th>percent</td>
+          <td>The distance to scroll as a percentage of this object's visible size.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>Whether the object can still scroll in the given direction.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scroll(android.support.test.uiautomator.Direction, float, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">scroll</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a> direction, float percent, int speed)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a scroll gesture on this object.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>direction</td>
+          <td>The direction in which to scroll.</td>
+        </tr>
+        <tr>
+          <th>percent</td>
+          <td>The distance to scroll as a percentage of this object's visible size.</td>
+        </tr>
+        <tr>
+          <th>speed</td>
+          <td>The speed at which to perform this gesture in pixels per second.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>Whether the object can still scroll in the given direction.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="setGestureMargin(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">setGestureMargin</span>
+      <span class="normal">(int margin)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the margins used for gestures in pixels. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="setGestureMargins(int, int, int, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">setGestureMargins</span>
+      <span class="normal">(int left, int top, int right, int bottom)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the margins used for gestures in pixels. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="setText(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">setText</span>
+      <span class="normal">(String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the text content if this object is an editable field. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="swipe(android.support.test.uiautomator.Direction, float, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">swipe</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a> direction, float percent, int speed)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a swipe gesture on this object.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>direction</td>
+          <td>The direction in which to swipe.</td>
+        </tr>
+        <tr>
+          <th>percent</td>
+          <td>The length of the swipe as a percentage of this object's size.</td>
+        </tr>
+        <tr>
+          <th>speed</td>
+          <td>The speed at which to perform this gesture in pixels per second.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="swipe(android.support.test.uiautomator.Direction, float)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        void
+      </span>
+      <span class="sympad">swipe</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a> direction, float percent)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a swipe gesture on this object.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>direction</td>
+          <td>The direction in which to swipe.</td>
+        </tr>
+        <tr>
+          <th>percent</td>
+          <td>The length of the swipe as a percentage of this object's size.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="wait(android.support.test.uiautomator.UiObject2Condition<R>, long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        R
+      </span>
+      <span class="sympad">wait</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;R&gt; condition, long timeout)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Waits for given the <code>condition</code> to be met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>condition</td>
+          <td>The <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></code> to evaluate.</td>
+        </tr>
+        <tr>
+          <th>timeout</td>
+          <td>Maximum amount of time to wait in milliseconds.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>The final result returned by the condition.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="wait(android.support.test.uiautomator.SearchCondition<R>, long)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        R
+      </span>
+      <span class="sympad">wait</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a>&lt;R&gt; condition, long timeout)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Waits for given the <code>condition</code> to be met.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>condition</td>
+          <td>The <code><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></code> to evaluate.</td>
+        </tr>
+        <tr>
+          <th>timeout</td>
+          <td>Maximum amount of time to wait in milliseconds.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>The final result returned by the condition.
+</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/UiObject2Condition.html b/docs/html/reference/android/support/test/uiautomator/UiObject2Condition.html
new file mode 100644
index 0000000..d2eeb77
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/UiObject2Condition.html
@@ -0,0 +1,1131 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>UiObject2Condition | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">UiObject2Condition</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+    abstract
+    class
+<h1 itemprop="name">UiObject2Condition</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.UiObject2Condition&lt;R&gt;</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">A <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></code> is a condition which is satisfied when a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code> is in a
+ particular state.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html#UiObject2Condition()">UiObject2Condition</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="UiObject2Condition()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">UiObject2Condition</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/UiObjectNotFoundException.html b/docs/html/reference/android/support/test/uiautomator/UiObjectNotFoundException.html
new file mode 100644
index 0000000..917816f
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/UiObjectNotFoundException.html
@@ -0,0 +1,1511 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>UiObjectNotFoundException | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">UiObjectNotFoundException</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">UiObjectNotFoundException</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+    extends Exception<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="4" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="3" class="jd-inheritance-class-cell">java.lang.Throwable</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Exception</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.UiObjectNotFoundException</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Generated in test runs when a <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> selector could not be matched
+ to any UI element displayed.</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html#UiObjectNotFoundException(java.lang.String)">UiObjectNotFoundException</a></span>(String msg)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html#UiObjectNotFoundException(java.lang.String, java.lang.Throwable)">UiObjectNotFoundException</a></span>(String detailMessage, Throwable throwable)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html#UiObjectNotFoundException(java.lang.Throwable)">UiObjectNotFoundException</a></span>(Throwable throwable)</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Throwable" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Throwable-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Throwable
+
+<div id="inherited-methods-java.lang.Throwable">
+  <div id="inherited-methods-java.lang.Throwable-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Throwable-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">addSuppressed</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">fillInStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getCause</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getLocalizedMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getMessage</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            StackTraceElement[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Throwable[]</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getSuppressed</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Throwable</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">initCause</span>(Throwable arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintStream arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>(PrintWriter arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">printStackTrace</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">setStackTrace</span>(StackTraceElement[] arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="UiObjectNotFoundException(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">UiObjectNotFoundException</span>
+      <span class="normal">(String msg)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="UiObjectNotFoundException(java.lang.String, java.lang.Throwable)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">UiObjectNotFoundException</span>
+      <span class="normal">(String detailMessage, Throwable throwable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="UiObjectNotFoundException(java.lang.Throwable)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">UiObjectNotFoundException</span>
+      <span class="normal">(Throwable throwable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/UiScrollable.html b/docs/html/reference/android/support/test/uiautomator/UiScrollable.html
new file mode 100644
index 0000000..a3feca3
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/UiScrollable.html
@@ -0,0 +1,4623 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>UiScrollable | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">UiScrollable</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+  <a href="#inhconstants">Inherited Constants</a>
+
+
+
+
+
+  &#124; <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+  &#124; <a href="#promethods">Protected Methods</a>
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">UiScrollable</h1>
+
+
+
+
+
+
+
+
+
+
+
+
+    extends <a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a><br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="4" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="3" class="jd-inheritance-class-cell"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">android.support.test.uiautomator.UiObject</a></td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="2" class="jd-inheritance-class-cell"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">android.support.test.uiautomator.UiCollection</a></td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;</td>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.UiScrollable</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">UiScrollable is a <code><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></code> and provides support for searching
+ for items in scrollable layout elements. This class can be used with
+ horizontally or vertically scrollable controls.</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<table id="inhconstants" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Constants</div></th></tr>
+
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-constants-android.support.test.uiautomator.UiObject" class="jd-expando-trigger closed"
+          ><img id="inherited-constants-android.support.test.uiautomator.UiObject-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>From class
+<a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">android.support.test.uiautomator.UiObject</a>
+<div id="inherited-constants-android.support.test.uiautomator.UiObject">
+  <div id="inherited-constants-android.support.test.uiautomator.UiObject-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-constants-android.support.test.uiautomator.UiObject-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">int</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#FINGER_TOUCH_HALF_WIDTH">FINGER_TOUCH_HALF_WIDTH</a></td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">int</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#SWIPE_MARGIN_LIMIT">SWIPE_MARGIN_LIMIT</a></td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">long</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#WAIT_FOR_EVENT_TMEOUT">WAIT_FOR_EVENT_TMEOUT</a></td>
+        <td class="jd-descrcol" width="100%">
+          <em>
+      This constant is deprecated.
+    use <code><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#setScrollAcknowledgmentTimeout(long)">setScrollAcknowledgmentTimeout(long)</a></code>
+</em>
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">long</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#WAIT_FOR_SELECTOR_POLL">WAIT_FOR_SELECTOR_POLL</a></td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol">long</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#WAIT_FOR_SELECTOR_TIMEOUT">WAIT_FOR_SELECTOR_TIMEOUT</a></td>
+        <td class="jd-descrcol" width="100%">
+          <em>
+      This constant is deprecated.
+    use <code><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html#setWaitForSelectorTimeout(long)">setWaitForSelectorTimeout(long)</a></code>
+</em>
+
+
+
+        </td>
+    </tr>
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol">long</td>
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#WAIT_FOR_WINDOW_TMEOUT">WAIT_FOR_WINDOW_TMEOUT</a></td>
+        <td class="jd-descrcol" width="100%">
+
+
+
+
+        </td>
+    </tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+
+</table>
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#UiScrollable(android.support.test.uiautomator.UiSelector)">UiScrollable</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> container)</nobr>
+
+        <div class="jd-descrdiv">
+          Constructor.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#flingBackward()">flingBackward</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a backwards fling action with the default number of fling
+ steps (5).
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#flingForward()">flingForward</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a forward fling with the default number of fling steps (5).
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#flingToBeginning(int)">flingToBeginning</a></span>(int maxSwipes)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a fling gesture to reach the beginning of a scrollable layout element.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#flingToEnd(int)">flingToEnd</a></span>(int maxSwipes)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a fling gesture to reach the end of a scrollable layout element.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#getChildByDescription(android.support.test.uiautomator.UiSelector, java.lang.String)">getChildByDescription</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Searches for a child element in the present scrollable container.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#getChildByDescription(android.support.test.uiautomator.UiSelector, java.lang.String, boolean)">getChildByDescription</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, String text, boolean allowScrollSearch)</nobr>
+
+        <div class="jd-descrdiv">
+          Searches for a child element in the present scrollable container.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#getChildByInstance(android.support.test.uiautomator.UiSelector, int)">getChildByInstance</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, int instance)</nobr>
+
+        <div class="jd-descrdiv">
+          Searches for a child element in the present scrollable container that
+ matches the selector you provided.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#getChildByText(android.support.test.uiautomator.UiSelector, java.lang.String)">getChildByText</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Searches for a child element in the present scrollable
+ container.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#getChildByText(android.support.test.uiautomator.UiSelector, java.lang.String, boolean)">getChildByText</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, String text, boolean allowScrollSearch)</nobr>
+
+        <div class="jd-descrdiv">
+          Searches for a child element in the present scrollable container.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#getMaxSearchSwipes()">getMaxSearchSwipes</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Gets the maximum number of scrolls allowed when performing a
+ scroll action in search of a child element.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            double</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#getSwipeDeadZonePercentage()">getSwipeDeadZonePercentage</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the percentage of a widget's size that's considered as a no-touch
+ zone when swiping.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollBackward(int)">scrollBackward</a></span>(int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a backward scroll.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollBackward()">scrollBackward</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a backward scroll with the default number of scroll steps (55).
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollDescriptionIntoView(java.lang.String)">scrollDescriptionIntoView</a></span>(String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a forward scroll action on the scrollable layout element until
+ the content-description is found, or until swipe attempts have been exhausted.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollForward()">scrollForward</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a forward scroll with the default number of scroll steps (55).
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollForward(int)">scrollForward</a></span>(int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a forward scroll.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollIntoView(android.support.test.uiautomator.UiSelector)">scrollIntoView</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Perform a scroll forward action to move through the scrollable layout
+ element until a visible item that matches the selector is found.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollIntoView(android.support.test.uiautomator.UiObject)">scrollIntoView</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a> obj)</nobr>
+
+        <div class="jd-descrdiv">
+          Perform a forward scroll action to move through the scrollable layout element until
+ a visible item that matches the <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></code> is found.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollTextIntoView(java.lang.String)">scrollTextIntoView</a></span>(String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a forward scroll action on the scrollable layout element until
+ the text you provided is visible, or until swipe attempts have been exhausted.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollToBeginning(int)">scrollToBeginning</a></span>(int maxSwipes)</nobr>
+
+        <div class="jd-descrdiv">
+          Scrolls to the beginning of a scrollable layout element.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollToBeginning(int, int)">scrollToBeginning</a></span>(int maxSwipes, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Scrolls to the beginning of a scrollable layout element.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollToEnd(int, int)">scrollToEnd</a></span>(int maxSwipes, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Scrolls to the end of a scrollable layout element.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollToEnd(int)">scrollToEnd</a></span>(int maxSwipes)</nobr>
+
+        <div class="jd-descrdiv">
+          Scrolls to the end of a scrollable layout element.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#setAsHorizontalList()">setAsHorizontalList</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Set the direction of swipes to be horizontal when performing scroll actions.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#setAsVerticalList()">setAsVerticalList</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Set the direction of swipes to be vertical when performing scroll actions.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#setMaxSearchSwipes(int)">setMaxSearchSwipes</a></span>(int swipes)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the maximum number of scrolls allowed when performing a
+ scroll action in search of a child element.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#setSwipeDeadZonePercentage(double)">setSwipeDeadZonePercentage</a></span>(double swipeDeadZonePercentage)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the percentage of a widget's size that's considered as no-touch
+ zone when swiping.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="promethods" class="jd-sumtable"><tr><th colspan="12">Protected Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#exists(android.support.test.uiautomator.UiSelector)">exists</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Used privately when performing swipe searches to decide if an element has become
+ visible or not.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.uiautomator.UiCollection" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.uiautomator.UiCollection-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  <a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">android.support.test.uiautomator.UiCollection</a>
+
+<div id="inherited-methods-android.support.test.uiautomator.UiCollection">
+  <div id="inherited-methods-android.support.test.uiautomator.UiCollection-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.uiautomator.UiCollection-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html#getChildByDescription(android.support.test.uiautomator.UiSelector, java.lang.String)">getChildByDescription</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Searches for child UI element within the constraints of this UiCollection <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>
+ selector.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html#getChildByInstance(android.support.test.uiautomator.UiSelector, int)">getChildByInstance</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, int instance)</nobr>
+
+        <div class="jd-descrdiv">
+          Searches for child UI element within the constraints of this UiCollection <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>
+ selector.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html#getChildByText(android.support.test.uiautomator.UiSelector, java.lang.String)">getChildByText</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Searches for child UI element within the constraints of this UiCollection <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>
+ selector.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html#getChildCount(android.support.test.uiautomator.UiSelector)">getChildCount</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern)</nobr>
+
+        <div class="jd-descrdiv">
+          Counts child UI element instances matching the <code>childPattern</code>
+ argument.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.support.test.uiautomator.UiObject" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-android.support.test.uiautomator.UiObject-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">android.support.test.uiautomator.UiObject</a>
+
+<div id="inherited-methods-android.support.test.uiautomator.UiObject">
+  <div id="inherited-methods-android.support.test.uiautomator.UiObject-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-android.support.test.uiautomator.UiObject-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#clearTextField()">clearTextField</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Clears the existing text contents in an editable field.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#click()">click</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a click at the center of the visible bounds of the UI element represented
+ by this UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#clickAndWaitForNewWindow(long)">clickAndWaitForNewWindow</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a click at the center of the visible bounds of the UI element represented
+ by this UiObject and waits for window transitions.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#clickAndWaitForNewWindow()">clickAndWaitForNewWindow</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Waits for window transitions that would typically take longer than the
+ usual default timeouts.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#clickBottomRight()">clickBottomRight</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Clicks the bottom and right corner of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#clickTopLeft()">clickTopLeft</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Clicks the top and left corner of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#dragTo(android.support.test.uiautomator.UiObject, int)">dragTo</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a> destObj, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Drags this object to a destination UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#dragTo(int, int, int)">dragTo</a></span>(int destX, int destY, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Drags this object to arbitrary coordinates.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#exists()">exists</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if view exists.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            AccessibilityNodeInfo</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#findAccessibilityNodeInfo(long)">findAccessibilityNodeInfo</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Finds a matching UI element in the accessibility hierarchy, by
+ using the selector for this UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Rect</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getBounds()">getBounds</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the view's <code>bounds</code> property.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getChild(android.support.test.uiautomator.UiSelector)">getChild</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Creates a new UiObject for a child view that is under the present UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getChildCount()">getChildCount</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Counts the child views immediately under the present UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getClassName()">getClassName</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Retrieves the <code>className</code> property of the UI element.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getContentDescription()">getContentDescription</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Reads the <code>content_desc</code> property of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getFromParent(android.support.test.uiautomator.UiSelector)">getFromParent</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Creates a new UiObject for a sibling view or a child of the sibling view,
+ relative to the present UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getPackageName()">getPackageName</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Reads the view's <code>package</code> property
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getSelector()">getSelector</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Debugging helper.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getText()">getText</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Reads the <code>text</code> property of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Rect</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#getVisibleBounds()">getVisibleBounds</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns the visible bounds of the view.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isCheckable()">isCheckable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Checks if the UI element's <code>checkable</code> property is currently true.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isChecked()">isChecked</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if the UI element's <code>checked</code> property is currently true
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isClickable()">isClickable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Checks if the UI element's <code>clickable</code> property is currently true.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isEnabled()">isEnabled</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Checks if the UI element's <code>enabled</code> property is currently true.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isFocusable()">isFocusable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if the UI element's <code>focusable</code> property is currently true.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isFocused()">isFocused</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if the UI element's <code>focused</code> property is currently true
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isLongClickable()">isLongClickable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if the view's <code>long-clickable</code> property is currently true
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isScrollable()">isScrollable</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Check if the view's <code>scrollable</code> property is currently true
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#isSelected()">isSelected</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Checks if the UI element's <code>selected</code> property is currently true.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#longClick()">longClick</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Long clicks the center of the visible bounds of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#longClickBottomRight()">longClickBottomRight</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Long clicks bottom and right corner of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#longClickTopLeft()">longClickTopLeft</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Long clicks on the top and left corner of the UI element
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#performMultiPointerGesture(android.view.MotionEvent.PointerCoords[]...)">performMultiPointerGesture</a></span>(PointerCoords... touches)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a multi-touch gesture.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#performTwoPointerGesture(android.graphics.Point, android.graphics.Point, android.graphics.Point, android.graphics.Point, int)">performTwoPointerGesture</a></span>(Point startPoint1, Point startPoint2, Point endPoint1, Point endPoint2, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Generates a two-pointer gesture with arbitrary starting and ending points.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#pinchIn(int, int)">pinchIn</a></span>(int percent, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a two-pointer gesture, where each pointer moves diagonally
+ toward the other, from the edges to the center of this UiObject .
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#pinchOut(int, int)">pinchOut</a></span>(int percent, int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs a two-pointer gesture, where each pointer moves diagonally
+ opposite across the other, from the center out towards the edges of the
+ this UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#setText(java.lang.String)">setText</a></span>(String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Sets the text in an editable field, after clearing the field's content.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#swipeDown(int)">swipeDown</a></span>(int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs the swipe down action on the UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#swipeLeft(int)">swipeLeft</a></span>(int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs the swipe left action on the UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#swipeRight(int)">swipeRight</a></span>(int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs the swipe right action on the UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#swipeUp(int)">swipeUp</a></span>(int steps)</nobr>
+
+        <div class="jd-descrdiv">
+          Performs the swipe up action on the UiObject.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#waitForExists(long)">waitForExists</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Waits a specified length of time for a view to become visible.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html#waitUntilGone(long)">waitUntilGone</a></span>(long timeout)</nobr>
+
+        <div class="jd-descrdiv">
+          Waits a specified length of time for a view to become undetectable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="UiScrollable(android.support.test.uiautomator.UiSelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">UiScrollable</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> container)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Constructor.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>container</td>
+          <td>a <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> selector to identify the scrollable
+     layout element.</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="flingBackward()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">flingBackward</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a backwards fling action with the default number of fling
+ steps (5). If the swipe direction is set to vertical,
+ then the swipe will be performed from top to bottom. If the swipe
+ direction is set to horizontal, then the swipes will be performed from
+ left to right. Make sure to take into account devices configured with
+ right-to-left languages like Arabic and Hebrew.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if scrolled, and false if can't scroll anymore</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="flingForward()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">flingForward</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a forward fling with the default number of fling steps (5).
+ If the swipe direction is set to vertical, then the swipes will be
+ performed from bottom to top. If the swipe
+ direction is set to horizontal, then the swipes will be performed from
+ right to left. Make sure to take into account devices configured with
+ right-to-left languages like Arabic and Hebrew.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if scrolled, false if can't scroll anymore</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="flingToBeginning(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">flingToBeginning</span>
+      <span class="normal">(int maxSwipes)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a fling gesture to reach the beginning of a scrollable layout element.
+ The beginning can be at the  top-most edge in the case of vertical controls, or
+ the left-most edge for horizontal controls. Make sure to take into
+ account devices configured with right-to-left languages like Arabic and Hebrew.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true on scrolled else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="flingToEnd(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">flingToEnd</span>
+      <span class="normal">(int maxSwipes)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a fling gesture to reach the end of a scrollable layout element.
+ The end can be at the  bottom-most edge in the case of vertical controls, or
+ the right-most edge for horizontal controls. Make sure to take into
+ account devices configured with right-to-left languages like Arabic and Hebrew.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true on scrolled, else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getChildByDescription(android.support.test.uiautomator.UiSelector, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a>
+      </span>
+      <span class="sympad">getChildByDescription</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Searches for a child element in the present scrollable container.
+ The search first looks for a child element that matches the selector
+ you provided, then looks for the content-description in its children elements.
+ If both search conditions are fulfilled, the method returns a {@ link UiObject}
+ representing the element matching the selector (not the child element in its
+ subhierarchy containing the content-description). By default, this method performs a
+ scroll search.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#getChildByDescription(android.support.test.uiautomator.UiSelector, java.lang.String, boolean)">getChildByDescription(UiSelector, String, boolean)</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>childPattern</td>
+          <td><code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> for a child in a scollable layout element</td>
+        </tr>
+        <tr>
+          <th>text</td>
+          <td>Content-description to find in the children of
+ the <code>childPattern</code> match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></code> representing the child element that matches the search conditions</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getChildByDescription(android.support.test.uiautomator.UiSelector, java.lang.String, boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a>
+      </span>
+      <span class="sympad">getChildByDescription</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, String text, boolean allowScrollSearch)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Searches for a child element in the present scrollable container.
+ The search first looks for a child element that matches the selector
+ you provided, then looks for the content-description in its children elements.
+ If both search conditions are fulfilled, the method returns a {@ link UiObject}
+ representing the element matching the selector (not the child element in its
+ subhierarchy containing the content-description).</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>childPattern</td>
+          <td><code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> for a child in a scollable layout element</td>
+        </tr>
+        <tr>
+          <th>text</td>
+          <td>Content-description to find in the children of
+ the <code>childPattern</code> match (may be a partial match)</td>
+        </tr>
+        <tr>
+          <th>allowScrollSearch</td>
+          <td>set to true if scrolling is allowed</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></code> representing the child element that matches the search conditions</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getChildByInstance(android.support.test.uiautomator.UiSelector, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a>
+      </span>
+      <span class="sympad">getChildByInstance</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, int instance)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Searches for a child element in the present scrollable container that
+ matches the selector you provided. The search is performed without
+ scrolling and only on visible elements.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>childPattern</td>
+          <td><code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> for a child in a scollable layout element</td>
+        </tr>
+        <tr>
+          <th>instance</td>
+          <td>int number representing the occurance of
+ a <code>childPattern</code> match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></code> representing the child element that matches the search conditions</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getChildByText(android.support.test.uiautomator.UiSelector, java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a>
+      </span>
+      <span class="sympad">getChildByText</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Searches for a child element in the present scrollable
+ container. The search first looks for a child element that matches the
+ selector you provided, then looks for the text in its children elements.
+ If both search conditions are fulfilled, the method returns a {@ link UiObject}
+ representing the element matching the selector (not the child element in its
+ subhierarchy containing the text). By default, this method performs a
+ scroll search.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#getChildByText(android.support.test.uiautomator.UiSelector, java.lang.String, boolean)">getChildByText(UiSelector, String, boolean)</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>childPattern</td>
+          <td><code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> selector for a child in a scrollable layout element</td>
+        </tr>
+        <tr>
+          <th>text</td>
+          <td>String to find in the children of the <code>childPattern</code> match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></code> representing the child element that matches the search conditions</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getChildByText(android.support.test.uiautomator.UiSelector, java.lang.String, boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a>
+      </span>
+      <span class="sympad">getChildByText</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> childPattern, String text, boolean allowScrollSearch)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Searches for a child element in the present scrollable container. The
+ search first looks for a child element that matches the
+ selector you provided, then looks for the text in its children elements.
+ If both search conditions are fulfilled, the method returns a {@ link UiObject}
+ representing the element matching the selector (not the child element in its
+ subhierarchy containing the text).</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>childPattern</td>
+          <td><code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> selector for a child in a scrollable layout element</td>
+        </tr>
+        <tr>
+          <th>text</td>
+          <td>String to find in the children of the <code>childPattern</code> match</td>
+        </tr>
+        <tr>
+          <th>allowScrollSearch</td>
+          <td>set to true if scrolling is allowed</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li><code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></code> representing the child element that matches the search conditions</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th></td>
+            <td>UiObjectNotFoundException</td>
+        </tr>
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getMaxSearchSwipes()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        int
+      </span>
+      <span class="sympad">getMaxSearchSwipes</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Gets the maximum number of scrolls allowed when performing a
+ scroll action in search of a child element.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#getChildByDescription(android.support.test.uiautomator.UiSelector, java.lang.String)">getChildByDescription(UiSelector, String)</a></code> and
+ <code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#getChildByText(android.support.test.uiautomator.UiSelector, java.lang.String)">getChildByText(UiSelector, String)</a></code>.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>max the number of search swipes to perform until giving up</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="getSwipeDeadZonePercentage()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        double
+      </span>
+      <span class="sympad">getSwipeDeadZonePercentage</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns the percentage of a widget's size that's considered as a no-touch
+ zone when swiping. The no-touch zone is set as a percentage of a widget's total
+ width or height, denoting a margin around the swipable area of the widget.
+ Swipes must start and end inside this margin. This is important when the
+ widget being swiped may not respond to the swipe if started at a point
+ too near to the edge. The default is 10% from either edge.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>a value between 0 and 1</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollBackward(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">scrollBackward</span>
+      <span class="normal">(int steps)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a backward scroll. If the swipe direction is set to vertical,
+ then the swipes will be performed from top to bottom. If the swipe
+ direction is set to horizontal, then the swipes will be performed from
+ left to right. Make sure to take into account devices configured with
+ right-to-left languages like Arabic and Hebrew.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>steps</td>
+          <td>number of steps. Use this to control the speed of the scroll action.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if scrolled, false if can't scroll anymore</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollBackward()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">scrollBackward</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a backward scroll with the default number of scroll steps (55).
+ If the swipe direction is set to vertical,
+ then the swipes will be performed from top to bottom. If the swipe
+ direction is set to horizontal, then the swipes will be performed from
+ left to right. Make sure to take into account devices configured with
+ right-to-left languages like Arabic and Hebrew.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if scrolled, and false if can't scroll anymore</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollDescriptionIntoView(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">scrollDescriptionIntoView</span>
+      <span class="normal">(String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a forward scroll action on the scrollable layout element until
+ the content-description is found, or until swipe attempts have been exhausted.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#setMaxSearchSwipes(int)">setMaxSearchSwipes(int)</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>text</td>
+          <td>content-description to find within the contents of this scrollable layout element.</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if item is found; else, false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollForward()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">scrollForward</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a forward scroll with the default number of scroll steps (55).
+ If the swipe direction is set to vertical,
+ then the swipes will be performed from bottom to top. If the swipe
+ direction is set to horizontal, then the swipes will be performed from
+ right to left. Make sure to take into account devices configured with
+ right-to-left languages like Arabic and Hebrew.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if scrolled, false if can't scroll anymore</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollForward(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">scrollForward</span>
+      <span class="normal">(int steps)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a forward scroll. If the swipe direction is set to vertical,
+ then the swipes will be performed from bottom to top. If the swipe
+ direction is set to horizontal, then the swipes will be performed from
+ right to left. Make sure to take into account devices configured with
+ right-to-left languages like Arabic and Hebrew.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>steps</td>
+          <td>number of steps. Use this to control the speed of the scroll action</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if scrolled, false if can't scroll anymore</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollIntoView(android.support.test.uiautomator.UiSelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">scrollIntoView</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Perform a scroll forward action to move through the scrollable layout
+ element until a visible item that matches the selector is found.
+
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollDescriptionIntoView(java.lang.String)">scrollDescriptionIntoView(String)</a></code> and <code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#scrollTextIntoView(java.lang.String)">scrollTextIntoView(String)</a></code>.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>selector</td>
+          <td><code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> selector</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if the item was found and now is in view; else, false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollIntoView(android.support.test.uiautomator.UiObject)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">scrollIntoView</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a> obj)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Perform a forward scroll action to move through the scrollable layout element until
+ a visible item that matches the <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></code> is found.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>obj</td>
+          <td><code><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></code></td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if the item was found and now is in view else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollTextIntoView(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">scrollTextIntoView</span>
+      <span class="normal">(String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Performs a forward scroll action on the scrollable layout element until
+ the text you provided is visible, or until swipe attempts have been exhausted.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#setMaxSearchSwipes(int)">setMaxSearchSwipes(int)</a></code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>text</td>
+          <td>test to look for</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if item is found; else, false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollToBeginning(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">scrollToBeginning</span>
+      <span class="normal">(int maxSwipes)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Scrolls to the beginning of a scrollable layout element. The beginning
+ can be at the  top-most edge in the case of vertical controls, or the
+ left-most edge for horizontal controls. Make sure to take into account
+ devices configured with right-to-left languages like Arabic and Hebrew.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true on scrolled else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollToBeginning(int, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">scrollToBeginning</span>
+      <span class="normal">(int maxSwipes, int steps)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Scrolls to the beginning of a scrollable layout element. The beginning
+ can be at the  top-most edge in the case of vertical controls, or the
+ left-most edge for horizontal controls. Make sure to take into account
+ devices configured with right-to-left languages like Arabic and Hebrew.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>steps</td>
+          <td>use steps to control the speed, so that it may be a scroll, or fling</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true on scrolled else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollToEnd(int, int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">scrollToEnd</span>
+      <span class="normal">(int maxSwipes, int steps)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Scrolls to the end of a scrollable layout element. The end can be at the
+ bottom-most edge in the case of vertical controls, or the right-most edge for
+ horizontal controls. Make sure to take into account devices configured with
+ right-to-left languages like Arabic and Hebrew.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>steps</td>
+          <td>use steps to control the speed, so that it may be a scroll, or fling</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true on scrolled else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollToEnd(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">scrollToEnd</span>
+      <span class="normal">(int maxSwipes)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Scrolls to the end of a scrollable layout element. The end can be at the
+ bottom-most edge in the case of vertical controls, or the right-most edge for
+ horizontal controls. Make sure to take into account devices configured with
+ right-to-left languages like Arabic and Hebrew.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true on scrolled, else false</li></ul>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Throws</h5>
+      <table class="jd-tagtable">
+        <tr>
+            <th><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+            <td></td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="setAsHorizontalList()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a>
+      </span>
+      <span class="sympad">setAsHorizontalList</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the direction of swipes to be horizontal when performing scroll actions.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>reference to itself</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="setAsVerticalList()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a>
+      </span>
+      <span class="sympad">setAsVerticalList</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the direction of swipes to be vertical when performing scroll actions.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>reference to itself</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="setMaxSearchSwipes(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a>
+      </span>
+      <span class="sympad">setMaxSearchSwipes</span>
+      <span class="normal">(int swipes)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the maximum number of scrolls allowed when performing a
+ scroll action in search of a child element.
+ See <code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#getChildByDescription(android.support.test.uiautomator.UiSelector, java.lang.String)">getChildByDescription(UiSelector, String)</a></code> and
+ <code><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html#getChildByText(android.support.test.uiautomator.UiSelector, java.lang.String)">getChildByText(UiSelector, String)</a></code>.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>swipes</td>
+          <td>the number of search swipes to perform until giving up</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>reference to itself</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="setSwipeDeadZonePercentage(double)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a>
+      </span>
+      <span class="sympad">setSwipeDeadZonePercentage</span>
+      <span class="normal">(double swipeDeadZonePercentage)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Sets the percentage of a widget's size that's considered as no-touch
+ zone when swiping.
+ The no-touch zone is set as percentage of a widget's total width or height,
+ denoting a margin around the swipable area of the widget. Swipes must
+ always start and end inside this margin. This is important when the
+ widget being swiped may not respond to the swipe if started at a point
+ too near to the edge. The default is 10% from either edge.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>swipeDeadZonePercentage</td>
+          <td>is a value between 0 and 1</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>reference to itself</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+<h2>Protected Methods</h2>
+
+
+
+<A NAME="exists(android.support.test.uiautomator.UiSelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        protected
+
+
+
+
+        boolean
+      </span>
+      <span class="sympad">exists</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Used privately when performing swipe searches to decide if an element has become
+ visible or not.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true if found else false</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/UiSelector.html b/docs/html/reference/android/support/test/uiautomator/UiSelector.html
new file mode 100644
index 0000000..0698a44
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/UiSelector.html
@@ -0,0 +1,3328 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>UiSelector | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">UiSelector</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+  &#124; <a href="#promethods">Protected Methods</a>
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">UiSelector</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.UiSelector</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">Specifies the elements in the layout hierarchy for tests to target, filtered
+ by properties such as text value, content-description, class name, and state
+ information. You can also target an element by its location in a layout
+ hierarchy.</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#UiSelector()">UiSelector</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#checkable(boolean)">checkable</a></span>(boolean val)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match widgets that are checkable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#checked(boolean)">checked</a></span>(boolean val)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match widgets that
+ are currently checked (usually for checkboxes).
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#childSelector(android.support.test.uiautomator.UiSelector)">childSelector</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Adds a child UiSelector criteria to this selector.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#className(java.lang.String)">className</a></span>(String className)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match the class property
+ for a widget (for example, "android.widget.Button").
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+            &lt;T&gt;
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#className(java.lang.Class<T>)">className</a></span>(Class&lt;T&gt; type)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match the class property
+ for a widget (for example, "android.widget.Button").
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#classNameMatches(java.lang.String)">classNameMatches</a></span>(String regex)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match the class property
+ for a widget, using a regular expression.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#clickable(boolean)">clickable</a></span>(boolean val)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match widgets that are clickable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#description(java.lang.String)">description</a></span>(String desc)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match the content-description
+ property for a widget.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#descriptionContains(java.lang.String)">descriptionContains</a></span>(String desc)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match the content-description
+ property for a widget.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#descriptionMatches(java.lang.String)">descriptionMatches</a></span>(String regex)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match the content-description
+ property for a widget.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#descriptionStartsWith(java.lang.String)">descriptionStartsWith</a></span>(String desc)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match the content-description
+ property for a widget.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#enabled(boolean)">enabled</a></span>(boolean val)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match widgets that are enabled.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#focusable(boolean)">focusable</a></span>(boolean val)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match widgets that are focusable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#focused(boolean)">focused</a></span>(boolean val)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match widgets that have focus.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#fromParent(android.support.test.uiautomator.UiSelector)">fromParent</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Adds a child UiSelector criteria to this selector which is used to
+ start search from the parent widget.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#index(int)">index</a></span>(int index)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match the widget by its node
+ index in the layout hierarchy.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#instance(int)">instance</a></span>(int instance)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match the
+ widget by its instance number.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#longClickable(boolean)">longClickable</a></span>(boolean val)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match widgets that are long-clickable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#packageName(java.lang.String)">packageName</a></span>(String name)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match the package name
+ of the application that contains the widget.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#packageNameMatches(java.lang.String)">packageNameMatches</a></span>(String regex)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match the package name
+ of the application that contains the widget.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#resourceId(java.lang.String)">resourceId</a></span>(String id)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match the given resource ID.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#resourceIdMatches(java.lang.String)">resourceIdMatches</a></span>(String regex)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match the resource ID
+ of the widget, using a regular expression.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#scrollable(boolean)">scrollable</a></span>(boolean val)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match widgets that are scrollable.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#selected(boolean)">selected</a></span>(boolean val)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match widgets that
+ are currently selected.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#text(java.lang.String)">text</a></span>(String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match the visible text displayed
+ in a widget (for example, the text label to launch an app).
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#textContains(java.lang.String)">textContains</a></span>(String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match the visible text in a widget
+ where the visible text must contain the string in your input argument.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#textMatches(java.lang.String)">textMatches</a></span>(String regex)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match the visible text displayed in a layout
+ element, using a regular expression.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#textStartsWith(java.lang.String)">textStartsWith</a></span>(String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Set the search criteria to match visible text in a widget that is
+ prefixed by the text parameter.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#toString()">toString</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="promethods" class="jd-sumtable"><tr><th colspan="12">Protected Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#cloneSelector()">cloneSelector</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="UiSelector()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">UiSelector</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="checkable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">checkable</span>
+      <span class="normal">(boolean val)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match widgets that are checkable.
+
+ Typically, using this search criteria alone is not useful.
+ You should also include additional criteria, such as text,
+ content-description, or the class name for a widget.
+
+ If no other search criteria is specified, and there is more
+ than one matching widget, the first widget in the tree
+ is selected.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>val</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="checked(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">checked</span>
+      <span class="normal">(boolean val)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match widgets that
+ are currently checked (usually for checkboxes).
+
+ Typically, using this search criteria alone is not useful.
+ You should also include additional criteria, such as text,
+ content-description, or the class name for a widget.
+
+ If no other search criteria is specified, and there is more
+ than one matching widget, the first widget in the tree
+ is selected.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>val</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="childSelector(android.support.test.uiautomator.UiSelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">childSelector</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Adds a child UiSelector criteria to this selector.
+
+ Use this selector to narrow the search scope to
+ child widgets under a specific parent widget.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with this added search criterion</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="className(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">className</span>
+      <span class="normal">(String className)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match the class property
+ for a widget (for example, "android.widget.Button").</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>className</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="className(java.lang.Class<T>)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">className</span>
+      <span class="normal">(Class&lt;T&gt; type)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match the class property
+ for a widget (for example, "android.widget.Button").</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>type</td>
+          <td>type</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="classNameMatches(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">classNameMatches</span>
+      <span class="normal">(String regex)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match the class property
+ for a widget, using a regular expression.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>regex</td>
+          <td>a regular expression</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="clickable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">clickable</span>
+      <span class="normal">(boolean val)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match widgets that are clickable.
+
+ Typically, using this search criteria alone is not useful.
+ You should also include additional criteria, such as text,
+ content-description, or the class name for a widget.
+
+ If no other search criteria is specified, and there is more
+ than one matching widget, the first widget in the tree
+ is selected.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>val</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="description(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">description</span>
+      <span class="normal">(String desc)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match the content-description
+ property for a widget.
+
+ The content-description is typically used
+ by the Android Accessibility framework to
+ provide an audio prompt for the widget when
+ the widget is selected. The content-description
+ for the widget must match exactly
+ with the string in your input argument.
+
+ Matching is case-sensitive.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>desc</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="descriptionContains(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">descriptionContains</span>
+      <span class="normal">(String desc)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match the content-description
+ property for a widget.
+
+ The content-description is typically used
+ by the Android Accessibility framework to
+ provide an audio prompt for the widget when
+ the widget is selected. The content-description
+ for the widget must contain
+ the string in your input argument.
+
+ Matching is case-insensitive.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>desc</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="descriptionMatches(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">descriptionMatches</span>
+      <span class="normal">(String regex)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match the content-description
+ property for a widget.
+
+ The content-description is typically used
+ by the Android Accessibility framework to
+ provide an audio prompt for the widget when
+ the widget is selected. The content-description
+ for the widget must match exactly
+ with the string in your input argument.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>regex</td>
+          <td>a regular expression</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="descriptionStartsWith(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">descriptionStartsWith</span>
+      <span class="normal">(String desc)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match the content-description
+ property for a widget.
+
+ The content-description is typically used
+ by the Android Accessibility framework to
+ provide an audio prompt for the widget when
+ the widget is selected. The content-description
+ for the widget must start
+ with the string in your input argument.
+
+ Matching is case-insensitive.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>desc</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="enabled(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">enabled</span>
+      <span class="normal">(boolean val)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match widgets that are enabled.
+
+ Typically, using this search criteria alone is not useful.
+ You should also include additional criteria, such as text,
+ content-description, or the class name for a widget.
+
+ If no other search criteria is specified, and there is more
+ than one matching widget, the first widget in the tree
+ is selected.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>val</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="focusable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">focusable</span>
+      <span class="normal">(boolean val)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match widgets that are focusable.
+
+ Typically, using this search criteria alone is not useful.
+ You should also include additional criteria, such as text,
+ content-description, or the class name for a widget.
+
+ If no other search criteria is specified, and there is more
+ than one matching widget, the first widget in the tree
+ is selected.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>val</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="focused(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">focused</span>
+      <span class="normal">(boolean val)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match widgets that have focus.
+
+ Typically, using this search criteria alone is not useful.
+ You should also include additional criteria, such as text,
+ content-description, or the class name for a widget.
+
+ If no other search criteria is specified, and there is more
+ than one matching widget, the first widget in the tree
+ is selected.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>val</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="fromParent(android.support.test.uiautomator.UiSelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">fromParent</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Adds a child UiSelector criteria to this selector which is used to
+ start search from the parent widget.
+
+ Use this selector to narrow the search scope to
+ sibling widgets as well all child widgets under a parent.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with this added search criterion</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="index(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">index</span>
+      <span class="normal">(int index)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match the widget by its node
+ index in the layout hierarchy.
+
+ The index value must be 0 or greater.
+
+ Using the index can be unreliable and should only
+ be used as a last resort for matching. Instead,
+ consider using the <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#instance(int)">instance(int)</a></code> method.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>index</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="instance(int)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">instance</span>
+      <span class="normal">(int instance)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match the
+ widget by its instance number.
+
+ The instance value must be 0 or greater, where
+ the first instance is 0.
+
+ For example, to simulate a user click on
+ the third image that is enabled in a UI screen, you
+ could specify a a search criteria where the instance is
+ 2, the <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#className(java.lang.String)">className(String)</a></code> matches the image
+ widget class, and <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html#enabled(boolean)">enabled(boolean)</a></code> is true.
+ The code would look like this:
+ <code>
+ new UiSelector().className("android.widget.ImageView")
+    .enabled(true).instance(2);
+ </code></p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>instance</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="longClickable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">longClickable</span>
+      <span class="normal">(boolean val)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match widgets that are long-clickable.
+
+ Typically, using this search criteria alone is not useful.
+ You should also include additional criteria, such as text,
+ content-description, or the class name for a widget.
+
+ If no other search criteria is specified, and there is more
+ than one matching widget, the first widget in the tree
+ is selected.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>val</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="packageName(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">packageName</span>
+      <span class="normal">(String name)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match the package name
+ of the application that contains the widget.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>name</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="packageNameMatches(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">packageNameMatches</span>
+      <span class="normal">(String regex)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match the package name
+ of the application that contains the widget.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>regex</td>
+          <td>a regular expression</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="resourceId(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">resourceId</span>
+      <span class="normal">(String id)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match the given resource ID.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>id</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="resourceIdMatches(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">resourceIdMatches</span>
+      <span class="normal">(String regex)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match the resource ID
+ of the widget, using a regular expression.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>regex</td>
+          <td>a regular expression</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">scrollable</span>
+      <span class="normal">(boolean val)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match widgets that are scrollable.
+
+ Typically, using this search criteria alone is not useful.
+ You should also include additional criteria, such as text,
+ content-description, or the class name for a widget.
+
+ If no other search criteria is specified, and there is more
+ than one matching widget, the first widget in the tree
+ is selected.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>val</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="selected(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">selected</span>
+      <span class="normal">(boolean val)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match widgets that
+ are currently selected.
+
+ Typically, using this search criteria alone is not useful.
+ You should also include additional criteria, such as text,
+ content-description, or the class name for a widget.
+
+ If no other search criteria is specified, and there is more
+ than one matching widget, the first widget in the tree
+ is selected.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>val</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="text(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">text</span>
+      <span class="normal">(String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match the visible text displayed
+ in a widget (for example, the text label to launch an app).
+
+ The text for the element must match exactly with the string in your input
+ argument. Matching is case-sensitive.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>text</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="textContains(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">textContains</span>
+      <span class="normal">(String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match the visible text in a widget
+ where the visible text must contain the string in your input argument.
+
+ The matching is case-sensitive.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>text</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="textMatches(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">textMatches</span>
+      <span class="normal">(String regex)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match the visible text displayed in a layout
+ element, using a regular expression.
+
+ The text in the widget must match exactly with the string in your
+ input argument.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>regex</td>
+          <td>a regular expression</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="textStartsWith(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">textStartsWith</span>
+      <span class="normal">(String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Set the search criteria to match visible text in a widget that is
+ prefixed by the text parameter.
+
+ The matching is case-insensitive.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>text</td>
+          <td>Value to match</td>
+        </tr>
+      </table>
+  </div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>UiSelector with the specified search criteria</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="toString()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+        String
+      </span>
+      <span class="sympad">toString</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+<h2>Protected Methods</h2>
+
+
+
+<A NAME="cloneSelector()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        protected
+
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a>
+      </span>
+      <span class="sympad">cloneSelector</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/UiWatcher.html b/docs/html/reference/android/support/test/uiautomator/UiWatcher.html
new file mode 100644
index 0000000..0ebb057
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/UiWatcher.html
@@ -0,0 +1,909 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>UiWatcher | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">UiWatcher</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+<div class="sum-details-links">
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    interface
+<h1 itemprop="name">UiWatcher</h1>
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.UiWatcher</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">See <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#registerWatcher(java.lang.String, android.support.test.uiautomator.UiWatcher)">registerWatcher(String, UiWatcher)</a></code> on how to register a
+ a condition watcher to be called by the automation library. The automation library will
+ invoke checkForCondition() only when a regular API call is in retry mode because it is unable
+ to locate its selector yet. Only during this time, the watchers are invoked to check if there is
+ something else unexpected on the screen.</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+            abstract
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html#checkForCondition()">checkForCondition</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Custom handler that is automatically called when the testing framework is unable to
+ find a match using the <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>
+
+ When the framework is in the process of matching a <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> and it
+ is unable to match any widget based on the specified criteria in the selector,
+ the framework will perform retries for a predetermined time, waiting for the display
+ to update and show the desired widget.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="checkForCondition()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+        abstract
+
+        boolean
+      </span>
+      <span class="sympad">checkForCondition</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Custom handler that is automatically called when the testing framework is unable to
+ find a match using the <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code>
+
+ When the framework is in the process of matching a <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> and it
+ is unable to match any widget based on the specified criteria in the selector,
+ the framework will perform retries for a predetermined time, waiting for the display
+ to update and show the desired widget. While the framework is in this state, it will call
+ registered watchers' checkForCondition(). This gives the registered watchers a chance
+ to take a look at the display and see if there is a recognized condition that can be
+ handled and in doing so allowing the current test to continue.
+
+ An example usage would be to look for dialogs popped due to other background
+ processes requesting user attention and have nothing to do with the application
+ currently under test.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Returns</h5>
+      <ul class="nolist"><li>true to indicate a matched condition or false for nothing was matched</li></ul>
+  </div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/Until.html b/docs/html/reference/android/support/test/uiautomator/Until.html
new file mode 100644
index 0000000..727342b
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/Until.html
@@ -0,0 +1,2824 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>Until | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+<body class="gc-documentation
+  develop reference" itemscope itemtype="http://schema.org/Article">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">Until</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+          <li class="selected api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+          <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12"  id="doc-col">
+
+<div id="api-info-block">
+
+
+
+
+
+
+
+
+
+
+
+<div class="sum-details-links">
+
+Summary:
+
+
+
+
+
+
+
+
+
+  <a href="#pubctors">Ctors</a>
+
+
+
+
+  &#124; <a href="#pubmethods">Methods</a>
+
+
+
+
+  &#124; <a href="#inhmethods">Inherited Methods</a>
+
+&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
+
+</div><!-- end sum-details-links -->
+<div class="api-level">
+
+
+
+
+</div>
+</div><!-- end api-info-block -->
+
+
+<!-- ======== START OF CLASS DATA ======== -->
+
+<div id="jd-header">
+    public
+
+
+
+    class
+<h1 itemprop="name">Until</h1>
+
+
+
+
+    extends Object<br/>
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+<table class="jd-inheritance-table">
+
+
+    <tr>
+
+        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
+    </tr>
+
+
+    <tr>
+
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
+
+        <td colspan="1" class="jd-inheritance-class-cell">android.support.test.uiautomator.Until</td>
+    </tr>
+
+
+</table>
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Class Overview</h2>
+<p itemprop="articleBody">The <code><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></code> class provides factory methods for constructing common conditions.
+</p>
+
+
+
+
+
+</div><!-- jd-descr -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="jd-descr">
+
+
+<h2>Summary</h2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            </nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#Until()">Until</a></span>()</nobr>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#checkable(boolean)">checkable</a></span>(boolean isCheckable)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s checkable state.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#checked(boolean)">checked</a></span>(boolean isChecked)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s checked state.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#clickable(boolean)">clickable</a></span>(boolean isClickable)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s clickable state.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#descContains(java.lang.String)">descContains</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that is satisfied when the object's content description contains the
+ given string.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#descEndsWith(java.lang.String)">descEndsWith</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that is satisfied when the object's content description ends with the
+ given string.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#descEquals(java.lang.String)">descEquals</a></span>(String contentDescription)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that is satisfied when the object's content description exactly matches
+ the given string.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#descMatches(java.util.regex.Pattern)">descMatches</a></span>(Pattern regex)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that is satisfied when the object's content description matches the given
+ regex.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#descMatches(java.lang.String)">descMatches</a></span>(String regex)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that is satisfied when the object's content description matches the given
+ regex.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#descStartsWith(java.lang.String)">descStartsWith</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that is satisfied when the object's content description starts with the
+ given string.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#enabled(boolean)">enabled</a></span>(boolean isEnabled)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s enabled state.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a>&lt;<a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a>&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#findObject(android.support.test.uiautomator.BySelector)">findObject</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></code> that is satisfied when at least one element matching the
+ selector can be found.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a>&lt;List&lt;<a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a>&gt;&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#findObjects(android.support.test.uiautomator.BySelector)">findObjects</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></code> that is satisfied when at least one element matching the
+ selector can be found.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#focusable(boolean)">focusable</a></span>(boolean isFocusable)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s focusable state.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#focused(boolean)">focused</a></span>(boolean isFocused)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s focused state.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#gone(android.support.test.uiautomator.BySelector)">gone</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></code> that is satisfied when no elements matching the selector
+ can be found.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#hasObject(android.support.test.uiautomator.BySelector)">hasObject</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a <code><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></code> that is satisfied when at least one element matching the
+ selector can be found.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#longClickable(boolean)">longClickable</a></span>(boolean isLongClickable)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s long clickable state.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#newWindow()">newWindow</a></span>()</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that depends on a new window having appeared.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#scrollFinished(android.support.test.uiautomator.Direction)">scrollFinished</a></span>(<a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a> direction)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that depends on a scroll having reached the end in the given
+ <code>direction</code>.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#scrollable(boolean)">scrollable</a></span>(boolean isScrollable)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s scrollable state.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#selected(boolean)">selected</a></span>(boolean isSelected)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s selected state.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#textContains(java.lang.String)">textContains</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that is satisfied when the object's text value contains the given string.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#textEndsWith(java.lang.String)">textEndsWith</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that is satisfied when the object's text value ends with the given
+ string.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#textEquals(java.lang.String)">textEquals</a></span>(String text)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that is satisfied when the object's text value exactly matches the given
+ string.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#textMatches(java.lang.String)">textMatches</a></span>(String regex)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that is satisfied when the object's text value matches the given regex.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#textMatches(java.util.regex.Pattern)">textMatches</a></span>(Pattern regex)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that is satisfied when the object's text value matches the given regex.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#textNotEquals(java.lang.String)">textNotEquals</a></span>(String text)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+            static
+
+            <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad"><a href="../../../../../reference/android/support/test/uiautomator/Until.html#textStartsWith(java.lang.String)">textStartsWith</a></span>(String substring)</nobr>
+
+        <div class="jd-descrdiv">
+          Returns a condition that is satisfied when the object's text value starts with the given
+ string.
+
+
+
+        </div>
+
+  </td></tr>
+
+
+
+</table>
+
+
+
+
+
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+<table id="inhmethods" class="jd-sumtable"><tr><th>
+  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
+  <div style="clear:left;">Inherited Methods</div></th></tr>
+
+
+<tr class="api apilevel-" >
+<td colspan="12">
+  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
+          ><img id="inherited-methods-java.lang.Object-trigger"
+          src="../../../../../assets/images/triangle-closed.png"
+          class="jd-expando-trigger-img" /></a>
+From class
+
+  java.lang.Object
+
+<div id="inherited-methods-java.lang.Object">
+  <div id="inherited-methods-java.lang.Object-list"
+        class="jd-inheritedlinks">
+  </div>
+  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
+    <table class="jd-sumtable-expando">
+
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            Object</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">clone</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            boolean</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">equals</span>(Object arg0)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">finalize</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            Class&lt;?&gt;</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">getClass</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            int</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">hashCode</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notify</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">notifyAll</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+
+
+
+            String</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">toString</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>()</nobr>
+
+  </td></tr>
+
+
+
+    <tr class=" api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
+
+  </td></tr>
+
+
+
+    <tr class="alt-color api apilevel-" >
+        <td class="jd-typecol"><nobr>
+
+
+            final
+
+
+            void</nobr>
+        </td>
+        <td class="jd-linkcol" width="100%"><nobr>
+        <span class="sympad">wait</span>(long arg0)</nobr>
+
+  </td></tr>
+
+
+</table>
+  </div>
+</div>
+</td></tr>
+
+
+</table>
+
+
+</div><!-- jd-descr (summary) -->
+
+<!-- Details -->
+
+
+
+
+
+
+
+
+<!-- XML Attributes -->
+
+
+<!-- Enum Values -->
+
+
+<!-- Constants -->
+
+
+<!-- Fields -->
+
+
+<!-- Public ctors -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<h2>Public Constructors</h2>
+
+
+
+<A NAME="Until()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+
+
+
+
+
+      </span>
+      <span class="sympad">Until</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- Protected ctors -->
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+<!-- Public methdos -->
+
+<h2>Public Methods</h2>
+
+
+
+<A NAME="checkable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">checkable</span>
+      <span class="normal">(boolean isCheckable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s checkable state.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isCheckable</td>
+          <td>Whether the object should be checkable to satisfy this condition.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="checked(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">checked</span>
+      <span class="normal">(boolean isChecked)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s checked state.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isChecked</td>
+          <td>Whether the object should be checked to satisfy this condition.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="clickable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">clickable</span>
+      <span class="normal">(boolean isClickable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s clickable state.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isClickable</td>
+          <td>Whether the object should be clickable to satisfy this condition.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="descContains(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">descContains</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that is satisfied when the object's content description contains the
+ given string.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="descEndsWith(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">descEndsWith</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that is satisfied when the object's content description ends with the
+ given string.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="descEquals(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">descEquals</span>
+      <span class="normal">(String contentDescription)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that is satisfied when the object's content description exactly matches
+ the given string.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="descMatches(java.util.regex.Pattern)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">descMatches</span>
+      <span class="normal">(Pattern regex)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that is satisfied when the object's content description matches the given
+ regex.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="descMatches(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">descMatches</span>
+      <span class="normal">(String regex)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that is satisfied when the object's content description matches the given
+ regex.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="descStartsWith(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">descStartsWith</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that is satisfied when the object's content description starts with the
+ given string.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="enabled(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">enabled</span>
+      <span class="normal">(boolean isEnabled)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s enabled state.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isEnabled</td>
+          <td>Whether the object should be enabled to satisfy this condition.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="findObject(android.support.test.uiautomator.BySelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a>&lt;<a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a>&gt;
+      </span>
+      <span class="sympad">findObject</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></code> that is satisfied when at least one element matching the
+ selector can be found. The condition will return the first matching element.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="findObjects(android.support.test.uiautomator.BySelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a>&lt;List&lt;<a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a>&gt;&gt;
+      </span>
+      <span class="sympad">findObjects</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></code> that is satisfied when at least one element matching the
+ selector can be found. The condition will return all matching elements.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="focusable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">focusable</span>
+      <span class="normal">(boolean isFocusable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s focusable state.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isFocusable</td>
+          <td>Whether the object should be focusable to satisfy this condition.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="focused(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">focused</span>
+      <span class="normal">(boolean isFocused)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s focused state.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isFocused</td>
+          <td>Whether the object should be focused to satisfy this condition.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="gone(android.support.test.uiautomator.BySelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">gone</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></code> that is satisfied when no elements matching the selector
+ can be found.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="hasObject(android.support.test.uiautomator.BySelector)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">hasObject</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a> selector)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a <code><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></code> that is satisfied when at least one element matching the
+ selector can be found.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="longClickable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">longClickable</span>
+      <span class="normal">(boolean isLongClickable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s long clickable state.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isLongClickable</td>
+          <td>Whether the object should be long clickable to satisfy this condition.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="newWindow()"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">newWindow</span>
+      <span class="normal">()</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that depends on a new window having appeared. </p></div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollFinished(android.support.test.uiautomator.Direction)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">scrollFinished</span>
+      <span class="normal">(<a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a> direction)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that depends on a scroll having reached the end in the given
+ <code>direction</code>.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>direction</td>
+          <td>The direction of the scroll.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="scrollable(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">scrollable</span>
+      <span class="normal">(boolean isScrollable)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s scrollable state.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isScrollable</td>
+          <td>Whether the object should be scrollable to satisfy this condition.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="selected(boolean)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">selected</span>
+      <span class="normal">(boolean isSelected)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that depends on a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code>'s selected state.</p></div>
+  <div class="jd-tagdata">
+      <h5 class="jd-tagtitle">Parameters</h5>
+      <table class="jd-tagtable">
+        <tr>
+          <th>isSelected</td>
+          <td>Whether the object should be selected to satisfy this condition.
+</td>
+        </tr>
+      </table>
+  </div>
+
+    </div>
+</div>
+
+
+<A NAME="textContains(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">textContains</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that is satisfied when the object's text value contains the given string.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="textEndsWith(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">textEndsWith</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that is satisfied when the object's text value ends with the given
+ string.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="textEquals(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">textEquals</span>
+      <span class="normal">(String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that is satisfied when the object's text value exactly matches the given
+ string.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="textMatches(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">textMatches</span>
+      <span class="normal">(String regex)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that is satisfied when the object's text value matches the given regex.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="textMatches(java.util.regex.Pattern)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">textMatches</span>
+      <span class="normal">(Pattern regex)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that is satisfied when the object's text value matches the given regex.
+</p></div>
+
+    </div>
+</div>
+
+
+<A NAME="textNotEquals(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">textNotEquals</span>
+      <span class="normal">(String text)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p></p></div>
+
+    </div>
+</div>
+
+
+<A NAME="textStartsWith(java.lang.String)"></A>
+
+<div class="jd-details api apilevel-">
+    <h4 class="jd-details-title">
+      <span class="normal">
+        public
+        static
+
+
+
+        <a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;Boolean&gt;
+      </span>
+      <span class="sympad">textStartsWith</span>
+      <span class="normal">(String substring)</span>
+    </h4>
+      <div class="api-level">
+        <div></div>
+
+
+
+      </div>
+    <div class="jd-details-descr">
+
+
+
+
+  <div class="jd-tagdata jd-tagdescr"><p>Returns a condition that is satisfied when the object's text value starts with the given
+ string.
+</p></div>
+
+    </div>
+</div>
+
+
+
+
+
+<!-- ========= METHOD DETAIL ======== -->
+
+
+
+<!-- ========= END OF CLASS DATA ========= -->
+<A NAME="navbar_top"></A>
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div> <!-- jd-content -->
+
+</div><!-- end doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/reference/android/support/test/uiautomator/package-summary.html b/docs/html/reference/android/support/test/uiautomator/package-summary.html
new file mode 100644
index 0000000..ab808b4
--- /dev/null
+++ b/docs/html/reference/android/support/test/uiautomator/package-summary.html
@@ -0,0 +1,964 @@
+<!DOCTYPE html>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<html>
+<head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="viewport" content="width=device-width" />
+
+<link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" />
+<title>android.support.test.uiautomator | Android Developers</title>
+
+<!-- STYLESHEETS -->
+<link rel="stylesheet"
+href="http://fonts.googleapis.com/css?family=Roboto+Condensed">
+<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
+  title="roboto">
+<link href="../../../../../assets/css/default.css?v=2" rel="stylesheet" type="text/css">
+
+
+<!-- FULLSCREEN STYLESHEET -->
+<link href="../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
+type="text/css">
+
+
+<!-- JAVASCRIPT -->
+<script src="http://www.google.com/jsapi" type="text/javascript"></script>
+<script src="../../../../../assets/js/android_3p-bundle.js" type="text/javascript"></script>
+<script type="text/javascript">
+  var toRoot = "../../../../../";
+  var metaTags = [];
+  var devsite = false;
+</script>
+<script src="../../../../../assets/js/docs.js?v=2" type="text/javascript"></script>
+
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-5831155-1', 'android.com');
+  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
+  ga('send', 'pageview');
+  ga('universal.send', 'pageview'); // Send page view for new tracker.
+</script>
+
+</head>
+
+
+<body class="gc-documentation
+  develop reference">
+  <div id="doc-api-level" class="" style="display:none"></div>
+  <a name="top"></a>
+
+
+<a name="top"></a>
+
+  <!-- Header -->
+  <div id="header-wrapper">
+    <div id="header">
+
+
+
+
+      <div class="wrap" id="header-wrap">
+        <div class="col-3 logo">
+          <a href="../../../../../index.html">
+            <img src="../../../../../assets/images/dac_logo.png"
+                srcset="../../../../../assets/images/dac_logo@2x.png 2x"
+                width="123" height="25" alt="Android Developers" />
+          </a>
+          <div class="btn-quicknav" id="btn-quicknav">
+            <a href="#" class="arrow-inactive">Quicknav</a>
+            <a href="#" class="arrow-active">Quicknav</a>
+          </div>
+        </div>
+        <ul class="nav-x col-9">
+            <li class="design">
+              <a href="../../../../../design/index.html"
+              zh-tw-lang="設計"
+              zh-cn-lang="设计"
+              ru-lang="Проектирование"
+              ko-lang="디자인"
+              ja-lang="設計"
+              es-lang="Diseñar"
+              >Design</a></li>
+            <li class="develop"><a href="../../../../../develop/index.html"
+              zh-tw-lang="開發"
+              zh-cn-lang="开发"
+              ru-lang="Разработка"
+              ko-lang="개발"
+              ja-lang="開発"
+              es-lang="Desarrollar"
+              >Develop</a></li>
+            <li class="distribute last"><a href="../../../../../distribute/index.html"
+              zh-tw-lang="發佈"
+              zh-cn-lang="分发"
+              ru-lang="Распространение"
+              ko-lang="배포"
+              ja-lang="配布"
+              es-lang="Distribuir"
+              >Distribute</a></li>
+        </ul>
+
+
+
+
+<div class="menu-container">
+  <div class="moremenu">
+    <div id="more-btn"></div>
+  </div>
+  <div class="morehover" id="moremenu">
+    <div class="top"></div>
+    <div class="mid">
+      <div class="header">Links</div>
+      <ul>
+        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
+        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
+        <li><a href="../../../../../about/index.html">About Android</a></li>
+      </ul>
+      <div class="header">Android Sites</div>
+      <ul>
+        <li><a href="http://www.android.com">Android.com</a></li>
+        <li class="active"><a>Android Developers</a></li>
+        <li><a href="http://source.android.com">Android Open Source Project</a></li>
+      </ul>
+
+
+
+
+      <br class="clearfix" />
+    </div><!-- end 'mid' -->
+    <div class="bottom"></div>
+  </div><!-- end 'moremenu' -->
+
+  <div class="search" id="search-container">
+    <div class="search-inner">
+      <div id="search-btn"></div>
+      <div class="left"></div>
+      <form onsubmit="return submit_search()">
+        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
+          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
+          onkeydown="return search_changed(event, true, '../../../../../')"
+          onkeyup="return search_changed(event, false, '../../../../../')" />
+      </form>
+      <div class="right"></div>
+      <a class="close hide">close</a>
+      <div class="left"></div>
+      <div class="right"></div>
+    </div><!-- end search-inner -->
+  </div><!-- end search-container -->
+
+  <div class="search_filtered_wrapper reference">
+    <div class="suggest-card reference no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+
+  <div class="search_filtered_wrapper docs">
+    <div class="suggest-card dummy no-display">&nbsp;</div>
+    <div class="suggest-card develop no-display">
+      <ul class="search_filtered">
+      </ul>
+      <div class="child-card guides no-display">
+      </div>
+      <div class="child-card training no-display">
+      </div>
+      <div class="child-card samples no-display">
+      </div>
+    </div>
+    <div class="suggest-card design no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+    <div class="suggest-card distribute no-display">
+      <ul class="search_filtered">
+      </ul>
+    </div>
+  </div>
+</div><!-- end menu-container (search and menu widget) -->
+
+
+
+        <!-- Expanded quicknav -->
+        <div id="quicknav" class="col-13">
+          <ul>
+            <li class="about">
+              <ul>
+                <li><a href="../../../../../about/index.html">About</a></li>
+                <li><a href="../../../../../wear/index.html">Wear</a></li>
+                <li><a href="../../../../../tv/index.html">TV</a></li>
+                <li><a href="../../../../../auto/index.html">Auto</a></li>
+              </ul>
+            </li>
+            <li class="design">
+              <ul>
+                <li><a href="../../../../../design/index.html">Get Started</a></li>
+                <li><a href="../../../../../design/devices.html">Devices</a></li>
+                <li><a href="../../../../../design/style/index.html">Style</a></li>
+                <li><a href="../../../../../design/patterns/index.html">Patterns</a></li>
+                <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li>
+                <li><a href="../../../../../design/downloads/index.html">Downloads</a></li>
+                <li><a href="../../../../../design/videos/index.html">Videos</a></li>
+              </ul>
+            </li>
+            <li class="develop">
+              <ul>
+                <li><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a>
+                </li>
+                <li><a href="../../../../../google/index.html">Google Services</a>
+                </li>
+
+              </ul>
+            </li>
+            <li class="distribute last">
+              <ul>
+                <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li>
+                <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li>
+                <li><a href="../../../../../distribute/users/index.html">Get Users</a></li>
+                <li><a href="../../../../../distribute/engage/index.html">Engage &amp; Retain</a></li>
+                <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li>
+                <li><a href="../../../../../distribute/tools/index.html">Tools &amp; Reference</a></li>
+                <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div><!-- /Expanded quicknav -->
+      </div><!-- end header-wrap.wrap -->
+    </div><!-- end header -->
+
+
+    <!-- Secondary x-nav -->
+    <div id="nav-x">
+        <div class="wrap" style="position:relative;z-index:1">
+
+
+            <a id="helpoutsLink" class="resource resource-card resource-card-6x2x3 resource-card-6x2 helpouts-card"
+              href="http://helpouts.google.com/partner/landing/provider/googledevelopers" target="_blank">
+              <div class="card-bg helpouts-card-bg"></div>
+              <div class="card-info">
+                <div class="helpouts-description">
+                  <div class="text">Help developers solve problems<br/>
+                    <span id="helpoutsLinkText" class="link-color" style="display:block;padding-top:5px;text-align:right">Learn more</span>
+                  </div>
+                </div>
+              </div>
+            </a>
+            <script>
+              var textA = "LEARN MORE";
+              var linkA = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner1&utm_medium=banner&utm_campaign=android_provider_banner1";
+              var textB = "SIGN UP NOW";
+              var linkB = "http://helpouts.google.com/partner/landing/provider/googledevelopers?utm_source=android_banner2&utm_medium=banner&utm_campaign=android_provider_banner2";
+
+              if (Math.floor(1/Math.random()) > 1) {
+                $("a#helpoutsLink").attr('href', linkA);
+                $("span#helpoutsLinkText").text(textA);
+              } else {
+                $("a#helpoutsLink").attr('href', linkB);
+                $("span#helpoutsLinkText").text(textB);
+              }
+            </script>
+
+
+            <ul class="nav-x col-9 develop" style="width:100%">
+                <li class="training"><a href="../../../../../training/index.html"
+                  zh-tw-lang="訓練課程"
+                  zh-cn-lang="培训"
+                  ru-lang="Курсы"
+                  ko-lang="교육"
+                  ja-lang="トレーニング"
+                  es-lang="Capacitación"
+                  >Training</a></li>
+                <li class="guide"><a href="../../../../../guide/index.html"
+                  zh-tw-lang="API 指南"
+                  zh-cn-lang="API 指南"
+                  ru-lang="Руководства по API"
+                  ko-lang="API 가이드"
+                  ja-lang="API ガイド"
+                  es-lang="Guías de la API"
+                  >API Guides</a></li>
+                <li class="reference"><a href="../../../../../reference/packages.html"
+                  zh-tw-lang="參考資源"
+                  zh-cn-lang="参考"
+                  ru-lang="Справочник"
+                  ko-lang="참조문서"
+                  ja-lang="リファレンス"
+                  es-lang="Referencia"
+                  >Reference</a></li>
+                <li class="tools"><a href="../../../../../sdk/index.html"
+                  zh-tw-lang="相關工具"
+                  zh-cn-lang="工具"
+                  ru-lang="Инструменты"
+                  ko-lang="도구"
+                  ja-lang="ツール"
+                  es-lang="Herramientas"
+                  >Tools</a></li>
+                <li class="google"><a href="../../../../../google/index.html"
+                  >Google Services</a>
+                </li>
+
+            </ul>
+        </div>
+    </div>
+    <!-- /Sendondary x-nav DEVELOP -->
+
+
+
+    <div id="searchResults" class="wrap" style="display:none;">
+      <h2 id="searchTitle">Results</h2>
+      <div id="leftSearchControl" class="search-control">Loading...</div>
+    </div>
+  </div> <!--end header-wrapper -->
+
+  <div id="sticky-header">
+    <div>
+      <a class="logo" href="#top"></a>
+      <a class="top" href="#top"></a>
+      <ul class="breadcrumb">
+
+        <li class="current">android.support.test.uiautomator</li>
+      </ul>
+    </div>
+  </div>
+
+
+
+
+
+  <div class="wrap clearfix" id="body-content">
+    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
+      <div id="devdoc-nav">
+      <div id="api-nav-header">
+        <div id="api-level-toggle">
+          <label for="apiLevelCheckbox" class="disabled"
+            title="Select your target API level to dim unavailable APIs">API level: </label>
+          <div class="select-wrapper">
+            <select id="apiLevelSelector">
+              <!-- option elements added by buildApiLevelSelector() -->
+            </select>
+          </div>
+        </div><!-- end toggle -->
+        <div id="api-nav-title">Android APIs</div>
+        </div><!-- end nav header -->
+      <script>
+        var SINCE_DATA = [  ];
+        buildApiLevelSelector();
+      </script>
+
+      <div id="swapper">
+        <div id="nav-panels">
+          <div id="resize-packages-nav">
+            <div id="packages-nav" class="scroll-pane">
+
+              <ul>
+
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/package-summary.html">android.support.test</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/package-summary.html">android.support.test.espresso</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/action/package-summary.html">android.support.test.espresso.action</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/assertion/package-summary.html">android.support.test.espresso.assertion</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/base/package-summary.html">android.support.test.espresso.base</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/contrib/package-summary.html">android.support.test.espresso.contrib</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/matcher/package-summary.html">android.support.test.espresso.matcher</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/espresso/util/package-summary.html">android.support.test.espresso.util</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/filters/package-summary.html">android.support.test.filters</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/package-summary.html">android.support.test.runner</a></li>
+    <li class="api apilevel-">
+  <a href="../../../../../reference/android/support/test/runner/lifecycle/package-summary.html">android.support.test.runner.lifecycle</a></li>
+    <li class="selected api apilevel-">
+  <a href="../../../../../reference/android/support/test/uiautomator/package-summary.html">android.support.test.uiautomator</a></li>
+              </ul><br/>
+
+            </div> <!-- end packages-nav -->
+          </div> <!-- end resize-packages -->
+          <div id="classes-nav" class="scroll-pane">
+
+
+
+            <ul>
+
+
+    <li><h2>Interfaces</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Classes</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Enums</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></li>
+      </ul>
+    </li>
+
+    <li><h2>Exceptions</h2>
+      <ul>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></li>
+        <li class="api apilevel-"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></li>
+      </ul>
+    </li>
+
+            </ul><br/>
+
+
+          </div><!-- end classes -->
+        </div><!-- end nav-panels -->
+        <div id="nav-tree" style="display:none" class="scroll-pane">
+          <div id="tree-list"></div>
+        </div><!-- end nav-tree -->
+      </div><!-- end swapper -->
+      <div id="nav-swap">
+      <a class="fullscreen">fullscreen</a>
+      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
+      </div>
+    </div> <!-- end devdoc-nav -->
+    </div> <!-- end side-nav -->
+    <script type="text/javascript">
+      // init fullscreen based on user pref
+      var fullscreen = readCookie("fullscreen");
+      if (fullscreen != 0) {
+        if (fullscreen == "false") {
+          toggleFullscreen(false);
+        } else {
+          toggleFullscreen(true);
+        }
+      }
+      // init nav version for mobile
+      if (isMobile) {
+        swapNav(); // tree view should be used on mobile
+        $('#nav-swap').hide();
+      } else {
+        chooseDefaultNav();
+        if ($("#nav-tree").is(':visible')) {
+          init_default_navtree("../../../../../");
+        }
+      }
+      // scroll the selected page into view
+      $(document).ready(function() {
+        scrollIntoView("packages-nav");
+        scrollIntoView("classes-nav");
+        });
+    </script>
+
+
+
+
+
+<div class="col-12" id="doc-col">
+
+<div id="api-info-block">
+<div class="api-level">
+
+
+
+
+</div>
+</div>
+
+<div id="jd-header">
+  package
+  <h1>android.support.test.uiautomator</h1>
+</div><!-- end header -->
+
+<div id="naMessage"></div>
+
+<div id="jd-content" class="api apilevel-">
+
+
+
+
+
+
+
+
+
+
+    <h2>Interfaces</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/IAutomationSupport.html">IAutomationSupport</a></td>
+        <td class="jd-descrcol" width="100%">
+          Provides auxiliary support for running test cases&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiWatcher.html">UiWatcher</a></td>
+        <td class="jd-descrcol" width="100%">
+          See <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#registerWatcher(java.lang.String, android.support.test.uiautomator.UiWatcher)">registerWatcher(String, UiWatcher)</a></code> on how to register a
+ a condition watcher to be called by the automation library.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+    <h2>Classes</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></td>
+        <td class="jd-descrcol" width="100%">
+          <p><code><a href="../../../../../reference/android/support/test/uiautomator/By.html">By</a></code> is a utility class which enables the creation of <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code>s in a concise
+ manner.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></td>
+        <td class="jd-descrcol" width="100%">
+          A <code><a href="../../../../../reference/android/support/test/uiautomator/BySelector.html">BySelector</a></code> specifies criteria for matching UI elements during a call to
+ <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#findObject(android.support.test.uiautomator.BySelector)">findObject(BySelector)</a></code>.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/Configurator.html">Configurator</a></td>
+        <td class="jd-descrcol" width="100%">
+          Allows you to set key parameters for running uiautomator tests.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a>&lt;R&gt;</td>
+        <td class="jd-descrcol" width="100%">
+          An <code><a href="../../../../../reference/android/support/test/uiautomator/EventCondition.html">EventCondition</a></code> is a condition which depends on an event or series of events having
+ occurred.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a>&lt;R&gt;</td>
+        <td class="jd-descrcol" width="100%">
+          A <code><a href="../../../../../reference/android/support/test/uiautomator/SearchCondition.html">SearchCondition</a></code> is a condition that is satisfied by searching for UI elements.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorInstrumentationTestRunner.html">UiAutomatorInstrumentationTestRunner</a></td>
+        <td class="jd-descrcol" width="100%">
+          Test runner for <code><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></code>s.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiAutomatorTestCase.html">UiAutomatorTestCase</a></td>
+        <td class="jd-descrcol" width="100%">
+          <em>
+      This class is deprecated.
+    It is no longer necessary to extend UiAutomatorTestCase. You can use
+ <code><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html#getInstance(android.app.Instrumentation)">getInstance(Instrumentation)</a></code> from any test class as long as you have access to
+ an <code><a href="../../../../../reference/android/app/Instrumentation.html">Instrumentation</a></code> instance.
+</em>&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></td>
+        <td class="jd-descrcol" width="100%">
+          Used to enumerate a container's UI elements for the purpose of counting,
+ or targeting a sub elements by a child's text or description.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiDevice.html">UiDevice</a></td>
+        <td class="jd-descrcol" width="100%">
+          UiDevice provides access to state information about the device.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject.html">UiObject</a></td>
+        <td class="jd-descrcol" width="100%">
+          A UiObject is a representation of a view.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></td>
+        <td class="jd-descrcol" width="100%">
+          A <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code> represents a UI element.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a>&lt;R&gt;</td>
+        <td class="jd-descrcol" width="100%">
+          A <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2Condition.html">UiObject2Condition</a></code> is a condition which is satisfied when a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code> is in a
+ particular state.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiScrollable.html">UiScrollable</a></td>
+        <td class="jd-descrcol" width="100%">
+          UiScrollable is a <code><a href="../../../../../reference/android/support/test/uiautomator/UiCollection.html">UiCollection</a></code> and provides support for searching
+ for items in scrollable layout elements.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></td>
+        <td class="jd-descrcol" width="100%">
+          Specifies the elements in the layout hierarchy for tests to target, filtered
+ by properties such as text value, content-description, class name, and state
+ information.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></td>
+        <td class="jd-descrcol" width="100%">
+          The <code><a href="../../../../../reference/android/support/test/uiautomator/Until.html">Until</a></code> class provides factory methods for constructing common conditions.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+    <h2>Enums</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/Direction.html">Direction</a></td>
+        <td class="jd-descrcol" width="100%">
+          An enumeration used to specify the primary direction of certain gestures.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+    <h2>Exceptions</h2>
+    <div class="jd-sumtable">
+
+
+  <table class="jd-sumtable-expando">
+
+      <tr class="alt-color api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></td>
+        <td class="jd-descrcol" width="100%">
+          A <code><a href="../../../../../reference/android/support/test/uiautomator/StaleObjectException.html">StaleObjectException</a></code> exception is thrown when a <code><a href="../../../../../reference/android/support/test/uiautomator/UiObject2.html">UiObject2</a></code> is used after the
+ underlying <code><a href="../../../../../reference/android/view/View.html">View</a></code> has been destroyed.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+      <tr class=" api apilevel-" >
+        <td class="jd-linkcol"><a href="../../../../../reference/android/support/test/uiautomator/UiObjectNotFoundException.html">UiObjectNotFoundException</a></td>
+        <td class="jd-descrcol" width="100%">
+          Generated in test runs when a <code><a href="../../../../../reference/android/support/test/uiautomator/UiSelector.html">UiSelector</a></code> selector could not be matched
+ to any UI element displayed.&nbsp;
+
+
+
+        </td>
+      </tr>
+
+
+  </table>
+
+    </div>
+
+
+
+
+
+
+<div id="footer" class="wrap" >
+
+
+  <div id="copyright">
+
+  Except as noted, this content is licensed under <a
+  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
+  For details and restrictions, see the <a href="../../../../../license.html">
+  Content License</a>.
+  </div>
+  <div id="build_info">
+
+    Android &nbsp;r &mdash;
+<script src="../../../../../timestamp.js" type="text/javascript"></script>
+<script>document.write(BUILD_TIMESTAMP)</script>
+
+  </div>
+
+
+  <div id="footerlinks">
+
+  <p>
+    <a href="../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
+    <a href="../../../../../support.html">Support</a>
+  </p>
+  </div>
+
+</div> <!-- end footer -->
+</div><!-- end jd-content -->
+</div><!-- doc-content -->
+
+</div> <!-- end body-content -->
+
+
+
+
+
+
+</body>
+</html>
diff --git a/docs/html/sdk/api_diff/22/changes.html b/docs/html/sdk/api_diff/22/changes.html
new file mode 100644
index 0000000..7c98e81
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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 Thu Feb 19 13:16:13 PST 2015 -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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 21 and 22
+</TITLE>
+<link href="../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding: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/22/changes/alldiffs_index_additions.html b/docs/html/sdk/api_diff/22/changes/alldiffs_index_additions.html
new file mode 100644
index 0000000..6aabd6c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/alldiffs_index_additions.html
@@ -0,0 +1,920 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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 accessibilityTraversalAfter -->
+<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="#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.accessibilityTraversalAfter" class="hiddenlink" target="rightframe">accessibilityTraversalAfter</A>
+</nobr><br>
+<!-- Field accessibilityTraversalBefore -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityTraversalBefore" class="hiddenlink" target="rightframe">accessibilityTraversalBefore</A>
+</nobr><br>
+<!-- Field ACTION_BATTERY_SAVER_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_BATTERY_SAVER_SETTINGS" class="hiddenlink" target="rightframe">ACTION_BATTERY_SAVER_SETTINGS</A>
+</nobr><br>
+<!-- Field ACTION_NOTIFICATION_LISTENER_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS" class="hiddenlink" target="rightframe">ACTION_NOTIFICATION_LISTENER_SETTINGS</A>
+</nobr><br>
+<!-- Package android.service.carrier -->
+<A HREF="changes-summary.html#android.service.carrier" class="hiddenlink" target="rightframe"><b>android.service.carrier</b></A><br>
+<!-- Field ARTS -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.ARTS" class="hiddenlink" target="rightframe">ARTS</A>
+</nobr><br>
+<!-- Class BaseInterpolator -->
+<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="#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_android.view.animation.html#BaseInterpolator" class="hiddenlink" target="rightframe"><b>BaseInterpolator</b></A><br>
+<!-- Field baseRevisionCode -->
+<nobr><A HREF="android.content.pm.PackageInfo.html#android.content.pm.PackageInfo.baseRevisionCode" class="hiddenlink" target="rightframe">baseRevisionCode</A>
+</nobr><br>
+<!-- Field BIND_CARRIER_MESSAGING_SERVICE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_CARRIER_MESSAGING_SERVICE" class="hiddenlink" target="rightframe">BIND_CARRIER_MESSAGING_SERVICE</A>
+</nobr><br>
+<!-- Method bindSocket -->
+<nobr><A HREF="android.net.Network.html#android.net.Network.bindSocket_added(java.net.DatagramSocket)" class="hiddenlink" target="rightframe"><b>bindSocket</b>
+(<code>DatagramSocket</code>)</A></nobr><br>
+<!-- Field collapseContentDescription -->
+<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="#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.collapseContentDescription" class="hiddenlink" target="rightframe">collapseContentDescription</A>
+</nobr><br>
+<!-- Field CONTROL_SCENE_MODE_HDR -->
+<nobr><A HREF="android.hardware.camera2.CameraMetadata.html#android.hardware.camera2.CameraMetadata.CONTROL_SCENE_MODE_HDR" class="hiddenlink" target="rightframe">CONTROL_SCENE_MODE_HDR</A>
+</nobr><br>
+<!-- Constructor CookieManager -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.ctor_added()" class="hiddenlink" target="rightframe"><b>CookieManager</b>
+()</A></nobr>&nbsp;constructor<br>
+<!-- Method createChooser -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.createChooser_added(android.content.Intent, java.lang.CharSequence, android.content.IntentSender)" class="hiddenlink" target="rightframe"><b>createChooser</b>
+(<code>Intent, CharSequence, IntentSender</code>)</A></nobr><br>
+<!-- Field DATA_NULL_EMPTY -->
+<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="#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.util.TypedValue.html#android.util.TypedValue.DATA_NULL_EMPTY" class="hiddenlink" target="rightframe">DATA_NULL_EMPTY</A>
+</nobr><br>
+<!-- Field DATA_NULL_UNDEFINED -->
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.DATA_NULL_UNDEFINED" class="hiddenlink" target="rightframe">DATA_NULL_UNDEFINED</A>
+</nobr><br>
+<!-- Field DENSITY_280 -->
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_280" class="hiddenlink" target="rightframe">DENSITY_280</A>
+</nobr><br>
+<!-- Field dialogPreferredPadding -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.dialogPreferredPadding" class="hiddenlink" target="rightframe">dialogPreferredPadding</A>
+</nobr><br>
+<!-- Field DISALLOW_OUTGOING_BEAM -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.DISALLOW_OUTGOING_BEAM" class="hiddenlink" target="rightframe">DISALLOW_OUTGOING_BEAM</A>
+</nobr><br>
+<!-- Method dispatchDrawableHotspotChanged -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchDrawableHotspotChanged_added(float, float)" class="hiddenlink" target="rightframe"><b>dispatchDrawableHotspotChanged</b>
+(<code>float, float</code>)</A></nobr><br>
+<!-- Method dispatchNestedPrePerformAccessibilityAction -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchNestedPrePerformAccessibilityAction_added(int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>dispatchNestedPrePerformAccessibilityAction</b>
+(<code>int, Bundle</code>)</A></nobr><br>
+<!-- Field ENTERTAINMENT -->
+<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="#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.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.ENTERTAINMENT" class="hiddenlink" target="rightframe">ENTERTAINMENT</A>
+</nobr><br>
+<!-- Field EXTRA_CHOSEN_COMPONENT -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHOSEN_COMPONENT" class="hiddenlink" target="rightframe">EXTRA_CHOSEN_COMPONENT</A>
+</nobr><br>
+<!-- Field EXTRA_CHOSEN_COMPONENT_INTENT_SENDER -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHOSEN_COMPONENT_INTENT_SENDER" class="hiddenlink" target="rightframe">EXTRA_CHOSEN_COMPONENT_INTENT_SENDER</A>
+</nobr><br>
+<!-- Field EXTRA_MMS_HTTP_STATUS -->
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.EXTRA_MMS_HTTP_STATUS" class="hiddenlink" target="rightframe">EXTRA_MMS_HTTP_STATUS</A>
+</nobr><br>
+<!-- Field EXTRA_NETWORK -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.EXTRA_NETWORK" class="hiddenlink" target="rightframe">EXTRA_NETWORK</A>
+</nobr><br>
+<!-- Field EXTRA_NETWORK_REQUEST -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.EXTRA_NETWORK_REQUEST" class="hiddenlink" target="rightframe">EXTRA_NETWORK_REQUEST</A>
+</nobr><br>
+<!-- Field EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE" class="hiddenlink" target="rightframe">EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE</A>
+</nobr><br>
+<!-- Field EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED" class="hiddenlink" target="rightframe">EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED</A>
+</nobr><br>
+<!-- Field EXTRA_REFERRER_NAME -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_REFERRER_NAME" class="hiddenlink" target="rightframe">EXTRA_REFERRER_NAME</A>
+</nobr><br>
+<!-- Field FLAG_LAYOUT_ATTACHED_IN_DECOR -->
+<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="#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.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.FLAG_LAYOUT_ATTACHED_IN_DECOR" class="hiddenlink" target="rightframe">FLAG_LAYOUT_ATTACHED_IN_DECOR</A>
+</nobr><br>
+<!-- Method getAccessibilityTraversalAfter -->
+<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="#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.view.View.html#android.view.View.getAccessibilityTraversalAfter_added()" class="hiddenlink" target="rightframe"><b>getAccessibilityTraversalAfter</b>
+()</A></nobr><br>
+<!-- Method getAccessibilityTraversalBefore -->
+<nobr><A HREF="android.view.View.html#android.view.View.getAccessibilityTraversalBefore_added()" class="hiddenlink" target="rightframe"><b>getAccessibilityTraversalBefore</b>
+()</A></nobr><br>
+<!-- Method getBoolean -->
+<i>getBoolean</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.getBoolean_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.os.BaseBundle
+</A></nobr><br>
+<!-- Method getBoolean -->
+&nbsp;&nbsp;<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.getBoolean_added(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, boolean</code>)</b>&nbsp;in&nbsp;android.os.BaseBundle
+</A></nobr><br>
+<!-- Method getBooleanArray -->
+<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.getBooleanArray_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getBooleanArray</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method getCancelLabel -->
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.getCancelLabel_added()" class="hiddenlink" target="rightframe"><b>getCancelLabel</b>
+()</A></nobr><br>
+<!-- Method getComplexUnit -->
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.getComplexUnit_added()" class="hiddenlink" target="rightframe"><b>getComplexUnit</b>
+()</A></nobr><br>
+<!-- Method getConfirmLabel -->
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.getConfirmLabel_added()" class="hiddenlink" target="rightframe"><b>getConfirmLabel</b>
+()</A></nobr><br>
+<!-- Method getDefaultFeatures -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.getDefaultFeatures_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>getDefaultFeatures</b>
+(<code>Context</code>)</A></nobr><br>
+<!-- Method getDefaultSmsSubscriptionId -->
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.getDefaultSmsSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultSmsSubscriptionId</b>
+()</A></nobr><br>
+<!-- Method getExtras -->
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.getExtras_added()" class="hiddenlink" target="rightframe"><b>getExtras</b>
+()</A></nobr><br>
+<!-- Method getHintAvoidBackgroundClipping -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getHintAvoidBackgroundClipping_added()" class="hiddenlink" target="rightframe"><b>getHintAvoidBackgroundClipping</b>
+()</A></nobr><br>
+<!-- Method getHintScreenTimeout -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getHintScreenTimeout_added()" class="hiddenlink" target="rightframe"><b>getHintScreenTimeout</b>
+()</A></nobr><br>
+<!-- Method getInProgressLabel -->
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.getInProgressLabel_added()" class="hiddenlink" target="rightframe"><b>getInProgressLabel</b>
+()</A></nobr><br>
+<!-- Method getReferrer -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.getReferrer_added()" class="hiddenlink" target="rightframe"><b>getReferrer</b>
+()</A></nobr><br>
+<!-- Method getResizeClip -->
+<nobr><A HREF="android.transition.ChangeBounds.html#android.transition.ChangeBounds.getResizeClip_added()" class="hiddenlink" target="rightframe"><b>getResizeClip</b>
+()</A></nobr><br>
+<!-- Method getSecureStop -->
+<nobr><A HREF="android.media.MediaDrm.html#android.media.MediaDrm.getSecureStop_added(byte[])" class="hiddenlink" target="rightframe"><b>getSecureStop</b>
+(<code>byte[]</code>)</A></nobr><br>
+<!-- Method getSmsManagerForSubscriptionId -->
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.getSmsManagerForSubscriptionId_added(int)" class="hiddenlink" target="rightframe"><b>getSmsManagerForSubscriptionId</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getSubscriptionId -->
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.getSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getSubscriptionId</b>
+()</A></nobr><br>
+<!-- Method getTraversalAfter -->
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.getTraversalAfter_added()" class="hiddenlink" target="rightframe"><b>getTraversalAfter</b>
+()</A></nobr><br>
+<!-- Method getTraversalBefore -->
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.getTraversalBefore_added()" class="hiddenlink" target="rightframe"><b>getTraversalBefore</b>
+()</A></nobr><br>
+<!-- Method getTrustAgentConfiguration -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getTrustAgentConfiguration_added(android.content.ComponentName, android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getTrustAgentConfiguration</b>
+(<code>ComponentName, ComponentName</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="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-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="#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.telephony.TelephonyManager.html#android.telephony.TelephonyManager.hasCarrierPrivileges_added()" class="hiddenlink" target="rightframe"><b>hasCarrierPrivileges</b>
+()</A></nobr><br>
+<!-- Method hasValueOrEmpty -->
+<nobr><A HREF="android.content.res.TypedArray.html#android.content.res.TypedArray.hasValueOrEmpty_added(int)" class="hiddenlink" target="rightframe"><b>hasValueOrEmpty</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method injectSmsPdu -->
+<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="#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.telephony.SmsManager.html#android.telephony.SmsManager.injectSmsPdu_added(byte[], java.lang.String, android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>injectSmsPdu</b>
+(<code>byte[], String, PendingIntent</code>)</A></nobr><br>
+<!-- Method isAsynchronous -->
+<nobr><A HREF="android.os.Message.html#android.os.Message.isAsynchronous_added()" class="hiddenlink" target="rightframe"><b>isAsynchronous</b>
+()</A></nobr><br>
+<!-- Method isAttachedInDecor -->
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.isAttachedInDecor_added()" class="hiddenlink" target="rightframe"><b>isAttachedInDecor</b>
+()</A></nobr><br>
+<!-- Method isDeviceLocked -->
+<nobr><A HREF="android.app.KeyguardManager.html#android.app.KeyguardManager.isDeviceLocked_added()" class="hiddenlink" target="rightframe"><b>isDeviceLocked</b>
+()</A></nobr><br>
+<!-- Method isVoiceCapable -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.isVoiceCapable_added()" class="hiddenlink" target="rightframe"><b>isVoiceCapable</b>
+()</A></nobr><br>
+<!-- Field KEY_RESTRICTIONS_PENDING -->
+<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="#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.os.UserManager.html#android.os.UserManager.KEY_RESTRICTIONS_PENDING" class="hiddenlink" target="rightframe">KEY_RESTRICTIONS_PENDING</A>
+</nobr><br>
+<!-- Field LIFE_STYLE -->
+<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="#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.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.LIFE_STYLE" class="hiddenlink" target="rightframe">LIFE_STYLE</A>
+</nobr><br>
+<!-- Method loadUnbadgedIcon -->
+<nobr><A HREF="android.content.pm.PackageItemInfo.html#android.content.pm.PackageItemInfo.loadUnbadgedIcon_added(android.content.pm.PackageManager)" class="hiddenlink" target="rightframe"><b>loadUnbadgedIcon</b>
+(<code>PackageManager</code>)</A></nobr><br>
+<!-- Field LOLLIPOP_MR1 -->
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.LOLLIPOP_MR1" class="hiddenlink" target="rightframe">LOLLIPOP_MR1</A>
+</nobr><br>
+<!-- Field MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS -->
+<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="#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.telephony.SmsManager.html#android.telephony.SmsManager.MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS" class="hiddenlink" target="rightframe">MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS</A>
+</nobr><br>
+<!-- Field MMS_ERROR_NO_DATA_NETWORK -->
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.MMS_ERROR_NO_DATA_NETWORK" class="hiddenlink" target="rightframe">MMS_ERROR_NO_DATA_NETWORK</A>
+</nobr><br>
+<!-- Field MUSIC -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.MUSIC" class="hiddenlink" target="rightframe">MUSIC</A>
+</nobr><br>
+<!-- Method 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="#K"><font size="-2">K</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="#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.Outline.html#android.graphics.Outline.offset_added(int, int)" class="hiddenlink" target="rightframe"><b>offset</b>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method onMtuChanged -->
+<nobr><A HREF="android.bluetooth.BluetoothGattServerCallback.html#android.bluetooth.BluetoothGattServerCallback.onMtuChanged_added(android.bluetooth.BluetoothDevice, int)" class="hiddenlink" target="rightframe"><b>onMtuChanged</b>
+(<code>BluetoothDevice, int</code>)</A></nobr><br>
+<!-- Method onNestedPrePerformAccessibilityAction -->
+<i>onNestedPrePerformAccessibilityAction</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.onNestedPrePerformAccessibilityAction_added(android.view.View, int, android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, int, Bundle</code>)</b>&nbsp;in&nbsp;android.view.ViewGroup
+</A></nobr><br>
+<!-- Method onNestedPrePerformAccessibilityAction -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewParent.html#android.view.ViewParent.onNestedPrePerformAccessibilityAction_added(android.view.View, int, android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, int, Bundle</code>)</b>&nbsp;in&nbsp;android.view.ViewParent
+</A></nobr><br>
+<!-- Constructor PopupMenu -->
+<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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.widget.PopupMenu.html#android.widget.PopupMenu.ctor_added(android.content.Context, android.view.View, int, int, int)" class="hiddenlink" target="rightframe"><b>PopupMenu</b>
+(<code>Context, View, int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field PREMIER -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.PREMIER" class="hiddenlink" target="rightframe">PREMIER</A>
+</nobr><br>
+<!-- Method putBoolean -->
+<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.putBoolean_added(java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>putBoolean</b>
+(<code>String, boolean</code>)</A></nobr><br>
+<!-- Method putBooleanArray -->
+<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.putBooleanArray_added(java.lang.String, boolean[])" class="hiddenlink" target="rightframe"><b>putBooleanArray</b>
+(<code>String, boolean[]</code>)</A></nobr><br>
+<!-- Method releaseAllSecureStops -->
+<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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.MediaDrm.html#android.media.MediaDrm.releaseAllSecureStops_added()" class="hiddenlink" target="rightframe"><b>releaseAllSecureStops</b>
+()</A></nobr><br>
+<!-- Method releaseNetworkRequest -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.releaseNetworkRequest_added(android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>releaseNetworkRequest</b>
+(<code>PendingIntent</code>)</A></nobr><br>
+<!-- Method removeAccount -->
+<i>removeAccount</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.removeAccount_added(android.accounts.Account, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Account, Activity, AccountManagerCallback&lt;Bundle&gt;, Handler</code>)</b>&nbsp;in&nbsp;android.accounts.AccountManager
+</A></nobr><br>
+<!-- Method removeAccount -->
+&nbsp;&nbsp;<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.removeAccount_added(android.accounts.Account, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Account, AccountManagerCallback&lt;Boolean&gt;, Handler</code>)</b>&nbsp;in&nbsp;android.accounts.AccountManager
+</A></nobr><br>
+<!-- Method removeAccountExplicitly -->
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.removeAccountExplicitly_added(android.accounts.Account)" class="hiddenlink" target="rightframe"><b>removeAccountExplicitly</b>
+(<code>Account</code>)</A></nobr><br>
+<!-- Field REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE -->
+<nobr><A HREF="android.hardware.camera2.CameraMetadata.html#android.hardware.camera2.CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE" class="hiddenlink" target="rightframe">REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE</A>
+</nobr><br>
+<!-- Field REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS -->
+<nobr><A HREF="android.hardware.camera2.CameraMetadata.html#android.hardware.camera2.CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS" class="hiddenlink" target="rightframe">REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS</A>
+</nobr><br>
+<!-- Method requestNetwork -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.requestNetwork_added(android.net.NetworkRequest, android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>requestNetwork</b>
+(<code>NetworkRequest, PendingIntent</code>)</A></nobr><br>
+<!-- Field resizeClip -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.resizeClip" class="hiddenlink" target="rightframe">resizeClip</A>
+</nobr><br>
+<!-- Field revisionCode -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.revisionCode" class="hiddenlink" target="rightframe">revisionCode</A>
+</nobr><br>
+<!-- Field SCREEN_TIMEOUT_LONG -->
+<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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.SCREEN_TIMEOUT_LONG" class="hiddenlink" target="rightframe">SCREEN_TIMEOUT_LONG</A>
+</nobr><br>
+<!-- Field SCREEN_TIMEOUT_SHORT -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.SCREEN_TIMEOUT_SHORT" class="hiddenlink" target="rightframe">SCREEN_TIMEOUT_SHORT</A>
+</nobr><br>
+<!-- Field searchHintIcon -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.searchHintIcon" class="hiddenlink" target="rightframe">searchHintIcon</A>
+</nobr><br>
+<!-- Method setAccessibilityTraversalAfter -->
+<i>setAccessibilityTraversalAfter</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.setAccessibilityTraversalAfter_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+<!-- Method setAccessibilityTraversalAfter -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setAccessibilityTraversalAfter_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.widget.RemoteViews
+</A></nobr><br>
+<!-- Method setAccessibilityTraversalBefore -->
+<i>setAccessibilityTraversalBefore</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.setAccessibilityTraversalBefore_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+<!-- Method setAccessibilityTraversalBefore -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setAccessibilityTraversalBefore_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.widget.RemoteViews
+</A></nobr><br>
+<!-- Method setAsynchronous -->
+<nobr><A HREF="android.os.Message.html#android.os.Message.setAsynchronous_added(boolean)" class="hiddenlink" target="rightframe"><b>setAsynchronous</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAttachedInDecor -->
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.setAttachedInDecor_added(boolean)" class="hiddenlink" target="rightframe"><b>setAttachedInDecor</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setCancelLabel -->
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.setCancelLabel_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setCancelLabel</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Method setClipToOutline -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.setClipToOutline_added(boolean)" class="hiddenlink" target="rightframe"><b>setClipToOutline</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setConfirmLabel -->
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.setConfirmLabel_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setConfirmLabel</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Method setCurrentFraction -->
+<nobr><A HREF="android.animation.ValueAnimator.html#android.animation.ValueAnimator.setCurrentFraction_added(float)" class="hiddenlink" target="rightframe"><b>setCurrentFraction</b>
+(<code>float</code>)</A></nobr><br>
+<!-- Method setElevation -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.setElevation_added(float)" class="hiddenlink" target="rightframe"><b>setElevation</b>
+(<code>float</code>)</A></nobr><br>
+<!-- Method setExtras -->
+<nobr><A HREF="android.media.session.PlaybackState.Builder.html#android.media.session.PlaybackState.Builder.setExtras_added(android.os.Bundle)" class="hiddenlink" target="rightframe"><b>setExtras</b>
+(<code>Bundle</code>)</A></nobr><br>
+<!-- Method setHintAvoidBackgroundClipping -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setHintAvoidBackgroundClipping_added(boolean)" class="hiddenlink" target="rightframe"><b>setHintAvoidBackgroundClipping</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setHintScreenTimeout -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setHintScreenTimeout_added(int)" class="hiddenlink" target="rightframe"><b>setHintScreenTimeout</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setInProgressLabel -->
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.setInProgressLabel_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setInProgressLabel</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Method setLine1NumberForDisplay -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setLine1NumberForDisplay_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>setLine1NumberForDisplay</b>
+(<code>String, String</code>)</A></nobr><br>
+<!-- Method setOperatorBrandOverride -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setOperatorBrandOverride_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setOperatorBrandOverride</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setPreferredNetworkTypeToGlobal -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setPreferredNetworkTypeToGlobal_added()" class="hiddenlink" target="rightframe"><b>setPreferredNetworkTypeToGlobal</b>
+()</A></nobr><br>
+<!-- Method setRatingType -->
+<nobr><A HREF="android.media.session.MediaSession.html#android.media.session.MediaSession.setRatingType_added(int)" class="hiddenlink" target="rightframe"><b>setRatingType</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setTraversalAfter -->
+<i>setTraversalAfter</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setTraversalAfter_added(android.view.View)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityNodeInfo
+</A></nobr><br>
+<!-- Method setTraversalAfter -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setTraversalAfter_added(android.view.View, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, int</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityNodeInfo
+</A></nobr><br>
+<!-- Method setTraversalBefore -->
+<i>setTraversalBefore</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setTraversalBefore_added(android.view.View)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityNodeInfo
+</A></nobr><br>
+<!-- Method setTraversalBefore -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setTraversalBefore_added(android.view.View, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, int</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityNodeInfo
+</A></nobr><br>
+<!-- Method setTrustAgentConfiguration -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setTrustAgentConfiguration_added(android.content.ComponentName, android.content.ComponentName, android.os.PersistableBundle)" class="hiddenlink" target="rightframe"><b>setTrustAgentConfiguration</b>
+(<code>ComponentName, ComponentName, PersistableBundle</code>)</A></nobr><br>
+<!-- Method setUnderlyingNetworks -->
+<i>setUnderlyingNetworks</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.VpnService.html#android.net.VpnService.setUnderlyingNetworks_added(android.net.Network[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Network[]</code>)</b>&nbsp;in&nbsp;android.net.VpnService
+</A></nobr><br>
+<!-- Method setUnderlyingNetworks -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.VpnService.Builder.html#android.net.VpnService.Builder.setUnderlyingNetworks_added(android.net.Network[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Network[]</code>)</b>&nbsp;in&nbsp;android.net.VpnService.Builder
+</A></nobr><br>
+<!-- Method setVoiceMailNumber -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setVoiceMailNumber_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>setVoiceMailNumber</b>
+(<code>String, String</code>)</A></nobr><br>
+<!-- Field splitRevisionCodes -->
+<nobr><A HREF="android.content.pm.PackageInfo.html#android.content.pm.PackageInfo.splitRevisionCodes" class="hiddenlink" target="rightframe">splitRevisionCodes</A>
+</nobr><br>
+<!-- Field SUBSCRIPTION_ID -->
+<i>SUBSCRIPTION_ID</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Telephony.BaseMmsColumns.html#android.provider.Telephony.BaseMmsColumns.SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">android.provider.Telephony.BaseMmsColumns</A>
+</nobr><br>
+<!-- Field SUBSCRIPTION_ID -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Telephony.Carriers.html#android.provider.Telephony.Carriers.SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">android.provider.Telephony.Carriers</A>
+</nobr><br>
+<!-- Field SUBSCRIPTION_ID -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Telephony.MmsSms.PendingMessages.html#android.provider.Telephony.MmsSms.PendingMessages.SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">android.provider.Telephony.MmsSms.PendingMessages</A>
+</nobr><br>
+<!-- Field SUBSCRIPTION_ID -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Telephony.TextBasedSmsColumns.html#android.provider.Telephony.TextBasedSmsColumns.SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">android.provider.Telephony.TextBasedSmsColumns</A>
+</nobr><br>
+<!-- Class SubscriptionInfo -->
+<A HREF="pkg_android.telephony.html#SubscriptionInfo" class="hiddenlink" target="rightframe"><b>SubscriptionInfo</b></A><br>
+<!-- Class SubscriptionManager -->
+<A HREF="pkg_android.telephony.html#SubscriptionManager" class="hiddenlink" target="rightframe"><b>SubscriptionManager</b></A><br>
+<!-- Class SubscriptionManager.OnSubscriptionsChangedListener -->
+<A HREF="pkg_android.telephony.html#SubscriptionManager.OnSubscriptionsChangedListener" class="hiddenlink" target="rightframe"><b>SubscriptionManager.OnSubscriptionsChangedListener</b></A><br>
+<!-- Field TECH_SCIENCE -->
+<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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.TECH_SCIENCE" class="hiddenlink" target="rightframe">TECH_SCIENCE</A>
+</nobr><br>
+<!-- Field TELEPHONY_SUBSCRIPTION_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.TELEPHONY_SUBSCRIPTION_SERVICE" class="hiddenlink" target="rightframe">TELEPHONY_SUBSCRIPTION_SERVICE</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Dialog_Alert -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog_Alert" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog_Alert</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_Dialog_Alert -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog_Alert" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog_Alert</A>
+</nobr><br>
+<!-- Field TYPE_ACCESSIBILITY_OVERLAY -->
+<i>TYPE_ACCESSIBILITY_OVERLAY</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY" class="hiddenlink" target="rightframe">android.view.WindowManager.LayoutParams</A>
+</nobr><br>
+<!-- Field TYPE_ACCESSIBILITY_OVERLAY -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.view.accessibility.AccessibilityWindowInfo.html#android.view.accessibility.AccessibilityWindowInfo.TYPE_ACCESSIBILITY_OVERLAY" class="hiddenlink" target="rightframe">android.view.accessibility.AccessibilityWindowInfo</A>
+</nobr><br>
+<!-- Field URI_ALLOW_UNSAFE -->
+<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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.URI_ALLOW_UNSAFE" class="hiddenlink" target="rightframe">URI_ALLOW_UNSAFE</A>
+</nobr><br>
+<!-- Field URI_ANDROID_APP_SCHEME -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.URI_ANDROID_APP_SCHEME" class="hiddenlink" target="rightframe">URI_ANDROID_APP_SCHEME</A>
+</nobr><br>
+<!-- Field USAGE_STATS_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.USAGE_STATS_SERVICE" class="hiddenlink" target="rightframe">USAGE_STATS_SERVICE</A>
+</nobr><br>
+<!-- Constructor WebBackForwardList -->
+<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="#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.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.ctor_added()" class="hiddenlink" target="rightframe"><b>WebBackForwardList</b>
+()</A></nobr>&nbsp;constructor<br>
+<!-- Constructor WebHistoryItem -->
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.ctor_added()" class="hiddenlink" target="rightframe"><b>WebHistoryItem</b>
+()</A></nobr>&nbsp;constructor<br>
+<!-- Constructor WebIconDatabase -->
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.ctor_added()" class="hiddenlink" target="rightframe"><b>WebIconDatabase</b>
+()</A></nobr>&nbsp;constructor<br>
+<!-- Constructor WebSettings -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.ctor_added()" class="hiddenlink" target="rightframe"><b>WebSettings</b>
+()</A></nobr>&nbsp;constructor<br>
+<!-- Constructor WebViewDatabase -->
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.ctor_added()" class="hiddenlink" target="rightframe"><b>WebViewDatabase</b>
+()</A></nobr>&nbsp;constructor<br>
+<!-- Field WIPE_RESET_PROTECTION_DATA -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.WIPE_RESET_PROTECTION_DATA" class="hiddenlink" target="rightframe">WIPE_RESET_PROTECTION_DATA</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/22/changes/alldiffs_index_all.html b/docs/html/sdk/api_diff/22/changes/alldiffs_index_all.html
new file mode 100644
index 0000000..9ad74b3
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/alldiffs_index_all.html
@@ -0,0 +1,2610 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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 AbortableHttpRequest -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.client.methods.AbortableHttpRequest.html" class="hiddenlink" target="rightframe"><i>AbortableHttpRequest</i></A><br>
+<!-- Class AbstractAuthenticationHandler -->
+<A HREF="org.apache.http.impl.client.AbstractAuthenticationHandler.html" class="hiddenlink" target="rightframe">AbstractAuthenticationHandler</A><br>
+<!-- Class AbstractClientConnAdapter -->
+<A HREF="org.apache.http.impl.conn.AbstractClientConnAdapter.html" class="hiddenlink" target="rightframe">AbstractClientConnAdapter</A><br>
+<!-- Class AbstractConnPool -->
+<A HREF="org.apache.http.impl.conn.tsccm.AbstractConnPool.html" class="hiddenlink" target="rightframe">AbstractConnPool</A><br>
+<!-- Class AbstractCookieAttributeHandler -->
+<A HREF="org.apache.http.impl.cookie.AbstractCookieAttributeHandler.html" class="hiddenlink" target="rightframe">AbstractCookieAttributeHandler</A><br>
+<!-- Class AbstractCookieSpec -->
+<A HREF="org.apache.http.impl.cookie.AbstractCookieSpec.html" class="hiddenlink" target="rightframe">AbstractCookieSpec</A><br>
+<!-- Class AbstractHttpClient -->
+<A HREF="org.apache.http.impl.client.AbstractHttpClient.html" class="hiddenlink" target="rightframe">AbstractHttpClient</A><br>
+<!-- Class AbstractHttpClientConnection -->
+<A HREF="org.apache.http.impl.AbstractHttpClientConnection.html" class="hiddenlink" target="rightframe">AbstractHttpClientConnection</A><br>
+<!-- Class AbstractHttpEntity -->
+<A HREF="org.apache.http.entity.AbstractHttpEntity.html" class="hiddenlink" target="rightframe">AbstractHttpEntity</A><br>
+<!-- Class AbstractHttpMessage -->
+<A HREF="org.apache.http.message.AbstractHttpMessage.html" class="hiddenlink" target="rightframe">AbstractHttpMessage</A><br>
+<!-- Class AbstractHttpParams -->
+<A HREF="org.apache.http.params.AbstractHttpParams.html" class="hiddenlink" target="rightframe">AbstractHttpParams</A><br>
+<!-- Class AbstractHttpServerConnection -->
+<A HREF="org.apache.http.impl.AbstractHttpServerConnection.html" class="hiddenlink" target="rightframe">AbstractHttpServerConnection</A><br>
+<!-- Class AbstractMessageParser -->
+<A HREF="org.apache.http.impl.io.AbstractMessageParser.html" class="hiddenlink" target="rightframe">AbstractMessageParser</A><br>
+<!-- Class AbstractMessageWriter -->
+<A HREF="org.apache.http.impl.io.AbstractMessageWriter.html" class="hiddenlink" target="rightframe">AbstractMessageWriter</A><br>
+<!-- Class AbstractPooledConnAdapter -->
+<A HREF="org.apache.http.impl.conn.AbstractPooledConnAdapter.html" class="hiddenlink" target="rightframe">AbstractPooledConnAdapter</A><br>
+<!-- Class AbstractPoolEntry -->
+<A HREF="org.apache.http.impl.conn.AbstractPoolEntry.html" class="hiddenlink" target="rightframe">AbstractPoolEntry</A><br>
+<!-- Class AbstractSessionInputBuffer -->
+<A HREF="org.apache.http.impl.io.AbstractSessionInputBuffer.html" class="hiddenlink" target="rightframe">AbstractSessionInputBuffer</A><br>
+<!-- Class AbstractSessionOutputBuffer -->
+<A HREF="org.apache.http.impl.io.AbstractSessionOutputBuffer.html" class="hiddenlink" target="rightframe">AbstractSessionOutputBuffer</A><br>
+<!-- Class AbstractVerifier -->
+<A HREF="org.apache.http.conn.ssl.AbstractVerifier.html" class="hiddenlink" target="rightframe">AbstractVerifier</A><br>
+<!-- Class AccelerateDecelerateInterpolator -->
+<A HREF="android.view.animation.AccelerateDecelerateInterpolator.html" class="hiddenlink" target="rightframe">AccelerateDecelerateInterpolator</A><br>
+<!-- Class AccelerateInterpolator -->
+<A HREF="android.view.animation.AccelerateInterpolator.html" class="hiddenlink" target="rightframe">AccelerateInterpolator</A><br>
+<!-- Method acceptCookie -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.acceptCookie_changed()" class="hiddenlink" target="rightframe">acceptCookie
+()</A></nobr><br>
+<!-- Method acceptThirdPartyCookies -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.acceptThirdPartyCookies_changed(android.webkit.WebView)" class="hiddenlink" target="rightframe">acceptThirdPartyCookies
+(<code>WebView</code>)</A></nobr><br>
+<!-- Class AccessibilityNodeInfo -->
+<A HREF="android.view.accessibility.AccessibilityNodeInfo.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfo</A><br>
+<!-- Field accessibilityTraversalAfter -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityTraversalAfter" class="hiddenlink" target="rightframe">accessibilityTraversalAfter</A>
+</nobr><br>
+<!-- Field accessibilityTraversalBefore -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityTraversalBefore" class="hiddenlink" target="rightframe">accessibilityTraversalBefore</A>
+</nobr><br>
+<!-- Class AccessibilityWindowInfo -->
+<A HREF="android.view.accessibility.AccessibilityWindowInfo.html" class="hiddenlink" target="rightframe">AccessibilityWindowInfo</A><br>
+<!-- Class AccountManager -->
+<A HREF="android.accounts.AccountManager.html" class="hiddenlink" target="rightframe">AccountManager</A><br>
+<!-- Field ACTION_BATTERY_SAVER_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_BATTERY_SAVER_SETTINGS" class="hiddenlink" target="rightframe">ACTION_BATTERY_SAVER_SETTINGS</A>
+</nobr><br>
+<!-- Field ACTION_NOTIFICATION_LISTENER_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS" class="hiddenlink" target="rightframe">ACTION_NOTIFICATION_LISTENER_SETTINGS</A>
+</nobr><br>
+<!-- Class Activity -->
+<A HREF="android.app.Activity.html" class="hiddenlink" target="rightframe">Activity</A><br>
+<!-- Class AllClientPNames -->
+<A HREF="org.apache.http.client.params.AllClientPNames.html" class="hiddenlink" target="rightframe"><i>AllClientPNames</i></A><br>
+<!-- Class AllowAllHostnameVerifier -->
+<A HREF="org.apache.http.conn.ssl.AllowAllHostnameVerifier.html" class="hiddenlink" target="rightframe">AllowAllHostnameVerifier</A><br>
+<!-- Field AM_PM -->
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.AM_PM" class="hiddenlink" target="rightframe"><strike>AM_PM</strike></A>
+</nobr><br>
+<!-- Package android -->
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<!-- Package android.accounts -->
+<A HREF="pkg_android.accounts.html" class="hiddenlink" target="rightframe">android.accounts</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.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.graphics -->
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<!-- Package android.hardware.camera2 -->
+<A HREF="pkg_android.hardware.camera2.html" class="hiddenlink" target="rightframe">android.hardware.camera2</A><br>
+<!-- Package android.media -->
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</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.net -->
+<A HREF="pkg_android.net.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<!-- Package android.net.http -->
+<A HREF="pkg_android.net.http.html" class="hiddenlink" target="rightframe">android.net.http</A><br>
+<!-- Package android.os -->
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</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="changes-summary.html#android.service.carrier" class="hiddenlink" target="rightframe"><b>android.service.carrier</b></A><br>
+<!-- Package android.telephony -->
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<!-- Package android.text.format -->
+<A HREF="pkg_android.text.format.html" class="hiddenlink" target="rightframe">android.text.format</A><br>
+<!-- Package android.transition -->
+<A HREF="pkg_android.transition.html" class="hiddenlink" target="rightframe">android.transition</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.animation -->
+<A HREF="pkg_android.view.animation.html" class="hiddenlink" target="rightframe">android.view.animation</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 AndroidHttpClient -->
+<A HREF="android.net.http.AndroidHttpClient.html" class="hiddenlink" target="rightframe">AndroidHttpClient</A><br>
+<!-- Class AnticipateInterpolator -->
+<A HREF="android.view.animation.AnticipateInterpolator.html" class="hiddenlink" target="rightframe">AnticipateInterpolator</A><br>
+<!-- Class AnticipateOvershootInterpolator -->
+<A HREF="android.view.animation.AnticipateOvershootInterpolator.html" class="hiddenlink" target="rightframe">AnticipateOvershootInterpolator</A><br>
+<!-- Field ARTS -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.ARTS" class="hiddenlink" target="rightframe">ARTS</A>
+</nobr><br>
+<!-- Class AUTH -->
+<A HREF="org.apache.http.auth.AUTH.html" class="hiddenlink" target="rightframe">AUTH</A><br>
+<!-- Class AuthenticationException -->
+<A HREF="org.apache.http.auth.AuthenticationException.html" class="hiddenlink" target="rightframe">AuthenticationException</A><br>
+<!-- Class AuthenticationHandler -->
+<A HREF="org.apache.http.client.AuthenticationHandler.html" class="hiddenlink" target="rightframe"><i>AuthenticationHandler</i></A><br>
+<!-- Class AuthParamBean -->
+<A HREF="org.apache.http.auth.params.AuthParamBean.html" class="hiddenlink" target="rightframe">AuthParamBean</A><br>
+<!-- Class AuthParams -->
+<A HREF="org.apache.http.auth.params.AuthParams.html" class="hiddenlink" target="rightframe">AuthParams</A><br>
+<!-- Class AuthPNames -->
+<A HREF="org.apache.http.auth.params.AuthPNames.html" class="hiddenlink" target="rightframe"><i>AuthPNames</i></A><br>
+<!-- Class AuthPolicy -->
+<A HREF="org.apache.http.client.params.AuthPolicy.html" class="hiddenlink" target="rightframe">AuthPolicy</A><br>
+<!-- Class AuthScheme -->
+<A HREF="org.apache.http.auth.AuthScheme.html" class="hiddenlink" target="rightframe"><i>AuthScheme</i></A><br>
+<!-- Class AuthSchemeBase -->
+<A HREF="org.apache.http.impl.auth.AuthSchemeBase.html" class="hiddenlink" target="rightframe">AuthSchemeBase</A><br>
+<!-- Class AuthSchemeFactory -->
+<A HREF="org.apache.http.auth.AuthSchemeFactory.html" class="hiddenlink" target="rightframe"><i>AuthSchemeFactory</i></A><br>
+<!-- Class AuthSchemeRegistry -->
+<A HREF="org.apache.http.auth.AuthSchemeRegistry.html" class="hiddenlink" target="rightframe">AuthSchemeRegistry</A><br>
+<!-- Class AuthScope -->
+<A HREF="org.apache.http.auth.AuthScope.html" class="hiddenlink" target="rightframe">AuthScope</A><br>
+<!-- Class AuthState -->
+<A HREF="org.apache.http.auth.AuthState.html" class="hiddenlink" target="rightframe">AuthState</A><br>
+<!-- Class BaseBundle -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.os.BaseBundle.html" class="hiddenlink" target="rightframe">BaseBundle</A><br>
+<!-- Class BaseInterpolator -->
+<A HREF="pkg_android.view.animation.html#BaseInterpolator" class="hiddenlink" target="rightframe"><b>BaseInterpolator</b></A><br>
+<!-- Field baseRevisionCode -->
+<nobr><A HREF="android.content.pm.PackageInfo.html#android.content.pm.PackageInfo.baseRevisionCode" class="hiddenlink" target="rightframe">baseRevisionCode</A>
+</nobr><br>
+<!-- Class BasicClientCookie -->
+<A HREF="org.apache.http.impl.cookie.BasicClientCookie.html" class="hiddenlink" target="rightframe">BasicClientCookie</A><br>
+<!-- Class BasicClientCookie2 -->
+<A HREF="org.apache.http.impl.cookie.BasicClientCookie2.html" class="hiddenlink" target="rightframe">BasicClientCookie2</A><br>
+<!-- Class BasicCommentHandler -->
+<A HREF="org.apache.http.impl.cookie.BasicCommentHandler.html" class="hiddenlink" target="rightframe">BasicCommentHandler</A><br>
+<!-- Class BasicCookieStore -->
+<A HREF="org.apache.http.impl.client.BasicCookieStore.html" class="hiddenlink" target="rightframe">BasicCookieStore</A><br>
+<!-- Class BasicCredentialsProvider -->
+<A HREF="org.apache.http.impl.client.BasicCredentialsProvider.html" class="hiddenlink" target="rightframe">BasicCredentialsProvider</A><br>
+<!-- Class BasicDomainHandler -->
+<A HREF="org.apache.http.impl.cookie.BasicDomainHandler.html" class="hiddenlink" target="rightframe">BasicDomainHandler</A><br>
+<!-- Class BasicEofSensorWatcher -->
+<A HREF="org.apache.http.conn.BasicEofSensorWatcher.html" class="hiddenlink" target="rightframe">BasicEofSensorWatcher</A><br>
+<!-- Class BasicExpiresHandler -->
+<A HREF="org.apache.http.impl.cookie.BasicExpiresHandler.html" class="hiddenlink" target="rightframe">BasicExpiresHandler</A><br>
+<!-- Class BasicHeader -->
+<A HREF="org.apache.http.message.BasicHeader.html" class="hiddenlink" target="rightframe">BasicHeader</A><br>
+<!-- Class BasicHeaderElement -->
+<A HREF="org.apache.http.message.BasicHeaderElement.html" class="hiddenlink" target="rightframe">BasicHeaderElement</A><br>
+<!-- Class BasicHeaderElementIterator -->
+<A HREF="org.apache.http.message.BasicHeaderElementIterator.html" class="hiddenlink" target="rightframe">BasicHeaderElementIterator</A><br>
+<!-- Class BasicHeaderIterator -->
+<A HREF="org.apache.http.message.BasicHeaderIterator.html" class="hiddenlink" target="rightframe">BasicHeaderIterator</A><br>
+<!-- Class BasicHeaderValueFormatter -->
+<A HREF="org.apache.http.message.BasicHeaderValueFormatter.html" class="hiddenlink" target="rightframe">BasicHeaderValueFormatter</A><br>
+<!-- Class BasicHeaderValueParser -->
+<A HREF="org.apache.http.message.BasicHeaderValueParser.html" class="hiddenlink" target="rightframe">BasicHeaderValueParser</A><br>
+<!-- Class BasicHttpContext -->
+<A HREF="org.apache.http.protocol.BasicHttpContext.html" class="hiddenlink" target="rightframe">BasicHttpContext</A><br>
+<!-- Class BasicHttpEntity -->
+<A HREF="org.apache.http.entity.BasicHttpEntity.html" class="hiddenlink" target="rightframe">BasicHttpEntity</A><br>
+<!-- Class BasicHttpEntityEnclosingRequest -->
+<A HREF="org.apache.http.message.BasicHttpEntityEnclosingRequest.html" class="hiddenlink" target="rightframe">BasicHttpEntityEnclosingRequest</A><br>
+<!-- Class BasicHttpParams -->
+<A HREF="org.apache.http.params.BasicHttpParams.html" class="hiddenlink" target="rightframe">BasicHttpParams</A><br>
+<!-- Class BasicHttpProcessor -->
+<A HREF="org.apache.http.protocol.BasicHttpProcessor.html" class="hiddenlink" target="rightframe">BasicHttpProcessor</A><br>
+<!-- Class BasicHttpRequest -->
+<A HREF="org.apache.http.message.BasicHttpRequest.html" class="hiddenlink" target="rightframe">BasicHttpRequest</A><br>
+<!-- Class BasicHttpResponse -->
+<A HREF="org.apache.http.message.BasicHttpResponse.html" class="hiddenlink" target="rightframe">BasicHttpResponse</A><br>
+<!-- Class BasicLineFormatter -->
+<A HREF="org.apache.http.message.BasicLineFormatter.html" class="hiddenlink" target="rightframe">BasicLineFormatter</A><br>
+<!-- Class BasicLineParser -->
+<A HREF="org.apache.http.message.BasicLineParser.html" class="hiddenlink" target="rightframe">BasicLineParser</A><br>
+<!-- Class BasicListHeaderIterator -->
+<A HREF="org.apache.http.message.BasicListHeaderIterator.html" class="hiddenlink" target="rightframe">BasicListHeaderIterator</A><br>
+<!-- Class BasicManagedEntity -->
+<A HREF="org.apache.http.conn.BasicManagedEntity.html" class="hiddenlink" target="rightframe">BasicManagedEntity</A><br>
+<!-- Class BasicMaxAgeHandler -->
+<A HREF="org.apache.http.impl.cookie.BasicMaxAgeHandler.html" class="hiddenlink" target="rightframe">BasicMaxAgeHandler</A><br>
+<!-- Class BasicNameValuePair -->
+<A HREF="org.apache.http.message.BasicNameValuePair.html" class="hiddenlink" target="rightframe">BasicNameValuePair</A><br>
+<!-- Class BasicPathHandler -->
+<A HREF="org.apache.http.impl.cookie.BasicPathHandler.html" class="hiddenlink" target="rightframe">BasicPathHandler</A><br>
+<!-- Class BasicPooledConnAdapter -->
+<A HREF="org.apache.http.impl.conn.tsccm.BasicPooledConnAdapter.html" class="hiddenlink" target="rightframe">BasicPooledConnAdapter</A><br>
+<!-- Class BasicPoolEntry -->
+<A HREF="org.apache.http.impl.conn.tsccm.BasicPoolEntry.html" class="hiddenlink" target="rightframe">BasicPoolEntry</A><br>
+<!-- Class BasicPoolEntryRef -->
+<A HREF="org.apache.http.impl.conn.tsccm.BasicPoolEntryRef.html" class="hiddenlink" target="rightframe">BasicPoolEntryRef</A><br>
+<!-- Class BasicRequestLine -->
+<A HREF="org.apache.http.message.BasicRequestLine.html" class="hiddenlink" target="rightframe">BasicRequestLine</A><br>
+<!-- Class BasicResponseHandler -->
+<A HREF="org.apache.http.impl.client.BasicResponseHandler.html" class="hiddenlink" target="rightframe">BasicResponseHandler</A><br>
+<!-- Class BasicRouteDirector -->
+<A HREF="org.apache.http.conn.routing.BasicRouteDirector.html" class="hiddenlink" target="rightframe">BasicRouteDirector</A><br>
+<!-- Class BasicScheme -->
+<A HREF="org.apache.http.impl.auth.BasicScheme.html" class="hiddenlink" target="rightframe">BasicScheme</A><br>
+<!-- Class BasicSchemeFactory -->
+<A HREF="org.apache.http.impl.auth.BasicSchemeFactory.html" class="hiddenlink" target="rightframe">BasicSchemeFactory</A><br>
+<!-- Class BasicSecureHandler -->
+<A HREF="org.apache.http.impl.cookie.BasicSecureHandler.html" class="hiddenlink" target="rightframe">BasicSecureHandler</A><br>
+<!-- Class BasicStatusLine -->
+<A HREF="org.apache.http.message.BasicStatusLine.html" class="hiddenlink" target="rightframe">BasicStatusLine</A><br>
+<!-- Class BasicTokenIterator -->
+<A HREF="org.apache.http.message.BasicTokenIterator.html" class="hiddenlink" target="rightframe">BasicTokenIterator</A><br>
+<!-- Class BasicUserPrincipal -->
+<A HREF="org.apache.http.auth.BasicUserPrincipal.html" class="hiddenlink" target="rightframe">BasicUserPrincipal</A><br>
+<!-- Class BestMatchSpec -->
+<A HREF="org.apache.http.impl.cookie.BestMatchSpec.html" class="hiddenlink" target="rightframe">BestMatchSpec</A><br>
+<!-- Class BestMatchSpecFactory -->
+<A HREF="org.apache.http.impl.cookie.BestMatchSpecFactory.html" class="hiddenlink" target="rightframe">BestMatchSpecFactory</A><br>
+<!-- Field BIND_CARRIER_MESSAGING_SERVICE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_CARRIER_MESSAGING_SERVICE" class="hiddenlink" target="rightframe">BIND_CARRIER_MESSAGING_SERVICE</A>
+</nobr><br>
+<!-- Method bindSocket -->
+<nobr><A HREF="android.net.Network.html#android.net.Network.bindSocket_added(java.net.DatagramSocket)" class="hiddenlink" target="rightframe"><b>bindSocket</b>
+(<code>DatagramSocket</code>)</A></nobr><br>
+<!-- Class BluetoothGattServerCallback -->
+<A HREF="android.bluetooth.BluetoothGattServerCallback.html" class="hiddenlink" target="rightframe">BluetoothGattServerCallback</A><br>
+<!-- Class BounceInterpolator -->
+<A HREF="android.view.animation.BounceInterpolator.html" class="hiddenlink" target="rightframe">BounceInterpolator</A><br>
+<!-- Class BrowserCompatHostnameVerifier -->
+<A HREF="org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.html" class="hiddenlink" target="rightframe">BrowserCompatHostnameVerifier</A><br>
+<!-- Class BrowserCompatSpec -->
+<A HREF="org.apache.http.impl.cookie.BrowserCompatSpec.html" class="hiddenlink" target="rightframe">BrowserCompatSpec</A><br>
+<!-- Class BrowserCompatSpecFactory -->
+<A HREF="org.apache.http.impl.cookie.BrowserCompatSpecFactory.html" class="hiddenlink" target="rightframe">BrowserCompatSpecFactory</A><br>
+<!-- Class BufferedHeader -->
+<A HREF="org.apache.http.message.BufferedHeader.html" class="hiddenlink" target="rightframe">BufferedHeader</A><br>
+<!-- Class BufferedHttpEntity -->
+<A HREF="org.apache.http.entity.BufferedHttpEntity.html" class="hiddenlink" target="rightframe">BufferedHttpEntity</A><br>
+<!-- Class Build.VERSION_CODES -->
+<A HREF="android.os.Build.VERSION_CODES.html" class="hiddenlink" target="rightframe">Build.VERSION_CODES</A><br>
+<!-- Class Bundle -->
+<A HREF="android.os.Bundle.html" class="hiddenlink" target="rightframe">Bundle</A><br>
+<!-- Class ByteArrayBuffer -->
+<A HREF="org.apache.http.util.ByteArrayBuffer.html" class="hiddenlink" target="rightframe">ByteArrayBuffer</A><br>
+<!-- Class ByteArrayEntity -->
+<A HREF="org.apache.http.entity.ByteArrayEntity.html" class="hiddenlink" target="rightframe">ByteArrayEntity</A><br>
+<!-- Class CameraMetadata -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.hardware.camera2.CameraMetadata.html" class="hiddenlink" target="rightframe">CameraMetadata</A><br>
+<!-- Field CAPITAL_AM_PM -->
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.CAPITAL_AM_PM" class="hiddenlink" target="rightframe"><strike>CAPITAL_AM_PM</strike></A>
+</nobr><br>
+<!-- Class ChangeBounds -->
+<A HREF="android.transition.ChangeBounds.html" class="hiddenlink" target="rightframe">ChangeBounds</A><br>
+<!-- Class CharArrayBuffer -->
+<A HREF="org.apache.http.util.CharArrayBuffer.html" class="hiddenlink" target="rightframe">CharArrayBuffer</A><br>
+<!-- Class ChunkedInputStream -->
+<A HREF="org.apache.http.impl.io.ChunkedInputStream.html" class="hiddenlink" target="rightframe">ChunkedInputStream</A><br>
+<!-- Class ChunkedOutputStream -->
+<A HREF="org.apache.http.impl.io.ChunkedOutputStream.html" class="hiddenlink" target="rightframe">ChunkedOutputStream</A><br>
+<!-- Class CircularRedirectException -->
+<A HREF="org.apache.http.client.CircularRedirectException.html" class="hiddenlink" target="rightframe">CircularRedirectException</A><br>
+<!-- Method clearFormData -->
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.clearFormData_changed()" class="hiddenlink" target="rightframe">clearFormData
+()</A></nobr><br>
+<!-- Method clearHttpAuthUsernamePassword -->
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.clearHttpAuthUsernamePassword_changed()" class="hiddenlink" target="rightframe">clearHttpAuthUsernamePassword
+()</A></nobr><br>
+<!-- Method clearUsernamePassword -->
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.clearUsernamePassword_changed()" class="hiddenlink" target="rightframe">clearUsernamePassword
+()</A></nobr><br>
+<!-- Class ClientConnectionManager -->
+<A HREF="org.apache.http.conn.ClientConnectionManager.html" class="hiddenlink" target="rightframe"><i>ClientConnectionManager</i></A><br>
+<!-- Class ClientConnectionManagerFactory -->
+<A HREF="org.apache.http.conn.ClientConnectionManagerFactory.html" class="hiddenlink" target="rightframe"><i>ClientConnectionManagerFactory</i></A><br>
+<!-- Class ClientConnectionOperator -->
+<A HREF="org.apache.http.conn.ClientConnectionOperator.html" class="hiddenlink" target="rightframe"><i>ClientConnectionOperator</i></A><br>
+<!-- Class ClientConnectionRequest -->
+<A HREF="org.apache.http.conn.ClientConnectionRequest.html" class="hiddenlink" target="rightframe"><i>ClientConnectionRequest</i></A><br>
+<!-- Class ClientContext -->
+<A HREF="org.apache.http.client.protocol.ClientContext.html" class="hiddenlink" target="rightframe"><i>ClientContext</i></A><br>
+<!-- Class ClientContextConfigurer -->
+<A HREF="org.apache.http.client.protocol.ClientContextConfigurer.html" class="hiddenlink" target="rightframe">ClientContextConfigurer</A><br>
+<!-- Class ClientCookie -->
+<A HREF="org.apache.http.cookie.ClientCookie.html" class="hiddenlink" target="rightframe"><i>ClientCookie</i></A><br>
+<!-- Class ClientParamBean -->
+<A HREF="org.apache.http.client.params.ClientParamBean.html" class="hiddenlink" target="rightframe">ClientParamBean</A><br>
+<!-- Class ClientParamsStack -->
+<A HREF="org.apache.http.impl.client.ClientParamsStack.html" class="hiddenlink" target="rightframe">ClientParamsStack</A><br>
+<!-- Class ClientPNames -->
+<A HREF="org.apache.http.client.params.ClientPNames.html" class="hiddenlink" target="rightframe"><i>ClientPNames</i></A><br>
+<!-- Class ClientProtocolException -->
+<A HREF="org.apache.http.client.ClientProtocolException.html" class="hiddenlink" target="rightframe">ClientProtocolException</A><br>
+<!-- Method clone -->
+<i>clone</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.StateListAnimator.html#android.animation.StateListAnimator.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.animation.StateListAnimator
+</A></nobr><br>
+<!-- Method clone -->
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.webkit.WebBackForwardList
+</A></nobr><br>
+<!-- Method clone -->
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.webkit.WebHistoryItem
+</A></nobr><br>
+<!-- Class CloneUtils -->
+<A HREF="org.apache.http.client.utils.CloneUtils.html" class="hiddenlink" target="rightframe">CloneUtils</A><br>
+<!-- Method close -->
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.close_changed()" class="hiddenlink" target="rightframe">close
+()</A></nobr><br>
+<!-- Field collapseContentDescription -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.collapseContentDescription" class="hiddenlink" target="rightframe">collapseContentDescription</A>
+</nobr><br>
+<!-- Class ConnConnectionParamBean -->
+<A HREF="org.apache.http.conn.params.ConnConnectionParamBean.html" class="hiddenlink" target="rightframe">ConnConnectionParamBean</A><br>
+<!-- Class ConnConnectionPNames -->
+<A HREF="org.apache.http.conn.params.ConnConnectionPNames.html" class="hiddenlink" target="rightframe"><i>ConnConnectionPNames</i></A><br>
+<!-- Class ConnectionClosedException -->
+<A HREF="org.apache.http.ConnectionClosedException.html" class="hiddenlink" target="rightframe">ConnectionClosedException</A><br>
+<!-- Class ConnectionKeepAliveStrategy -->
+<A HREF="org.apache.http.conn.ConnectionKeepAliveStrategy.html" class="hiddenlink" target="rightframe"><i>ConnectionKeepAliveStrategy</i></A><br>
+<!-- Class ConnectionPoolTimeoutException -->
+<A HREF="org.apache.http.conn.ConnectionPoolTimeoutException.html" class="hiddenlink" target="rightframe">ConnectionPoolTimeoutException</A><br>
+<!-- Class ConnectionReleaseTrigger -->
+<A HREF="org.apache.http.conn.ConnectionReleaseTrigger.html" class="hiddenlink" target="rightframe"><i>ConnectionReleaseTrigger</i></A><br>
+<!-- Class ConnectionReuseStrategy -->
+<A HREF="org.apache.http.ConnectionReuseStrategy.html" class="hiddenlink" target="rightframe"><i>ConnectionReuseStrategy</i></A><br>
+<!-- Class ConnectivityManager -->
+<A HREF="android.net.ConnectivityManager.html" class="hiddenlink" target="rightframe">ConnectivityManager</A><br>
+<!-- Class ConnectTimeoutException -->
+<A HREF="org.apache.http.conn.ConnectTimeoutException.html" class="hiddenlink" target="rightframe">ConnectTimeoutException</A><br>
+<!-- Class ConnManagerParamBean -->
+<A HREF="org.apache.http.conn.params.ConnManagerParamBean.html" class="hiddenlink" target="rightframe">ConnManagerParamBean</A><br>
+<!-- Class ConnManagerParams -->
+<A HREF="org.apache.http.conn.params.ConnManagerParams.html" class="hiddenlink" target="rightframe">ConnManagerParams</A><br>
+<!-- Class ConnManagerPNames -->
+<A HREF="org.apache.http.conn.params.ConnManagerPNames.html" class="hiddenlink" target="rightframe"><i>ConnManagerPNames</i></A><br>
+<!-- Class ConnPerRoute -->
+<A HREF="org.apache.http.conn.params.ConnPerRoute.html" class="hiddenlink" target="rightframe"><i>ConnPerRoute</i></A><br>
+<!-- Class ConnPerRouteBean -->
+<A HREF="org.apache.http.conn.params.ConnPerRouteBean.html" class="hiddenlink" target="rightframe">ConnPerRouteBean</A><br>
+<!-- Class ConnPoolByRoute -->
+<A HREF="org.apache.http.impl.conn.tsccm.ConnPoolByRoute.html" class="hiddenlink" target="rightframe">ConnPoolByRoute</A><br>
+<!-- Class ConnRouteParamBean -->
+<A HREF="org.apache.http.conn.params.ConnRouteParamBean.html" class="hiddenlink" target="rightframe">ConnRouteParamBean</A><br>
+<!-- Class ConnRouteParams -->
+<A HREF="org.apache.http.conn.params.ConnRouteParams.html" class="hiddenlink" target="rightframe">ConnRouteParams</A><br>
+<!-- Class ConnRoutePNames -->
+<A HREF="org.apache.http.conn.params.ConnRoutePNames.html" class="hiddenlink" target="rightframe"><i>ConnRoutePNames</i></A><br>
+<!-- Class ContentLengthInputStream -->
+<A HREF="org.apache.http.impl.io.ContentLengthInputStream.html" class="hiddenlink" target="rightframe">ContentLengthInputStream</A><br>
+<!-- Class ContentLengthOutputStream -->
+<A HREF="org.apache.http.impl.io.ContentLengthOutputStream.html" class="hiddenlink" target="rightframe">ContentLengthOutputStream</A><br>
+<!-- Class ContentLengthStrategy -->
+<A HREF="org.apache.http.entity.ContentLengthStrategy.html" class="hiddenlink" target="rightframe"><i>ContentLengthStrategy</i></A><br>
+<!-- Class ContentProducer -->
+<A HREF="org.apache.http.entity.ContentProducer.html" class="hiddenlink" target="rightframe"><i>ContentProducer</i></A><br>
+<!-- Class Context -->
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<!-- Field CONTROL_SCENE_MODE_HDR -->
+<nobr><A HREF="android.hardware.camera2.CameraMetadata.html#android.hardware.camera2.CameraMetadata.CONTROL_SCENE_MODE_HDR" class="hiddenlink" target="rightframe">CONTROL_SCENE_MODE_HDR</A>
+</nobr><br>
+<!-- Class Cookie -->
+<A HREF="org.apache.http.cookie.Cookie.html" class="hiddenlink" target="rightframe"><i>Cookie</i></A><br>
+<!-- Class CookieAttributeHandler -->
+<A HREF="org.apache.http.cookie.CookieAttributeHandler.html" class="hiddenlink" target="rightframe"><i>CookieAttributeHandler</i></A><br>
+<!-- Class CookieIdentityComparator -->
+<A HREF="org.apache.http.cookie.CookieIdentityComparator.html" class="hiddenlink" target="rightframe">CookieIdentityComparator</A><br>
+<!-- Class CookieManager -->
+<i>CookieManager</i><br>
+&nbsp;&nbsp;<A HREF="android.webkit.CookieManager.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<!-- Constructor CookieManager -->
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.ctor_added()" class="hiddenlink" target="rightframe"><b>CookieManager</b>
+()</A></nobr>&nbsp;constructor<br>
+<!-- Class CookieOrigin -->
+<A HREF="org.apache.http.cookie.CookieOrigin.html" class="hiddenlink" target="rightframe">CookieOrigin</A><br>
+<!-- Class CookiePathComparator -->
+<A HREF="org.apache.http.cookie.CookiePathComparator.html" class="hiddenlink" target="rightframe">CookiePathComparator</A><br>
+<!-- Class CookiePolicy -->
+<A HREF="org.apache.http.client.params.CookiePolicy.html" class="hiddenlink" target="rightframe">CookiePolicy</A><br>
+<!-- Class CookieSpec -->
+<A HREF="org.apache.http.cookie.CookieSpec.html" class="hiddenlink" target="rightframe"><i>CookieSpec</i></A><br>
+<!-- Class CookieSpecBase -->
+<A HREF="org.apache.http.impl.cookie.CookieSpecBase.html" class="hiddenlink" target="rightframe">CookieSpecBase</A><br>
+<!-- Class CookieSpecFactory -->
+<A HREF="org.apache.http.cookie.CookieSpecFactory.html" class="hiddenlink" target="rightframe"><i>CookieSpecFactory</i></A><br>
+<!-- Class CookieSpecParamBean -->
+<A HREF="org.apache.http.cookie.params.CookieSpecParamBean.html" class="hiddenlink" target="rightframe">CookieSpecParamBean</A><br>
+<!-- Class CookieSpecPNames -->
+<A HREF="org.apache.http.cookie.params.CookieSpecPNames.html" class="hiddenlink" target="rightframe"><i>CookieSpecPNames</i></A><br>
+<!-- Class CookieSpecRegistry -->
+<A HREF="org.apache.http.cookie.CookieSpecRegistry.html" class="hiddenlink" target="rightframe">CookieSpecRegistry</A><br>
+<!-- Class CookieStore -->
+<A HREF="org.apache.http.client.CookieStore.html" class="hiddenlink" target="rightframe"><i>CookieStore</i></A><br>
+<!-- Class CoreConnectionPNames -->
+<A HREF="org.apache.http.params.CoreConnectionPNames.html" class="hiddenlink" target="rightframe"><i>CoreConnectionPNames</i></A><br>
+<!-- Class CoreProtocolPNames -->
+<A HREF="org.apache.http.params.CoreProtocolPNames.html" class="hiddenlink" target="rightframe"><i>CoreProtocolPNames</i></A><br>
+<!-- Method createChooser -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.createChooser_added(android.content.Intent, java.lang.CharSequence, android.content.IntentSender)" class="hiddenlink" target="rightframe"><b>createChooser</b>
+(<code>Intent, CharSequence, IntentSender</code>)</A></nobr><br>
+<!-- Class Credentials -->
+<A HREF="org.apache.http.auth.Credentials.html" class="hiddenlink" target="rightframe"><i>Credentials</i></A><br>
+<!-- Class CredentialsProvider -->
+<A HREF="org.apache.http.client.CredentialsProvider.html" class="hiddenlink" target="rightframe"><i>CredentialsProvider</i></A><br>
+<!-- Class CycleInterpolator -->
+<A HREF="android.view.animation.CycleInterpolator.html" class="hiddenlink" target="rightframe">CycleInterpolator</A><br>
+<!-- Field DATA_NULL_EMPTY -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.DATA_NULL_EMPTY" class="hiddenlink" target="rightframe">DATA_NULL_EMPTY</A>
+</nobr><br>
+<!-- Field DATA_NULL_UNDEFINED -->
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.DATA_NULL_UNDEFINED" class="hiddenlink" target="rightframe">DATA_NULL_UNDEFINED</A>
+</nobr><br>
+<!-- Field DATE -->
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.DATE" class="hiddenlink" target="rightframe"><strike>DATE</strike></A>
+</nobr><br>
+<!-- Class DateFormat -->
+<A HREF="android.text.format.DateFormat.html" class="hiddenlink" target="rightframe">DateFormat</A><br>
+<!-- Class DateParseException -->
+<A HREF="org.apache.http.impl.cookie.DateParseException.html" class="hiddenlink" target="rightframe">DateParseException</A><br>
+<!-- Class DateUtils -->
+<A HREF="org.apache.http.impl.cookie.DateUtils.html" class="hiddenlink" target="rightframe">DateUtils</A><br>
+<!-- Field DAY -->
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.DAY" class="hiddenlink" target="rightframe"><strike>DAY</strike></A>
+</nobr><br>
+<!-- Class DecelerateInterpolator -->
+<A HREF="android.view.animation.DecelerateInterpolator.html" class="hiddenlink" target="rightframe">DecelerateInterpolator</A><br>
+<!-- Field DEFAULT_FEATURES -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.DEFAULT_FEATURES" class="hiddenlink" target="rightframe">DEFAULT_FEATURES</A>
+</nobr><br>
+<!-- Class DefaultClientConnection -->
+<A HREF="org.apache.http.impl.conn.DefaultClientConnection.html" class="hiddenlink" target="rightframe">DefaultClientConnection</A><br>
+<!-- Class DefaultClientConnectionOperator -->
+<A HREF="org.apache.http.impl.conn.DefaultClientConnectionOperator.html" class="hiddenlink" target="rightframe">DefaultClientConnectionOperator</A><br>
+<!-- Class DefaultConnectionKeepAliveStrategy -->
+<A HREF="org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy.html" class="hiddenlink" target="rightframe">DefaultConnectionKeepAliveStrategy</A><br>
+<!-- Class DefaultConnectionReuseStrategy -->
+<A HREF="org.apache.http.impl.DefaultConnectionReuseStrategy.html" class="hiddenlink" target="rightframe">DefaultConnectionReuseStrategy</A><br>
+<!-- Class DefaultedHttpContext -->
+<A HREF="org.apache.http.protocol.DefaultedHttpContext.html" class="hiddenlink" target="rightframe">DefaultedHttpContext</A><br>
+<!-- Class DefaultedHttpParams -->
+<A HREF="org.apache.http.params.DefaultedHttpParams.html" class="hiddenlink" target="rightframe">DefaultedHttpParams</A><br>
+<!-- Class DefaultHttpClient -->
+<A HREF="org.apache.http.impl.client.DefaultHttpClient.html" class="hiddenlink" target="rightframe">DefaultHttpClient</A><br>
+<!-- Class DefaultHttpClientConnection -->
+<A HREF="org.apache.http.impl.DefaultHttpClientConnection.html" class="hiddenlink" target="rightframe">DefaultHttpClientConnection</A><br>
+<!-- Class DefaultHttpRequestFactory -->
+<A HREF="org.apache.http.impl.DefaultHttpRequestFactory.html" class="hiddenlink" target="rightframe">DefaultHttpRequestFactory</A><br>
+<!-- Class DefaultHttpRequestRetryHandler -->
+<A HREF="org.apache.http.impl.client.DefaultHttpRequestRetryHandler.html" class="hiddenlink" target="rightframe">DefaultHttpRequestRetryHandler</A><br>
+<!-- Class DefaultHttpResponseFactory -->
+<A HREF="org.apache.http.impl.DefaultHttpResponseFactory.html" class="hiddenlink" target="rightframe">DefaultHttpResponseFactory</A><br>
+<!-- Class DefaultHttpRoutePlanner -->
+<A HREF="org.apache.http.impl.conn.DefaultHttpRoutePlanner.html" class="hiddenlink" target="rightframe">DefaultHttpRoutePlanner</A><br>
+<!-- Class DefaultHttpServerConnection -->
+<A HREF="org.apache.http.impl.DefaultHttpServerConnection.html" class="hiddenlink" target="rightframe">DefaultHttpServerConnection</A><br>
+<!-- Class DefaultProxyAuthenticationHandler -->
+<A HREF="org.apache.http.impl.client.DefaultProxyAuthenticationHandler.html" class="hiddenlink" target="rightframe">DefaultProxyAuthenticationHandler</A><br>
+<!-- Class DefaultRedirectHandler -->
+<A HREF="org.apache.http.impl.client.DefaultRedirectHandler.html" class="hiddenlink" target="rightframe">DefaultRedirectHandler</A><br>
+<!-- Class DefaultRequestDirector -->
+<A HREF="org.apache.http.impl.client.DefaultRequestDirector.html" class="hiddenlink" target="rightframe">DefaultRequestDirector</A><br>
+<!-- Class DefaultResponseParser -->
+<A HREF="org.apache.http.impl.conn.DefaultResponseParser.html" class="hiddenlink" target="rightframe">DefaultResponseParser</A><br>
+<!-- Class DefaultTargetAuthenticationHandler -->
+<A HREF="org.apache.http.impl.client.DefaultTargetAuthenticationHandler.html" class="hiddenlink" target="rightframe">DefaultTargetAuthenticationHandler</A><br>
+<!-- Class DefaultUserTokenHandler -->
+<A HREF="org.apache.http.impl.client.DefaultUserTokenHandler.html" class="hiddenlink" target="rightframe">DefaultUserTokenHandler</A><br>
+<!-- Field DENSITY_280 -->
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_280" class="hiddenlink" target="rightframe">DENSITY_280</A>
+</nobr><br>
+<!-- Class DevicePolicyManager -->
+<A HREF="android.app.admin.DevicePolicyManager.html" class="hiddenlink" target="rightframe">DevicePolicyManager</A><br>
+<!-- Field dialogPreferredPadding -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.dialogPreferredPadding" class="hiddenlink" target="rightframe">dialogPreferredPadding</A>
+</nobr><br>
+<!-- Class DigestScheme -->
+<A HREF="org.apache.http.impl.auth.DigestScheme.html" class="hiddenlink" target="rightframe">DigestScheme</A><br>
+<!-- Class DigestSchemeFactory -->
+<A HREF="org.apache.http.impl.auth.DigestSchemeFactory.html" class="hiddenlink" target="rightframe">DigestSchemeFactory</A><br>
+<!-- Field DISALLOW_OUTGOING_BEAM -->
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.DISALLOW_OUTGOING_BEAM" class="hiddenlink" target="rightframe">DISALLOW_OUTGOING_BEAM</A>
+</nobr><br>
+<!-- Method dispatchDrawableHotspotChanged -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchDrawableHotspotChanged_added(float, float)" class="hiddenlink" target="rightframe"><b>dispatchDrawableHotspotChanged</b>
+(<code>float, float</code>)</A></nobr><br>
+<!-- Method dispatchNestedPrePerformAccessibilityAction -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchNestedPrePerformAccessibilityAction_added(int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>dispatchNestedPrePerformAccessibilityAction</b>
+(<code>int, Bundle</code>)</A></nobr><br>
+<!-- Class DisplayMetrics -->
+<A HREF="android.util.DisplayMetrics.html" class="hiddenlink" target="rightframe">DisplayMetrics</A><br>
+<!-- Method enableSmoothTransition -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</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.WebSettings.html#android.webkit.WebSettings.enableSmoothTransition_changed()" class="hiddenlink" target="rightframe">enableSmoothTransition
+()</A></nobr><br>
+<!-- Class EncodingUtils -->
+<A HREF="org.apache.http.util.EncodingUtils.html" class="hiddenlink" target="rightframe">EncodingUtils</A><br>
+<!-- Class EnglishReasonPhraseCatalog -->
+<A HREF="org.apache.http.impl.EnglishReasonPhraseCatalog.html" class="hiddenlink" target="rightframe">EnglishReasonPhraseCatalog</A><br>
+<!-- Field ENTERTAINMENT -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.ENTERTAINMENT" class="hiddenlink" target="rightframe">ENTERTAINMENT</A>
+</nobr><br>
+<!-- Class EntityDeserializer -->
+<A HREF="org.apache.http.impl.entity.EntityDeserializer.html" class="hiddenlink" target="rightframe">EntityDeserializer</A><br>
+<!-- Class EntityEnclosingRequestWrapper -->
+<A HREF="org.apache.http.impl.client.EntityEnclosingRequestWrapper.html" class="hiddenlink" target="rightframe">EntityEnclosingRequestWrapper</A><br>
+<!-- Class EntitySerializer -->
+<A HREF="org.apache.http.impl.entity.EntitySerializer.html" class="hiddenlink" target="rightframe">EntitySerializer</A><br>
+<!-- Class EntityTemplate -->
+<A HREF="org.apache.http.entity.EntityTemplate.html" class="hiddenlink" target="rightframe">EntityTemplate</A><br>
+<!-- Class EntityUtils -->
+<A HREF="org.apache.http.util.EntityUtils.html" class="hiddenlink" target="rightframe">EntityUtils</A><br>
+<!-- Class EofSensorInputStream -->
+<A HREF="org.apache.http.conn.EofSensorInputStream.html" class="hiddenlink" target="rightframe">EofSensorInputStream</A><br>
+<!-- Class EofSensorWatcher -->
+<A HREF="org.apache.http.conn.EofSensorWatcher.html" class="hiddenlink" target="rightframe"><i>EofSensorWatcher</i></A><br>
+<!-- Class ExceptionUtils -->
+<A HREF="org.apache.http.util.ExceptionUtils.html" class="hiddenlink" target="rightframe">ExceptionUtils</A><br>
+<!-- Class ExecutionContext -->
+<A HREF="org.apache.http.protocol.ExecutionContext.html" class="hiddenlink" target="rightframe"><i>ExecutionContext</i></A><br>
+<!-- Field EXTRA_CHOSEN_COMPONENT -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHOSEN_COMPONENT" class="hiddenlink" target="rightframe">EXTRA_CHOSEN_COMPONENT</A>
+</nobr><br>
+<!-- Field EXTRA_CHOSEN_COMPONENT_INTENT_SENDER -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHOSEN_COMPONENT_INTENT_SENDER" class="hiddenlink" target="rightframe">EXTRA_CHOSEN_COMPONENT_INTENT_SENDER</A>
+</nobr><br>
+<!-- Field EXTRA_MMS_HTTP_STATUS -->
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.EXTRA_MMS_HTTP_STATUS" class="hiddenlink" target="rightframe">EXTRA_MMS_HTTP_STATUS</A>
+</nobr><br>
+<!-- Field EXTRA_NETWORK -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.EXTRA_NETWORK" class="hiddenlink" target="rightframe">EXTRA_NETWORK</A>
+</nobr><br>
+<!-- Field EXTRA_NETWORK_REQUEST -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.EXTRA_NETWORK_REQUEST" class="hiddenlink" target="rightframe">EXTRA_NETWORK_REQUEST</A>
+</nobr><br>
+<!-- Field EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE" class="hiddenlink" target="rightframe">EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE</A>
+</nobr><br>
+<!-- Field EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED" class="hiddenlink" target="rightframe">EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED</A>
+</nobr><br>
+<!-- Field EXTRA_REFERRER_NAME -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_REFERRER_NAME" class="hiddenlink" target="rightframe">EXTRA_REFERRER_NAME</A>
+</nobr><br>
+<!-- Class FileEntity -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.entity.FileEntity.html" class="hiddenlink" target="rightframe">FileEntity</A><br>
+<!-- Field FLAG_LAYOUT_ATTACHED_IN_DECOR -->
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.FLAG_LAYOUT_ATTACHED_IN_DECOR" class="hiddenlink" target="rightframe">FLAG_LAYOUT_ATTACHED_IN_DECOR</A>
+</nobr><br>
+<!-- Class FloatMath -->
+<A HREF="android.util.FloatMath.html" class="hiddenlink" target="rightframe">FloatMath</A><br>
+<!-- Method flush -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.flush_changed()" class="hiddenlink" target="rightframe">flush
+()</A></nobr><br>
+<!-- Class FormattedHeader -->
+<A HREF="org.apache.http.FormattedHeader.html" class="hiddenlink" target="rightframe"><i>FormattedHeader</i></A><br>
+<!-- Method getAccessibilityTraversalAfter -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</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.getAccessibilityTraversalAfter_added()" class="hiddenlink" target="rightframe"><b>getAccessibilityTraversalAfter</b>
+()</A></nobr><br>
+<!-- Method getAccessibilityTraversalBefore -->
+<nobr><A HREF="android.view.View.html#android.view.View.getAccessibilityTraversalBefore_added()" class="hiddenlink" target="rightframe"><b>getAccessibilityTraversalBefore</b>
+()</A></nobr><br>
+<!-- Method getAllowContentAccess -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getAllowContentAccess_changed()" class="hiddenlink" target="rightframe">getAllowContentAccess
+()</A></nobr><br>
+<!-- Method getAllowFileAccess -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getAllowFileAccess_changed()" class="hiddenlink" target="rightframe">getAllowFileAccess
+()</A></nobr><br>
+<!-- Method getBlockNetworkImage -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getBlockNetworkImage_changed()" class="hiddenlink" target="rightframe">getBlockNetworkImage
+()</A></nobr><br>
+<!-- Method getBlockNetworkLoads -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getBlockNetworkLoads_changed()" class="hiddenlink" target="rightframe">getBlockNetworkLoads
+()</A></nobr><br>
+<!-- Method getBoolean -->
+<i>getBoolean</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.getBoolean_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.os.BaseBundle
+</A></nobr><br>
+<!-- Method getBoolean -->
+&nbsp;&nbsp;<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.getBoolean_added(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, boolean</code>)</b>&nbsp;in&nbsp;android.os.BaseBundle
+</A></nobr><br>
+<!-- Method getBoolean -->
+&nbsp;&nbsp;<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getBoolean_removed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String</code>)</strike>&nbsp;in&nbsp;android.os.Bundle
+</A></nobr><br>
+<!-- Method getBoolean -->
+&nbsp;&nbsp;<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getBoolean_removed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String, boolean</code>)</strike>&nbsp;in&nbsp;android.os.Bundle
+</A></nobr><br>
+<!-- Method getBooleanArray -->
+<i>getBooleanArray</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.getBooleanArray_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.os.BaseBundle
+</A></nobr><br>
+<!-- Method getBooleanArray -->
+&nbsp;&nbsp;<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getBooleanArray_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.os.Bundle
+</A></nobr><br>
+<!-- Method getBuiltInZoomControls -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getBuiltInZoomControls_changed()" class="hiddenlink" target="rightframe">getBuiltInZoomControls
+()</A></nobr><br>
+<!-- Method getCacheMode -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getCacheMode_changed()" class="hiddenlink" target="rightframe">getCacheMode
+()</A></nobr><br>
+<!-- Method getCancelLabel -->
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.getCancelLabel_added()" class="hiddenlink" target="rightframe"><b>getCancelLabel</b>
+()</A></nobr><br>
+<!-- Method getComplexUnit -->
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.getComplexUnit_added()" class="hiddenlink" target="rightframe"><b>getComplexUnit</b>
+()</A></nobr><br>
+<!-- Method getConfirmLabel -->
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.getConfirmLabel_added()" class="hiddenlink" target="rightframe"><b>getConfirmLabel</b>
+()</A></nobr><br>
+<!-- Method getCookie -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.getCookie_changed(java.lang.String)" class="hiddenlink" target="rightframe">getCookie
+(<code>String</code>)</A></nobr><br>
+<!-- Method getCurrentIndex -->
+<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.getCurrentIndex_changed()" class="hiddenlink" target="rightframe">getCurrentIndex
+()</A></nobr><br>
+<!-- Method getCurrentItem -->
+<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.getCurrentItem_changed()" class="hiddenlink" target="rightframe">getCurrentItem
+()</A></nobr><br>
+<!-- Method getCursiveFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getCursiveFontFamily_changed()" class="hiddenlink" target="rightframe">getCursiveFontFamily
+()</A></nobr><br>
+<!-- Method getDatabaseEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDatabaseEnabled_changed()" class="hiddenlink" target="rightframe">getDatabaseEnabled
+()</A></nobr><br>
+<!-- Method getDatabasePath -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDatabasePath_changed()" class="hiddenlink" target="rightframe">getDatabasePath
+()</A></nobr><br>
+<!-- Method getDefaultFeatures -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.getDefaultFeatures_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>getDefaultFeatures</b>
+(<code>Context</code>)</A></nobr><br>
+<!-- Method getDefaultFixedFontSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDefaultFixedFontSize_changed()" class="hiddenlink" target="rightframe">getDefaultFixedFontSize
+()</A></nobr><br>
+<!-- Method getDefaultFontSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDefaultFontSize_changed()" class="hiddenlink" target="rightframe">getDefaultFontSize
+()</A></nobr><br>
+<!-- Method getDefaultSmsSubscriptionId -->
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.getDefaultSmsSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultSmsSubscriptionId</b>
+()</A></nobr><br>
+<!-- Method getDefaultTextEncodingName -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDefaultTextEncodingName_changed()" class="hiddenlink" target="rightframe">getDefaultTextEncodingName
+()</A></nobr><br>
+<!-- Method getDefaultZoom -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDefaultZoom_changed()" class="hiddenlink" target="rightframe">getDefaultZoom
+()</A></nobr><br>
+<!-- Method getDisplayZoomControls -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDisplayZoomControls_changed()" class="hiddenlink" target="rightframe">getDisplayZoomControls
+()</A></nobr><br>
+<!-- Method getDomStorageEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDomStorageEnabled_changed()" class="hiddenlink" target="rightframe">getDomStorageEnabled
+()</A></nobr><br>
+<!-- Method getDrawable -->
+<nobr><A HREF="android.content.res.Resources.html#android.content.res.Resources.getDrawable_changed(int)" class="hiddenlink" target="rightframe">getDrawable
+(<code>int</code>)</A></nobr><br>
+<!-- Method getDrawableForDensity -->
+<nobr><A HREF="android.content.res.Resources.html#android.content.res.Resources.getDrawableForDensity_changed(int, int)" class="hiddenlink" target="rightframe">getDrawableForDensity
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method getExtras -->
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.getExtras_added()" class="hiddenlink" target="rightframe"><b>getExtras</b>
+()</A></nobr><br>
+<!-- Method getFantasyFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getFantasyFontFamily_changed()" class="hiddenlink" target="rightframe">getFantasyFontFamily
+()</A></nobr><br>
+<!-- Method getFavicon -->
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.getFavicon_changed()" class="hiddenlink" target="rightframe">getFavicon
+()</A></nobr><br>
+<!-- Method getFixedFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getFixedFontFamily_changed()" class="hiddenlink" target="rightframe">getFixedFontFamily
+()</A></nobr><br>
+<!-- Method getHintAvoidBackgroundClipping -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getHintAvoidBackgroundClipping_added()" class="hiddenlink" target="rightframe"><b>getHintAvoidBackgroundClipping</b>
+()</A></nobr><br>
+<!-- Method getHintScreenTimeout -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getHintScreenTimeout_added()" class="hiddenlink" target="rightframe"><b>getHintScreenTimeout</b>
+()</A></nobr><br>
+<!-- Method getHttpSocketFactory -->
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.getHttpSocketFactory_changed(int, android.net.SSLSessionCache)" class="hiddenlink" target="rightframe">getHttpSocketFactory
+(<code>int, SSLSessionCache</code>)</A></nobr><br>
+<!-- Method getInProgressLabel -->
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.getInProgressLabel_added()" class="hiddenlink" target="rightframe"><b>getInProgressLabel</b>
+()</A></nobr><br>
+<!-- Method getItemAtIndex -->
+<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.getItemAtIndex_changed(int)" class="hiddenlink" target="rightframe">getItemAtIndex
+(<code>int</code>)</A></nobr><br>
+<!-- Method getJavaScriptCanOpenWindowsAutomatically -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getJavaScriptCanOpenWindowsAutomatically_changed()" class="hiddenlink" target="rightframe">getJavaScriptCanOpenWindowsAutomatically
+()</A></nobr><br>
+<!-- Method getJavaScriptEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getJavaScriptEnabled_changed()" class="hiddenlink" target="rightframe">getJavaScriptEnabled
+()</A></nobr><br>
+<!-- Method getLayoutAlgorithm -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getLayoutAlgorithm_changed()" class="hiddenlink" target="rightframe">getLayoutAlgorithm
+()</A></nobr><br>
+<!-- Method getLightTouchEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getLightTouchEnabled_changed()" class="hiddenlink" target="rightframe">getLightTouchEnabled
+()</A></nobr><br>
+<!-- Method getLoadsImagesAutomatically -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getLoadsImagesAutomatically_changed()" class="hiddenlink" target="rightframe">getLoadsImagesAutomatically
+()</A></nobr><br>
+<!-- Method getLoadWithOverviewMode -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getLoadWithOverviewMode_changed()" class="hiddenlink" target="rightframe">getLoadWithOverviewMode
+()</A></nobr><br>
+<!-- Method getMediaPlaybackRequiresUserGesture -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getMediaPlaybackRequiresUserGesture_changed()" class="hiddenlink" target="rightframe">getMediaPlaybackRequiresUserGesture
+()</A></nobr><br>
+<!-- Method getMinimumFontSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getMinimumFontSize_changed()" class="hiddenlink" target="rightframe">getMinimumFontSize
+()</A></nobr><br>
+<!-- Method getMinimumLogicalFontSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getMinimumLogicalFontSize_changed()" class="hiddenlink" target="rightframe">getMinimumLogicalFontSize
+()</A></nobr><br>
+<!-- Method getOriginalUrl -->
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.getOriginalUrl_changed()" class="hiddenlink" target="rightframe">getOriginalUrl
+()</A></nobr><br>
+<!-- Method getPluginState -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getPluginState_changed()" class="hiddenlink" target="rightframe">getPluginState
+()</A></nobr><br>
+<!-- Method getReferrer -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.getReferrer_added()" class="hiddenlink" target="rightframe"><b>getReferrer</b>
+()</A></nobr><br>
+<!-- Method getResizeClip -->
+<nobr><A HREF="android.transition.ChangeBounds.html#android.transition.ChangeBounds.getResizeClip_added()" class="hiddenlink" target="rightframe"><b>getResizeClip</b>
+()</A></nobr><br>
+<!-- Method getSansSerifFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getSansSerifFontFamily_changed()" class="hiddenlink" target="rightframe">getSansSerifFontFamily
+()</A></nobr><br>
+<!-- Method getSaveFormData -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getSaveFormData_changed()" class="hiddenlink" target="rightframe">getSaveFormData
+()</A></nobr><br>
+<!-- Method getSavePassword -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getSavePassword_changed()" class="hiddenlink" target="rightframe">getSavePassword
+()</A></nobr><br>
+<!-- Method getSecureStop -->
+<nobr><A HREF="android.media.MediaDrm.html#android.media.MediaDrm.getSecureStop_added(byte[])" class="hiddenlink" target="rightframe"><b>getSecureStop</b>
+(<code>byte[]</code>)</A></nobr><br>
+<!-- Method getSerifFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getSerifFontFamily_changed()" class="hiddenlink" target="rightframe">getSerifFontFamily
+()</A></nobr><br>
+<!-- Method getSize -->
+<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.getSize_changed()" class="hiddenlink" target="rightframe">getSize
+()</A></nobr><br>
+<!-- Method getSmsManagerForSubscriptionId -->
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.getSmsManagerForSubscriptionId_added(int)" class="hiddenlink" target="rightframe"><b>getSmsManagerForSubscriptionId</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getStandardFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getStandardFontFamily_changed()" class="hiddenlink" target="rightframe">getStandardFontFamily
+()</A></nobr><br>
+<!-- Method getSubscriptionId -->
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.getSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getSubscriptionId</b>
+()</A></nobr><br>
+<!-- Method getTextZoom -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getTextZoom_changed()" class="hiddenlink" target="rightframe">getTextZoom
+()</A></nobr><br>
+<!-- Method getTitle -->
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.getTitle_changed()" class="hiddenlink" target="rightframe">getTitle
+()</A></nobr><br>
+<!-- Method getTraversalAfter -->
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.getTraversalAfter_added()" class="hiddenlink" target="rightframe"><b>getTraversalAfter</b>
+()</A></nobr><br>
+<!-- Method getTraversalBefore -->
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.getTraversalBefore_added()" class="hiddenlink" target="rightframe"><b>getTraversalBefore</b>
+()</A></nobr><br>
+<!-- Method getTrustAgentConfiguration -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getTrustAgentConfiguration_added(android.content.ComponentName, android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getTrustAgentConfiguration</b>
+(<code>ComponentName, ComponentName</code>)</A></nobr><br>
+<!-- Method getUrl -->
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.getUrl_changed()" class="hiddenlink" target="rightframe">getUrl
+()</A></nobr><br>
+<!-- Method getUserAgentString -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getUserAgentString_changed()" class="hiddenlink" target="rightframe">getUserAgentString
+()</A></nobr><br>
+<!-- Method getUseWideViewPort -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getUseWideViewPort_changed()" class="hiddenlink" target="rightframe">getUseWideViewPort
+()</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="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-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="#Y"><font size="-2">Y</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_added()" class="hiddenlink" target="rightframe"><b>hasCarrierPrivileges</b>
+()</A></nobr><br>
+<!-- Method hasCookies -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.hasCookies_changed()" class="hiddenlink" target="rightframe">hasCookies
+()</A></nobr><br>
+<!-- Method hasFormData -->
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.hasFormData_changed()" class="hiddenlink" target="rightframe">hasFormData
+()</A></nobr><br>
+<!-- Method hasHttpAuthUsernamePassword -->
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.hasHttpAuthUsernamePassword_changed()" class="hiddenlink" target="rightframe">hasHttpAuthUsernamePassword
+()</A></nobr><br>
+<!-- Method hasUsernamePassword -->
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.hasUsernamePassword_changed()" class="hiddenlink" target="rightframe">hasUsernamePassword
+()</A></nobr><br>
+<!-- Method hasValueOrEmpty -->
+<nobr><A HREF="android.content.res.TypedArray.html#android.content.res.TypedArray.hasValueOrEmpty_added(int)" class="hiddenlink" target="rightframe"><b>hasValueOrEmpty</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Class Header -->
+<A HREF="org.apache.http.Header.html" class="hiddenlink" target="rightframe"><i>Header</i></A><br>
+<!-- Class HeaderElement -->
+<A HREF="org.apache.http.HeaderElement.html" class="hiddenlink" target="rightframe"><i>HeaderElement</i></A><br>
+<!-- Class HeaderElementIterator -->
+<A HREF="org.apache.http.HeaderElementIterator.html" class="hiddenlink" target="rightframe"><i>HeaderElementIterator</i></A><br>
+<!-- Class HeaderGroup -->
+<A HREF="org.apache.http.message.HeaderGroup.html" class="hiddenlink" target="rightframe">HeaderGroup</A><br>
+<!-- Class HeaderIterator -->
+<A HREF="org.apache.http.HeaderIterator.html" class="hiddenlink" target="rightframe"><i>HeaderIterator</i></A><br>
+<!-- Class HeaderValueFormatter -->
+<A HREF="org.apache.http.message.HeaderValueFormatter.html" class="hiddenlink" target="rightframe"><i>HeaderValueFormatter</i></A><br>
+<!-- Class HeaderValueParser -->
+<A HREF="org.apache.http.message.HeaderValueParser.html" class="hiddenlink" target="rightframe"><i>HeaderValueParser</i></A><br>
+<!-- Class HostNameResolver -->
+<A HREF="org.apache.http.conn.scheme.HostNameResolver.html" class="hiddenlink" target="rightframe"><i>HostNameResolver</i></A><br>
+<!-- Field HOUR -->
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.HOUR" class="hiddenlink" target="rightframe"><strike>HOUR</strike></A>
+</nobr><br>
+<!-- Field HOUR_OF_DAY -->
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.HOUR_OF_DAY" class="hiddenlink" target="rightframe"><strike>HOUR_OF_DAY</strike></A>
+</nobr><br>
+<!-- Class HTTP -->
+<A HREF="org.apache.http.protocol.HTTP.html" class="hiddenlink" target="rightframe">HTTP</A><br>
+<!-- Class HttpAbstractParamBean -->
+<A HREF="org.apache.http.params.HttpAbstractParamBean.html" class="hiddenlink" target="rightframe">HttpAbstractParamBean</A><br>
+<!-- Class HttpClient -->
+<A HREF="org.apache.http.client.HttpClient.html" class="hiddenlink" target="rightframe"><i>HttpClient</i></A><br>
+<!-- Class HttpClientConnection -->
+<A HREF="org.apache.http.HttpClientConnection.html" class="hiddenlink" target="rightframe"><i>HttpClientConnection</i></A><br>
+<!-- Class HttpClientParams -->
+<A HREF="org.apache.http.client.params.HttpClientParams.html" class="hiddenlink" target="rightframe">HttpClientParams</A><br>
+<!-- Class HttpConnection -->
+<A HREF="org.apache.http.HttpConnection.html" class="hiddenlink" target="rightframe"><i>HttpConnection</i></A><br>
+<!-- Class HttpConnectionMetrics -->
+<A HREF="org.apache.http.HttpConnectionMetrics.html" class="hiddenlink" target="rightframe"><i>HttpConnectionMetrics</i></A><br>
+<!-- Class HttpConnectionMetricsImpl -->
+<A HREF="org.apache.http.impl.HttpConnectionMetricsImpl.html" class="hiddenlink" target="rightframe">HttpConnectionMetricsImpl</A><br>
+<!-- Class HttpConnectionParamBean -->
+<A HREF="org.apache.http.params.HttpConnectionParamBean.html" class="hiddenlink" target="rightframe">HttpConnectionParamBean</A><br>
+<!-- Class HttpConnectionParams -->
+<A HREF="org.apache.http.params.HttpConnectionParams.html" class="hiddenlink" target="rightframe">HttpConnectionParams</A><br>
+<!-- Class HttpContext -->
+<A HREF="org.apache.http.protocol.HttpContext.html" class="hiddenlink" target="rightframe"><i>HttpContext</i></A><br>
+<!-- Class HttpDateGenerator -->
+<A HREF="org.apache.http.protocol.HttpDateGenerator.html" class="hiddenlink" target="rightframe">HttpDateGenerator</A><br>
+<!-- Class HttpDelete -->
+<A HREF="org.apache.http.client.methods.HttpDelete.html" class="hiddenlink" target="rightframe">HttpDelete</A><br>
+<!-- Class HttpEntity -->
+<A HREF="org.apache.http.HttpEntity.html" class="hiddenlink" target="rightframe"><i>HttpEntity</i></A><br>
+<!-- Class HttpEntityEnclosingRequest -->
+<A HREF="org.apache.http.HttpEntityEnclosingRequest.html" class="hiddenlink" target="rightframe"><i>HttpEntityEnclosingRequest</i></A><br>
+<!-- Class HttpEntityEnclosingRequestBase -->
+<A HREF="org.apache.http.client.methods.HttpEntityEnclosingRequestBase.html" class="hiddenlink" target="rightframe">HttpEntityEnclosingRequestBase</A><br>
+<!-- Class HttpEntityWrapper -->
+<A HREF="org.apache.http.entity.HttpEntityWrapper.html" class="hiddenlink" target="rightframe">HttpEntityWrapper</A><br>
+<!-- Class HttpException -->
+<A HREF="org.apache.http.HttpException.html" class="hiddenlink" target="rightframe">HttpException</A><br>
+<!-- Class HttpExpectationVerifier -->
+<A HREF="org.apache.http.protocol.HttpExpectationVerifier.html" class="hiddenlink" target="rightframe"><i>HttpExpectationVerifier</i></A><br>
+<!-- Class HttpGet -->
+<A HREF="org.apache.http.client.methods.HttpGet.html" class="hiddenlink" target="rightframe">HttpGet</A><br>
+<!-- Class HttpHead -->
+<A HREF="org.apache.http.client.methods.HttpHead.html" class="hiddenlink" target="rightframe">HttpHead</A><br>
+<!-- Class HttpHost -->
+<A HREF="org.apache.http.HttpHost.html" class="hiddenlink" target="rightframe">HttpHost</A><br>
+<!-- Class HttpHostConnectException -->
+<A HREF="org.apache.http.conn.HttpHostConnectException.html" class="hiddenlink" target="rightframe">HttpHostConnectException</A><br>
+<!-- Class HttpInetConnection -->
+<A HREF="org.apache.http.HttpInetConnection.html" class="hiddenlink" target="rightframe"><i>HttpInetConnection</i></A><br>
+<!-- Class HttpMessage -->
+<A HREF="org.apache.http.HttpMessage.html" class="hiddenlink" target="rightframe"><i>HttpMessage</i></A><br>
+<!-- Class HttpMessageParser -->
+<A HREF="org.apache.http.io.HttpMessageParser.html" class="hiddenlink" target="rightframe"><i>HttpMessageParser</i></A><br>
+<!-- Class HttpMessageWriter -->
+<A HREF="org.apache.http.io.HttpMessageWriter.html" class="hiddenlink" target="rightframe"><i>HttpMessageWriter</i></A><br>
+<!-- Class HttpOptions -->
+<A HREF="org.apache.http.client.methods.HttpOptions.html" class="hiddenlink" target="rightframe">HttpOptions</A><br>
+<!-- Class HttpParams -->
+<A HREF="org.apache.http.params.HttpParams.html" class="hiddenlink" target="rightframe"><i>HttpParams</i></A><br>
+<!-- Class HttpPost -->
+<A HREF="org.apache.http.client.methods.HttpPost.html" class="hiddenlink" target="rightframe">HttpPost</A><br>
+<!-- Class HttpProcessor -->
+<A HREF="org.apache.http.protocol.HttpProcessor.html" class="hiddenlink" target="rightframe"><i>HttpProcessor</i></A><br>
+<!-- Class HttpProtocolParamBean -->
+<A HREF="org.apache.http.params.HttpProtocolParamBean.html" class="hiddenlink" target="rightframe">HttpProtocolParamBean</A><br>
+<!-- Class HttpProtocolParams -->
+<A HREF="org.apache.http.params.HttpProtocolParams.html" class="hiddenlink" target="rightframe">HttpProtocolParams</A><br>
+<!-- Class HttpPut -->
+<A HREF="org.apache.http.client.methods.HttpPut.html" class="hiddenlink" target="rightframe">HttpPut</A><br>
+<!-- Class HttpRequest -->
+<A HREF="org.apache.http.HttpRequest.html" class="hiddenlink" target="rightframe"><i>HttpRequest</i></A><br>
+<!-- Class HttpRequestBase -->
+<A HREF="org.apache.http.client.methods.HttpRequestBase.html" class="hiddenlink" target="rightframe">HttpRequestBase</A><br>
+<!-- Class HttpRequestExecutor -->
+<A HREF="org.apache.http.protocol.HttpRequestExecutor.html" class="hiddenlink" target="rightframe">HttpRequestExecutor</A><br>
+<!-- Class HttpRequestFactory -->
+<A HREF="org.apache.http.HttpRequestFactory.html" class="hiddenlink" target="rightframe"><i>HttpRequestFactory</i></A><br>
+<!-- Class HttpRequestHandler -->
+<A HREF="org.apache.http.protocol.HttpRequestHandler.html" class="hiddenlink" target="rightframe"><i>HttpRequestHandler</i></A><br>
+<!-- Class HttpRequestHandlerRegistry -->
+<A HREF="org.apache.http.protocol.HttpRequestHandlerRegistry.html" class="hiddenlink" target="rightframe">HttpRequestHandlerRegistry</A><br>
+<!-- Class HttpRequestHandlerResolver -->
+<A HREF="org.apache.http.protocol.HttpRequestHandlerResolver.html" class="hiddenlink" target="rightframe"><i>HttpRequestHandlerResolver</i></A><br>
+<!-- Class HttpRequestInterceptor -->
+<A HREF="org.apache.http.HttpRequestInterceptor.html" class="hiddenlink" target="rightframe"><i>HttpRequestInterceptor</i></A><br>
+<!-- Class HttpRequestInterceptorList -->
+<A HREF="org.apache.http.protocol.HttpRequestInterceptorList.html" class="hiddenlink" target="rightframe"><i>HttpRequestInterceptorList</i></A><br>
+<!-- Class HttpRequestParser -->
+<A HREF="org.apache.http.impl.io.HttpRequestParser.html" class="hiddenlink" target="rightframe">HttpRequestParser</A><br>
+<!-- Class HttpRequestRetryHandler -->
+<A HREF="org.apache.http.client.HttpRequestRetryHandler.html" class="hiddenlink" target="rightframe"><i>HttpRequestRetryHandler</i></A><br>
+<!-- Class HttpRequestWriter -->
+<A HREF="org.apache.http.impl.io.HttpRequestWriter.html" class="hiddenlink" target="rightframe">HttpRequestWriter</A><br>
+<!-- Class HttpResponse -->
+<A HREF="org.apache.http.HttpResponse.html" class="hiddenlink" target="rightframe"><i>HttpResponse</i></A><br>
+<!-- Class HttpResponseException -->
+<A HREF="org.apache.http.client.HttpResponseException.html" class="hiddenlink" target="rightframe">HttpResponseException</A><br>
+<!-- Class HttpResponseFactory -->
+<A HREF="org.apache.http.HttpResponseFactory.html" class="hiddenlink" target="rightframe"><i>HttpResponseFactory</i></A><br>
+<!-- Class HttpResponseInterceptor -->
+<A HREF="org.apache.http.HttpResponseInterceptor.html" class="hiddenlink" target="rightframe"><i>HttpResponseInterceptor</i></A><br>
+<!-- Class HttpResponseInterceptorList -->
+<A HREF="org.apache.http.protocol.HttpResponseInterceptorList.html" class="hiddenlink" target="rightframe"><i>HttpResponseInterceptorList</i></A><br>
+<!-- Class HttpResponseParser -->
+<A HREF="org.apache.http.impl.io.HttpResponseParser.html" class="hiddenlink" target="rightframe">HttpResponseParser</A><br>
+<!-- Class HttpResponseWriter -->
+<A HREF="org.apache.http.impl.io.HttpResponseWriter.html" class="hiddenlink" target="rightframe">HttpResponseWriter</A><br>
+<!-- Class HttpRoute -->
+<A HREF="org.apache.http.conn.routing.HttpRoute.html" class="hiddenlink" target="rightframe">HttpRoute</A><br>
+<!-- Class HttpRouteDirector -->
+<A HREF="org.apache.http.conn.routing.HttpRouteDirector.html" class="hiddenlink" target="rightframe"><i>HttpRouteDirector</i></A><br>
+<!-- Class HttpRoutePlanner -->
+<A HREF="org.apache.http.conn.routing.HttpRoutePlanner.html" class="hiddenlink" target="rightframe"><i>HttpRoutePlanner</i></A><br>
+<!-- Class HttpServerConnection -->
+<A HREF="org.apache.http.HttpServerConnection.html" class="hiddenlink" target="rightframe"><i>HttpServerConnection</i></A><br>
+<!-- Class HttpService -->
+<A HREF="org.apache.http.protocol.HttpService.html" class="hiddenlink" target="rightframe">HttpService</A><br>
+<!-- Class HttpStatus -->
+<A HREF="org.apache.http.HttpStatus.html" class="hiddenlink" target="rightframe"><i>HttpStatus</i></A><br>
+<!-- Class HttpTrace -->
+<A HREF="org.apache.http.client.methods.HttpTrace.html" class="hiddenlink" target="rightframe">HttpTrace</A><br>
+<!-- Class HttpTransportMetrics -->
+<A HREF="org.apache.http.io.HttpTransportMetrics.html" class="hiddenlink" target="rightframe"><i>HttpTransportMetrics</i></A><br>
+<!-- Class HttpTransportMetricsImpl -->
+<A HREF="org.apache.http.impl.io.HttpTransportMetricsImpl.html" class="hiddenlink" target="rightframe">HttpTransportMetricsImpl</A><br>
+<!-- Class HttpUriRequest -->
+<A HREF="org.apache.http.client.methods.HttpUriRequest.html" class="hiddenlink" target="rightframe"><i>HttpUriRequest</i></A><br>
+<!-- Class HttpVersion -->
+<A HREF="org.apache.http.HttpVersion.html" class="hiddenlink" target="rightframe">HttpVersion</A><br>
+<!-- Class IdentityInputStream -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.impl.io.IdentityInputStream.html" class="hiddenlink" target="rightframe">IdentityInputStream</A><br>
+<!-- Class IdentityOutputStream -->
+<A HREF="org.apache.http.impl.io.IdentityOutputStream.html" class="hiddenlink" target="rightframe">IdentityOutputStream</A><br>
+<!-- Class IdleConnectionHandler -->
+<A HREF="org.apache.http.impl.conn.IdleConnectionHandler.html" class="hiddenlink" target="rightframe">IdleConnectionHandler</A><br>
+<!-- Class InetAddressUtils -->
+<A HREF="org.apache.http.conn.util.InetAddressUtils.html" class="hiddenlink" target="rightframe">InetAddressUtils</A><br>
+<!-- Method injectSmsPdu -->
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.injectSmsPdu_added(byte[], java.lang.String, android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>injectSmsPdu</b>
+(<code>byte[], String, PendingIntent</code>)</A></nobr><br>
+<!-- Class InputStreamEntity -->
+<A HREF="org.apache.http.entity.InputStreamEntity.html" class="hiddenlink" target="rightframe">InputStreamEntity</A><br>
+<!-- Class Intent -->
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<!-- Class InvalidCredentialsException -->
+<A HREF="org.apache.http.auth.InvalidCredentialsException.html" class="hiddenlink" target="rightframe">InvalidCredentialsException</A><br>
+<!-- Method isAsynchronous -->
+<nobr><A HREF="android.os.Message.html#android.os.Message.isAsynchronous_added()" class="hiddenlink" target="rightframe"><b>isAsynchronous</b>
+()</A></nobr><br>
+<!-- Method isAttachedInDecor -->
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.isAttachedInDecor_added()" class="hiddenlink" target="rightframe"><b>isAttachedInDecor</b>
+()</A></nobr><br>
+<!-- Method isDeviceLocked -->
+<nobr><A HREF="android.app.KeyguardManager.html#android.app.KeyguardManager.isDeviceLocked_added()" class="hiddenlink" target="rightframe"><b>isDeviceLocked</b>
+()</A></nobr><br>
+<!-- Method isVoiceCapable -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.isVoiceCapable_added()" class="hiddenlink" target="rightframe"><b>isVoiceCapable</b>
+()</A></nobr><br>
+<!-- Field KEY_RESTRICTIONS_PENDING -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</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.UserManager.html#android.os.UserManager.KEY_RESTRICTIONS_PENDING" class="hiddenlink" target="rightframe">KEY_RESTRICTIONS_PENDING</A>
+</nobr><br>
+<!-- Class KeyguardManager -->
+<A HREF="android.app.KeyguardManager.html" class="hiddenlink" target="rightframe">KeyguardManager</A><br>
+<!-- Class LangUtils -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.util.LangUtils.html" class="hiddenlink" target="rightframe">LangUtils</A><br>
+<!-- Class LaxContentLengthStrategy -->
+<A HREF="org.apache.http.impl.entity.LaxContentLengthStrategy.html" class="hiddenlink" target="rightframe">LaxContentLengthStrategy</A><br>
+<!-- Class LayeredSocketFactory -->
+<A HREF="org.apache.http.conn.scheme.LayeredSocketFactory.html" class="hiddenlink" target="rightframe"><i>LayeredSocketFactory</i></A><br>
+<!-- Field LIFE_STYLE -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.LIFE_STYLE" class="hiddenlink" target="rightframe">LIFE_STYLE</A>
+</nobr><br>
+<!-- Class LinearInterpolator -->
+<A HREF="android.view.animation.LinearInterpolator.html" class="hiddenlink" target="rightframe">LinearInterpolator</A><br>
+<!-- Class LineFormatter -->
+<A HREF="org.apache.http.message.LineFormatter.html" class="hiddenlink" target="rightframe"><i>LineFormatter</i></A><br>
+<!-- Class LineParser -->
+<A HREF="org.apache.http.message.LineParser.html" class="hiddenlink" target="rightframe"><i>LineParser</i></A><br>
+<!-- Method loadUnbadgedIcon -->
+<nobr><A HREF="android.content.pm.PackageItemInfo.html#android.content.pm.PackageItemInfo.loadUnbadgedIcon_added(android.content.pm.PackageManager)" class="hiddenlink" target="rightframe"><b>loadUnbadgedIcon</b>
+(<code>PackageManager</code>)</A></nobr><br>
+<!-- Class Log -->
+<A HREF="org.apache.commons.logging.Log.html" class="hiddenlink" target="rightframe"><i>Log</i></A><br>
+<!-- Class LoggingSessionInputBuffer -->
+<A HREF="org.apache.http.impl.conn.LoggingSessionInputBuffer.html" class="hiddenlink" target="rightframe">LoggingSessionInputBuffer</A><br>
+<!-- Class LoggingSessionOutputBuffer -->
+<A HREF="org.apache.http.impl.conn.LoggingSessionOutputBuffer.html" class="hiddenlink" target="rightframe">LoggingSessionOutputBuffer</A><br>
+<!-- Field LOLLIPOP_MR1 -->
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.LOLLIPOP_MR1" class="hiddenlink" target="rightframe">LOLLIPOP_MR1</A>
+</nobr><br>
+<!-- Class MalformedChallengeException -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.auth.MalformedChallengeException.html" class="hiddenlink" target="rightframe">MalformedChallengeException</A><br>
+<!-- Class MalformedChunkCodingException -->
+<A HREF="org.apache.http.MalformedChunkCodingException.html" class="hiddenlink" target="rightframe">MalformedChunkCodingException</A><br>
+<!-- Class MalformedCookieException -->
+<A HREF="org.apache.http.cookie.MalformedCookieException.html" class="hiddenlink" target="rightframe">MalformedCookieException</A><br>
+<!-- Class ManagedClientConnection -->
+<A HREF="org.apache.http.conn.ManagedClientConnection.html" class="hiddenlink" target="rightframe"><i>ManagedClientConnection</i></A><br>
+<!-- Class Manifest.permission -->
+<A HREF="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<!-- Class MediaDrm -->
+<A HREF="android.media.MediaDrm.html" class="hiddenlink" target="rightframe">MediaDrm</A><br>
+<!-- Class MediaSession -->
+<A HREF="android.media.session.MediaSession.html" class="hiddenlink" target="rightframe">MediaSession</A><br>
+<!-- Class Message -->
+<A HREF="android.os.Message.html" class="hiddenlink" target="rightframe">Message</A><br>
+<!-- Class MethodNotSupportedException -->
+<A HREF="org.apache.http.MethodNotSupportedException.html" class="hiddenlink" target="rightframe">MethodNotSupportedException</A><br>
+<!-- Field MINUTE -->
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.MINUTE" class="hiddenlink" target="rightframe"><strike>MINUTE</strike></A>
+</nobr><br>
+<!-- Field MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS -->
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS" class="hiddenlink" target="rightframe">MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS</A>
+</nobr><br>
+<!-- Field MMS_ERROR_NO_DATA_NETWORK -->
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.MMS_ERROR_NO_DATA_NETWORK" class="hiddenlink" target="rightframe">MMS_ERROR_NO_DATA_NETWORK</A>
+</nobr><br>
+<!-- Field MONTH -->
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.MONTH" class="hiddenlink" target="rightframe"><strike>MONTH</strike></A>
+</nobr><br>
+<!-- Class MultihomePlainSocketFactory -->
+<A HREF="org.apache.http.conn.MultihomePlainSocketFactory.html" class="hiddenlink" target="rightframe">MultihomePlainSocketFactory</A><br>
+<!-- Field MUSIC -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.MUSIC" class="hiddenlink" target="rightframe">MUSIC</A>
+</nobr><br>
+<!-- Class NameValuePair -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.NameValuePair.html" class="hiddenlink" target="rightframe"><i>NameValuePair</i></A><br>
+<!-- Class NetscapeDomainHandler -->
+<A HREF="org.apache.http.impl.cookie.NetscapeDomainHandler.html" class="hiddenlink" target="rightframe">NetscapeDomainHandler</A><br>
+<!-- Class NetscapeDraftHeaderParser -->
+<A HREF="org.apache.http.impl.cookie.NetscapeDraftHeaderParser.html" class="hiddenlink" target="rightframe">NetscapeDraftHeaderParser</A><br>
+<!-- Class NetscapeDraftSpec -->
+<A HREF="org.apache.http.impl.cookie.NetscapeDraftSpec.html" class="hiddenlink" target="rightframe">NetscapeDraftSpec</A><br>
+<!-- Class NetscapeDraftSpecFactory -->
+<A HREF="org.apache.http.impl.cookie.NetscapeDraftSpecFactory.html" class="hiddenlink" target="rightframe">NetscapeDraftSpecFactory</A><br>
+<!-- Class Network -->
+<A HREF="android.net.Network.html" class="hiddenlink" target="rightframe">Network</A><br>
+<!-- Method newInstance -->
+<i>newInstance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.AndroidHttpClient.html#android.net.http.AndroidHttpClient.newInstance_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.net.http.AndroidHttpClient
+</A></nobr><br>
+<!-- Method newInstance -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.AndroidHttpClient.html#android.net.http.AndroidHttpClient.newInstance_changed(java.lang.String, android.content.Context)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Context</code>)&nbsp;in&nbsp;android.net.http.AndroidHttpClient
+</A></nobr><br>
+<!-- Class NoConnectionReuseStrategy -->
+<A HREF="org.apache.http.impl.NoConnectionReuseStrategy.html" class="hiddenlink" target="rightframe">NoConnectionReuseStrategy</A><br>
+<!-- Class NoHttpResponseException -->
+<A HREF="org.apache.http.NoHttpResponseException.html" class="hiddenlink" target="rightframe">NoHttpResponseException</A><br>
+<!-- Class NonRepeatableRequestException -->
+<A HREF="org.apache.http.client.NonRepeatableRequestException.html" class="hiddenlink" target="rightframe">NonRepeatableRequestException</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.WearableExtender -->
+<A HREF="android.app.Notification.WearableExtender.html" class="hiddenlink" target="rightframe">Notification.WearableExtender</A><br>
+<!-- Class NTCredentials -->
+<A HREF="org.apache.http.auth.NTCredentials.html" class="hiddenlink" target="rightframe">NTCredentials</A><br>
+<!-- Class NTLMEngine -->
+<A HREF="org.apache.http.impl.auth.NTLMEngine.html" class="hiddenlink" target="rightframe"><i>NTLMEngine</i></A><br>
+<!-- Class NTLMEngineException -->
+<A HREF="org.apache.http.impl.auth.NTLMEngineException.html" class="hiddenlink" target="rightframe">NTLMEngineException</A><br>
+<!-- Class NTLMScheme -->
+<A HREF="org.apache.http.impl.auth.NTLMScheme.html" class="hiddenlink" target="rightframe">NTLMScheme</A><br>
+<!-- Class NTUserPrincipal -->
+<A HREF="org.apache.http.auth.NTUserPrincipal.html" class="hiddenlink" target="rightframe">NTUserPrincipal</A><br>
+<!-- Method 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="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-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="#Y"><font size="-2">Y</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.Outline.html#android.graphics.Outline.offset_added(int, int)" class="hiddenlink" target="rightframe"><b>offset</b>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method onMtuChanged -->
+<nobr><A HREF="android.bluetooth.BluetoothGattServerCallback.html#android.bluetooth.BluetoothGattServerCallback.onMtuChanged_added(android.bluetooth.BluetoothDevice, int)" class="hiddenlink" target="rightframe"><b>onMtuChanged</b>
+(<code>BluetoothDevice, int</code>)</A></nobr><br>
+<!-- Method onNestedPrePerformAccessibilityAction -->
+<i>onNestedPrePerformAccessibilityAction</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.onNestedPrePerformAccessibilityAction_added(android.view.View, int, android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, int, Bundle</code>)</b>&nbsp;in&nbsp;android.view.ViewGroup
+</A></nobr><br>
+<!-- Method onNestedPrePerformAccessibilityAction -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewParent.html#android.view.ViewParent.onNestedPrePerformAccessibilityAction_added(android.view.View, int, android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, int, Bundle</code>)</b>&nbsp;in&nbsp;android.view.ViewParent
+</A></nobr><br>
+<!-- Method open -->
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.open_changed(java.lang.String)" class="hiddenlink" target="rightframe">open
+(<code>String</code>)</A></nobr><br>
+<!-- Class OperatedClientConnection -->
+<A HREF="org.apache.http.conn.OperatedClientConnection.html" class="hiddenlink" target="rightframe"><i>OperatedClientConnection</i></A><br>
+<!-- Package org.apache.commons.logging -->
+<A HREF="pkg_org.apache.commons.logging.html" class="hiddenlink" target="rightframe">org.apache.commons.logging</A><br>
+<!-- Package org.apache.http -->
+<A HREF="pkg_org.apache.http.html" class="hiddenlink" target="rightframe">org.apache.http</A><br>
+<!-- Package org.apache.http.auth -->
+<A HREF="pkg_org.apache.http.auth.html" class="hiddenlink" target="rightframe">org.apache.http.auth</A><br>
+<!-- Package org.apache.http.auth.params -->
+<A HREF="pkg_org.apache.http.auth.params.html" class="hiddenlink" target="rightframe">org.apache.http.auth.params</A><br>
+<!-- Package org.apache.http.client -->
+<A HREF="pkg_org.apache.http.client.html" class="hiddenlink" target="rightframe">org.apache.http.client</A><br>
+<!-- Package org.apache.http.client.entity -->
+<A HREF="pkg_org.apache.http.client.entity.html" class="hiddenlink" target="rightframe">org.apache.http.client.entity</A><br>
+<!-- Package org.apache.http.client.methods -->
+<A HREF="pkg_org.apache.http.client.methods.html" class="hiddenlink" target="rightframe">org.apache.http.client.methods</A><br>
+<!-- Package org.apache.http.client.params -->
+<A HREF="pkg_org.apache.http.client.params.html" class="hiddenlink" target="rightframe">org.apache.http.client.params</A><br>
+<!-- Package org.apache.http.client.protocol -->
+<A HREF="pkg_org.apache.http.client.protocol.html" class="hiddenlink" target="rightframe">org.apache.http.client.protocol</A><br>
+<!-- Package org.apache.http.client.utils -->
+<A HREF="pkg_org.apache.http.client.utils.html" class="hiddenlink" target="rightframe">org.apache.http.client.utils</A><br>
+<!-- Package org.apache.http.conn -->
+<A HREF="pkg_org.apache.http.conn.html" class="hiddenlink" target="rightframe">org.apache.http.conn</A><br>
+<!-- Package org.apache.http.conn.params -->
+<A HREF="pkg_org.apache.http.conn.params.html" class="hiddenlink" target="rightframe">org.apache.http.conn.params</A><br>
+<!-- Package org.apache.http.conn.routing -->
+<A HREF="pkg_org.apache.http.conn.routing.html" class="hiddenlink" target="rightframe">org.apache.http.conn.routing</A><br>
+<!-- Package org.apache.http.conn.scheme -->
+<A HREF="pkg_org.apache.http.conn.scheme.html" class="hiddenlink" target="rightframe">org.apache.http.conn.scheme</A><br>
+<!-- Package org.apache.http.conn.ssl -->
+<A HREF="pkg_org.apache.http.conn.ssl.html" class="hiddenlink" target="rightframe">org.apache.http.conn.ssl</A><br>
+<!-- Package org.apache.http.conn.util -->
+<A HREF="pkg_org.apache.http.conn.util.html" class="hiddenlink" target="rightframe">org.apache.http.conn.util</A><br>
+<!-- Package org.apache.http.cookie -->
+<A HREF="pkg_org.apache.http.cookie.html" class="hiddenlink" target="rightframe">org.apache.http.cookie</A><br>
+<!-- Package org.apache.http.cookie.params -->
+<A HREF="pkg_org.apache.http.cookie.params.html" class="hiddenlink" target="rightframe">org.apache.http.cookie.params</A><br>
+<!-- Package org.apache.http.entity -->
+<A HREF="pkg_org.apache.http.entity.html" class="hiddenlink" target="rightframe">org.apache.http.entity</A><br>
+<!-- Package org.apache.http.impl -->
+<A HREF="pkg_org.apache.http.impl.html" class="hiddenlink" target="rightframe">org.apache.http.impl</A><br>
+<!-- Package org.apache.http.impl.auth -->
+<A HREF="pkg_org.apache.http.impl.auth.html" class="hiddenlink" target="rightframe">org.apache.http.impl.auth</A><br>
+<!-- Package org.apache.http.impl.client -->
+<A HREF="pkg_org.apache.http.impl.client.html" class="hiddenlink" target="rightframe">org.apache.http.impl.client</A><br>
+<!-- Package org.apache.http.impl.conn -->
+<A HREF="pkg_org.apache.http.impl.conn.html" class="hiddenlink" target="rightframe">org.apache.http.impl.conn</A><br>
+<!-- Package org.apache.http.impl.conn.tsccm -->
+<A HREF="pkg_org.apache.http.impl.conn.tsccm.html" class="hiddenlink" target="rightframe">org.apache.http.impl.conn.tsccm</A><br>
+<!-- Package org.apache.http.impl.cookie -->
+<A HREF="pkg_org.apache.http.impl.cookie.html" class="hiddenlink" target="rightframe">org.apache.http.impl.cookie</A><br>
+<!-- Package org.apache.http.impl.entity -->
+<A HREF="pkg_org.apache.http.impl.entity.html" class="hiddenlink" target="rightframe">org.apache.http.impl.entity</A><br>
+<!-- Package org.apache.http.impl.io -->
+<A HREF="pkg_org.apache.http.impl.io.html" class="hiddenlink" target="rightframe">org.apache.http.impl.io</A><br>
+<!-- Package org.apache.http.io -->
+<A HREF="pkg_org.apache.http.io.html" class="hiddenlink" target="rightframe">org.apache.http.io</A><br>
+<!-- Package org.apache.http.message -->
+<A HREF="pkg_org.apache.http.message.html" class="hiddenlink" target="rightframe">org.apache.http.message</A><br>
+<!-- Package org.apache.http.params -->
+<A HREF="pkg_org.apache.http.params.html" class="hiddenlink" target="rightframe">org.apache.http.params</A><br>
+<!-- Package org.apache.http.protocol -->
+<A HREF="pkg_org.apache.http.protocol.html" class="hiddenlink" target="rightframe">org.apache.http.protocol</A><br>
+<!-- Package org.apache.http.util -->
+<A HREF="pkg_org.apache.http.util.html" class="hiddenlink" target="rightframe">org.apache.http.util</A><br>
+<!-- Class Outline -->
+<A HREF="android.graphics.Outline.html" class="hiddenlink" target="rightframe">Outline</A><br>
+<!-- Class OvershootInterpolator -->
+<A HREF="android.view.animation.OvershootInterpolator.html" class="hiddenlink" target="rightframe">OvershootInterpolator</A><br>
+<!-- Class PackageInfo -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</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.PackageInfo.html" class="hiddenlink" target="rightframe">PackageInfo</A><br>
+<!-- Class PackageItemInfo -->
+<A HREF="android.content.pm.PackageItemInfo.html" class="hiddenlink" target="rightframe">PackageItemInfo</A><br>
+<!-- Class ParseException -->
+<A HREF="org.apache.http.ParseException.html" class="hiddenlink" target="rightframe">ParseException</A><br>
+<!-- Class ParserCursor -->
+<A HREF="org.apache.http.message.ParserCursor.html" class="hiddenlink" target="rightframe">ParserCursor</A><br>
+<!-- Class PathInterpolator -->
+<A HREF="android.view.animation.PathInterpolator.html" class="hiddenlink" target="rightframe">PathInterpolator</A><br>
+<!-- Class PlainSocketFactory -->
+<A HREF="org.apache.http.conn.scheme.PlainSocketFactory.html" class="hiddenlink" target="rightframe">PlainSocketFactory</A><br>
+<!-- Class PlaybackState -->
+<A HREF="android.media.session.PlaybackState.html" class="hiddenlink" target="rightframe">PlaybackState</A><br>
+<!-- Class PlaybackState.Builder -->
+<A HREF="android.media.session.PlaybackState.Builder.html" class="hiddenlink" target="rightframe">PlaybackState.Builder</A><br>
+<!-- Class PoolEntryRequest -->
+<A HREF="org.apache.http.impl.conn.tsccm.PoolEntryRequest.html" class="hiddenlink" target="rightframe"><i>PoolEntryRequest</i></A><br>
+<!-- Class PopupMenu -->
+<i>PopupMenu</i><br>
+&nbsp;&nbsp;<A HREF="android.widget.PopupMenu.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<!-- Constructor PopupMenu -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.PopupMenu.html#android.widget.PopupMenu.ctor_added(android.content.Context, android.view.View, int, int, int)" class="hiddenlink" target="rightframe"><b>PopupMenu</b>
+(<code>Context, View, int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class PopupWindow -->
+<A HREF="android.widget.PopupWindow.html" class="hiddenlink" target="rightframe">PopupWindow</A><br>
+<!-- Field PREMIER -->
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.PREMIER" class="hiddenlink" target="rightframe">PREMIER</A>
+</nobr><br>
+<!-- Class ProtocolException -->
+<A HREF="org.apache.http.ProtocolException.html" class="hiddenlink" target="rightframe">ProtocolException</A><br>
+<!-- Class ProtocolVersion -->
+<A HREF="org.apache.http.ProtocolVersion.html" class="hiddenlink" target="rightframe">ProtocolVersion</A><br>
+<!-- Class ProxyInfo -->
+<A HREF="android.net.ProxyInfo.html" class="hiddenlink" target="rightframe">ProxyInfo</A><br>
+<!-- Class ProxySelectorRoutePlanner -->
+<A HREF="org.apache.http.impl.conn.ProxySelectorRoutePlanner.html" class="hiddenlink" target="rightframe">ProxySelectorRoutePlanner</A><br>
+<!-- Method putBoolean -->
+<i>putBoolean</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.putBoolean_added(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, boolean</code>)</b>&nbsp;in&nbsp;android.os.BaseBundle
+</A></nobr><br>
+<!-- Method putBoolean -->
+&nbsp;&nbsp;<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.putBoolean_changed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, boolean</code>)&nbsp;in&nbsp;android.os.Bundle
+</A></nobr><br>
+<!-- Method putBooleanArray -->
+<i>putBooleanArray</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.putBooleanArray_added(java.lang.String, boolean[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, boolean[]</code>)</b>&nbsp;in&nbsp;android.os.BaseBundle
+</A></nobr><br>
+<!-- Method putBooleanArray -->
+&nbsp;&nbsp;<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.putBooleanArray_changed(java.lang.String, boolean[])" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, boolean[]</code>)&nbsp;in&nbsp;android.os.Bundle
+</A></nobr><br>
+<!-- Field QUOTE -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.QUOTE" class="hiddenlink" target="rightframe"><strike>QUOTE</strike></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="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-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="#Y"><font size="-2">Y</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>
+<!-- Class ReasonPhraseCatalog -->
+<A HREF="org.apache.http.ReasonPhraseCatalog.html" class="hiddenlink" target="rightframe"><i>ReasonPhraseCatalog</i></A><br>
+<!-- Class RedirectException -->
+<A HREF="org.apache.http.client.RedirectException.html" class="hiddenlink" target="rightframe">RedirectException</A><br>
+<!-- Class RedirectHandler -->
+<A HREF="org.apache.http.client.RedirectHandler.html" class="hiddenlink" target="rightframe"><i>RedirectHandler</i></A><br>
+<!-- Class RedirectLocations -->
+<A HREF="org.apache.http.impl.client.RedirectLocations.html" class="hiddenlink" target="rightframe">RedirectLocations</A><br>
+<!-- Class RefQueueHandler -->
+<A HREF="org.apache.http.impl.conn.tsccm.RefQueueHandler.html" class="hiddenlink" target="rightframe"><i>RefQueueHandler</i></A><br>
+<!-- Class RefQueueWorker -->
+<A HREF="org.apache.http.impl.conn.tsccm.RefQueueWorker.html" class="hiddenlink" target="rightframe">RefQueueWorker</A><br>
+<!-- Method releaseAllSecureStops -->
+<nobr><A HREF="android.media.MediaDrm.html#android.media.MediaDrm.releaseAllSecureStops_added()" class="hiddenlink" target="rightframe"><b>releaseAllSecureStops</b>
+()</A></nobr><br>
+<!-- Method releaseIconForPageUrl -->
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.releaseIconForPageUrl_changed(java.lang.String)" class="hiddenlink" target="rightframe">releaseIconForPageUrl
+(<code>String</code>)</A></nobr><br>
+<!-- Method releaseNetworkRequest -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.releaseNetworkRequest_added(android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>releaseNetworkRequest</b>
+(<code>PendingIntent</code>)</A></nobr><br>
+<!-- Class RemoteViews -->
+<A HREF="android.widget.RemoteViews.html" class="hiddenlink" target="rightframe">RemoteViews</A><br>
+<!-- Method removeAccount -->
+<i>removeAccount</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.removeAccount_removed(android.accounts.Account, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Account, AccountManagerCallback&lt;Boolean&gt;, Handler</code>)</strike>&nbsp;in&nbsp;android.accounts.AccountManager
+</A></nobr><br>
+<!-- Method removeAccount -->
+&nbsp;&nbsp;<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.removeAccount_added(android.accounts.Account, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Account, Activity, AccountManagerCallback&lt;Bundle&gt;, Handler</code>)</b>&nbsp;in&nbsp;android.accounts.AccountManager
+</A></nobr><br>
+<!-- Method removeAccount -->
+&nbsp;&nbsp;<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.removeAccount_added(android.accounts.Account, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Account, AccountManagerCallback&lt;Boolean&gt;, Handler</code>)</b>&nbsp;in&nbsp;android.accounts.AccountManager
+</A></nobr><br>
+<!-- Method removeAccountExplicitly -->
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.removeAccountExplicitly_added(android.accounts.Account)" class="hiddenlink" target="rightframe"><b>removeAccountExplicitly</b>
+(<code>Account</code>)</A></nobr><br>
+<!-- Method removeAllCookie -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeAllCookie_changed()" class="hiddenlink" target="rightframe">removeAllCookie
+()</A></nobr><br>
+<!-- Method removeAllCookies -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeAllCookies_changed(android.webkit.ValueCallback<java.lang.Boolean>)" class="hiddenlink" target="rightframe">removeAllCookies
+(<code>ValueCallback&lt;Boolean&gt;</code>)</A></nobr><br>
+<!-- Method removeAllIcons -->
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.removeAllIcons_changed()" class="hiddenlink" target="rightframe">removeAllIcons
+()</A></nobr><br>
+<!-- Method removeExpiredCookie -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeExpiredCookie_changed()" class="hiddenlink" target="rightframe">removeExpiredCookie
+()</A></nobr><br>
+<!-- Method removeSessionCookie -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeSessionCookie_changed()" class="hiddenlink" target="rightframe">removeSessionCookie
+()</A></nobr><br>
+<!-- Method removeSessionCookies -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeSessionCookies_changed(android.webkit.ValueCallback<java.lang.Boolean>)" class="hiddenlink" target="rightframe">removeSessionCookies
+(<code>ValueCallback&lt;Boolean&gt;</code>)</A></nobr><br>
+<!-- Field REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE -->
+<nobr><A HREF="android.hardware.camera2.CameraMetadata.html#android.hardware.camera2.CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE" class="hiddenlink" target="rightframe">REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE</A>
+</nobr><br>
+<!-- Field REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS -->
+<nobr><A HREF="android.hardware.camera2.CameraMetadata.html#android.hardware.camera2.CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS" class="hiddenlink" target="rightframe">REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS</A>
+</nobr><br>
+<!-- Class RequestAddCookies -->
+<A HREF="org.apache.http.client.protocol.RequestAddCookies.html" class="hiddenlink" target="rightframe">RequestAddCookies</A><br>
+<!-- Class RequestConnControl -->
+<A HREF="org.apache.http.protocol.RequestConnControl.html" class="hiddenlink" target="rightframe">RequestConnControl</A><br>
+<!-- Class RequestContent -->
+<A HREF="org.apache.http.protocol.RequestContent.html" class="hiddenlink" target="rightframe">RequestContent</A><br>
+<!-- Class RequestDate -->
+<A HREF="org.apache.http.protocol.RequestDate.html" class="hiddenlink" target="rightframe">RequestDate</A><br>
+<!-- Class RequestDefaultHeaders -->
+<A HREF="org.apache.http.client.protocol.RequestDefaultHeaders.html" class="hiddenlink" target="rightframe">RequestDefaultHeaders</A><br>
+<!-- Class RequestDirector -->
+<A HREF="org.apache.http.client.RequestDirector.html" class="hiddenlink" target="rightframe"><i>RequestDirector</i></A><br>
+<!-- Class RequestExpectContinue -->
+<A HREF="org.apache.http.protocol.RequestExpectContinue.html" class="hiddenlink" target="rightframe">RequestExpectContinue</A><br>
+<!-- Method requestIconForPageUrl -->
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.requestIconForPageUrl_changed(java.lang.String, android.webkit.WebIconDatabase.IconListener)" class="hiddenlink" target="rightframe">requestIconForPageUrl
+(<code>String, IconListener</code>)</A></nobr><br>
+<!-- Class RequestLine -->
+<A HREF="org.apache.http.RequestLine.html" class="hiddenlink" target="rightframe"><i>RequestLine</i></A><br>
+<!-- Method requestNetwork -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.requestNetwork_added(android.net.NetworkRequest, android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>requestNetwork</b>
+(<code>NetworkRequest, PendingIntent</code>)</A></nobr><br>
+<!-- Class RequestProxyAuthentication -->
+<A HREF="org.apache.http.client.protocol.RequestProxyAuthentication.html" class="hiddenlink" target="rightframe">RequestProxyAuthentication</A><br>
+<!-- Class RequestTargetAuthentication -->
+<A HREF="org.apache.http.client.protocol.RequestTargetAuthentication.html" class="hiddenlink" target="rightframe">RequestTargetAuthentication</A><br>
+<!-- Class RequestTargetHost -->
+<A HREF="org.apache.http.protocol.RequestTargetHost.html" class="hiddenlink" target="rightframe">RequestTargetHost</A><br>
+<!-- Class RequestUserAgent -->
+<A HREF="org.apache.http.protocol.RequestUserAgent.html" class="hiddenlink" target="rightframe">RequestUserAgent</A><br>
+<!-- Class RequestWrapper -->
+<A HREF="org.apache.http.impl.client.RequestWrapper.html" class="hiddenlink" target="rightframe">RequestWrapper</A><br>
+<!-- Field resizeClip -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.resizeClip" class="hiddenlink" target="rightframe">resizeClip</A>
+</nobr><br>
+<!-- Class Resources -->
+<A HREF="android.content.res.Resources.html" class="hiddenlink" target="rightframe">Resources</A><br>
+<!-- Class ResponseConnControl -->
+<A HREF="org.apache.http.protocol.ResponseConnControl.html" class="hiddenlink" target="rightframe">ResponseConnControl</A><br>
+<!-- Class ResponseContent -->
+<A HREF="org.apache.http.protocol.ResponseContent.html" class="hiddenlink" target="rightframe">ResponseContent</A><br>
+<!-- Class ResponseDate -->
+<A HREF="org.apache.http.protocol.ResponseDate.html" class="hiddenlink" target="rightframe">ResponseDate</A><br>
+<!-- Class ResponseHandler -->
+<A HREF="org.apache.http.client.ResponseHandler.html" class="hiddenlink" target="rightframe"><i>ResponseHandler</i></A><br>
+<!-- Class ResponseProcessCookies -->
+<A HREF="org.apache.http.client.protocol.ResponseProcessCookies.html" class="hiddenlink" target="rightframe">ResponseProcessCookies</A><br>
+<!-- Class ResponseServer -->
+<A HREF="org.apache.http.protocol.ResponseServer.html" class="hiddenlink" target="rightframe">ResponseServer</A><br>
+<!-- Method retainIconForPageUrl -->
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.retainIconForPageUrl_changed(java.lang.String)" class="hiddenlink" target="rightframe">retainIconForPageUrl
+(<code>String</code>)</A></nobr><br>
+<!-- Field revisionCode -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.revisionCode" class="hiddenlink" target="rightframe">revisionCode</A>
+</nobr><br>
+<!-- Class RFC2109DomainHandler -->
+<A HREF="org.apache.http.impl.cookie.RFC2109DomainHandler.html" class="hiddenlink" target="rightframe">RFC2109DomainHandler</A><br>
+<!-- Class RFC2109Spec -->
+<A HREF="org.apache.http.impl.cookie.RFC2109Spec.html" class="hiddenlink" target="rightframe">RFC2109Spec</A><br>
+<!-- Class RFC2109SpecFactory -->
+<A HREF="org.apache.http.impl.cookie.RFC2109SpecFactory.html" class="hiddenlink" target="rightframe">RFC2109SpecFactory</A><br>
+<!-- Class RFC2109VersionHandler -->
+<A HREF="org.apache.http.impl.cookie.RFC2109VersionHandler.html" class="hiddenlink" target="rightframe">RFC2109VersionHandler</A><br>
+<!-- Class RFC2617Scheme -->
+<A HREF="org.apache.http.impl.auth.RFC2617Scheme.html" class="hiddenlink" target="rightframe">RFC2617Scheme</A><br>
+<!-- Class RFC2965CommentUrlAttributeHandler -->
+<A HREF="org.apache.http.impl.cookie.RFC2965CommentUrlAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965CommentUrlAttributeHandler</A><br>
+<!-- Class RFC2965DiscardAttributeHandler -->
+<A HREF="org.apache.http.impl.cookie.RFC2965DiscardAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965DiscardAttributeHandler</A><br>
+<!-- Class RFC2965DomainAttributeHandler -->
+<A HREF="org.apache.http.impl.cookie.RFC2965DomainAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965DomainAttributeHandler</A><br>
+<!-- Class RFC2965PortAttributeHandler -->
+<A HREF="org.apache.http.impl.cookie.RFC2965PortAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965PortAttributeHandler</A><br>
+<!-- Class RFC2965Spec -->
+<A HREF="org.apache.http.impl.cookie.RFC2965Spec.html" class="hiddenlink" target="rightframe">RFC2965Spec</A><br>
+<!-- Class RFC2965SpecFactory -->
+<A HREF="org.apache.http.impl.cookie.RFC2965SpecFactory.html" class="hiddenlink" target="rightframe">RFC2965SpecFactory</A><br>
+<!-- Class RFC2965VersionAttributeHandler -->
+<A HREF="org.apache.http.impl.cookie.RFC2965VersionAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965VersionAttributeHandler</A><br>
+<!-- Class RoutedRequest -->
+<A HREF="org.apache.http.impl.client.RoutedRequest.html" class="hiddenlink" target="rightframe">RoutedRequest</A><br>
+<!-- Class RouteInfo -->
+<A HREF="org.apache.http.conn.routing.RouteInfo.html" class="hiddenlink" target="rightframe"><i>RouteInfo</i></A><br>
+<!-- Class RouteSpecificPool -->
+<A HREF="org.apache.http.impl.conn.tsccm.RouteSpecificPool.html" class="hiddenlink" target="rightframe">RouteSpecificPool</A><br>
+<!-- Class RouteTracker -->
+<A HREF="org.apache.http.conn.routing.RouteTracker.html" class="hiddenlink" target="rightframe">RouteTracker</A><br>
+<!-- Class Scheme -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.conn.scheme.Scheme.html" class="hiddenlink" target="rightframe">Scheme</A><br>
+<!-- Class SchemeRegistry -->
+<A HREF="org.apache.http.conn.scheme.SchemeRegistry.html" class="hiddenlink" target="rightframe">SchemeRegistry</A><br>
+<!-- Field SCREEN_TIMEOUT_LONG -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.SCREEN_TIMEOUT_LONG" class="hiddenlink" target="rightframe">SCREEN_TIMEOUT_LONG</A>
+</nobr><br>
+<!-- Field SCREEN_TIMEOUT_SHORT -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.SCREEN_TIMEOUT_SHORT" class="hiddenlink" target="rightframe">SCREEN_TIMEOUT_SHORT</A>
+</nobr><br>
+<!-- Field searchHintIcon -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.searchHintIcon" class="hiddenlink" target="rightframe">searchHintIcon</A>
+</nobr><br>
+<!-- Field SECONDS -->
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.SECONDS" class="hiddenlink" target="rightframe"><strike>SECONDS</strike></A>
+</nobr><br>
+<!-- Class SerializableEntity -->
+<A HREF="org.apache.http.entity.SerializableEntity.html" class="hiddenlink" target="rightframe">SerializableEntity</A><br>
+<!-- Class SessionInputBuffer -->
+<A HREF="org.apache.http.io.SessionInputBuffer.html" class="hiddenlink" target="rightframe"><i>SessionInputBuffer</i></A><br>
+<!-- Class SessionOutputBuffer -->
+<A HREF="org.apache.http.io.SessionOutputBuffer.html" class="hiddenlink" target="rightframe"><i>SessionOutputBuffer</i></A><br>
+<!-- Method setAcceptCookie -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.setAcceptCookie_changed(boolean)" class="hiddenlink" target="rightframe">setAcceptCookie
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAcceptThirdPartyCookies -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.setAcceptThirdPartyCookies_changed(android.webkit.WebView, boolean)" class="hiddenlink" target="rightframe">setAcceptThirdPartyCookies
+(<code>WebView, boolean</code>)</A></nobr><br>
+<!-- Method setAccessibilityTraversalAfter -->
+<i>setAccessibilityTraversalAfter</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.setAccessibilityTraversalAfter_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+<!-- Method setAccessibilityTraversalAfter -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setAccessibilityTraversalAfter_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.widget.RemoteViews
+</A></nobr><br>
+<!-- Method setAccessibilityTraversalBefore -->
+<i>setAccessibilityTraversalBefore</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.setAccessibilityTraversalBefore_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+<!-- Method setAccessibilityTraversalBefore -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setAccessibilityTraversalBefore_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.widget.RemoteViews
+</A></nobr><br>
+<!-- Method setAllowContentAccess -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAllowContentAccess_changed(boolean)" class="hiddenlink" target="rightframe">setAllowContentAccess
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAllowFileAccess -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAllowFileAccess_changed(boolean)" class="hiddenlink" target="rightframe">setAllowFileAccess
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAppCacheEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAppCacheEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setAppCacheEnabled
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAppCacheMaxSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAppCacheMaxSize_changed(long)" class="hiddenlink" target="rightframe">setAppCacheMaxSize
+(<code>long</code>)</A></nobr><br>
+<!-- Method setAppCachePath -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAppCachePath_changed(java.lang.String)" class="hiddenlink" target="rightframe">setAppCachePath
+(<code>String</code>)</A></nobr><br>
+<!-- Method setAsynchronous -->
+<nobr><A HREF="android.os.Message.html#android.os.Message.setAsynchronous_added(boolean)" class="hiddenlink" target="rightframe"><b>setAsynchronous</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAttachedInDecor -->
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.setAttachedInDecor_added(boolean)" class="hiddenlink" target="rightframe"><b>setAttachedInDecor</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setBlockNetworkImage -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setBlockNetworkImage_changed(boolean)" class="hiddenlink" target="rightframe">setBlockNetworkImage
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setBlockNetworkLoads -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setBlockNetworkLoads_changed(boolean)" class="hiddenlink" target="rightframe">setBlockNetworkLoads
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setBuiltInZoomControls -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setBuiltInZoomControls_changed(boolean)" class="hiddenlink" target="rightframe">setBuiltInZoomControls
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setCacheMode -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setCacheMode_changed(int)" class="hiddenlink" target="rightframe">setCacheMode
+(<code>int</code>)</A></nobr><br>
+<!-- Method setCancelLabel -->
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.setCancelLabel_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setCancelLabel</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Method setClipToOutline -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.setClipToOutline_added(boolean)" class="hiddenlink" target="rightframe"><b>setClipToOutline</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setConfirmLabel -->
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.setConfirmLabel_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setConfirmLabel</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Class SetCookie -->
+<A HREF="org.apache.http.cookie.SetCookie.html" class="hiddenlink" target="rightframe"><i>SetCookie</i></A><br>
+<!-- Method setCookie -->
+<i>setCookie</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.setCookie_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, String</code>)&nbsp;in&nbsp;android.webkit.CookieManager
+</A></nobr><br>
+<!-- Method setCookie -->
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.setCookie_changed(java.lang.String, java.lang.String, android.webkit.ValueCallback<java.lang.Boolean>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, String, ValueCallback&lt;Boolean&gt;</code>)&nbsp;in&nbsp;android.webkit.CookieManager
+</A></nobr><br>
+<!-- Class SetCookie2 -->
+<A HREF="org.apache.http.cookie.SetCookie2.html" class="hiddenlink" target="rightframe"><i>SetCookie2</i></A><br>
+<!-- Method setCurrentFraction -->
+<nobr><A HREF="android.animation.ValueAnimator.html#android.animation.ValueAnimator.setCurrentFraction_added(float)" class="hiddenlink" target="rightframe"><b>setCurrentFraction</b>
+(<code>float</code>)</A></nobr><br>
+<!-- Method setCursiveFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setCursiveFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setCursiveFontFamily
+(<code>String</code>)</A></nobr><br>
+<!-- Method setDatabaseEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDatabaseEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setDatabaseEnabled
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setDatabasePath -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDatabasePath_changed(java.lang.String)" class="hiddenlink" target="rightframe">setDatabasePath
+(<code>String</code>)</A></nobr><br>
+<!-- Method setDefaultFixedFontSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDefaultFixedFontSize_changed(int)" class="hiddenlink" target="rightframe">setDefaultFixedFontSize
+(<code>int</code>)</A></nobr><br>
+<!-- Method setDefaultFontSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDefaultFontSize_changed(int)" class="hiddenlink" target="rightframe">setDefaultFontSize
+(<code>int</code>)</A></nobr><br>
+<!-- Method setDefaultTextEncodingName -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDefaultTextEncodingName_changed(java.lang.String)" class="hiddenlink" target="rightframe">setDefaultTextEncodingName
+(<code>String</code>)</A></nobr><br>
+<!-- Method setDefaultZoom -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDefaultZoom_changed(android.webkit.WebSettings.ZoomDensity)" class="hiddenlink" target="rightframe">setDefaultZoom
+(<code>ZoomDensity</code>)</A></nobr><br>
+<!-- Method setDisplayZoomControls -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDisplayZoomControls_changed(boolean)" class="hiddenlink" target="rightframe">setDisplayZoomControls
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setDomStorageEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDomStorageEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setDomStorageEnabled
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setElevation -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.setElevation_added(float)" class="hiddenlink" target="rightframe"><b>setElevation</b>
+(<code>float</code>)</A></nobr><br>
+<!-- Method setEnableSmoothTransition -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setEnableSmoothTransition_changed(boolean)" class="hiddenlink" target="rightframe">setEnableSmoothTransition
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setExtras -->
+<nobr><A HREF="android.media.session.PlaybackState.Builder.html#android.media.session.PlaybackState.Builder.setExtras_added(android.os.Bundle)" class="hiddenlink" target="rightframe"><b>setExtras</b>
+(<code>Bundle</code>)</A></nobr><br>
+<!-- Method setFantasyFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setFantasyFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setFantasyFontFamily
+(<code>String</code>)</A></nobr><br>
+<!-- Method setFixedFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setFixedFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setFixedFontFamily
+(<code>String</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 setGeolocationEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setGeolocationEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setGeolocationEnabled
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setHintAvoidBackgroundClipping -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setHintAvoidBackgroundClipping_added(boolean)" class="hiddenlink" target="rightframe"><b>setHintAvoidBackgroundClipping</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setHintScreenTimeout -->
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setHintScreenTimeout_added(int)" class="hiddenlink" target="rightframe"><b>setHintScreenTimeout</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setInProgressLabel -->
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.setInProgressLabel_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setInProgressLabel</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Method setJavaScriptCanOpenWindowsAutomatically -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setJavaScriptCanOpenWindowsAutomatically_changed(boolean)" class="hiddenlink" target="rightframe">setJavaScriptCanOpenWindowsAutomatically
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setJavaScriptEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setJavaScriptEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setJavaScriptEnabled
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setLayoutAlgorithm -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setLayoutAlgorithm_changed(android.webkit.WebSettings.LayoutAlgorithm)" class="hiddenlink" target="rightframe">setLayoutAlgorithm
+(<code>LayoutAlgorithm</code>)</A></nobr><br>
+<!-- Method setLightTouchEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setLightTouchEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setLightTouchEnabled
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setLine1NumberForDisplay -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setLine1NumberForDisplay_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>setLine1NumberForDisplay</b>
+(<code>String, String</code>)</A></nobr><br>
+<!-- Method setLoadsImagesAutomatically -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setLoadsImagesAutomatically_changed(boolean)" class="hiddenlink" target="rightframe">setLoadsImagesAutomatically
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setLoadWithOverviewMode -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setLoadWithOverviewMode_changed(boolean)" class="hiddenlink" target="rightframe">setLoadWithOverviewMode
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setMediaPlaybackRequiresUserGesture -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setMediaPlaybackRequiresUserGesture_changed(boolean)" class="hiddenlink" target="rightframe">setMediaPlaybackRequiresUserGesture
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setMinimumFontSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setMinimumFontSize_changed(int)" class="hiddenlink" target="rightframe">setMinimumFontSize
+(<code>int</code>)</A></nobr><br>
+<!-- Method setMinimumLogicalFontSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setMinimumLogicalFontSize_changed(int)" class="hiddenlink" target="rightframe">setMinimumLogicalFontSize
+(<code>int</code>)</A></nobr><br>
+<!-- Method setNeedInitialFocus -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setNeedInitialFocus_changed(boolean)" class="hiddenlink" target="rightframe">setNeedInitialFocus
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setOperatorBrandOverride -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setOperatorBrandOverride_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setOperatorBrandOverride</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setPluginState -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setPluginState_changed(android.webkit.WebSettings.PluginState)" class="hiddenlink" target="rightframe">setPluginState
+(<code>PluginState</code>)</A></nobr><br>
+<!-- Method setPreferredNetworkTypeToGlobal -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setPreferredNetworkTypeToGlobal_added()" class="hiddenlink" target="rightframe"><b>setPreferredNetworkTypeToGlobal</b>
+()</A></nobr><br>
+<!-- Method setRatingType -->
+<nobr><A HREF="android.media.session.MediaSession.html#android.media.session.MediaSession.setRatingType_added(int)" class="hiddenlink" target="rightframe"><b>setRatingType</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setRenderPriority -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setRenderPriority_changed(android.webkit.WebSettings.RenderPriority)" class="hiddenlink" target="rightframe">setRenderPriority
+(<code>RenderPriority</code>)</A></nobr><br>
+<!-- Method setSansSerifFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSansSerifFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setSansSerifFontFamily
+(<code>String</code>)</A></nobr><br>
+<!-- Method setSaveFormData -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSaveFormData_changed(boolean)" class="hiddenlink" target="rightframe">setSaveFormData
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setSavePassword -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSavePassword_changed(boolean)" class="hiddenlink" target="rightframe">setSavePassword
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setSerifFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSerifFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setSerifFontFamily
+(<code>String</code>)</A></nobr><br>
+<!-- Method setStandardFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setStandardFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setStandardFontFamily
+(<code>String</code>)</A></nobr><br>
+<!-- Method setSupportMultipleWindows -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSupportMultipleWindows_changed(boolean)" class="hiddenlink" target="rightframe">setSupportMultipleWindows
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setSupportZoom -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSupportZoom_changed(boolean)" class="hiddenlink" target="rightframe">setSupportZoom
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setTextZoom -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setTextZoom_changed(int)" class="hiddenlink" target="rightframe">setTextZoom
+(<code>int</code>)</A></nobr><br>
+<!-- Class Settings -->
+<A HREF="android.provider.Settings.html" class="hiddenlink" target="rightframe">Settings</A><br>
+<!-- Method setTraversalAfter -->
+<i>setTraversalAfter</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setTraversalAfter_added(android.view.View)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityNodeInfo
+</A></nobr><br>
+<!-- Method setTraversalAfter -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setTraversalAfter_added(android.view.View, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, int</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityNodeInfo
+</A></nobr><br>
+<!-- Method setTraversalBefore -->
+<i>setTraversalBefore</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setTraversalBefore_added(android.view.View)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityNodeInfo
+</A></nobr><br>
+<!-- Method setTraversalBefore -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setTraversalBefore_added(android.view.View, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, int</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityNodeInfo
+</A></nobr><br>
+<!-- Method setTrustAgentConfiguration -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setTrustAgentConfiguration_added(android.content.ComponentName, android.content.ComponentName, android.os.PersistableBundle)" class="hiddenlink" target="rightframe"><b>setTrustAgentConfiguration</b>
+(<code>ComponentName, ComponentName, PersistableBundle</code>)</A></nobr><br>
+<!-- Method setUnderlyingNetworks -->
+<i>setUnderlyingNetworks</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.VpnService.html#android.net.VpnService.setUnderlyingNetworks_added(android.net.Network[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Network[]</code>)</b>&nbsp;in&nbsp;android.net.VpnService
+</A></nobr><br>
+<!-- Method setUnderlyingNetworks -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.VpnService.Builder.html#android.net.VpnService.Builder.setUnderlyingNetworks_added(android.net.Network[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Network[]</code>)</b>&nbsp;in&nbsp;android.net.VpnService.Builder
+</A></nobr><br>
+<!-- Method setUserAgentString -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setUserAgentString_changed(java.lang.String)" class="hiddenlink" target="rightframe">setUserAgentString
+(<code>String</code>)</A></nobr><br>
+<!-- Method setUseWideViewPort -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setUseWideViewPort_changed(boolean)" class="hiddenlink" target="rightframe">setUseWideViewPort
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setVoiceMailNumber -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setVoiceMailNumber_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>setVoiceMailNumber</b>
+(<code>String, String</code>)</A></nobr><br>
+<!-- Class SingleClientConnManager -->
+<A HREF="org.apache.http.impl.conn.SingleClientConnManager.html" class="hiddenlink" target="rightframe">SingleClientConnManager</A><br>
+<!-- Class SM -->
+<A HREF="org.apache.http.cookie.SM.html" class="hiddenlink" target="rightframe"><i>SM</i></A><br>
+<!-- Class SmsManager -->
+<A HREF="android.telephony.SmsManager.html" class="hiddenlink" target="rightframe">SmsManager</A><br>
+<!-- Class SocketFactory -->
+<A HREF="org.apache.http.conn.scheme.SocketFactory.html" class="hiddenlink" target="rightframe"><i>SocketFactory</i></A><br>
+<!-- Class SocketHttpClientConnection -->
+<A HREF="org.apache.http.impl.SocketHttpClientConnection.html" class="hiddenlink" target="rightframe">SocketHttpClientConnection</A><br>
+<!-- Class SocketHttpServerConnection -->
+<A HREF="org.apache.http.impl.SocketHttpServerConnection.html" class="hiddenlink" target="rightframe">SocketHttpServerConnection</A><br>
+<!-- Class SocketInputBuffer -->
+<A HREF="org.apache.http.impl.io.SocketInputBuffer.html" class="hiddenlink" target="rightframe">SocketInputBuffer</A><br>
+<!-- Class SocketOutputBuffer -->
+<A HREF="org.apache.http.impl.io.SocketOutputBuffer.html" class="hiddenlink" target="rightframe">SocketOutputBuffer</A><br>
+<!-- Field splitRevisionCodes -->
+<nobr><A HREF="android.content.pm.PackageInfo.html#android.content.pm.PackageInfo.splitRevisionCodes" class="hiddenlink" target="rightframe">splitRevisionCodes</A>
+</nobr><br>
+<!-- Class SSLCertificateSocketFactory -->
+<A HREF="android.net.SSLCertificateSocketFactory.html" class="hiddenlink" target="rightframe">SSLCertificateSocketFactory</A><br>
+<!-- Class SSLSocketFactory -->
+<A HREF="org.apache.http.conn.ssl.SSLSocketFactory.html" class="hiddenlink" target="rightframe">SSLSocketFactory</A><br>
+<!-- Field STANDALONE_MONTH -->
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.STANDALONE_MONTH" class="hiddenlink" target="rightframe"><strike>STANDALONE_MONTH</strike></A>
+</nobr><br>
+<!-- Class StateListAnimator -->
+<A HREF="android.animation.StateListAnimator.html" class="hiddenlink" target="rightframe">StateListAnimator</A><br>
+<!-- Class StatusLine -->
+<A HREF="org.apache.http.StatusLine.html" class="hiddenlink" target="rightframe"><i>StatusLine</i></A><br>
+<!-- Class StrictContentLengthStrategy -->
+<A HREF="org.apache.http.impl.entity.StrictContentLengthStrategy.html" class="hiddenlink" target="rightframe">StrictContentLengthStrategy</A><br>
+<!-- Class StrictHostnameVerifier -->
+<A HREF="org.apache.http.conn.ssl.StrictHostnameVerifier.html" class="hiddenlink" target="rightframe">StrictHostnameVerifier</A><br>
+<!-- Class StringEntity -->
+<A HREF="org.apache.http.entity.StringEntity.html" class="hiddenlink" target="rightframe">StringEntity</A><br>
+<!-- Field SUBSCRIPTION_ID -->
+<i>SUBSCRIPTION_ID</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Telephony.BaseMmsColumns.html#android.provider.Telephony.BaseMmsColumns.SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">android.provider.Telephony.BaseMmsColumns</A>
+</nobr><br>
+<!-- Field SUBSCRIPTION_ID -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Telephony.Carriers.html#android.provider.Telephony.Carriers.SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">android.provider.Telephony.Carriers</A>
+</nobr><br>
+<!-- Field SUBSCRIPTION_ID -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Telephony.MmsSms.PendingMessages.html#android.provider.Telephony.MmsSms.PendingMessages.SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">android.provider.Telephony.MmsSms.PendingMessages</A>
+</nobr><br>
+<!-- Field SUBSCRIPTION_ID -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Telephony.TextBasedSmsColumns.html#android.provider.Telephony.TextBasedSmsColumns.SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">android.provider.Telephony.TextBasedSmsColumns</A>
+</nobr><br>
+<!-- Class SubscriptionInfo -->
+<A HREF="pkg_android.telephony.html#SubscriptionInfo" class="hiddenlink" target="rightframe"><b>SubscriptionInfo</b></A><br>
+<!-- Class SubscriptionManager -->
+<A HREF="pkg_android.telephony.html#SubscriptionManager" class="hiddenlink" target="rightframe"><b>SubscriptionManager</b></A><br>
+<!-- Class SubscriptionManager.OnSubscriptionsChangedListener -->
+<A HREF="pkg_android.telephony.html#SubscriptionManager.OnSubscriptionsChangedListener" class="hiddenlink" target="rightframe"><b>SubscriptionManager.OnSubscriptionsChangedListener</b></A><br>
+<!-- Method supportMultipleWindows -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.supportMultipleWindows_changed()" class="hiddenlink" target="rightframe">supportMultipleWindows
+()</A></nobr><br>
+<!-- Method supportZoom -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.supportZoom_changed()" class="hiddenlink" target="rightframe">supportZoom
+()</A></nobr><br>
+<!-- Class SyncBasicHttpContext -->
+<A HREF="org.apache.http.protocol.SyncBasicHttpContext.html" class="hiddenlink" target="rightframe">SyncBasicHttpContext</A><br>
+<!-- Field TECH_SCIENCE -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</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.Genres.html#android.media.tv.TvContract.Programs.Genres.TECH_SCIENCE" class="hiddenlink" target="rightframe">TECH_SCIENCE</A>
+</nobr><br>
+<!-- Class Telephony.BaseMmsColumns -->
+<A HREF="android.provider.Telephony.BaseMmsColumns.html" class="hiddenlink" target="rightframe"><i>Telephony.BaseMmsColumns</i></A><br>
+<!-- Class Telephony.Carriers -->
+<A HREF="android.provider.Telephony.Carriers.html" class="hiddenlink" target="rightframe">Telephony.Carriers</A><br>
+<!-- Class Telephony.MmsSms.PendingMessages -->
+<A HREF="android.provider.Telephony.MmsSms.PendingMessages.html" class="hiddenlink" target="rightframe">Telephony.MmsSms.PendingMessages</A><br>
+<!-- Class Telephony.TextBasedSmsColumns -->
+<A HREF="android.provider.Telephony.TextBasedSmsColumns.html" class="hiddenlink" target="rightframe"><i>Telephony.TextBasedSmsColumns</i></A><br>
+<!-- Field TELEPHONY_SUBSCRIPTION_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.TELEPHONY_SUBSCRIPTION_SERVICE" class="hiddenlink" target="rightframe">TELEPHONY_SUBSCRIPTION_SERVICE</A>
+</nobr><br>
+<!-- Class TelephonyManager -->
+<A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br>
+<!-- Field Theme_DeviceDefault_Dialog_Alert -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog_Alert" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog_Alert</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_Dialog_Alert -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog_Alert" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog_Alert</A>
+</nobr><br>
+<!-- Class ThreadSafeClientConnManager -->
+<A HREF="org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager.html" class="hiddenlink" target="rightframe">ThreadSafeClientConnManager</A><br>
+<!-- Class Time -->
+<A HREF="android.text.format.Time.html" class="hiddenlink" target="rightframe">Time</A><br>
+<!-- Field TIME_ZONE -->
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.TIME_ZONE" class="hiddenlink" target="rightframe"><strike>TIME_ZONE</strike></A>
+</nobr><br>
+<!-- Class TokenIterator -->
+<A HREF="org.apache.http.TokenIterator.html" class="hiddenlink" target="rightframe"><i>TokenIterator</i></A><br>
+<!-- Class TunnelRefusedException -->
+<A HREF="org.apache.http.impl.client.TunnelRefusedException.html" class="hiddenlink" target="rightframe">TunnelRefusedException</A><br>
+<!-- Class TvContract.Programs.Genres -->
+<A HREF="android.media.tv.TvContract.Programs.Genres.html" class="hiddenlink" target="rightframe">TvContract.Programs.Genres</A><br>
+<!-- Field TYPE_ACCESSIBILITY_OVERLAY -->
+<i>TYPE_ACCESSIBILITY_OVERLAY</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY" class="hiddenlink" target="rightframe">android.view.WindowManager.LayoutParams</A>
+</nobr><br>
+<!-- Field TYPE_ACCESSIBILITY_OVERLAY -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.view.accessibility.AccessibilityWindowInfo.html#android.view.accessibility.AccessibilityWindowInfo.TYPE_ACCESSIBILITY_OVERLAY" class="hiddenlink" target="rightframe">android.view.accessibility.AccessibilityWindowInfo</A>
+</nobr><br>
+<!-- Class TypedArray -->
+<A HREF="android.content.res.TypedArray.html" class="hiddenlink" target="rightframe">TypedArray</A><br>
+<!-- Class TypedValue -->
+<A HREF="android.util.TypedValue.html" class="hiddenlink" target="rightframe">TypedValue</A><br>
+<!-- Class UnsupportedDigestAlgorithmException -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.impl.auth.UnsupportedDigestAlgorithmException.html" class="hiddenlink" target="rightframe">UnsupportedDigestAlgorithmException</A><br>
+<!-- Class UnsupportedHttpVersionException -->
+<A HREF="org.apache.http.UnsupportedHttpVersionException.html" class="hiddenlink" target="rightframe">UnsupportedHttpVersionException</A><br>
+<!-- Field URI_ALLOW_UNSAFE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.URI_ALLOW_UNSAFE" class="hiddenlink" target="rightframe">URI_ALLOW_UNSAFE</A>
+</nobr><br>
+<!-- Field URI_ANDROID_APP_SCHEME -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.URI_ANDROID_APP_SCHEME" class="hiddenlink" target="rightframe">URI_ANDROID_APP_SCHEME</A>
+</nobr><br>
+<!-- Class UriPatternMatcher -->
+<A HREF="org.apache.http.protocol.UriPatternMatcher.html" class="hiddenlink" target="rightframe">UriPatternMatcher</A><br>
+<!-- Class URIUtils -->
+<A HREF="org.apache.http.client.utils.URIUtils.html" class="hiddenlink" target="rightframe">URIUtils</A><br>
+<!-- Class UrlEncodedFormEntity -->
+<A HREF="org.apache.http.client.entity.UrlEncodedFormEntity.html" class="hiddenlink" target="rightframe">UrlEncodedFormEntity</A><br>
+<!-- Class URLEncodedUtils -->
+<A HREF="org.apache.http.client.utils.URLEncodedUtils.html" class="hiddenlink" target="rightframe">URLEncodedUtils</A><br>
+<!-- Field USAGE_STATS_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.USAGE_STATS_SERVICE" class="hiddenlink" target="rightframe">USAGE_STATS_SERVICE</A>
+</nobr><br>
+<!-- Class UserManager -->
+<A HREF="android.os.UserManager.html" class="hiddenlink" target="rightframe">UserManager</A><br>
+<!-- Class UsernamePasswordCredentials -->
+<A HREF="org.apache.http.auth.UsernamePasswordCredentials.html" class="hiddenlink" target="rightframe">UsernamePasswordCredentials</A><br>
+<!-- Class UserTokenHandler -->
+<A HREF="org.apache.http.client.UserTokenHandler.html" class="hiddenlink" target="rightframe"><i>UserTokenHandler</i></A><br>
+<!-- Class ValueAnimator -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.animation.ValueAnimator.html" class="hiddenlink" target="rightframe">ValueAnimator</A><br>
+<!-- Class VersionInfo -->
+<A HREF="org.apache.http.util.VersionInfo.html" class="hiddenlink" target="rightframe">VersionInfo</A><br>
+<!-- Class View -->
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</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 VpnService -->
+<A HREF="android.net.VpnService.html" class="hiddenlink" target="rightframe">VpnService</A><br>
+<!-- Class VpnService.Builder -->
+<A HREF="android.net.VpnService.Builder.html" class="hiddenlink" target="rightframe">VpnService.Builder</A><br>
+<!-- Class WaitingThread -->
+<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="#X"><font size="-2">X</font></a> 
+<a href="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.impl.conn.tsccm.WaitingThread.html" class="hiddenlink" target="rightframe">WaitingThread</A><br>
+<!-- Class WaitingThreadAborter -->
+<A HREF="org.apache.http.impl.conn.tsccm.WaitingThreadAborter.html" class="hiddenlink" target="rightframe">WaitingThreadAborter</A><br>
+<!-- Class WebBackForwardList -->
+<i>WebBackForwardList</i><br>
+&nbsp;&nbsp;<A HREF="android.webkit.WebBackForwardList.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<!-- Constructor WebBackForwardList -->
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.ctor_added()" class="hiddenlink" target="rightframe"><b>WebBackForwardList</b>
+()</A></nobr>&nbsp;constructor<br>
+<!-- Class WebHistoryItem -->
+<i>WebHistoryItem</i><br>
+&nbsp;&nbsp;<A HREF="android.webkit.WebHistoryItem.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<!-- Constructor WebHistoryItem -->
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.ctor_added()" class="hiddenlink" target="rightframe"><b>WebHistoryItem</b>
+()</A></nobr>&nbsp;constructor<br>
+<!-- Class WebIconDatabase -->
+<i>WebIconDatabase</i><br>
+&nbsp;&nbsp;<A HREF="android.webkit.WebIconDatabase.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<!-- Constructor WebIconDatabase -->
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.ctor_added()" class="hiddenlink" target="rightframe"><b>WebIconDatabase</b>
+()</A></nobr>&nbsp;constructor<br>
+<!-- Class WebSettings -->
+<i>WebSettings</i><br>
+&nbsp;&nbsp;<A HREF="android.webkit.WebSettings.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<!-- Constructor WebSettings -->
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.ctor_added()" class="hiddenlink" target="rightframe"><b>WebSettings</b>
+()</A></nobr>&nbsp;constructor<br>
+<!-- Class WebViewDatabase -->
+<i>WebViewDatabase</i><br>
+&nbsp;&nbsp;<A HREF="android.webkit.WebViewDatabase.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<!-- Constructor WebViewDatabase -->
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.ctor_added()" class="hiddenlink" target="rightframe"><b>WebViewDatabase</b>
+()</A></nobr>&nbsp;constructor<br>
+<!-- Class Window -->
+<A HREF="android.view.Window.html" class="hiddenlink" target="rightframe">Window</A><br>
+<!-- Class WindowManager.LayoutParams -->
+<A HREF="android.view.WindowManager.LayoutParams.html" class="hiddenlink" target="rightframe">WindowManager.LayoutParams</A><br>
+<!-- Field WIPE_RESET_PROTECTION_DATA -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.WIPE_RESET_PROTECTION_DATA" class="hiddenlink" target="rightframe">WIPE_RESET_PROTECTION_DATA</A>
+</nobr><br>
+<!-- Class Wire -->
+<A HREF="org.apache.http.impl.conn.Wire.html" class="hiddenlink" target="rightframe">Wire</A><br>
+<!-- Class X509HostnameVerifier -->
+<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="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-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="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.conn.ssl.X509HostnameVerifier.html" class="hiddenlink" target="rightframe"><i>X509HostnameVerifier</i></A><br>
+<!-- Field YEAR -->
+<A NAME="Y"></A>
+<br><font size="+2">Y</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-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="#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">
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.YEAR" class="hiddenlink" target="rightframe"><strike>YEAR</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/22/changes/alldiffs_index_changes.html b/docs/html/sdk/api_diff/22/changes/alldiffs_index_changes.html
new file mode 100644
index 0000000..3127bb51
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/alldiffs_index_changes.html
@@ -0,0 +1,2004 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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 AbortableHttpRequest -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-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="org.apache.http.client.methods.AbortableHttpRequest.html" class="hiddenlink" target="rightframe"><i>AbortableHttpRequest</i></A><br>
+<!-- Class AbstractAuthenticationHandler -->
+<A HREF="org.apache.http.impl.client.AbstractAuthenticationHandler.html" class="hiddenlink" target="rightframe">AbstractAuthenticationHandler</A><br>
+<!-- Class AbstractClientConnAdapter -->
+<A HREF="org.apache.http.impl.conn.AbstractClientConnAdapter.html" class="hiddenlink" target="rightframe">AbstractClientConnAdapter</A><br>
+<!-- Class AbstractConnPool -->
+<A HREF="org.apache.http.impl.conn.tsccm.AbstractConnPool.html" class="hiddenlink" target="rightframe">AbstractConnPool</A><br>
+<!-- Class AbstractCookieAttributeHandler -->
+<A HREF="org.apache.http.impl.cookie.AbstractCookieAttributeHandler.html" class="hiddenlink" target="rightframe">AbstractCookieAttributeHandler</A><br>
+<!-- Class AbstractCookieSpec -->
+<A HREF="org.apache.http.impl.cookie.AbstractCookieSpec.html" class="hiddenlink" target="rightframe">AbstractCookieSpec</A><br>
+<!-- Class AbstractHttpClient -->
+<A HREF="org.apache.http.impl.client.AbstractHttpClient.html" class="hiddenlink" target="rightframe">AbstractHttpClient</A><br>
+<!-- Class AbstractHttpClientConnection -->
+<A HREF="org.apache.http.impl.AbstractHttpClientConnection.html" class="hiddenlink" target="rightframe">AbstractHttpClientConnection</A><br>
+<!-- Class AbstractHttpEntity -->
+<A HREF="org.apache.http.entity.AbstractHttpEntity.html" class="hiddenlink" target="rightframe">AbstractHttpEntity</A><br>
+<!-- Class AbstractHttpMessage -->
+<A HREF="org.apache.http.message.AbstractHttpMessage.html" class="hiddenlink" target="rightframe">AbstractHttpMessage</A><br>
+<!-- Class AbstractHttpParams -->
+<A HREF="org.apache.http.params.AbstractHttpParams.html" class="hiddenlink" target="rightframe">AbstractHttpParams</A><br>
+<!-- Class AbstractHttpServerConnection -->
+<A HREF="org.apache.http.impl.AbstractHttpServerConnection.html" class="hiddenlink" target="rightframe">AbstractHttpServerConnection</A><br>
+<!-- Class AbstractMessageParser -->
+<A HREF="org.apache.http.impl.io.AbstractMessageParser.html" class="hiddenlink" target="rightframe">AbstractMessageParser</A><br>
+<!-- Class AbstractMessageWriter -->
+<A HREF="org.apache.http.impl.io.AbstractMessageWriter.html" class="hiddenlink" target="rightframe">AbstractMessageWriter</A><br>
+<!-- Class AbstractPooledConnAdapter -->
+<A HREF="org.apache.http.impl.conn.AbstractPooledConnAdapter.html" class="hiddenlink" target="rightframe">AbstractPooledConnAdapter</A><br>
+<!-- Class AbstractPoolEntry -->
+<A HREF="org.apache.http.impl.conn.AbstractPoolEntry.html" class="hiddenlink" target="rightframe">AbstractPoolEntry</A><br>
+<!-- Class AbstractSessionInputBuffer -->
+<A HREF="org.apache.http.impl.io.AbstractSessionInputBuffer.html" class="hiddenlink" target="rightframe">AbstractSessionInputBuffer</A><br>
+<!-- Class AbstractSessionOutputBuffer -->
+<A HREF="org.apache.http.impl.io.AbstractSessionOutputBuffer.html" class="hiddenlink" target="rightframe">AbstractSessionOutputBuffer</A><br>
+<!-- Class AbstractVerifier -->
+<A HREF="org.apache.http.conn.ssl.AbstractVerifier.html" class="hiddenlink" target="rightframe">AbstractVerifier</A><br>
+<!-- Class AccelerateDecelerateInterpolator -->
+<A HREF="android.view.animation.AccelerateDecelerateInterpolator.html" class="hiddenlink" target="rightframe">AccelerateDecelerateInterpolator</A><br>
+<!-- Class AccelerateInterpolator -->
+<A HREF="android.view.animation.AccelerateInterpolator.html" class="hiddenlink" target="rightframe">AccelerateInterpolator</A><br>
+<!-- Method acceptCookie -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.acceptCookie_changed()" class="hiddenlink" target="rightframe">acceptCookie
+()</A></nobr><br>
+<!-- Method acceptThirdPartyCookies -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.acceptThirdPartyCookies_changed(android.webkit.WebView)" class="hiddenlink" target="rightframe">acceptThirdPartyCookies
+(<code>WebView</code>)</A></nobr><br>
+<!-- Class AccessibilityNodeInfo -->
+<A HREF="android.view.accessibility.AccessibilityNodeInfo.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfo</A><br>
+<!-- Class AccessibilityWindowInfo -->
+<A HREF="android.view.accessibility.AccessibilityWindowInfo.html" class="hiddenlink" target="rightframe">AccessibilityWindowInfo</A><br>
+<!-- Class AccountManager -->
+<A HREF="android.accounts.AccountManager.html" class="hiddenlink" target="rightframe">AccountManager</A><br>
+<!-- Class Activity -->
+<A HREF="android.app.Activity.html" class="hiddenlink" target="rightframe">Activity</A><br>
+<!-- Class AllClientPNames -->
+<A HREF="org.apache.http.client.params.AllClientPNames.html" class="hiddenlink" target="rightframe"><i>AllClientPNames</i></A><br>
+<!-- Class AllowAllHostnameVerifier -->
+<A HREF="org.apache.http.conn.ssl.AllowAllHostnameVerifier.html" class="hiddenlink" target="rightframe">AllowAllHostnameVerifier</A><br>
+<!-- Package android -->
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<!-- Package android.accounts -->
+<A HREF="pkg_android.accounts.html" class="hiddenlink" target="rightframe">android.accounts</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.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.graphics -->
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<!-- Package android.hardware.camera2 -->
+<A HREF="pkg_android.hardware.camera2.html" class="hiddenlink" target="rightframe">android.hardware.camera2</A><br>
+<!-- Package android.media -->
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</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.net -->
+<A HREF="pkg_android.net.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<!-- Package android.net.http -->
+<A HREF="pkg_android.net.http.html" class="hiddenlink" target="rightframe">android.net.http</A><br>
+<!-- Package android.os -->
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<!-- Package android.provider -->
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<!-- Package android.telephony -->
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<!-- Package android.text.format -->
+<A HREF="pkg_android.text.format.html" class="hiddenlink" target="rightframe">android.text.format</A><br>
+<!-- Package android.transition -->
+<A HREF="pkg_android.transition.html" class="hiddenlink" target="rightframe">android.transition</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.animation -->
+<A HREF="pkg_android.view.animation.html" class="hiddenlink" target="rightframe">android.view.animation</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 AndroidHttpClient -->
+<A HREF="android.net.http.AndroidHttpClient.html" class="hiddenlink" target="rightframe">AndroidHttpClient</A><br>
+<!-- Class AnticipateInterpolator -->
+<A HREF="android.view.animation.AnticipateInterpolator.html" class="hiddenlink" target="rightframe">AnticipateInterpolator</A><br>
+<!-- Class AnticipateOvershootInterpolator -->
+<A HREF="android.view.animation.AnticipateOvershootInterpolator.html" class="hiddenlink" target="rightframe">AnticipateOvershootInterpolator</A><br>
+<!-- Class AUTH -->
+<A HREF="org.apache.http.auth.AUTH.html" class="hiddenlink" target="rightframe">AUTH</A><br>
+<!-- Class AuthenticationException -->
+<A HREF="org.apache.http.auth.AuthenticationException.html" class="hiddenlink" target="rightframe">AuthenticationException</A><br>
+<!-- Class AuthenticationHandler -->
+<A HREF="org.apache.http.client.AuthenticationHandler.html" class="hiddenlink" target="rightframe"><i>AuthenticationHandler</i></A><br>
+<!-- Class AuthParamBean -->
+<A HREF="org.apache.http.auth.params.AuthParamBean.html" class="hiddenlink" target="rightframe">AuthParamBean</A><br>
+<!-- Class AuthParams -->
+<A HREF="org.apache.http.auth.params.AuthParams.html" class="hiddenlink" target="rightframe">AuthParams</A><br>
+<!-- Class AuthPNames -->
+<A HREF="org.apache.http.auth.params.AuthPNames.html" class="hiddenlink" target="rightframe"><i>AuthPNames</i></A><br>
+<!-- Class AuthPolicy -->
+<A HREF="org.apache.http.client.params.AuthPolicy.html" class="hiddenlink" target="rightframe">AuthPolicy</A><br>
+<!-- Class AuthScheme -->
+<A HREF="org.apache.http.auth.AuthScheme.html" class="hiddenlink" target="rightframe"><i>AuthScheme</i></A><br>
+<!-- Class AuthSchemeBase -->
+<A HREF="org.apache.http.impl.auth.AuthSchemeBase.html" class="hiddenlink" target="rightframe">AuthSchemeBase</A><br>
+<!-- Class AuthSchemeFactory -->
+<A HREF="org.apache.http.auth.AuthSchemeFactory.html" class="hiddenlink" target="rightframe"><i>AuthSchemeFactory</i></A><br>
+<!-- Class AuthSchemeRegistry -->
+<A HREF="org.apache.http.auth.AuthSchemeRegistry.html" class="hiddenlink" target="rightframe">AuthSchemeRegistry</A><br>
+<!-- Class AuthScope -->
+<A HREF="org.apache.http.auth.AuthScope.html" class="hiddenlink" target="rightframe">AuthScope</A><br>
+<!-- Class AuthState -->
+<A HREF="org.apache.http.auth.AuthState.html" class="hiddenlink" target="rightframe">AuthState</A><br>
+<!-- Class BaseBundle -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-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="android.os.BaseBundle.html" class="hiddenlink" target="rightframe">BaseBundle</A><br>
+<!-- Class BasicClientCookie -->
+<A HREF="org.apache.http.impl.cookie.BasicClientCookie.html" class="hiddenlink" target="rightframe">BasicClientCookie</A><br>
+<!-- Class BasicClientCookie2 -->
+<A HREF="org.apache.http.impl.cookie.BasicClientCookie2.html" class="hiddenlink" target="rightframe">BasicClientCookie2</A><br>
+<!-- Class BasicCommentHandler -->
+<A HREF="org.apache.http.impl.cookie.BasicCommentHandler.html" class="hiddenlink" target="rightframe">BasicCommentHandler</A><br>
+<!-- Class BasicCookieStore -->
+<A HREF="org.apache.http.impl.client.BasicCookieStore.html" class="hiddenlink" target="rightframe">BasicCookieStore</A><br>
+<!-- Class BasicCredentialsProvider -->
+<A HREF="org.apache.http.impl.client.BasicCredentialsProvider.html" class="hiddenlink" target="rightframe">BasicCredentialsProvider</A><br>
+<!-- Class BasicDomainHandler -->
+<A HREF="org.apache.http.impl.cookie.BasicDomainHandler.html" class="hiddenlink" target="rightframe">BasicDomainHandler</A><br>
+<!-- Class BasicEofSensorWatcher -->
+<A HREF="org.apache.http.conn.BasicEofSensorWatcher.html" class="hiddenlink" target="rightframe">BasicEofSensorWatcher</A><br>
+<!-- Class BasicExpiresHandler -->
+<A HREF="org.apache.http.impl.cookie.BasicExpiresHandler.html" class="hiddenlink" target="rightframe">BasicExpiresHandler</A><br>
+<!-- Class BasicHeader -->
+<A HREF="org.apache.http.message.BasicHeader.html" class="hiddenlink" target="rightframe">BasicHeader</A><br>
+<!-- Class BasicHeaderElement -->
+<A HREF="org.apache.http.message.BasicHeaderElement.html" class="hiddenlink" target="rightframe">BasicHeaderElement</A><br>
+<!-- Class BasicHeaderElementIterator -->
+<A HREF="org.apache.http.message.BasicHeaderElementIterator.html" class="hiddenlink" target="rightframe">BasicHeaderElementIterator</A><br>
+<!-- Class BasicHeaderIterator -->
+<A HREF="org.apache.http.message.BasicHeaderIterator.html" class="hiddenlink" target="rightframe">BasicHeaderIterator</A><br>
+<!-- Class BasicHeaderValueFormatter -->
+<A HREF="org.apache.http.message.BasicHeaderValueFormatter.html" class="hiddenlink" target="rightframe">BasicHeaderValueFormatter</A><br>
+<!-- Class BasicHeaderValueParser -->
+<A HREF="org.apache.http.message.BasicHeaderValueParser.html" class="hiddenlink" target="rightframe">BasicHeaderValueParser</A><br>
+<!-- Class BasicHttpContext -->
+<A HREF="org.apache.http.protocol.BasicHttpContext.html" class="hiddenlink" target="rightframe">BasicHttpContext</A><br>
+<!-- Class BasicHttpEntity -->
+<A HREF="org.apache.http.entity.BasicHttpEntity.html" class="hiddenlink" target="rightframe">BasicHttpEntity</A><br>
+<!-- Class BasicHttpEntityEnclosingRequest -->
+<A HREF="org.apache.http.message.BasicHttpEntityEnclosingRequest.html" class="hiddenlink" target="rightframe">BasicHttpEntityEnclosingRequest</A><br>
+<!-- Class BasicHttpParams -->
+<A HREF="org.apache.http.params.BasicHttpParams.html" class="hiddenlink" target="rightframe">BasicHttpParams</A><br>
+<!-- Class BasicHttpProcessor -->
+<A HREF="org.apache.http.protocol.BasicHttpProcessor.html" class="hiddenlink" target="rightframe">BasicHttpProcessor</A><br>
+<!-- Class BasicHttpRequest -->
+<A HREF="org.apache.http.message.BasicHttpRequest.html" class="hiddenlink" target="rightframe">BasicHttpRequest</A><br>
+<!-- Class BasicHttpResponse -->
+<A HREF="org.apache.http.message.BasicHttpResponse.html" class="hiddenlink" target="rightframe">BasicHttpResponse</A><br>
+<!-- Class BasicLineFormatter -->
+<A HREF="org.apache.http.message.BasicLineFormatter.html" class="hiddenlink" target="rightframe">BasicLineFormatter</A><br>
+<!-- Class BasicLineParser -->
+<A HREF="org.apache.http.message.BasicLineParser.html" class="hiddenlink" target="rightframe">BasicLineParser</A><br>
+<!-- Class BasicListHeaderIterator -->
+<A HREF="org.apache.http.message.BasicListHeaderIterator.html" class="hiddenlink" target="rightframe">BasicListHeaderIterator</A><br>
+<!-- Class BasicManagedEntity -->
+<A HREF="org.apache.http.conn.BasicManagedEntity.html" class="hiddenlink" target="rightframe">BasicManagedEntity</A><br>
+<!-- Class BasicMaxAgeHandler -->
+<A HREF="org.apache.http.impl.cookie.BasicMaxAgeHandler.html" class="hiddenlink" target="rightframe">BasicMaxAgeHandler</A><br>
+<!-- Class BasicNameValuePair -->
+<A HREF="org.apache.http.message.BasicNameValuePair.html" class="hiddenlink" target="rightframe">BasicNameValuePair</A><br>
+<!-- Class BasicPathHandler -->
+<A HREF="org.apache.http.impl.cookie.BasicPathHandler.html" class="hiddenlink" target="rightframe">BasicPathHandler</A><br>
+<!-- Class BasicPooledConnAdapter -->
+<A HREF="org.apache.http.impl.conn.tsccm.BasicPooledConnAdapter.html" class="hiddenlink" target="rightframe">BasicPooledConnAdapter</A><br>
+<!-- Class BasicPoolEntry -->
+<A HREF="org.apache.http.impl.conn.tsccm.BasicPoolEntry.html" class="hiddenlink" target="rightframe">BasicPoolEntry</A><br>
+<!-- Class BasicPoolEntryRef -->
+<A HREF="org.apache.http.impl.conn.tsccm.BasicPoolEntryRef.html" class="hiddenlink" target="rightframe">BasicPoolEntryRef</A><br>
+<!-- Class BasicRequestLine -->
+<A HREF="org.apache.http.message.BasicRequestLine.html" class="hiddenlink" target="rightframe">BasicRequestLine</A><br>
+<!-- Class BasicResponseHandler -->
+<A HREF="org.apache.http.impl.client.BasicResponseHandler.html" class="hiddenlink" target="rightframe">BasicResponseHandler</A><br>
+<!-- Class BasicRouteDirector -->
+<A HREF="org.apache.http.conn.routing.BasicRouteDirector.html" class="hiddenlink" target="rightframe">BasicRouteDirector</A><br>
+<!-- Class BasicScheme -->
+<A HREF="org.apache.http.impl.auth.BasicScheme.html" class="hiddenlink" target="rightframe">BasicScheme</A><br>
+<!-- Class BasicSchemeFactory -->
+<A HREF="org.apache.http.impl.auth.BasicSchemeFactory.html" class="hiddenlink" target="rightframe">BasicSchemeFactory</A><br>
+<!-- Class BasicSecureHandler -->
+<A HREF="org.apache.http.impl.cookie.BasicSecureHandler.html" class="hiddenlink" target="rightframe">BasicSecureHandler</A><br>
+<!-- Class BasicStatusLine -->
+<A HREF="org.apache.http.message.BasicStatusLine.html" class="hiddenlink" target="rightframe">BasicStatusLine</A><br>
+<!-- Class BasicTokenIterator -->
+<A HREF="org.apache.http.message.BasicTokenIterator.html" class="hiddenlink" target="rightframe">BasicTokenIterator</A><br>
+<!-- Class BasicUserPrincipal -->
+<A HREF="org.apache.http.auth.BasicUserPrincipal.html" class="hiddenlink" target="rightframe">BasicUserPrincipal</A><br>
+<!-- Class BestMatchSpec -->
+<A HREF="org.apache.http.impl.cookie.BestMatchSpec.html" class="hiddenlink" target="rightframe">BestMatchSpec</A><br>
+<!-- Class BestMatchSpecFactory -->
+<A HREF="org.apache.http.impl.cookie.BestMatchSpecFactory.html" class="hiddenlink" target="rightframe">BestMatchSpecFactory</A><br>
+<!-- Class BluetoothGattServerCallback -->
+<A HREF="android.bluetooth.BluetoothGattServerCallback.html" class="hiddenlink" target="rightframe">BluetoothGattServerCallback</A><br>
+<!-- Class BounceInterpolator -->
+<A HREF="android.view.animation.BounceInterpolator.html" class="hiddenlink" target="rightframe">BounceInterpolator</A><br>
+<!-- Class BrowserCompatHostnameVerifier -->
+<A HREF="org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.html" class="hiddenlink" target="rightframe">BrowserCompatHostnameVerifier</A><br>
+<!-- Class BrowserCompatSpec -->
+<A HREF="org.apache.http.impl.cookie.BrowserCompatSpec.html" class="hiddenlink" target="rightframe">BrowserCompatSpec</A><br>
+<!-- Class BrowserCompatSpecFactory -->
+<A HREF="org.apache.http.impl.cookie.BrowserCompatSpecFactory.html" class="hiddenlink" target="rightframe">BrowserCompatSpecFactory</A><br>
+<!-- Class BufferedHeader -->
+<A HREF="org.apache.http.message.BufferedHeader.html" class="hiddenlink" target="rightframe">BufferedHeader</A><br>
+<!-- Class BufferedHttpEntity -->
+<A HREF="org.apache.http.entity.BufferedHttpEntity.html" class="hiddenlink" target="rightframe">BufferedHttpEntity</A><br>
+<!-- Class Build.VERSION_CODES -->
+<A HREF="android.os.Build.VERSION_CODES.html" class="hiddenlink" target="rightframe">Build.VERSION_CODES</A><br>
+<!-- Class Bundle -->
+<A HREF="android.os.Bundle.html" class="hiddenlink" target="rightframe">Bundle</A><br>
+<!-- Class ByteArrayBuffer -->
+<A HREF="org.apache.http.util.ByteArrayBuffer.html" class="hiddenlink" target="rightframe">ByteArrayBuffer</A><br>
+<!-- Class ByteArrayEntity -->
+<A HREF="org.apache.http.entity.ByteArrayEntity.html" class="hiddenlink" target="rightframe">ByteArrayEntity</A><br>
+<!-- Class CameraMetadata -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-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="android.hardware.camera2.CameraMetadata.html" class="hiddenlink" target="rightframe">CameraMetadata</A><br>
+<!-- Class ChangeBounds -->
+<A HREF="android.transition.ChangeBounds.html" class="hiddenlink" target="rightframe">ChangeBounds</A><br>
+<!-- Class CharArrayBuffer -->
+<A HREF="org.apache.http.util.CharArrayBuffer.html" class="hiddenlink" target="rightframe">CharArrayBuffer</A><br>
+<!-- Class ChunkedInputStream -->
+<A HREF="org.apache.http.impl.io.ChunkedInputStream.html" class="hiddenlink" target="rightframe">ChunkedInputStream</A><br>
+<!-- Class ChunkedOutputStream -->
+<A HREF="org.apache.http.impl.io.ChunkedOutputStream.html" class="hiddenlink" target="rightframe">ChunkedOutputStream</A><br>
+<!-- Class CircularRedirectException -->
+<A HREF="org.apache.http.client.CircularRedirectException.html" class="hiddenlink" target="rightframe">CircularRedirectException</A><br>
+<!-- Method clearFormData -->
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.clearFormData_changed()" class="hiddenlink" target="rightframe">clearFormData
+()</A></nobr><br>
+<!-- Method clearHttpAuthUsernamePassword -->
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.clearHttpAuthUsernamePassword_changed()" class="hiddenlink" target="rightframe">clearHttpAuthUsernamePassword
+()</A></nobr><br>
+<!-- Method clearUsernamePassword -->
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.clearUsernamePassword_changed()" class="hiddenlink" target="rightframe">clearUsernamePassword
+()</A></nobr><br>
+<!-- Class ClientConnectionManager -->
+<A HREF="org.apache.http.conn.ClientConnectionManager.html" class="hiddenlink" target="rightframe"><i>ClientConnectionManager</i></A><br>
+<!-- Class ClientConnectionManagerFactory -->
+<A HREF="org.apache.http.conn.ClientConnectionManagerFactory.html" class="hiddenlink" target="rightframe"><i>ClientConnectionManagerFactory</i></A><br>
+<!-- Class ClientConnectionOperator -->
+<A HREF="org.apache.http.conn.ClientConnectionOperator.html" class="hiddenlink" target="rightframe"><i>ClientConnectionOperator</i></A><br>
+<!-- Class ClientConnectionRequest -->
+<A HREF="org.apache.http.conn.ClientConnectionRequest.html" class="hiddenlink" target="rightframe"><i>ClientConnectionRequest</i></A><br>
+<!-- Class ClientContext -->
+<A HREF="org.apache.http.client.protocol.ClientContext.html" class="hiddenlink" target="rightframe"><i>ClientContext</i></A><br>
+<!-- Class ClientContextConfigurer -->
+<A HREF="org.apache.http.client.protocol.ClientContextConfigurer.html" class="hiddenlink" target="rightframe">ClientContextConfigurer</A><br>
+<!-- Class ClientCookie -->
+<A HREF="org.apache.http.cookie.ClientCookie.html" class="hiddenlink" target="rightframe"><i>ClientCookie</i></A><br>
+<!-- Class ClientParamBean -->
+<A HREF="org.apache.http.client.params.ClientParamBean.html" class="hiddenlink" target="rightframe">ClientParamBean</A><br>
+<!-- Class ClientParamsStack -->
+<A HREF="org.apache.http.impl.client.ClientParamsStack.html" class="hiddenlink" target="rightframe">ClientParamsStack</A><br>
+<!-- Class ClientPNames -->
+<A HREF="org.apache.http.client.params.ClientPNames.html" class="hiddenlink" target="rightframe"><i>ClientPNames</i></A><br>
+<!-- Class ClientProtocolException -->
+<A HREF="org.apache.http.client.ClientProtocolException.html" class="hiddenlink" target="rightframe">ClientProtocolException</A><br>
+<!-- Method clone -->
+<i>clone</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.StateListAnimator.html#android.animation.StateListAnimator.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.animation.StateListAnimator
+</A></nobr><br>
+<!-- Method clone -->
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.webkit.WebBackForwardList
+</A></nobr><br>
+<!-- Method clone -->
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.webkit.WebHistoryItem
+</A></nobr><br>
+<!-- Class CloneUtils -->
+<A HREF="org.apache.http.client.utils.CloneUtils.html" class="hiddenlink" target="rightframe">CloneUtils</A><br>
+<!-- Method close -->
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.close_changed()" class="hiddenlink" target="rightframe">close
+()</A></nobr><br>
+<!-- Class ConnConnectionParamBean -->
+<A HREF="org.apache.http.conn.params.ConnConnectionParamBean.html" class="hiddenlink" target="rightframe">ConnConnectionParamBean</A><br>
+<!-- Class ConnConnectionPNames -->
+<A HREF="org.apache.http.conn.params.ConnConnectionPNames.html" class="hiddenlink" target="rightframe"><i>ConnConnectionPNames</i></A><br>
+<!-- Class ConnectionClosedException -->
+<A HREF="org.apache.http.ConnectionClosedException.html" class="hiddenlink" target="rightframe">ConnectionClosedException</A><br>
+<!-- Class ConnectionKeepAliveStrategy -->
+<A HREF="org.apache.http.conn.ConnectionKeepAliveStrategy.html" class="hiddenlink" target="rightframe"><i>ConnectionKeepAliveStrategy</i></A><br>
+<!-- Class ConnectionPoolTimeoutException -->
+<A HREF="org.apache.http.conn.ConnectionPoolTimeoutException.html" class="hiddenlink" target="rightframe">ConnectionPoolTimeoutException</A><br>
+<!-- Class ConnectionReleaseTrigger -->
+<A HREF="org.apache.http.conn.ConnectionReleaseTrigger.html" class="hiddenlink" target="rightframe"><i>ConnectionReleaseTrigger</i></A><br>
+<!-- Class ConnectionReuseStrategy -->
+<A HREF="org.apache.http.ConnectionReuseStrategy.html" class="hiddenlink" target="rightframe"><i>ConnectionReuseStrategy</i></A><br>
+<!-- Class ConnectivityManager -->
+<A HREF="android.net.ConnectivityManager.html" class="hiddenlink" target="rightframe">ConnectivityManager</A><br>
+<!-- Class ConnectTimeoutException -->
+<A HREF="org.apache.http.conn.ConnectTimeoutException.html" class="hiddenlink" target="rightframe">ConnectTimeoutException</A><br>
+<!-- Class ConnManagerParamBean -->
+<A HREF="org.apache.http.conn.params.ConnManagerParamBean.html" class="hiddenlink" target="rightframe">ConnManagerParamBean</A><br>
+<!-- Class ConnManagerParams -->
+<A HREF="org.apache.http.conn.params.ConnManagerParams.html" class="hiddenlink" target="rightframe">ConnManagerParams</A><br>
+<!-- Class ConnManagerPNames -->
+<A HREF="org.apache.http.conn.params.ConnManagerPNames.html" class="hiddenlink" target="rightframe"><i>ConnManagerPNames</i></A><br>
+<!-- Class ConnPerRoute -->
+<A HREF="org.apache.http.conn.params.ConnPerRoute.html" class="hiddenlink" target="rightframe"><i>ConnPerRoute</i></A><br>
+<!-- Class ConnPerRouteBean -->
+<A HREF="org.apache.http.conn.params.ConnPerRouteBean.html" class="hiddenlink" target="rightframe">ConnPerRouteBean</A><br>
+<!-- Class ConnPoolByRoute -->
+<A HREF="org.apache.http.impl.conn.tsccm.ConnPoolByRoute.html" class="hiddenlink" target="rightframe">ConnPoolByRoute</A><br>
+<!-- Class ConnRouteParamBean -->
+<A HREF="org.apache.http.conn.params.ConnRouteParamBean.html" class="hiddenlink" target="rightframe">ConnRouteParamBean</A><br>
+<!-- Class ConnRouteParams -->
+<A HREF="org.apache.http.conn.params.ConnRouteParams.html" class="hiddenlink" target="rightframe">ConnRouteParams</A><br>
+<!-- Class ConnRoutePNames -->
+<A HREF="org.apache.http.conn.params.ConnRoutePNames.html" class="hiddenlink" target="rightframe"><i>ConnRoutePNames</i></A><br>
+<!-- Class ContentLengthInputStream -->
+<A HREF="org.apache.http.impl.io.ContentLengthInputStream.html" class="hiddenlink" target="rightframe">ContentLengthInputStream</A><br>
+<!-- Class ContentLengthOutputStream -->
+<A HREF="org.apache.http.impl.io.ContentLengthOutputStream.html" class="hiddenlink" target="rightframe">ContentLengthOutputStream</A><br>
+<!-- Class ContentLengthStrategy -->
+<A HREF="org.apache.http.entity.ContentLengthStrategy.html" class="hiddenlink" target="rightframe"><i>ContentLengthStrategy</i></A><br>
+<!-- Class ContentProducer -->
+<A HREF="org.apache.http.entity.ContentProducer.html" class="hiddenlink" target="rightframe"><i>ContentProducer</i></A><br>
+<!-- Class Context -->
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<!-- Class Cookie -->
+<A HREF="org.apache.http.cookie.Cookie.html" class="hiddenlink" target="rightframe"><i>Cookie</i></A><br>
+<!-- Class CookieAttributeHandler -->
+<A HREF="org.apache.http.cookie.CookieAttributeHandler.html" class="hiddenlink" target="rightframe"><i>CookieAttributeHandler</i></A><br>
+<!-- Class CookieIdentityComparator -->
+<A HREF="org.apache.http.cookie.CookieIdentityComparator.html" class="hiddenlink" target="rightframe">CookieIdentityComparator</A><br>
+<!-- Class CookieManager -->
+<A HREF="android.webkit.CookieManager.html" class="hiddenlink" target="rightframe">CookieManager</A><br>
+<!-- Class CookieOrigin -->
+<A HREF="org.apache.http.cookie.CookieOrigin.html" class="hiddenlink" target="rightframe">CookieOrigin</A><br>
+<!-- Class CookiePathComparator -->
+<A HREF="org.apache.http.cookie.CookiePathComparator.html" class="hiddenlink" target="rightframe">CookiePathComparator</A><br>
+<!-- Class CookiePolicy -->
+<A HREF="org.apache.http.client.params.CookiePolicy.html" class="hiddenlink" target="rightframe">CookiePolicy</A><br>
+<!-- Class CookieSpec -->
+<A HREF="org.apache.http.cookie.CookieSpec.html" class="hiddenlink" target="rightframe"><i>CookieSpec</i></A><br>
+<!-- Class CookieSpecBase -->
+<A HREF="org.apache.http.impl.cookie.CookieSpecBase.html" class="hiddenlink" target="rightframe">CookieSpecBase</A><br>
+<!-- Class CookieSpecFactory -->
+<A HREF="org.apache.http.cookie.CookieSpecFactory.html" class="hiddenlink" target="rightframe"><i>CookieSpecFactory</i></A><br>
+<!-- Class CookieSpecParamBean -->
+<A HREF="org.apache.http.cookie.params.CookieSpecParamBean.html" class="hiddenlink" target="rightframe">CookieSpecParamBean</A><br>
+<!-- Class CookieSpecPNames -->
+<A HREF="org.apache.http.cookie.params.CookieSpecPNames.html" class="hiddenlink" target="rightframe"><i>CookieSpecPNames</i></A><br>
+<!-- Class CookieSpecRegistry -->
+<A HREF="org.apache.http.cookie.CookieSpecRegistry.html" class="hiddenlink" target="rightframe">CookieSpecRegistry</A><br>
+<!-- Class CookieStore -->
+<A HREF="org.apache.http.client.CookieStore.html" class="hiddenlink" target="rightframe"><i>CookieStore</i></A><br>
+<!-- Class CoreConnectionPNames -->
+<A HREF="org.apache.http.params.CoreConnectionPNames.html" class="hiddenlink" target="rightframe"><i>CoreConnectionPNames</i></A><br>
+<!-- Class CoreProtocolPNames -->
+<A HREF="org.apache.http.params.CoreProtocolPNames.html" class="hiddenlink" target="rightframe"><i>CoreProtocolPNames</i></A><br>
+<!-- Class Credentials -->
+<A HREF="org.apache.http.auth.Credentials.html" class="hiddenlink" target="rightframe"><i>Credentials</i></A><br>
+<!-- Class CredentialsProvider -->
+<A HREF="org.apache.http.client.CredentialsProvider.html" class="hiddenlink" target="rightframe"><i>CredentialsProvider</i></A><br>
+<!-- Class CycleInterpolator -->
+<A HREF="android.view.animation.CycleInterpolator.html" class="hiddenlink" target="rightframe">CycleInterpolator</A><br>
+<!-- Class DateFormat -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-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="android.text.format.DateFormat.html" class="hiddenlink" target="rightframe">DateFormat</A><br>
+<!-- Class DateParseException -->
+<A HREF="org.apache.http.impl.cookie.DateParseException.html" class="hiddenlink" target="rightframe">DateParseException</A><br>
+<!-- Class DateUtils -->
+<A HREF="org.apache.http.impl.cookie.DateUtils.html" class="hiddenlink" target="rightframe">DateUtils</A><br>
+<!-- Class DecelerateInterpolator -->
+<A HREF="android.view.animation.DecelerateInterpolator.html" class="hiddenlink" target="rightframe">DecelerateInterpolator</A><br>
+<!-- Field DEFAULT_FEATURES -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.DEFAULT_FEATURES" class="hiddenlink" target="rightframe">DEFAULT_FEATURES</A>
+</nobr><br>
+<!-- Class DefaultClientConnection -->
+<A HREF="org.apache.http.impl.conn.DefaultClientConnection.html" class="hiddenlink" target="rightframe">DefaultClientConnection</A><br>
+<!-- Class DefaultClientConnectionOperator -->
+<A HREF="org.apache.http.impl.conn.DefaultClientConnectionOperator.html" class="hiddenlink" target="rightframe">DefaultClientConnectionOperator</A><br>
+<!-- Class DefaultConnectionKeepAliveStrategy -->
+<A HREF="org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy.html" class="hiddenlink" target="rightframe">DefaultConnectionKeepAliveStrategy</A><br>
+<!-- Class DefaultConnectionReuseStrategy -->
+<A HREF="org.apache.http.impl.DefaultConnectionReuseStrategy.html" class="hiddenlink" target="rightframe">DefaultConnectionReuseStrategy</A><br>
+<!-- Class DefaultedHttpContext -->
+<A HREF="org.apache.http.protocol.DefaultedHttpContext.html" class="hiddenlink" target="rightframe">DefaultedHttpContext</A><br>
+<!-- Class DefaultedHttpParams -->
+<A HREF="org.apache.http.params.DefaultedHttpParams.html" class="hiddenlink" target="rightframe">DefaultedHttpParams</A><br>
+<!-- Class DefaultHttpClient -->
+<A HREF="org.apache.http.impl.client.DefaultHttpClient.html" class="hiddenlink" target="rightframe">DefaultHttpClient</A><br>
+<!-- Class DefaultHttpClientConnection -->
+<A HREF="org.apache.http.impl.DefaultHttpClientConnection.html" class="hiddenlink" target="rightframe">DefaultHttpClientConnection</A><br>
+<!-- Class DefaultHttpRequestFactory -->
+<A HREF="org.apache.http.impl.DefaultHttpRequestFactory.html" class="hiddenlink" target="rightframe">DefaultHttpRequestFactory</A><br>
+<!-- Class DefaultHttpRequestRetryHandler -->
+<A HREF="org.apache.http.impl.client.DefaultHttpRequestRetryHandler.html" class="hiddenlink" target="rightframe">DefaultHttpRequestRetryHandler</A><br>
+<!-- Class DefaultHttpResponseFactory -->
+<A HREF="org.apache.http.impl.DefaultHttpResponseFactory.html" class="hiddenlink" target="rightframe">DefaultHttpResponseFactory</A><br>
+<!-- Class DefaultHttpRoutePlanner -->
+<A HREF="org.apache.http.impl.conn.DefaultHttpRoutePlanner.html" class="hiddenlink" target="rightframe">DefaultHttpRoutePlanner</A><br>
+<!-- Class DefaultHttpServerConnection -->
+<A HREF="org.apache.http.impl.DefaultHttpServerConnection.html" class="hiddenlink" target="rightframe">DefaultHttpServerConnection</A><br>
+<!-- Class DefaultProxyAuthenticationHandler -->
+<A HREF="org.apache.http.impl.client.DefaultProxyAuthenticationHandler.html" class="hiddenlink" target="rightframe">DefaultProxyAuthenticationHandler</A><br>
+<!-- Class DefaultRedirectHandler -->
+<A HREF="org.apache.http.impl.client.DefaultRedirectHandler.html" class="hiddenlink" target="rightframe">DefaultRedirectHandler</A><br>
+<!-- Class DefaultRequestDirector -->
+<A HREF="org.apache.http.impl.client.DefaultRequestDirector.html" class="hiddenlink" target="rightframe">DefaultRequestDirector</A><br>
+<!-- Class DefaultResponseParser -->
+<A HREF="org.apache.http.impl.conn.DefaultResponseParser.html" class="hiddenlink" target="rightframe">DefaultResponseParser</A><br>
+<!-- Class DefaultTargetAuthenticationHandler -->
+<A HREF="org.apache.http.impl.client.DefaultTargetAuthenticationHandler.html" class="hiddenlink" target="rightframe">DefaultTargetAuthenticationHandler</A><br>
+<!-- Class DefaultUserTokenHandler -->
+<A HREF="org.apache.http.impl.client.DefaultUserTokenHandler.html" class="hiddenlink" target="rightframe">DefaultUserTokenHandler</A><br>
+<!-- Class DevicePolicyManager -->
+<A HREF="android.app.admin.DevicePolicyManager.html" class="hiddenlink" target="rightframe">DevicePolicyManager</A><br>
+<!-- Class DigestScheme -->
+<A HREF="org.apache.http.impl.auth.DigestScheme.html" class="hiddenlink" target="rightframe">DigestScheme</A><br>
+<!-- Class DigestSchemeFactory -->
+<A HREF="org.apache.http.impl.auth.DigestSchemeFactory.html" class="hiddenlink" target="rightframe">DigestSchemeFactory</A><br>
+<!-- Class DisplayMetrics -->
+<A HREF="android.util.DisplayMetrics.html" class="hiddenlink" target="rightframe">DisplayMetrics</A><br>
+<!-- Method enableSmoothTransition -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-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">
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.enableSmoothTransition_changed()" class="hiddenlink" target="rightframe">enableSmoothTransition
+()</A></nobr><br>
+<!-- Class EncodingUtils -->
+<A HREF="org.apache.http.util.EncodingUtils.html" class="hiddenlink" target="rightframe">EncodingUtils</A><br>
+<!-- Class EnglishReasonPhraseCatalog -->
+<A HREF="org.apache.http.impl.EnglishReasonPhraseCatalog.html" class="hiddenlink" target="rightframe">EnglishReasonPhraseCatalog</A><br>
+<!-- Class EntityDeserializer -->
+<A HREF="org.apache.http.impl.entity.EntityDeserializer.html" class="hiddenlink" target="rightframe">EntityDeserializer</A><br>
+<!-- Class EntityEnclosingRequestWrapper -->
+<A HREF="org.apache.http.impl.client.EntityEnclosingRequestWrapper.html" class="hiddenlink" target="rightframe">EntityEnclosingRequestWrapper</A><br>
+<!-- Class EntitySerializer -->
+<A HREF="org.apache.http.impl.entity.EntitySerializer.html" class="hiddenlink" target="rightframe">EntitySerializer</A><br>
+<!-- Class EntityTemplate -->
+<A HREF="org.apache.http.entity.EntityTemplate.html" class="hiddenlink" target="rightframe">EntityTemplate</A><br>
+<!-- Class EntityUtils -->
+<A HREF="org.apache.http.util.EntityUtils.html" class="hiddenlink" target="rightframe">EntityUtils</A><br>
+<!-- Class EofSensorInputStream -->
+<A HREF="org.apache.http.conn.EofSensorInputStream.html" class="hiddenlink" target="rightframe">EofSensorInputStream</A><br>
+<!-- Class EofSensorWatcher -->
+<A HREF="org.apache.http.conn.EofSensorWatcher.html" class="hiddenlink" target="rightframe"><i>EofSensorWatcher</i></A><br>
+<!-- Class ExceptionUtils -->
+<A HREF="org.apache.http.util.ExceptionUtils.html" class="hiddenlink" target="rightframe">ExceptionUtils</A><br>
+<!-- Class ExecutionContext -->
+<A HREF="org.apache.http.protocol.ExecutionContext.html" class="hiddenlink" target="rightframe"><i>ExecutionContext</i></A><br>
+<!-- Class FileEntity -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-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="org.apache.http.entity.FileEntity.html" class="hiddenlink" target="rightframe">FileEntity</A><br>
+<!-- Class FloatMath -->
+<A HREF="android.util.FloatMath.html" class="hiddenlink" target="rightframe">FloatMath</A><br>
+<!-- Method flush -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.flush_changed()" class="hiddenlink" target="rightframe">flush
+()</A></nobr><br>
+<!-- Class FormattedHeader -->
+<A HREF="org.apache.http.FormattedHeader.html" class="hiddenlink" target="rightframe"><i>FormattedHeader</i></A><br>
+<!-- Method getAllowContentAccess -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-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">
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getAllowContentAccess_changed()" class="hiddenlink" target="rightframe">getAllowContentAccess
+()</A></nobr><br>
+<!-- Method getAllowFileAccess -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getAllowFileAccess_changed()" class="hiddenlink" target="rightframe">getAllowFileAccess
+()</A></nobr><br>
+<!-- Method getBlockNetworkImage -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getBlockNetworkImage_changed()" class="hiddenlink" target="rightframe">getBlockNetworkImage
+()</A></nobr><br>
+<!-- Method getBlockNetworkLoads -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getBlockNetworkLoads_changed()" class="hiddenlink" target="rightframe">getBlockNetworkLoads
+()</A></nobr><br>
+<!-- Method getBooleanArray -->
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getBooleanArray_changed(java.lang.String)" class="hiddenlink" target="rightframe">getBooleanArray
+(<code>String</code>)</A></nobr><br>
+<!-- Method getBuiltInZoomControls -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getBuiltInZoomControls_changed()" class="hiddenlink" target="rightframe">getBuiltInZoomControls
+()</A></nobr><br>
+<!-- Method getCacheMode -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getCacheMode_changed()" class="hiddenlink" target="rightframe">getCacheMode
+()</A></nobr><br>
+<!-- Method getCookie -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.getCookie_changed(java.lang.String)" class="hiddenlink" target="rightframe">getCookie
+(<code>String</code>)</A></nobr><br>
+<!-- Method getCurrentIndex -->
+<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.getCurrentIndex_changed()" class="hiddenlink" target="rightframe">getCurrentIndex
+()</A></nobr><br>
+<!-- Method getCurrentItem -->
+<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.getCurrentItem_changed()" class="hiddenlink" target="rightframe">getCurrentItem
+()</A></nobr><br>
+<!-- Method getCursiveFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getCursiveFontFamily_changed()" class="hiddenlink" target="rightframe">getCursiveFontFamily
+()</A></nobr><br>
+<!-- Method getDatabaseEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDatabaseEnabled_changed()" class="hiddenlink" target="rightframe">getDatabaseEnabled
+()</A></nobr><br>
+<!-- Method getDatabasePath -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDatabasePath_changed()" class="hiddenlink" target="rightframe">getDatabasePath
+()</A></nobr><br>
+<!-- Method getDefaultFixedFontSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDefaultFixedFontSize_changed()" class="hiddenlink" target="rightframe">getDefaultFixedFontSize
+()</A></nobr><br>
+<!-- Method getDefaultFontSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDefaultFontSize_changed()" class="hiddenlink" target="rightframe">getDefaultFontSize
+()</A></nobr><br>
+<!-- Method getDefaultTextEncodingName -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDefaultTextEncodingName_changed()" class="hiddenlink" target="rightframe">getDefaultTextEncodingName
+()</A></nobr><br>
+<!-- Method getDefaultZoom -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDefaultZoom_changed()" class="hiddenlink" target="rightframe">getDefaultZoom
+()</A></nobr><br>
+<!-- Method getDisplayZoomControls -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDisplayZoomControls_changed()" class="hiddenlink" target="rightframe">getDisplayZoomControls
+()</A></nobr><br>
+<!-- Method getDomStorageEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDomStorageEnabled_changed()" class="hiddenlink" target="rightframe">getDomStorageEnabled
+()</A></nobr><br>
+<!-- Method getDrawable -->
+<nobr><A HREF="android.content.res.Resources.html#android.content.res.Resources.getDrawable_changed(int)" class="hiddenlink" target="rightframe">getDrawable
+(<code>int</code>)</A></nobr><br>
+<!-- Method getDrawableForDensity -->
+<nobr><A HREF="android.content.res.Resources.html#android.content.res.Resources.getDrawableForDensity_changed(int, int)" class="hiddenlink" target="rightframe">getDrawableForDensity
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method getFantasyFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getFantasyFontFamily_changed()" class="hiddenlink" target="rightframe">getFantasyFontFamily
+()</A></nobr><br>
+<!-- Method getFavicon -->
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.getFavicon_changed()" class="hiddenlink" target="rightframe">getFavicon
+()</A></nobr><br>
+<!-- Method getFixedFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getFixedFontFamily_changed()" class="hiddenlink" target="rightframe">getFixedFontFamily
+()</A></nobr><br>
+<!-- Method getHttpSocketFactory -->
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.getHttpSocketFactory_changed(int, android.net.SSLSessionCache)" class="hiddenlink" target="rightframe">getHttpSocketFactory
+(<code>int, SSLSessionCache</code>)</A></nobr><br>
+<!-- Method getItemAtIndex -->
+<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.getItemAtIndex_changed(int)" class="hiddenlink" target="rightframe">getItemAtIndex
+(<code>int</code>)</A></nobr><br>
+<!-- Method getJavaScriptCanOpenWindowsAutomatically -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getJavaScriptCanOpenWindowsAutomatically_changed()" class="hiddenlink" target="rightframe">getJavaScriptCanOpenWindowsAutomatically
+()</A></nobr><br>
+<!-- Method getJavaScriptEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getJavaScriptEnabled_changed()" class="hiddenlink" target="rightframe">getJavaScriptEnabled
+()</A></nobr><br>
+<!-- Method getLayoutAlgorithm -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getLayoutAlgorithm_changed()" class="hiddenlink" target="rightframe">getLayoutAlgorithm
+()</A></nobr><br>
+<!-- Method getLightTouchEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getLightTouchEnabled_changed()" class="hiddenlink" target="rightframe">getLightTouchEnabled
+()</A></nobr><br>
+<!-- Method getLoadsImagesAutomatically -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getLoadsImagesAutomatically_changed()" class="hiddenlink" target="rightframe">getLoadsImagesAutomatically
+()</A></nobr><br>
+<!-- Method getLoadWithOverviewMode -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getLoadWithOverviewMode_changed()" class="hiddenlink" target="rightframe">getLoadWithOverviewMode
+()</A></nobr><br>
+<!-- Method getMediaPlaybackRequiresUserGesture -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getMediaPlaybackRequiresUserGesture_changed()" class="hiddenlink" target="rightframe">getMediaPlaybackRequiresUserGesture
+()</A></nobr><br>
+<!-- Method getMinimumFontSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getMinimumFontSize_changed()" class="hiddenlink" target="rightframe">getMinimumFontSize
+()</A></nobr><br>
+<!-- Method getMinimumLogicalFontSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getMinimumLogicalFontSize_changed()" class="hiddenlink" target="rightframe">getMinimumLogicalFontSize
+()</A></nobr><br>
+<!-- Method getOriginalUrl -->
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.getOriginalUrl_changed()" class="hiddenlink" target="rightframe">getOriginalUrl
+()</A></nobr><br>
+<!-- Method getPluginState -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getPluginState_changed()" class="hiddenlink" target="rightframe">getPluginState
+()</A></nobr><br>
+<!-- Method getSansSerifFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getSansSerifFontFamily_changed()" class="hiddenlink" target="rightframe">getSansSerifFontFamily
+()</A></nobr><br>
+<!-- Method getSaveFormData -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getSaveFormData_changed()" class="hiddenlink" target="rightframe">getSaveFormData
+()</A></nobr><br>
+<!-- Method getSavePassword -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getSavePassword_changed()" class="hiddenlink" target="rightframe">getSavePassword
+()</A></nobr><br>
+<!-- Method getSerifFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getSerifFontFamily_changed()" class="hiddenlink" target="rightframe">getSerifFontFamily
+()</A></nobr><br>
+<!-- Method getSize -->
+<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.getSize_changed()" class="hiddenlink" target="rightframe">getSize
+()</A></nobr><br>
+<!-- Method getStandardFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getStandardFontFamily_changed()" class="hiddenlink" target="rightframe">getStandardFontFamily
+()</A></nobr><br>
+<!-- Method getTextZoom -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getTextZoom_changed()" class="hiddenlink" target="rightframe">getTextZoom
+()</A></nobr><br>
+<!-- Method getTitle -->
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.getTitle_changed()" class="hiddenlink" target="rightframe">getTitle
+()</A></nobr><br>
+<!-- Method getUrl -->
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.getUrl_changed()" class="hiddenlink" target="rightframe">getUrl
+()</A></nobr><br>
+<!-- Method getUserAgentString -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getUserAgentString_changed()" class="hiddenlink" target="rightframe">getUserAgentString
+()</A></nobr><br>
+<!-- Method getUseWideViewPort -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getUseWideViewPort_changed()" class="hiddenlink" target="rightframe">getUseWideViewPort
+()</A></nobr><br>
+<!-- Method hasCookies -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-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">
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.hasCookies_changed()" class="hiddenlink" target="rightframe">hasCookies
+()</A></nobr><br>
+<!-- Method hasFormData -->
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.hasFormData_changed()" class="hiddenlink" target="rightframe">hasFormData
+()</A></nobr><br>
+<!-- Method hasHttpAuthUsernamePassword -->
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.hasHttpAuthUsernamePassword_changed()" class="hiddenlink" target="rightframe">hasHttpAuthUsernamePassword
+()</A></nobr><br>
+<!-- Method hasUsernamePassword -->
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.hasUsernamePassword_changed()" class="hiddenlink" target="rightframe">hasUsernamePassword
+()</A></nobr><br>
+<!-- Class Header -->
+<A HREF="org.apache.http.Header.html" class="hiddenlink" target="rightframe"><i>Header</i></A><br>
+<!-- Class HeaderElement -->
+<A HREF="org.apache.http.HeaderElement.html" class="hiddenlink" target="rightframe"><i>HeaderElement</i></A><br>
+<!-- Class HeaderElementIterator -->
+<A HREF="org.apache.http.HeaderElementIterator.html" class="hiddenlink" target="rightframe"><i>HeaderElementIterator</i></A><br>
+<!-- Class HeaderGroup -->
+<A HREF="org.apache.http.message.HeaderGroup.html" class="hiddenlink" target="rightframe">HeaderGroup</A><br>
+<!-- Class HeaderIterator -->
+<A HREF="org.apache.http.HeaderIterator.html" class="hiddenlink" target="rightframe"><i>HeaderIterator</i></A><br>
+<!-- Class HeaderValueFormatter -->
+<A HREF="org.apache.http.message.HeaderValueFormatter.html" class="hiddenlink" target="rightframe"><i>HeaderValueFormatter</i></A><br>
+<!-- Class HeaderValueParser -->
+<A HREF="org.apache.http.message.HeaderValueParser.html" class="hiddenlink" target="rightframe"><i>HeaderValueParser</i></A><br>
+<!-- Class HostNameResolver -->
+<A HREF="org.apache.http.conn.scheme.HostNameResolver.html" class="hiddenlink" target="rightframe"><i>HostNameResolver</i></A><br>
+<!-- Class HTTP -->
+<A HREF="org.apache.http.protocol.HTTP.html" class="hiddenlink" target="rightframe">HTTP</A><br>
+<!-- Class HttpAbstractParamBean -->
+<A HREF="org.apache.http.params.HttpAbstractParamBean.html" class="hiddenlink" target="rightframe">HttpAbstractParamBean</A><br>
+<!-- Class HttpClient -->
+<A HREF="org.apache.http.client.HttpClient.html" class="hiddenlink" target="rightframe"><i>HttpClient</i></A><br>
+<!-- Class HttpClientConnection -->
+<A HREF="org.apache.http.HttpClientConnection.html" class="hiddenlink" target="rightframe"><i>HttpClientConnection</i></A><br>
+<!-- Class HttpClientParams -->
+<A HREF="org.apache.http.client.params.HttpClientParams.html" class="hiddenlink" target="rightframe">HttpClientParams</A><br>
+<!-- Class HttpConnection -->
+<A HREF="org.apache.http.HttpConnection.html" class="hiddenlink" target="rightframe"><i>HttpConnection</i></A><br>
+<!-- Class HttpConnectionMetrics -->
+<A HREF="org.apache.http.HttpConnectionMetrics.html" class="hiddenlink" target="rightframe"><i>HttpConnectionMetrics</i></A><br>
+<!-- Class HttpConnectionMetricsImpl -->
+<A HREF="org.apache.http.impl.HttpConnectionMetricsImpl.html" class="hiddenlink" target="rightframe">HttpConnectionMetricsImpl</A><br>
+<!-- Class HttpConnectionParamBean -->
+<A HREF="org.apache.http.params.HttpConnectionParamBean.html" class="hiddenlink" target="rightframe">HttpConnectionParamBean</A><br>
+<!-- Class HttpConnectionParams -->
+<A HREF="org.apache.http.params.HttpConnectionParams.html" class="hiddenlink" target="rightframe">HttpConnectionParams</A><br>
+<!-- Class HttpContext -->
+<A HREF="org.apache.http.protocol.HttpContext.html" class="hiddenlink" target="rightframe"><i>HttpContext</i></A><br>
+<!-- Class HttpDateGenerator -->
+<A HREF="org.apache.http.protocol.HttpDateGenerator.html" class="hiddenlink" target="rightframe">HttpDateGenerator</A><br>
+<!-- Class HttpDelete -->
+<A HREF="org.apache.http.client.methods.HttpDelete.html" class="hiddenlink" target="rightframe">HttpDelete</A><br>
+<!-- Class HttpEntity -->
+<A HREF="org.apache.http.HttpEntity.html" class="hiddenlink" target="rightframe"><i>HttpEntity</i></A><br>
+<!-- Class HttpEntityEnclosingRequest -->
+<A HREF="org.apache.http.HttpEntityEnclosingRequest.html" class="hiddenlink" target="rightframe"><i>HttpEntityEnclosingRequest</i></A><br>
+<!-- Class HttpEntityEnclosingRequestBase -->
+<A HREF="org.apache.http.client.methods.HttpEntityEnclosingRequestBase.html" class="hiddenlink" target="rightframe">HttpEntityEnclosingRequestBase</A><br>
+<!-- Class HttpEntityWrapper -->
+<A HREF="org.apache.http.entity.HttpEntityWrapper.html" class="hiddenlink" target="rightframe">HttpEntityWrapper</A><br>
+<!-- Class HttpException -->
+<A HREF="org.apache.http.HttpException.html" class="hiddenlink" target="rightframe">HttpException</A><br>
+<!-- Class HttpExpectationVerifier -->
+<A HREF="org.apache.http.protocol.HttpExpectationVerifier.html" class="hiddenlink" target="rightframe"><i>HttpExpectationVerifier</i></A><br>
+<!-- Class HttpGet -->
+<A HREF="org.apache.http.client.methods.HttpGet.html" class="hiddenlink" target="rightframe">HttpGet</A><br>
+<!-- Class HttpHead -->
+<A HREF="org.apache.http.client.methods.HttpHead.html" class="hiddenlink" target="rightframe">HttpHead</A><br>
+<!-- Class HttpHost -->
+<A HREF="org.apache.http.HttpHost.html" class="hiddenlink" target="rightframe">HttpHost</A><br>
+<!-- Class HttpHostConnectException -->
+<A HREF="org.apache.http.conn.HttpHostConnectException.html" class="hiddenlink" target="rightframe">HttpHostConnectException</A><br>
+<!-- Class HttpInetConnection -->
+<A HREF="org.apache.http.HttpInetConnection.html" class="hiddenlink" target="rightframe"><i>HttpInetConnection</i></A><br>
+<!-- Class HttpMessage -->
+<A HREF="org.apache.http.HttpMessage.html" class="hiddenlink" target="rightframe"><i>HttpMessage</i></A><br>
+<!-- Class HttpMessageParser -->
+<A HREF="org.apache.http.io.HttpMessageParser.html" class="hiddenlink" target="rightframe"><i>HttpMessageParser</i></A><br>
+<!-- Class HttpMessageWriter -->
+<A HREF="org.apache.http.io.HttpMessageWriter.html" class="hiddenlink" target="rightframe"><i>HttpMessageWriter</i></A><br>
+<!-- Class HttpOptions -->
+<A HREF="org.apache.http.client.methods.HttpOptions.html" class="hiddenlink" target="rightframe">HttpOptions</A><br>
+<!-- Class HttpParams -->
+<A HREF="org.apache.http.params.HttpParams.html" class="hiddenlink" target="rightframe"><i>HttpParams</i></A><br>
+<!-- Class HttpPost -->
+<A HREF="org.apache.http.client.methods.HttpPost.html" class="hiddenlink" target="rightframe">HttpPost</A><br>
+<!-- Class HttpProcessor -->
+<A HREF="org.apache.http.protocol.HttpProcessor.html" class="hiddenlink" target="rightframe"><i>HttpProcessor</i></A><br>
+<!-- Class HttpProtocolParamBean -->
+<A HREF="org.apache.http.params.HttpProtocolParamBean.html" class="hiddenlink" target="rightframe">HttpProtocolParamBean</A><br>
+<!-- Class HttpProtocolParams -->
+<A HREF="org.apache.http.params.HttpProtocolParams.html" class="hiddenlink" target="rightframe">HttpProtocolParams</A><br>
+<!-- Class HttpPut -->
+<A HREF="org.apache.http.client.methods.HttpPut.html" class="hiddenlink" target="rightframe">HttpPut</A><br>
+<!-- Class HttpRequest -->
+<A HREF="org.apache.http.HttpRequest.html" class="hiddenlink" target="rightframe"><i>HttpRequest</i></A><br>
+<!-- Class HttpRequestBase -->
+<A HREF="org.apache.http.client.methods.HttpRequestBase.html" class="hiddenlink" target="rightframe">HttpRequestBase</A><br>
+<!-- Class HttpRequestExecutor -->
+<A HREF="org.apache.http.protocol.HttpRequestExecutor.html" class="hiddenlink" target="rightframe">HttpRequestExecutor</A><br>
+<!-- Class HttpRequestFactory -->
+<A HREF="org.apache.http.HttpRequestFactory.html" class="hiddenlink" target="rightframe"><i>HttpRequestFactory</i></A><br>
+<!-- Class HttpRequestHandler -->
+<A HREF="org.apache.http.protocol.HttpRequestHandler.html" class="hiddenlink" target="rightframe"><i>HttpRequestHandler</i></A><br>
+<!-- Class HttpRequestHandlerRegistry -->
+<A HREF="org.apache.http.protocol.HttpRequestHandlerRegistry.html" class="hiddenlink" target="rightframe">HttpRequestHandlerRegistry</A><br>
+<!-- Class HttpRequestHandlerResolver -->
+<A HREF="org.apache.http.protocol.HttpRequestHandlerResolver.html" class="hiddenlink" target="rightframe"><i>HttpRequestHandlerResolver</i></A><br>
+<!-- Class HttpRequestInterceptor -->
+<A HREF="org.apache.http.HttpRequestInterceptor.html" class="hiddenlink" target="rightframe"><i>HttpRequestInterceptor</i></A><br>
+<!-- Class HttpRequestInterceptorList -->
+<A HREF="org.apache.http.protocol.HttpRequestInterceptorList.html" class="hiddenlink" target="rightframe"><i>HttpRequestInterceptorList</i></A><br>
+<!-- Class HttpRequestParser -->
+<A HREF="org.apache.http.impl.io.HttpRequestParser.html" class="hiddenlink" target="rightframe">HttpRequestParser</A><br>
+<!-- Class HttpRequestRetryHandler -->
+<A HREF="org.apache.http.client.HttpRequestRetryHandler.html" class="hiddenlink" target="rightframe"><i>HttpRequestRetryHandler</i></A><br>
+<!-- Class HttpRequestWriter -->
+<A HREF="org.apache.http.impl.io.HttpRequestWriter.html" class="hiddenlink" target="rightframe">HttpRequestWriter</A><br>
+<!-- Class HttpResponse -->
+<A HREF="org.apache.http.HttpResponse.html" class="hiddenlink" target="rightframe"><i>HttpResponse</i></A><br>
+<!-- Class HttpResponseException -->
+<A HREF="org.apache.http.client.HttpResponseException.html" class="hiddenlink" target="rightframe">HttpResponseException</A><br>
+<!-- Class HttpResponseFactory -->
+<A HREF="org.apache.http.HttpResponseFactory.html" class="hiddenlink" target="rightframe"><i>HttpResponseFactory</i></A><br>
+<!-- Class HttpResponseInterceptor -->
+<A HREF="org.apache.http.HttpResponseInterceptor.html" class="hiddenlink" target="rightframe"><i>HttpResponseInterceptor</i></A><br>
+<!-- Class HttpResponseInterceptorList -->
+<A HREF="org.apache.http.protocol.HttpResponseInterceptorList.html" class="hiddenlink" target="rightframe"><i>HttpResponseInterceptorList</i></A><br>
+<!-- Class HttpResponseParser -->
+<A HREF="org.apache.http.impl.io.HttpResponseParser.html" class="hiddenlink" target="rightframe">HttpResponseParser</A><br>
+<!-- Class HttpResponseWriter -->
+<A HREF="org.apache.http.impl.io.HttpResponseWriter.html" class="hiddenlink" target="rightframe">HttpResponseWriter</A><br>
+<!-- Class HttpRoute -->
+<A HREF="org.apache.http.conn.routing.HttpRoute.html" class="hiddenlink" target="rightframe">HttpRoute</A><br>
+<!-- Class HttpRouteDirector -->
+<A HREF="org.apache.http.conn.routing.HttpRouteDirector.html" class="hiddenlink" target="rightframe"><i>HttpRouteDirector</i></A><br>
+<!-- Class HttpRoutePlanner -->
+<A HREF="org.apache.http.conn.routing.HttpRoutePlanner.html" class="hiddenlink" target="rightframe"><i>HttpRoutePlanner</i></A><br>
+<!-- Class HttpServerConnection -->
+<A HREF="org.apache.http.HttpServerConnection.html" class="hiddenlink" target="rightframe"><i>HttpServerConnection</i></A><br>
+<!-- Class HttpService -->
+<A HREF="org.apache.http.protocol.HttpService.html" class="hiddenlink" target="rightframe">HttpService</A><br>
+<!-- Class HttpStatus -->
+<A HREF="org.apache.http.HttpStatus.html" class="hiddenlink" target="rightframe"><i>HttpStatus</i></A><br>
+<!-- Class HttpTrace -->
+<A HREF="org.apache.http.client.methods.HttpTrace.html" class="hiddenlink" target="rightframe">HttpTrace</A><br>
+<!-- Class HttpTransportMetrics -->
+<A HREF="org.apache.http.io.HttpTransportMetrics.html" class="hiddenlink" target="rightframe"><i>HttpTransportMetrics</i></A><br>
+<!-- Class HttpTransportMetricsImpl -->
+<A HREF="org.apache.http.impl.io.HttpTransportMetricsImpl.html" class="hiddenlink" target="rightframe">HttpTransportMetricsImpl</A><br>
+<!-- Class HttpUriRequest -->
+<A HREF="org.apache.http.client.methods.HttpUriRequest.html" class="hiddenlink" target="rightframe"><i>HttpUriRequest</i></A><br>
+<!-- Class HttpVersion -->
+<A HREF="org.apache.http.HttpVersion.html" class="hiddenlink" target="rightframe">HttpVersion</A><br>
+<!-- Class IdentityInputStream -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-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="org.apache.http.impl.io.IdentityInputStream.html" class="hiddenlink" target="rightframe">IdentityInputStream</A><br>
+<!-- Class IdentityOutputStream -->
+<A HREF="org.apache.http.impl.io.IdentityOutputStream.html" class="hiddenlink" target="rightframe">IdentityOutputStream</A><br>
+<!-- Class IdleConnectionHandler -->
+<A HREF="org.apache.http.impl.conn.IdleConnectionHandler.html" class="hiddenlink" target="rightframe">IdleConnectionHandler</A><br>
+<!-- Class InetAddressUtils -->
+<A HREF="org.apache.http.conn.util.InetAddressUtils.html" class="hiddenlink" target="rightframe">InetAddressUtils</A><br>
+<!-- Class InputStreamEntity -->
+<A HREF="org.apache.http.entity.InputStreamEntity.html" class="hiddenlink" target="rightframe">InputStreamEntity</A><br>
+<!-- Class Intent -->
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<!-- Class InvalidCredentialsException -->
+<A HREF="org.apache.http.auth.InvalidCredentialsException.html" class="hiddenlink" target="rightframe">InvalidCredentialsException</A><br>
+<!-- Class KeyguardManager -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-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="android.app.KeyguardManager.html" class="hiddenlink" target="rightframe">KeyguardManager</A><br>
+<!-- Class LangUtils -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-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="org.apache.http.util.LangUtils.html" class="hiddenlink" target="rightframe">LangUtils</A><br>
+<!-- Class LaxContentLengthStrategy -->
+<A HREF="org.apache.http.impl.entity.LaxContentLengthStrategy.html" class="hiddenlink" target="rightframe">LaxContentLengthStrategy</A><br>
+<!-- Class LayeredSocketFactory -->
+<A HREF="org.apache.http.conn.scheme.LayeredSocketFactory.html" class="hiddenlink" target="rightframe"><i>LayeredSocketFactory</i></A><br>
+<!-- Class LinearInterpolator -->
+<A HREF="android.view.animation.LinearInterpolator.html" class="hiddenlink" target="rightframe">LinearInterpolator</A><br>
+<!-- Class LineFormatter -->
+<A HREF="org.apache.http.message.LineFormatter.html" class="hiddenlink" target="rightframe"><i>LineFormatter</i></A><br>
+<!-- Class LineParser -->
+<A HREF="org.apache.http.message.LineParser.html" class="hiddenlink" target="rightframe"><i>LineParser</i></A><br>
+<!-- Class Log -->
+<A HREF="org.apache.commons.logging.Log.html" class="hiddenlink" target="rightframe"><i>Log</i></A><br>
+<!-- Class LoggingSessionInputBuffer -->
+<A HREF="org.apache.http.impl.conn.LoggingSessionInputBuffer.html" class="hiddenlink" target="rightframe">LoggingSessionInputBuffer</A><br>
+<!-- Class LoggingSessionOutputBuffer -->
+<A HREF="org.apache.http.impl.conn.LoggingSessionOutputBuffer.html" class="hiddenlink" target="rightframe">LoggingSessionOutputBuffer</A><br>
+<!-- Class MalformedChallengeException -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-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="org.apache.http.auth.MalformedChallengeException.html" class="hiddenlink" target="rightframe">MalformedChallengeException</A><br>
+<!-- Class MalformedChunkCodingException -->
+<A HREF="org.apache.http.MalformedChunkCodingException.html" class="hiddenlink" target="rightframe">MalformedChunkCodingException</A><br>
+<!-- Class MalformedCookieException -->
+<A HREF="org.apache.http.cookie.MalformedCookieException.html" class="hiddenlink" target="rightframe">MalformedCookieException</A><br>
+<!-- Class ManagedClientConnection -->
+<A HREF="org.apache.http.conn.ManagedClientConnection.html" class="hiddenlink" target="rightframe"><i>ManagedClientConnection</i></A><br>
+<!-- Class Manifest.permission -->
+<A HREF="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<!-- Class MediaDrm -->
+<A HREF="android.media.MediaDrm.html" class="hiddenlink" target="rightframe">MediaDrm</A><br>
+<!-- Class MediaSession -->
+<A HREF="android.media.session.MediaSession.html" class="hiddenlink" target="rightframe">MediaSession</A><br>
+<!-- Class Message -->
+<A HREF="android.os.Message.html" class="hiddenlink" target="rightframe">Message</A><br>
+<!-- Class MethodNotSupportedException -->
+<A HREF="org.apache.http.MethodNotSupportedException.html" class="hiddenlink" target="rightframe">MethodNotSupportedException</A><br>
+<!-- Class MultihomePlainSocketFactory -->
+<A HREF="org.apache.http.conn.MultihomePlainSocketFactory.html" class="hiddenlink" target="rightframe">MultihomePlainSocketFactory</A><br>
+<!-- Class NameValuePair -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-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="org.apache.http.NameValuePair.html" class="hiddenlink" target="rightframe"><i>NameValuePair</i></A><br>
+<!-- Class NetscapeDomainHandler -->
+<A HREF="org.apache.http.impl.cookie.NetscapeDomainHandler.html" class="hiddenlink" target="rightframe">NetscapeDomainHandler</A><br>
+<!-- Class NetscapeDraftHeaderParser -->
+<A HREF="org.apache.http.impl.cookie.NetscapeDraftHeaderParser.html" class="hiddenlink" target="rightframe">NetscapeDraftHeaderParser</A><br>
+<!-- Class NetscapeDraftSpec -->
+<A HREF="org.apache.http.impl.cookie.NetscapeDraftSpec.html" class="hiddenlink" target="rightframe">NetscapeDraftSpec</A><br>
+<!-- Class NetscapeDraftSpecFactory -->
+<A HREF="org.apache.http.impl.cookie.NetscapeDraftSpecFactory.html" class="hiddenlink" target="rightframe">NetscapeDraftSpecFactory</A><br>
+<!-- Class Network -->
+<A HREF="android.net.Network.html" class="hiddenlink" target="rightframe">Network</A><br>
+<!-- Method newInstance -->
+<i>newInstance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.AndroidHttpClient.html#android.net.http.AndroidHttpClient.newInstance_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.net.http.AndroidHttpClient
+</A></nobr><br>
+<!-- Method newInstance -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.AndroidHttpClient.html#android.net.http.AndroidHttpClient.newInstance_changed(java.lang.String, android.content.Context)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Context</code>)&nbsp;in&nbsp;android.net.http.AndroidHttpClient
+</A></nobr><br>
+<!-- Class NoConnectionReuseStrategy -->
+<A HREF="org.apache.http.impl.NoConnectionReuseStrategy.html" class="hiddenlink" target="rightframe">NoConnectionReuseStrategy</A><br>
+<!-- Class NoHttpResponseException -->
+<A HREF="org.apache.http.NoHttpResponseException.html" class="hiddenlink" target="rightframe">NoHttpResponseException</A><br>
+<!-- Class NonRepeatableRequestException -->
+<A HREF="org.apache.http.client.NonRepeatableRequestException.html" class="hiddenlink" target="rightframe">NonRepeatableRequestException</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.WearableExtender -->
+<A HREF="android.app.Notification.WearableExtender.html" class="hiddenlink" target="rightframe">Notification.WearableExtender</A><br>
+<!-- Class NTCredentials -->
+<A HREF="org.apache.http.auth.NTCredentials.html" class="hiddenlink" target="rightframe">NTCredentials</A><br>
+<!-- Class NTLMEngine -->
+<A HREF="org.apache.http.impl.auth.NTLMEngine.html" class="hiddenlink" target="rightframe"><i>NTLMEngine</i></A><br>
+<!-- Class NTLMEngineException -->
+<A HREF="org.apache.http.impl.auth.NTLMEngineException.html" class="hiddenlink" target="rightframe">NTLMEngineException</A><br>
+<!-- Class NTLMScheme -->
+<A HREF="org.apache.http.impl.auth.NTLMScheme.html" class="hiddenlink" target="rightframe">NTLMScheme</A><br>
+<!-- Class NTUserPrincipal -->
+<A HREF="org.apache.http.auth.NTUserPrincipal.html" class="hiddenlink" target="rightframe">NTUserPrincipal</A><br>
+<!-- Method open -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-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">
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.open_changed(java.lang.String)" class="hiddenlink" target="rightframe">open
+(<code>String</code>)</A></nobr><br>
+<!-- Class OperatedClientConnection -->
+<A HREF="org.apache.http.conn.OperatedClientConnection.html" class="hiddenlink" target="rightframe"><i>OperatedClientConnection</i></A><br>
+<!-- Package org.apache.commons.logging -->
+<A HREF="pkg_org.apache.commons.logging.html" class="hiddenlink" target="rightframe">org.apache.commons.logging</A><br>
+<!-- Package org.apache.http -->
+<A HREF="pkg_org.apache.http.html" class="hiddenlink" target="rightframe">org.apache.http</A><br>
+<!-- Package org.apache.http.auth -->
+<A HREF="pkg_org.apache.http.auth.html" class="hiddenlink" target="rightframe">org.apache.http.auth</A><br>
+<!-- Package org.apache.http.auth.params -->
+<A HREF="pkg_org.apache.http.auth.params.html" class="hiddenlink" target="rightframe">org.apache.http.auth.params</A><br>
+<!-- Package org.apache.http.client -->
+<A HREF="pkg_org.apache.http.client.html" class="hiddenlink" target="rightframe">org.apache.http.client</A><br>
+<!-- Package org.apache.http.client.entity -->
+<A HREF="pkg_org.apache.http.client.entity.html" class="hiddenlink" target="rightframe">org.apache.http.client.entity</A><br>
+<!-- Package org.apache.http.client.methods -->
+<A HREF="pkg_org.apache.http.client.methods.html" class="hiddenlink" target="rightframe">org.apache.http.client.methods</A><br>
+<!-- Package org.apache.http.client.params -->
+<A HREF="pkg_org.apache.http.client.params.html" class="hiddenlink" target="rightframe">org.apache.http.client.params</A><br>
+<!-- Package org.apache.http.client.protocol -->
+<A HREF="pkg_org.apache.http.client.protocol.html" class="hiddenlink" target="rightframe">org.apache.http.client.protocol</A><br>
+<!-- Package org.apache.http.client.utils -->
+<A HREF="pkg_org.apache.http.client.utils.html" class="hiddenlink" target="rightframe">org.apache.http.client.utils</A><br>
+<!-- Package org.apache.http.conn -->
+<A HREF="pkg_org.apache.http.conn.html" class="hiddenlink" target="rightframe">org.apache.http.conn</A><br>
+<!-- Package org.apache.http.conn.params -->
+<A HREF="pkg_org.apache.http.conn.params.html" class="hiddenlink" target="rightframe">org.apache.http.conn.params</A><br>
+<!-- Package org.apache.http.conn.routing -->
+<A HREF="pkg_org.apache.http.conn.routing.html" class="hiddenlink" target="rightframe">org.apache.http.conn.routing</A><br>
+<!-- Package org.apache.http.conn.scheme -->
+<A HREF="pkg_org.apache.http.conn.scheme.html" class="hiddenlink" target="rightframe">org.apache.http.conn.scheme</A><br>
+<!-- Package org.apache.http.conn.ssl -->
+<A HREF="pkg_org.apache.http.conn.ssl.html" class="hiddenlink" target="rightframe">org.apache.http.conn.ssl</A><br>
+<!-- Package org.apache.http.conn.util -->
+<A HREF="pkg_org.apache.http.conn.util.html" class="hiddenlink" target="rightframe">org.apache.http.conn.util</A><br>
+<!-- Package org.apache.http.cookie -->
+<A HREF="pkg_org.apache.http.cookie.html" class="hiddenlink" target="rightframe">org.apache.http.cookie</A><br>
+<!-- Package org.apache.http.cookie.params -->
+<A HREF="pkg_org.apache.http.cookie.params.html" class="hiddenlink" target="rightframe">org.apache.http.cookie.params</A><br>
+<!-- Package org.apache.http.entity -->
+<A HREF="pkg_org.apache.http.entity.html" class="hiddenlink" target="rightframe">org.apache.http.entity</A><br>
+<!-- Package org.apache.http.impl -->
+<A HREF="pkg_org.apache.http.impl.html" class="hiddenlink" target="rightframe">org.apache.http.impl</A><br>
+<!-- Package org.apache.http.impl.auth -->
+<A HREF="pkg_org.apache.http.impl.auth.html" class="hiddenlink" target="rightframe">org.apache.http.impl.auth</A><br>
+<!-- Package org.apache.http.impl.client -->
+<A HREF="pkg_org.apache.http.impl.client.html" class="hiddenlink" target="rightframe">org.apache.http.impl.client</A><br>
+<!-- Package org.apache.http.impl.conn -->
+<A HREF="pkg_org.apache.http.impl.conn.html" class="hiddenlink" target="rightframe">org.apache.http.impl.conn</A><br>
+<!-- Package org.apache.http.impl.conn.tsccm -->
+<A HREF="pkg_org.apache.http.impl.conn.tsccm.html" class="hiddenlink" target="rightframe">org.apache.http.impl.conn.tsccm</A><br>
+<!-- Package org.apache.http.impl.cookie -->
+<A HREF="pkg_org.apache.http.impl.cookie.html" class="hiddenlink" target="rightframe">org.apache.http.impl.cookie</A><br>
+<!-- Package org.apache.http.impl.entity -->
+<A HREF="pkg_org.apache.http.impl.entity.html" class="hiddenlink" target="rightframe">org.apache.http.impl.entity</A><br>
+<!-- Package org.apache.http.impl.io -->
+<A HREF="pkg_org.apache.http.impl.io.html" class="hiddenlink" target="rightframe">org.apache.http.impl.io</A><br>
+<!-- Package org.apache.http.io -->
+<A HREF="pkg_org.apache.http.io.html" class="hiddenlink" target="rightframe">org.apache.http.io</A><br>
+<!-- Package org.apache.http.message -->
+<A HREF="pkg_org.apache.http.message.html" class="hiddenlink" target="rightframe">org.apache.http.message</A><br>
+<!-- Package org.apache.http.params -->
+<A HREF="pkg_org.apache.http.params.html" class="hiddenlink" target="rightframe">org.apache.http.params</A><br>
+<!-- Package org.apache.http.protocol -->
+<A HREF="pkg_org.apache.http.protocol.html" class="hiddenlink" target="rightframe">org.apache.http.protocol</A><br>
+<!-- Package org.apache.http.util -->
+<A HREF="pkg_org.apache.http.util.html" class="hiddenlink" target="rightframe">org.apache.http.util</A><br>
+<!-- Class Outline -->
+<A HREF="android.graphics.Outline.html" class="hiddenlink" target="rightframe">Outline</A><br>
+<!-- Class OvershootInterpolator -->
+<A HREF="android.view.animation.OvershootInterpolator.html" class="hiddenlink" target="rightframe">OvershootInterpolator</A><br>
+<!-- Class PackageInfo -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-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="android.content.pm.PackageInfo.html" class="hiddenlink" target="rightframe">PackageInfo</A><br>
+<!-- Class PackageItemInfo -->
+<A HREF="android.content.pm.PackageItemInfo.html" class="hiddenlink" target="rightframe">PackageItemInfo</A><br>
+<!-- Class ParseException -->
+<A HREF="org.apache.http.ParseException.html" class="hiddenlink" target="rightframe">ParseException</A><br>
+<!-- Class ParserCursor -->
+<A HREF="org.apache.http.message.ParserCursor.html" class="hiddenlink" target="rightframe">ParserCursor</A><br>
+<!-- Class PathInterpolator -->
+<A HREF="android.view.animation.PathInterpolator.html" class="hiddenlink" target="rightframe">PathInterpolator</A><br>
+<!-- Class PlainSocketFactory -->
+<A HREF="org.apache.http.conn.scheme.PlainSocketFactory.html" class="hiddenlink" target="rightframe">PlainSocketFactory</A><br>
+<!-- Class PlaybackState -->
+<A HREF="android.media.session.PlaybackState.html" class="hiddenlink" target="rightframe">PlaybackState</A><br>
+<!-- Class PlaybackState.Builder -->
+<A HREF="android.media.session.PlaybackState.Builder.html" class="hiddenlink" target="rightframe">PlaybackState.Builder</A><br>
+<!-- Class PoolEntryRequest -->
+<A HREF="org.apache.http.impl.conn.tsccm.PoolEntryRequest.html" class="hiddenlink" target="rightframe"><i>PoolEntryRequest</i></A><br>
+<!-- Class PopupMenu -->
+<A HREF="android.widget.PopupMenu.html" class="hiddenlink" target="rightframe">PopupMenu</A><br>
+<!-- Class PopupWindow -->
+<A HREF="android.widget.PopupWindow.html" class="hiddenlink" target="rightframe">PopupWindow</A><br>
+<!-- Class ProtocolException -->
+<A HREF="org.apache.http.ProtocolException.html" class="hiddenlink" target="rightframe">ProtocolException</A><br>
+<!-- Class ProtocolVersion -->
+<A HREF="org.apache.http.ProtocolVersion.html" class="hiddenlink" target="rightframe">ProtocolVersion</A><br>
+<!-- Class ProxyInfo -->
+<A HREF="android.net.ProxyInfo.html" class="hiddenlink" target="rightframe">ProxyInfo</A><br>
+<!-- Class ProxySelectorRoutePlanner -->
+<A HREF="org.apache.http.impl.conn.ProxySelectorRoutePlanner.html" class="hiddenlink" target="rightframe">ProxySelectorRoutePlanner</A><br>
+<!-- Method putBoolean -->
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.putBoolean_changed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">putBoolean
+(<code>String, boolean</code>)</A></nobr><br>
+<!-- Method putBooleanArray -->
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.putBooleanArray_changed(java.lang.String, boolean[])" class="hiddenlink" target="rightframe">putBooleanArray
+(<code>String, 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="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-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="#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>
+<!-- Class ReasonPhraseCatalog -->
+<A HREF="org.apache.http.ReasonPhraseCatalog.html" class="hiddenlink" target="rightframe"><i>ReasonPhraseCatalog</i></A><br>
+<!-- Class RedirectException -->
+<A HREF="org.apache.http.client.RedirectException.html" class="hiddenlink" target="rightframe">RedirectException</A><br>
+<!-- Class RedirectHandler -->
+<A HREF="org.apache.http.client.RedirectHandler.html" class="hiddenlink" target="rightframe"><i>RedirectHandler</i></A><br>
+<!-- Class RedirectLocations -->
+<A HREF="org.apache.http.impl.client.RedirectLocations.html" class="hiddenlink" target="rightframe">RedirectLocations</A><br>
+<!-- Class RefQueueHandler -->
+<A HREF="org.apache.http.impl.conn.tsccm.RefQueueHandler.html" class="hiddenlink" target="rightframe"><i>RefQueueHandler</i></A><br>
+<!-- Class RefQueueWorker -->
+<A HREF="org.apache.http.impl.conn.tsccm.RefQueueWorker.html" class="hiddenlink" target="rightframe">RefQueueWorker</A><br>
+<!-- Method releaseIconForPageUrl -->
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.releaseIconForPageUrl_changed(java.lang.String)" class="hiddenlink" target="rightframe">releaseIconForPageUrl
+(<code>String</code>)</A></nobr><br>
+<!-- Class RemoteViews -->
+<A HREF="android.widget.RemoteViews.html" class="hiddenlink" target="rightframe">RemoteViews</A><br>
+<!-- Method removeAllCookie -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeAllCookie_changed()" class="hiddenlink" target="rightframe">removeAllCookie
+()</A></nobr><br>
+<!-- Method removeAllCookies -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeAllCookies_changed(android.webkit.ValueCallback<java.lang.Boolean>)" class="hiddenlink" target="rightframe">removeAllCookies
+(<code>ValueCallback&lt;Boolean&gt;</code>)</A></nobr><br>
+<!-- Method removeAllIcons -->
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.removeAllIcons_changed()" class="hiddenlink" target="rightframe">removeAllIcons
+()</A></nobr><br>
+<!-- Method removeExpiredCookie -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeExpiredCookie_changed()" class="hiddenlink" target="rightframe">removeExpiredCookie
+()</A></nobr><br>
+<!-- Method removeSessionCookie -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeSessionCookie_changed()" class="hiddenlink" target="rightframe">removeSessionCookie
+()</A></nobr><br>
+<!-- Method removeSessionCookies -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeSessionCookies_changed(android.webkit.ValueCallback<java.lang.Boolean>)" class="hiddenlink" target="rightframe">removeSessionCookies
+(<code>ValueCallback&lt;Boolean&gt;</code>)</A></nobr><br>
+<!-- Class RequestAddCookies -->
+<A HREF="org.apache.http.client.protocol.RequestAddCookies.html" class="hiddenlink" target="rightframe">RequestAddCookies</A><br>
+<!-- Class RequestConnControl -->
+<A HREF="org.apache.http.protocol.RequestConnControl.html" class="hiddenlink" target="rightframe">RequestConnControl</A><br>
+<!-- Class RequestContent -->
+<A HREF="org.apache.http.protocol.RequestContent.html" class="hiddenlink" target="rightframe">RequestContent</A><br>
+<!-- Class RequestDate -->
+<A HREF="org.apache.http.protocol.RequestDate.html" class="hiddenlink" target="rightframe">RequestDate</A><br>
+<!-- Class RequestDefaultHeaders -->
+<A HREF="org.apache.http.client.protocol.RequestDefaultHeaders.html" class="hiddenlink" target="rightframe">RequestDefaultHeaders</A><br>
+<!-- Class RequestDirector -->
+<A HREF="org.apache.http.client.RequestDirector.html" class="hiddenlink" target="rightframe"><i>RequestDirector</i></A><br>
+<!-- Class RequestExpectContinue -->
+<A HREF="org.apache.http.protocol.RequestExpectContinue.html" class="hiddenlink" target="rightframe">RequestExpectContinue</A><br>
+<!-- Method requestIconForPageUrl -->
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.requestIconForPageUrl_changed(java.lang.String, android.webkit.WebIconDatabase.IconListener)" class="hiddenlink" target="rightframe">requestIconForPageUrl
+(<code>String, IconListener</code>)</A></nobr><br>
+<!-- Class RequestLine -->
+<A HREF="org.apache.http.RequestLine.html" class="hiddenlink" target="rightframe"><i>RequestLine</i></A><br>
+<!-- Class RequestProxyAuthentication -->
+<A HREF="org.apache.http.client.protocol.RequestProxyAuthentication.html" class="hiddenlink" target="rightframe">RequestProxyAuthentication</A><br>
+<!-- Class RequestTargetAuthentication -->
+<A HREF="org.apache.http.client.protocol.RequestTargetAuthentication.html" class="hiddenlink" target="rightframe">RequestTargetAuthentication</A><br>
+<!-- Class RequestTargetHost -->
+<A HREF="org.apache.http.protocol.RequestTargetHost.html" class="hiddenlink" target="rightframe">RequestTargetHost</A><br>
+<!-- Class RequestUserAgent -->
+<A HREF="org.apache.http.protocol.RequestUserAgent.html" class="hiddenlink" target="rightframe">RequestUserAgent</A><br>
+<!-- Class RequestWrapper -->
+<A HREF="org.apache.http.impl.client.RequestWrapper.html" class="hiddenlink" target="rightframe">RequestWrapper</A><br>
+<!-- Class Resources -->
+<A HREF="android.content.res.Resources.html" class="hiddenlink" target="rightframe">Resources</A><br>
+<!-- Class ResponseConnControl -->
+<A HREF="org.apache.http.protocol.ResponseConnControl.html" class="hiddenlink" target="rightframe">ResponseConnControl</A><br>
+<!-- Class ResponseContent -->
+<A HREF="org.apache.http.protocol.ResponseContent.html" class="hiddenlink" target="rightframe">ResponseContent</A><br>
+<!-- Class ResponseDate -->
+<A HREF="org.apache.http.protocol.ResponseDate.html" class="hiddenlink" target="rightframe">ResponseDate</A><br>
+<!-- Class ResponseHandler -->
+<A HREF="org.apache.http.client.ResponseHandler.html" class="hiddenlink" target="rightframe"><i>ResponseHandler</i></A><br>
+<!-- Class ResponseProcessCookies -->
+<A HREF="org.apache.http.client.protocol.ResponseProcessCookies.html" class="hiddenlink" target="rightframe">ResponseProcessCookies</A><br>
+<!-- Class ResponseServer -->
+<A HREF="org.apache.http.protocol.ResponseServer.html" class="hiddenlink" target="rightframe">ResponseServer</A><br>
+<!-- Method retainIconForPageUrl -->
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.retainIconForPageUrl_changed(java.lang.String)" class="hiddenlink" target="rightframe">retainIconForPageUrl
+(<code>String</code>)</A></nobr><br>
+<!-- Class RFC2109DomainHandler -->
+<A HREF="org.apache.http.impl.cookie.RFC2109DomainHandler.html" class="hiddenlink" target="rightframe">RFC2109DomainHandler</A><br>
+<!-- Class RFC2109Spec -->
+<A HREF="org.apache.http.impl.cookie.RFC2109Spec.html" class="hiddenlink" target="rightframe">RFC2109Spec</A><br>
+<!-- Class RFC2109SpecFactory -->
+<A HREF="org.apache.http.impl.cookie.RFC2109SpecFactory.html" class="hiddenlink" target="rightframe">RFC2109SpecFactory</A><br>
+<!-- Class RFC2109VersionHandler -->
+<A HREF="org.apache.http.impl.cookie.RFC2109VersionHandler.html" class="hiddenlink" target="rightframe">RFC2109VersionHandler</A><br>
+<!-- Class RFC2617Scheme -->
+<A HREF="org.apache.http.impl.auth.RFC2617Scheme.html" class="hiddenlink" target="rightframe">RFC2617Scheme</A><br>
+<!-- Class RFC2965CommentUrlAttributeHandler -->
+<A HREF="org.apache.http.impl.cookie.RFC2965CommentUrlAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965CommentUrlAttributeHandler</A><br>
+<!-- Class RFC2965DiscardAttributeHandler -->
+<A HREF="org.apache.http.impl.cookie.RFC2965DiscardAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965DiscardAttributeHandler</A><br>
+<!-- Class RFC2965DomainAttributeHandler -->
+<A HREF="org.apache.http.impl.cookie.RFC2965DomainAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965DomainAttributeHandler</A><br>
+<!-- Class RFC2965PortAttributeHandler -->
+<A HREF="org.apache.http.impl.cookie.RFC2965PortAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965PortAttributeHandler</A><br>
+<!-- Class RFC2965Spec -->
+<A HREF="org.apache.http.impl.cookie.RFC2965Spec.html" class="hiddenlink" target="rightframe">RFC2965Spec</A><br>
+<!-- Class RFC2965SpecFactory -->
+<A HREF="org.apache.http.impl.cookie.RFC2965SpecFactory.html" class="hiddenlink" target="rightframe">RFC2965SpecFactory</A><br>
+<!-- Class RFC2965VersionAttributeHandler -->
+<A HREF="org.apache.http.impl.cookie.RFC2965VersionAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965VersionAttributeHandler</A><br>
+<!-- Class RoutedRequest -->
+<A HREF="org.apache.http.impl.client.RoutedRequest.html" class="hiddenlink" target="rightframe">RoutedRequest</A><br>
+<!-- Class RouteInfo -->
+<A HREF="org.apache.http.conn.routing.RouteInfo.html" class="hiddenlink" target="rightframe"><i>RouteInfo</i></A><br>
+<!-- Class RouteSpecificPool -->
+<A HREF="org.apache.http.impl.conn.tsccm.RouteSpecificPool.html" class="hiddenlink" target="rightframe">RouteSpecificPool</A><br>
+<!-- Class RouteTracker -->
+<A HREF="org.apache.http.conn.routing.RouteTracker.html" class="hiddenlink" target="rightframe">RouteTracker</A><br>
+<!-- Class Scheme -->
+<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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.conn.scheme.Scheme.html" class="hiddenlink" target="rightframe">Scheme</A><br>
+<!-- Class SchemeRegistry -->
+<A HREF="org.apache.http.conn.scheme.SchemeRegistry.html" class="hiddenlink" target="rightframe">SchemeRegistry</A><br>
+<!-- Class SerializableEntity -->
+<A HREF="org.apache.http.entity.SerializableEntity.html" class="hiddenlink" target="rightframe">SerializableEntity</A><br>
+<!-- Class SessionInputBuffer -->
+<A HREF="org.apache.http.io.SessionInputBuffer.html" class="hiddenlink" target="rightframe"><i>SessionInputBuffer</i></A><br>
+<!-- Class SessionOutputBuffer -->
+<A HREF="org.apache.http.io.SessionOutputBuffer.html" class="hiddenlink" target="rightframe"><i>SessionOutputBuffer</i></A><br>
+<!-- Method setAcceptCookie -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.setAcceptCookie_changed(boolean)" class="hiddenlink" target="rightframe">setAcceptCookie
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAcceptThirdPartyCookies -->
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.setAcceptThirdPartyCookies_changed(android.webkit.WebView, boolean)" class="hiddenlink" target="rightframe">setAcceptThirdPartyCookies
+(<code>WebView, boolean</code>)</A></nobr><br>
+<!-- Method setAllowContentAccess -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAllowContentAccess_changed(boolean)" class="hiddenlink" target="rightframe">setAllowContentAccess
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAllowFileAccess -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAllowFileAccess_changed(boolean)" class="hiddenlink" target="rightframe">setAllowFileAccess
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAppCacheEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAppCacheEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setAppCacheEnabled
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAppCacheMaxSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAppCacheMaxSize_changed(long)" class="hiddenlink" target="rightframe">setAppCacheMaxSize
+(<code>long</code>)</A></nobr><br>
+<!-- Method setAppCachePath -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAppCachePath_changed(java.lang.String)" class="hiddenlink" target="rightframe">setAppCachePath
+(<code>String</code>)</A></nobr><br>
+<!-- Method setBlockNetworkImage -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setBlockNetworkImage_changed(boolean)" class="hiddenlink" target="rightframe">setBlockNetworkImage
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setBlockNetworkLoads -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setBlockNetworkLoads_changed(boolean)" class="hiddenlink" target="rightframe">setBlockNetworkLoads
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setBuiltInZoomControls -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setBuiltInZoomControls_changed(boolean)" class="hiddenlink" target="rightframe">setBuiltInZoomControls
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setCacheMode -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setCacheMode_changed(int)" class="hiddenlink" target="rightframe">setCacheMode
+(<code>int</code>)</A></nobr><br>
+<!-- Class SetCookie -->
+<A HREF="org.apache.http.cookie.SetCookie.html" class="hiddenlink" target="rightframe"><i>SetCookie</i></A><br>
+<!-- Method setCookie -->
+<i>setCookie</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.setCookie_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, String</code>)&nbsp;in&nbsp;android.webkit.CookieManager
+</A></nobr><br>
+<!-- Method setCookie -->
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.setCookie_changed(java.lang.String, java.lang.String, android.webkit.ValueCallback<java.lang.Boolean>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, String, ValueCallback&lt;Boolean&gt;</code>)&nbsp;in&nbsp;android.webkit.CookieManager
+</A></nobr><br>
+<!-- Class SetCookie2 -->
+<A HREF="org.apache.http.cookie.SetCookie2.html" class="hiddenlink" target="rightframe"><i>SetCookie2</i></A><br>
+<!-- Method setCursiveFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setCursiveFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setCursiveFontFamily
+(<code>String</code>)</A></nobr><br>
+<!-- Method setDatabaseEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDatabaseEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setDatabaseEnabled
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setDatabasePath -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDatabasePath_changed(java.lang.String)" class="hiddenlink" target="rightframe">setDatabasePath
+(<code>String</code>)</A></nobr><br>
+<!-- Method setDefaultFixedFontSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDefaultFixedFontSize_changed(int)" class="hiddenlink" target="rightframe">setDefaultFixedFontSize
+(<code>int</code>)</A></nobr><br>
+<!-- Method setDefaultFontSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDefaultFontSize_changed(int)" class="hiddenlink" target="rightframe">setDefaultFontSize
+(<code>int</code>)</A></nobr><br>
+<!-- Method setDefaultTextEncodingName -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDefaultTextEncodingName_changed(java.lang.String)" class="hiddenlink" target="rightframe">setDefaultTextEncodingName
+(<code>String</code>)</A></nobr><br>
+<!-- Method setDefaultZoom -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDefaultZoom_changed(android.webkit.WebSettings.ZoomDensity)" class="hiddenlink" target="rightframe">setDefaultZoom
+(<code>ZoomDensity</code>)</A></nobr><br>
+<!-- Method setDisplayZoomControls -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDisplayZoomControls_changed(boolean)" class="hiddenlink" target="rightframe">setDisplayZoomControls
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setDomStorageEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDomStorageEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setDomStorageEnabled
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setEnableSmoothTransition -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setEnableSmoothTransition_changed(boolean)" class="hiddenlink" target="rightframe">setEnableSmoothTransition
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setFantasyFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setFantasyFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setFantasyFontFamily
+(<code>String</code>)</A></nobr><br>
+<!-- Method setFixedFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setFixedFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setFixedFontFamily
+(<code>String</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 setGeolocationEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setGeolocationEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setGeolocationEnabled
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setJavaScriptCanOpenWindowsAutomatically -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setJavaScriptCanOpenWindowsAutomatically_changed(boolean)" class="hiddenlink" target="rightframe">setJavaScriptCanOpenWindowsAutomatically
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setJavaScriptEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setJavaScriptEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setJavaScriptEnabled
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setLayoutAlgorithm -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setLayoutAlgorithm_changed(android.webkit.WebSettings.LayoutAlgorithm)" class="hiddenlink" target="rightframe">setLayoutAlgorithm
+(<code>LayoutAlgorithm</code>)</A></nobr><br>
+<!-- Method setLightTouchEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setLightTouchEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setLightTouchEnabled
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setLoadsImagesAutomatically -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setLoadsImagesAutomatically_changed(boolean)" class="hiddenlink" target="rightframe">setLoadsImagesAutomatically
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setLoadWithOverviewMode -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setLoadWithOverviewMode_changed(boolean)" class="hiddenlink" target="rightframe">setLoadWithOverviewMode
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setMediaPlaybackRequiresUserGesture -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setMediaPlaybackRequiresUserGesture_changed(boolean)" class="hiddenlink" target="rightframe">setMediaPlaybackRequiresUserGesture
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setMinimumFontSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setMinimumFontSize_changed(int)" class="hiddenlink" target="rightframe">setMinimumFontSize
+(<code>int</code>)</A></nobr><br>
+<!-- Method setMinimumLogicalFontSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setMinimumLogicalFontSize_changed(int)" class="hiddenlink" target="rightframe">setMinimumLogicalFontSize
+(<code>int</code>)</A></nobr><br>
+<!-- Method setNeedInitialFocus -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setNeedInitialFocus_changed(boolean)" class="hiddenlink" target="rightframe">setNeedInitialFocus
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setPluginState -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setPluginState_changed(android.webkit.WebSettings.PluginState)" class="hiddenlink" target="rightframe">setPluginState
+(<code>PluginState</code>)</A></nobr><br>
+<!-- Method setRenderPriority -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setRenderPriority_changed(android.webkit.WebSettings.RenderPriority)" class="hiddenlink" target="rightframe">setRenderPriority
+(<code>RenderPriority</code>)</A></nobr><br>
+<!-- Method setSansSerifFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSansSerifFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setSansSerifFontFamily
+(<code>String</code>)</A></nobr><br>
+<!-- Method setSaveFormData -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSaveFormData_changed(boolean)" class="hiddenlink" target="rightframe">setSaveFormData
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setSavePassword -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSavePassword_changed(boolean)" class="hiddenlink" target="rightframe">setSavePassword
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setSerifFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSerifFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setSerifFontFamily
+(<code>String</code>)</A></nobr><br>
+<!-- Method setStandardFontFamily -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setStandardFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setStandardFontFamily
+(<code>String</code>)</A></nobr><br>
+<!-- Method setSupportMultipleWindows -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSupportMultipleWindows_changed(boolean)" class="hiddenlink" target="rightframe">setSupportMultipleWindows
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setSupportZoom -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSupportZoom_changed(boolean)" class="hiddenlink" target="rightframe">setSupportZoom
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setTextZoom -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setTextZoom_changed(int)" class="hiddenlink" target="rightframe">setTextZoom
+(<code>int</code>)</A></nobr><br>
+<!-- Class Settings -->
+<A HREF="android.provider.Settings.html" class="hiddenlink" target="rightframe">Settings</A><br>
+<!-- Method setUserAgentString -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setUserAgentString_changed(java.lang.String)" class="hiddenlink" target="rightframe">setUserAgentString
+(<code>String</code>)</A></nobr><br>
+<!-- Method setUseWideViewPort -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setUseWideViewPort_changed(boolean)" class="hiddenlink" target="rightframe">setUseWideViewPort
+(<code>boolean</code>)</A></nobr><br>
+<!-- Class SingleClientConnManager -->
+<A HREF="org.apache.http.impl.conn.SingleClientConnManager.html" class="hiddenlink" target="rightframe">SingleClientConnManager</A><br>
+<!-- Class SM -->
+<A HREF="org.apache.http.cookie.SM.html" class="hiddenlink" target="rightframe"><i>SM</i></A><br>
+<!-- Class SmsManager -->
+<A HREF="android.telephony.SmsManager.html" class="hiddenlink" target="rightframe">SmsManager</A><br>
+<!-- Class SocketFactory -->
+<A HREF="org.apache.http.conn.scheme.SocketFactory.html" class="hiddenlink" target="rightframe"><i>SocketFactory</i></A><br>
+<!-- Class SocketHttpClientConnection -->
+<A HREF="org.apache.http.impl.SocketHttpClientConnection.html" class="hiddenlink" target="rightframe">SocketHttpClientConnection</A><br>
+<!-- Class SocketHttpServerConnection -->
+<A HREF="org.apache.http.impl.SocketHttpServerConnection.html" class="hiddenlink" target="rightframe">SocketHttpServerConnection</A><br>
+<!-- Class SocketInputBuffer -->
+<A HREF="org.apache.http.impl.io.SocketInputBuffer.html" class="hiddenlink" target="rightframe">SocketInputBuffer</A><br>
+<!-- Class SocketOutputBuffer -->
+<A HREF="org.apache.http.impl.io.SocketOutputBuffer.html" class="hiddenlink" target="rightframe">SocketOutputBuffer</A><br>
+<!-- Class SSLCertificateSocketFactory -->
+<A HREF="android.net.SSLCertificateSocketFactory.html" class="hiddenlink" target="rightframe">SSLCertificateSocketFactory</A><br>
+<!-- Class SSLSocketFactory -->
+<A HREF="org.apache.http.conn.ssl.SSLSocketFactory.html" class="hiddenlink" target="rightframe">SSLSocketFactory</A><br>
+<!-- Class StateListAnimator -->
+<A HREF="android.animation.StateListAnimator.html" class="hiddenlink" target="rightframe">StateListAnimator</A><br>
+<!-- Class StatusLine -->
+<A HREF="org.apache.http.StatusLine.html" class="hiddenlink" target="rightframe"><i>StatusLine</i></A><br>
+<!-- Class StrictContentLengthStrategy -->
+<A HREF="org.apache.http.impl.entity.StrictContentLengthStrategy.html" class="hiddenlink" target="rightframe">StrictContentLengthStrategy</A><br>
+<!-- Class StrictHostnameVerifier -->
+<A HREF="org.apache.http.conn.ssl.StrictHostnameVerifier.html" class="hiddenlink" target="rightframe">StrictHostnameVerifier</A><br>
+<!-- Class StringEntity -->
+<A HREF="org.apache.http.entity.StringEntity.html" class="hiddenlink" target="rightframe">StringEntity</A><br>
+<!-- Method supportMultipleWindows -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.supportMultipleWindows_changed()" class="hiddenlink" target="rightframe">supportMultipleWindows
+()</A></nobr><br>
+<!-- Method supportZoom -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.supportZoom_changed()" class="hiddenlink" target="rightframe">supportZoom
+()</A></nobr><br>
+<!-- Class SyncBasicHttpContext -->
+<A HREF="org.apache.http.protocol.SyncBasicHttpContext.html" class="hiddenlink" target="rightframe">SyncBasicHttpContext</A><br>
+<!-- Class Telephony.BaseMmsColumns -->
+<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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.provider.Telephony.BaseMmsColumns.html" class="hiddenlink" target="rightframe"><i>Telephony.BaseMmsColumns</i></A><br>
+<!-- Class Telephony.Carriers -->
+<A HREF="android.provider.Telephony.Carriers.html" class="hiddenlink" target="rightframe">Telephony.Carriers</A><br>
+<!-- Class Telephony.MmsSms.PendingMessages -->
+<A HREF="android.provider.Telephony.MmsSms.PendingMessages.html" class="hiddenlink" target="rightframe">Telephony.MmsSms.PendingMessages</A><br>
+<!-- Class Telephony.TextBasedSmsColumns -->
+<A HREF="android.provider.Telephony.TextBasedSmsColumns.html" class="hiddenlink" target="rightframe"><i>Telephony.TextBasedSmsColumns</i></A><br>
+<!-- Class TelephonyManager -->
+<A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br>
+<!-- Class ThreadSafeClientConnManager -->
+<A HREF="org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager.html" class="hiddenlink" target="rightframe">ThreadSafeClientConnManager</A><br>
+<!-- Class Time -->
+<A HREF="android.text.format.Time.html" class="hiddenlink" target="rightframe">Time</A><br>
+<!-- Class TokenIterator -->
+<A HREF="org.apache.http.TokenIterator.html" class="hiddenlink" target="rightframe"><i>TokenIterator</i></A><br>
+<!-- Class TunnelRefusedException -->
+<A HREF="org.apache.http.impl.client.TunnelRefusedException.html" class="hiddenlink" target="rightframe">TunnelRefusedException</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 TypedArray -->
+<A HREF="android.content.res.TypedArray.html" class="hiddenlink" target="rightframe">TypedArray</A><br>
+<!-- Class TypedValue -->
+<A HREF="android.util.TypedValue.html" class="hiddenlink" target="rightframe">TypedValue</A><br>
+<!-- Class UnsupportedDigestAlgorithmException -->
+<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="#R"><font size="-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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.impl.auth.UnsupportedDigestAlgorithmException.html" class="hiddenlink" target="rightframe">UnsupportedDigestAlgorithmException</A><br>
+<!-- Class UnsupportedHttpVersionException -->
+<A HREF="org.apache.http.UnsupportedHttpVersionException.html" class="hiddenlink" target="rightframe">UnsupportedHttpVersionException</A><br>
+<!-- Class UriPatternMatcher -->
+<A HREF="org.apache.http.protocol.UriPatternMatcher.html" class="hiddenlink" target="rightframe">UriPatternMatcher</A><br>
+<!-- Class URIUtils -->
+<A HREF="org.apache.http.client.utils.URIUtils.html" class="hiddenlink" target="rightframe">URIUtils</A><br>
+<!-- Class UrlEncodedFormEntity -->
+<A HREF="org.apache.http.client.entity.UrlEncodedFormEntity.html" class="hiddenlink" target="rightframe">UrlEncodedFormEntity</A><br>
+<!-- Class URLEncodedUtils -->
+<A HREF="org.apache.http.client.utils.URLEncodedUtils.html" class="hiddenlink" target="rightframe">URLEncodedUtils</A><br>
+<!-- Class UserManager -->
+<A HREF="android.os.UserManager.html" class="hiddenlink" target="rightframe">UserManager</A><br>
+<!-- Class UsernamePasswordCredentials -->
+<A HREF="org.apache.http.auth.UsernamePasswordCredentials.html" class="hiddenlink" target="rightframe">UsernamePasswordCredentials</A><br>
+<!-- Class UserTokenHandler -->
+<A HREF="org.apache.http.client.UserTokenHandler.html" class="hiddenlink" target="rightframe"><i>UserTokenHandler</i></A><br>
+<!-- Class ValueAnimator -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-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="android.animation.ValueAnimator.html" class="hiddenlink" target="rightframe">ValueAnimator</A><br>
+<!-- Class VersionInfo -->
+<A HREF="org.apache.http.util.VersionInfo.html" class="hiddenlink" target="rightframe">VersionInfo</A><br>
+<!-- Class View -->
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</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 VpnService -->
+<A HREF="android.net.VpnService.html" class="hiddenlink" target="rightframe">VpnService</A><br>
+<!-- Class VpnService.Builder -->
+<A HREF="android.net.VpnService.Builder.html" class="hiddenlink" target="rightframe">VpnService.Builder</A><br>
+<!-- Class WaitingThread -->
+<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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.impl.conn.tsccm.WaitingThread.html" class="hiddenlink" target="rightframe">WaitingThread</A><br>
+<!-- Class WaitingThreadAborter -->
+<A HREF="org.apache.http.impl.conn.tsccm.WaitingThreadAborter.html" class="hiddenlink" target="rightframe">WaitingThreadAborter</A><br>
+<!-- Class WebBackForwardList -->
+<A HREF="android.webkit.WebBackForwardList.html" class="hiddenlink" target="rightframe">WebBackForwardList</A><br>
+<!-- Class WebHistoryItem -->
+<A HREF="android.webkit.WebHistoryItem.html" class="hiddenlink" target="rightframe">WebHistoryItem</A><br>
+<!-- Class WebIconDatabase -->
+<A HREF="android.webkit.WebIconDatabase.html" class="hiddenlink" target="rightframe">WebIconDatabase</A><br>
+<!-- Class WebSettings -->
+<A HREF="android.webkit.WebSettings.html" class="hiddenlink" target="rightframe">WebSettings</A><br>
+<!-- Class WebViewDatabase -->
+<A HREF="android.webkit.WebViewDatabase.html" class="hiddenlink" target="rightframe">WebViewDatabase</A><br>
+<!-- Class Window -->
+<A HREF="android.view.Window.html" class="hiddenlink" target="rightframe">Window</A><br>
+<!-- Class WindowManager.LayoutParams -->
+<A HREF="android.view.WindowManager.LayoutParams.html" class="hiddenlink" target="rightframe">WindowManager.LayoutParams</A><br>
+<!-- Class Wire -->
+<A HREF="org.apache.http.impl.conn.Wire.html" class="hiddenlink" target="rightframe">Wire</A><br>
+<!-- Class X509HostnameVerifier -->
+<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="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-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">
+<A HREF="org.apache.http.conn.ssl.X509HostnameVerifier.html" class="hiddenlink" target="rightframe"><i>X509HostnameVerifier</i></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/22/changes/alldiffs_index_removals.html b/docs/html/sdk/api_diff/22/changes/alldiffs_index_removals.html
new file mode 100644
index 0000000..ad65e84
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/alldiffs_index_removals.html
@@ -0,0 +1,266 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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>
+<!-- Field AM_PM -->
+<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="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#M"><font size="-2">M</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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.AM_PM" class="hiddenlink" target="rightframe"><strike>AM_PM</strike></A>
+</nobr><br>
+<!-- Field CAPITAL_AM_PM -->
+<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="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#M"><font size="-2">M</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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.CAPITAL_AM_PM" class="hiddenlink" target="rightframe"><strike>CAPITAL_AM_PM</strike></A>
+</nobr><br>
+<!-- Field DATE -->
+<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="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#M"><font size="-2">M</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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.DATE" class="hiddenlink" target="rightframe"><strike>DATE</strike></A>
+</nobr><br>
+<!-- Field DAY -->
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.DAY" class="hiddenlink" target="rightframe"><strike>DAY</strike></A>
+</nobr><br>
+<!-- Method getBoolean -->
+<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="#H"><font size="-2">H</font></a> 
+<a href="#M"><font size="-2">M</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="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>getBoolean</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getBoolean_removed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String</code>)</strike>&nbsp;in&nbsp;android.os.Bundle
+</A></nobr><br>
+<!-- Method getBoolean -->
+&nbsp;&nbsp;<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getBoolean_removed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String, boolean</code>)</strike>&nbsp;in&nbsp;android.os.Bundle
+</A></nobr><br>
+<!-- Field HOUR -->
+<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="#G"><font size="-2">G</font></a> 
+<a href="#M"><font size="-2">M</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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.HOUR" class="hiddenlink" target="rightframe"><strike>HOUR</strike></A>
+</nobr><br>
+<!-- Field HOUR_OF_DAY -->
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.HOUR_OF_DAY" class="hiddenlink" target="rightframe"><strike>HOUR_OF_DAY</strike></A>
+</nobr><br>
+<!-- Field MINUTE -->
+<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="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.MINUTE" class="hiddenlink" target="rightframe"><strike>MINUTE</strike></A>
+</nobr><br>
+<!-- Field MONTH -->
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.MONTH" class="hiddenlink" target="rightframe"><strike>MONTH</strike></A>
+</nobr><br>
+<!-- Field QUOTE -->
+<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="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.QUOTE" class="hiddenlink" target="rightframe"><strike>QUOTE</strike></A>
+</nobr><br>
+<!-- Method removeAccount -->
+<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="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#M"><font size="-2">M</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="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.removeAccount_removed(android.accounts.Account, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)" class="hiddenlink" target="rightframe"><strike>removeAccount</strike>
+(<code>Account, AccountManagerCallback&lt;Boolean&gt;, Handler</code>)</A></nobr><br>
+<!-- Field SECONDS -->
+<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="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#M"><font size="-2">M</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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.SECONDS" class="hiddenlink" target="rightframe"><strike>SECONDS</strike></A>
+</nobr><br>
+<!-- Field STANDALONE_MONTH -->
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.STANDALONE_MONTH" class="hiddenlink" target="rightframe"><strike>STANDALONE_MONTH</strike></A>
+</nobr><br>
+<!-- Field TIME_ZONE -->
+<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="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#M"><font size="-2">M</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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.TIME_ZONE" class="hiddenlink" target="rightframe"><strike>TIME_ZONE</strike></A>
+</nobr><br>
+<!-- Field YEAR -->
+<A NAME="Y"></A>
+<br><font size="+2">Y</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="#H"><font size="-2">H</font></a> 
+<a href="#M"><font size="-2">M</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.text.format.DateFormat.html#android.text.format.DateFormat.YEAR" class="hiddenlink" target="rightframe"><strike>YEAR</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/22/changes/android.Manifest.permission.html b/docs/html/sdk/api_diff/22/changes/android.Manifest.permission.html
new file mode 100644
index 0000000..50a203d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.Manifest.permission.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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="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_CARRIER_MESSAGING_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#BIND_CARRIER_MESSAGING_SERVICE" target="_top"><code>BIND_CARRIER_MESSAGING_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/22/changes/android.R.attr.html b/docs/html/sdk/api_diff/22/changes/android.R.attr.html
new file mode 100644
index 0000000..3512c1a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.R.attr.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.accessibilityTraversalAfter"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#accessibilityTraversalAfter" target="_top"><code>accessibilityTraversalAfter</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.accessibilityTraversalBefore"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#accessibilityTraversalBefore" target="_top"><code>accessibilityTraversalBefore</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.collapseContentDescription"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#collapseContentDescription" target="_top"><code>collapseContentDescription</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.dialogPreferredPadding"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#dialogPreferredPadding" target="_top"><code>dialogPreferredPadding</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.resizeClip"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#resizeClip" target="_top"><code>resizeClip</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.revisionCode"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#revisionCode" target="_top"><code>revisionCode</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.searchHintIcon"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#searchHintIcon" target="_top"><code>searchHintIcon</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/22/changes/android.R.style.html b/docs/html/sdk/api_diff/22/changes/android.R.style.html
new file mode 100644
index 0000000..c52e1f9
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.Theme_DeviceDefault_Dialog_Alert"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Dialog_Alert" target="_top"><code>Theme_DeviceDefault_Dialog_Alert</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Light_Dialog_Alert"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Light_Dialog_Alert" target="_top"><code>Theme_DeviceDefault_Light_Dialog_Alert</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/22/changes/android.accounts.AccountManager.html b/docs/html/sdk/api_diff/22/changes/android.accounts.AccountManager.html
new file mode 100644
index 0000000..cedd99e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.accounts.AccountManager.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.accounts.AccountManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.accounts.<A HREF="../../../../reference/android/accounts/AccountManager.html" target="_top"><font size="+2"><code>AccountManager</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.accounts.AccountManager.removeAccount_removed(android.accounts.Account, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)"></A>
+  <nobr><code>AccountManagerFuture&lt;Boolean&gt;</code>&nbsp;removeAccount(<code>Account,</nobr> AccountManagerCallback&lt;Boolean&gt;<nobr>,</nobr> Handler<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.accounts.AccountManager.removeAccount_added(android.accounts.Account, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)"></A>
+  <nobr><code>AccountManagerFuture&lt;Bundle&gt;</code>&nbsp;<A HREF="../../../../reference/android/accounts/AccountManager.html#removeAccount(android.accounts.Account, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)" target="_top"><code>removeAccount</code></A>(<code>Account,</nobr> Activity<nobr>,</nobr> AccountManagerCallback&lt;Bundle&gt;<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.accounts.AccountManager.removeAccount_added(android.accounts.Account, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)"></A>
+  <nobr><code>AccountManagerFuture&lt;Boolean&gt;</code>&nbsp;<A HREF="../../../../reference/android/accounts/AccountManager.html#removeAccount(android.accounts.Account, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)" target="_top"><code>removeAccount</code></A>(<code>Account,</nobr> AccountManagerCallback&lt;Boolean&gt;<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.accounts.AccountManager.removeAccountExplicitly_added(android.accounts.Account)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/accounts/AccountManager.html#removeAccountExplicitly(android.accounts.Account)" target="_top"><code>removeAccountExplicitly</code></A>(<code>Account</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/22/changes/android.animation.StateListAnimator.html b/docs/html/sdk/api_diff/22/changes/android.animation.StateListAnimator.html
new file mode 100644
index 0000000..0558e09
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.animation.StateListAnimator.html
@@ -0,0 +1,128 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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.StateListAnimator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/StateListAnimator.html" target="_top"><font size="+2"><code>StateListAnimator</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.lang.Cloneable</code>.<br></font>
+<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.animation.StateListAnimator.clone_changed()"></A>
+  <nobr><code>StateListAnimator</code>&nbsp;<A HREF="../../../../reference/android/animation/StateListAnimator.html#clone()" target="_top"><code>clone</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>Object</code> to <code>StateListAnimator</code>.<br>
+ Change in exceptions thrown from <code>java.lang.CloneNotSupportedException</code> to no exceptions.<br>
+ Method was inherited from <code>java.lang.Object</code>, but is now defined locally. Change of visibility from protected to public.<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/22/changes/android.animation.ValueAnimator.html b/docs/html/sdk/api_diff/22/changes/android.animation.ValueAnimator.html
new file mode 100644
index 0000000..6b29adf
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.animation.ValueAnimator.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.animation.ValueAnimator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/ValueAnimator.html" target="_top"><font size="+2"><code>ValueAnimator</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.ValueAnimator.setCurrentFraction_added(float)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/animation/ValueAnimator.html#setCurrentFraction(float)" target="_top"><code>setCurrentFraction</code></A>(<code>float</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/22/changes/android.app.Activity.html b/docs/html/sdk/api_diff/22/changes/android.app.Activity.html
new file mode 100644
index 0000000..e829491
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.app.Activity.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.getReferrer_added()"></A>
+  <nobr><code>Uri</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#getReferrer()" target="_top"><code>getReferrer</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/22/changes/android.app.KeyguardManager.html b/docs/html/sdk/api_diff/22/changes/android.app.KeyguardManager.html
new file mode 100644
index 0000000..7222495
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.app.KeyguardManager.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.KeyguardManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/KeyguardManager.html" target="_top"><font size="+2"><code>KeyguardManager</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.KeyguardManager.isDeviceLocked_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/KeyguardManager.html#isDeviceLocked()" target="_top"><code>isDeviceLocked</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/22/changes/android.app.Notification.Action.WearableExtender.html b/docs/html/sdk/api_diff/22/changes/android.app.Notification.Action.WearableExtender.html
new file mode 100644
index 0000000..9838256
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.app.Notification.Action.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.getCancelLabel_added()"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Action.WearableExtender.html#getCancelLabel()" target="_top"><code>getCancelLabel</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.getConfirmLabel_added()"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Action.WearableExtender.html#getConfirmLabel()" target="_top"><code>getConfirmLabel</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.getInProgressLabel_added()"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Action.WearableExtender.html#getInProgressLabel()" target="_top"><code>getInProgressLabel</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.setCancelLabel_added(java.lang.CharSequence)"></A>
+  <nobr><code>WearableExtender</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Action.WearableExtender.html#setCancelLabel(java.lang.CharSequence)" target="_top"><code>setCancelLabel</code></A>(<code>CharSequence</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Action.WearableExtender.setConfirmLabel_added(java.lang.CharSequence)"></A>
+  <nobr><code>WearableExtender</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Action.WearableExtender.html#setConfirmLabel(java.lang.CharSequence)" target="_top"><code>setConfirmLabel</code></A>(<code>CharSequence</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.Action.WearableExtender.setInProgressLabel_added(java.lang.CharSequence)"></A>
+  <nobr><code>WearableExtender</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Action.WearableExtender.html#setInProgressLabel(java.lang.CharSequence)" target="_top"><code>setInProgressLabel</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/22/changes/android.app.Notification.WearableExtender.html b/docs/html/sdk/api_diff/22/changes/android.app.Notification.WearableExtender.html
new file mode 100644
index 0000000..04fa3e1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.app.Notification.WearableExtender.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.getHintAvoidBackgroundClipping_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.WearableExtender.html#getHintAvoidBackgroundClipping()" target="_top"><code>getHintAvoidBackgroundClipping</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.WearableExtender.getHintScreenTimeout_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.WearableExtender.html#getHintScreenTimeout()" target="_top"><code>getHintScreenTimeout</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.WearableExtender.setHintAvoidBackgroundClipping_added(boolean)"></A>
+  <nobr><code>WearableExtender</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.WearableExtender.html#setHintAvoidBackgroundClipping(boolean)" target="_top"><code>setHintAvoidBackgroundClipping</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.setHintScreenTimeout_added(int)"></A>
+  <nobr><code>WearableExtender</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.WearableExtender.html#setHintScreenTimeout(int)" target="_top"><code>setHintScreenTimeout</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.Notification.WearableExtender.SCREEN_TIMEOUT_LONG"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.WearableExtender.html#SCREEN_TIMEOUT_LONG" target="_top"><code>SCREEN_TIMEOUT_LONG</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Notification.WearableExtender.SCREEN_TIMEOUT_SHORT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.WearableExtender.html#SCREEN_TIMEOUT_SHORT" target="_top"><code>SCREEN_TIMEOUT_SHORT</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/22/changes/android.app.admin.DevicePolicyManager.html b/docs/html/sdk/api_diff/22/changes/android.app.admin.DevicePolicyManager.html
new file mode 100644
index 0000000..726b5ff
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.app.admin.DevicePolicyManager.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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="Added"></a>
+<TABLE summary="Added Methods" WIDTH="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.getTrustAgentConfiguration_added(android.content.ComponentName, android.content.ComponentName)"></A>
+  <nobr><code>List&lt;PersistableBundle&gt;</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#getTrustAgentConfiguration(android.content.ComponentName, android.content.ComponentName)" target="_top"><code>getTrustAgentConfiguration</code></A>(<code>ComponentName,</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.admin.DevicePolicyManager.setTrustAgentConfiguration_added(android.content.ComponentName, android.content.ComponentName, android.os.PersistableBundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#setTrustAgentConfiguration(android.content.ComponentName, android.content.ComponentName, android.os.PersistableBundle)" target="_top"><code>setTrustAgentConfiguration</code></A>(<code>ComponentName,</nobr> ComponentName<nobr>,</nobr> PersistableBundle<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.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE" target="_top"><code>EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE</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_LEAVE_ALL_SYSTEM_APPS_ENABLED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED" target="_top"><code>EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin.DevicePolicyManager.WIPE_RESET_PROTECTION_DATA"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#WIPE_RESET_PROTECTION_DATA" target="_top"><code>WIPE_RESET_PROTECTION_DATA</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/22/changes/android.bluetooth.BluetoothGattServerCallback.html b/docs/html/sdk/api_diff/22/changes/android.bluetooth.BluetoothGattServerCallback.html
new file mode 100644
index 0000000..6888f9e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.bluetooth.BluetoothGattServerCallback.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.bluetooth.BluetoothGattServerCallback
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/BluetoothGattServerCallback.html" target="_top"><font size="+2"><code>BluetoothGattServerCallback</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.bluetooth.BluetoothGattServerCallback.onMtuChanged_added(android.bluetooth.BluetoothDevice, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/bluetooth/BluetoothGattServerCallback.html#onMtuChanged(android.bluetooth.BluetoothDevice, int)" target="_top"><code>onMtuChanged</code></A>(<code>BluetoothDevice,</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/22/changes/android.content.Context.html b/docs/html/sdk/api_diff/22/changes/android.content.Context.html
new file mode 100644
index 0000000..384b8b8
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.content.Context.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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="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.TELEPHONY_SUBSCRIPTION_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#TELEPHONY_SUBSCRIPTION_SERVICE" target="_top"><code>TELEPHONY_SUBSCRIPTION_SERVICE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.USAGE_STATS_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#USAGE_STATS_SERVICE" target="_top"><code>USAGE_STATS_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/22/changes/android.content.Intent.html b/docs/html/sdk/api_diff/22/changes/android.content.Intent.html
new file mode 100644
index 0000000..c6d97af
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.content.Intent.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="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.Intent.createChooser_added(android.content.Intent, java.lang.CharSequence, android.content.IntentSender)"></A>
+  <nobr><code>Intent</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#createChooser(android.content.Intent, java.lang.CharSequence, android.content.IntentSender)" target="_top"><code>createChooser</code></A>(<code>Intent,</nobr> CharSequence<nobr>,</nobr> IntentSender<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.Intent.EXTRA_CHOSEN_COMPONENT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#EXTRA_CHOSEN_COMPONENT" target="_top"><code>EXTRA_CHOSEN_COMPONENT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.EXTRA_CHOSEN_COMPONENT_INTENT_SENDER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#EXTRA_CHOSEN_COMPONENT_INTENT_SENDER" target="_top"><code>EXTRA_CHOSEN_COMPONENT_INTENT_SENDER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.EXTRA_REFERRER_NAME"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#EXTRA_REFERRER_NAME" target="_top"><code>EXTRA_REFERRER_NAME</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.URI_ALLOW_UNSAFE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#URI_ALLOW_UNSAFE" target="_top"><code>URI_ALLOW_UNSAFE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.URI_ANDROID_APP_SCHEME"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#URI_ANDROID_APP_SCHEME" target="_top"><code>URI_ANDROID_APP_SCHEME</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/22/changes/android.content.pm.PackageInfo.html b/docs/html/sdk/api_diff/22/changes/android.content.pm.PackageInfo.html
new file mode 100644
index 0000000..962d862
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.content.pm.PackageInfo.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.PackageInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/PackageInfo.html" target="_top"><font size="+2"><code>PackageInfo</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.PackageInfo.baseRevisionCode"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageInfo.html#baseRevisionCode" target="_top"><code>baseRevisionCode</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageInfo.splitRevisionCodes"></A>
+  <nobr><code>int[]</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageInfo.html#splitRevisionCodes" target="_top"><code>splitRevisionCodes</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/22/changes/android.content.pm.PackageItemInfo.html b/docs/html/sdk/api_diff/22/changes/android.content.pm.PackageItemInfo.html
new file mode 100644
index 0000000..4be2f4b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.content.pm.PackageItemInfo.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.PackageItemInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/PackageItemInfo.html" target="_top"><font size="+2"><code>PackageItemInfo</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.PackageItemInfo.loadUnbadgedIcon_added(android.content.pm.PackageManager)"></A>
+  <nobr><code>Drawable</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageItemInfo.html#loadUnbadgedIcon(android.content.pm.PackageManager)" target="_top"><code>loadUnbadgedIcon</code></A>(<code>PackageManager</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/22/changes/android.content.res.Resources.html b/docs/html/sdk/api_diff/22/changes/android.content.res.Resources.html
new file mode 100644
index 0000000..84f7b34
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.content.res.Resources.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.Resources
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.html" target="_top"><font size="+2"><code>Resources</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.Resources.getDrawable_changed(int)"></A>
+  <nobr><code>Drawable</code>&nbsp;<A HREF="../../../../reference/android/content/res/Resources.html#getDrawable(int)" target="_top"><code>getDrawable</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.content.res.Resources.getDrawableForDensity_changed(int, int)"></A>
+  <nobr><code>Drawable</code>&nbsp;<A HREF="../../../../reference/android/content/res/Resources.html#getDrawableForDensity(int, int)" target="_top"><code>getDrawableForDensity</code></A>(<code>int,</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>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/22/changes/android.content.res.TypedArray.html b/docs/html/sdk/api_diff/22/changes/android.content.res.TypedArray.html
new file mode 100644
index 0000000..7888fc4
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.content.res.TypedArray.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.TypedArray
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/TypedArray.html" target="_top"><font size="+2"><code>TypedArray</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.TypedArray.hasValueOrEmpty_added(int)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/content/res/TypedArray.html#hasValueOrEmpty(int)" target="_top"><code>hasValueOrEmpty</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/22/changes/android.graphics.Outline.html b/docs/html/sdk/api_diff/22/changes/android.graphics.Outline.html
new file mode 100644
index 0000000..234cd35
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.graphics.Outline.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.offset_added(int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/graphics/Outline.html#offset(int, int)" target="_top"><code>offset</code></A>(<code>int,</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/22/changes/android.hardware.camera2.CameraMetadata.html b/docs/html/sdk/api_diff/22/changes/android.hardware.camera2.CameraMetadata.html
new file mode 100644
index 0000000..c3fabb6
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.hardware.camera2.CameraMetadata.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.CONTROL_SCENE_MODE_HDR"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/camera2/CameraMetadata.html#CONTROL_SCENE_MODE_HDR" target="_top"><code>CONTROL_SCENE_MODE_HDR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.camera2.CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/camera2/CameraMetadata.html#REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE" target="_top"><code>REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.camera2.CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/camera2/CameraMetadata.html#REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS" target="_top"><code>REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_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/22/changes/android.media.MediaDrm.html b/docs/html/sdk/api_diff/22/changes/android.media.MediaDrm.html
new file mode 100644
index 0000000..022c5c7
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.media.MediaDrm.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.MediaDrm
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/MediaDrm.html" target="_top"><font size="+2"><code>MediaDrm</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.MediaDrm.getSecureStop_added(byte[])"></A>
+  <nobr><code>byte[]</code>&nbsp;<A HREF="../../../../reference/android/media/MediaDrm.html#getSecureStop(byte[])" target="_top"><code>getSecureStop</code></A>(<code>byte[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaDrm.releaseAllSecureStops_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaDrm.html#releaseAllSecureStops()" target="_top"><code>releaseAllSecureStops</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/22/changes/android.media.session.MediaSession.html b/docs/html/sdk/api_diff/22/changes/android.media.session.MediaSession.html
new file mode 100644
index 0000000..28f48d5
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.media.session.MediaSession.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.session.MediaSession
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.html" target="_top"><font size="+2"><code>MediaSession</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.setRatingType_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/session/MediaSession.html#setRatingType(int)" target="_top"><code>setRatingType</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/22/changes/android.media.session.PlaybackState.Builder.html b/docs/html/sdk/api_diff/22/changes/android.media.session.PlaybackState.Builder.html
new file mode 100644
index 0000000..bd781a7
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.media.session.PlaybackState.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.session.PlaybackState.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.Builder.html" target="_top"><font size="+2"><code>PlaybackState.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.session.PlaybackState.Builder.setExtras_added(android.os.Bundle)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/media/session/PlaybackState.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/22/changes/android.media.session.PlaybackState.html b/docs/html/sdk/api_diff/22/changes/android.media.session.PlaybackState.html
new file mode 100644
index 0000000..c8d6623
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.media.session.PlaybackState.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="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.PlaybackState.getExtras_added()"></A>
+  <nobr><code>Bundle</code>&nbsp;<A HREF="../../../../reference/android/media/session/PlaybackState.html#getExtras()" target="_top"><code>getExtras</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/22/changes/android.media.tv.TvContract.Programs.Genres.html b/docs/html/sdk/api_diff/22/changes/android.media.tv.TvContract.Programs.Genres.html
new file mode 100644
index 0000000..79dd115
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.media.tv.TvContract.Programs.Genres.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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>
+<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.Genres.ARTS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.Programs.Genres.html#ARTS" target="_top"><code>ARTS</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.Genres.ENTERTAINMENT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.Programs.Genres.html#ENTERTAINMENT" target="_top"><code>ENTERTAINMENT</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.Genres.LIFE_STYLE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.Programs.Genres.html#LIFE_STYLE" target="_top"><code>LIFE_STYLE</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.Genres.MUSIC"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.Programs.Genres.html#MUSIC" target="_top"><code>MUSIC</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.Genres.PREMIER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.Programs.Genres.html#PREMIER" target="_top"><code>PREMIER</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.Genres.TECH_SCIENCE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/tv/TvContract.Programs.Genres.html#TECH_SCIENCE" target="_top"><code>TECH_SCIENCE</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/22/changes/android.net.ConnectivityManager.html b/docs/html/sdk/api_diff/22/changes/android.net.ConnectivityManager.html
new file mode 100644
index 0000000..b6df357
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.net.ConnectivityManager.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.releaseNetworkRequest_added(android.app.PendingIntent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#releaseNetworkRequest(android.app.PendingIntent)" target="_top"><code>releaseNetworkRequest</code></A>(<code>PendingIntent</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.ConnectivityManager.requestNetwork_added(android.net.NetworkRequest, android.app.PendingIntent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#requestNetwork(android.net.NetworkRequest, android.app.PendingIntent)" target="_top"><code>requestNetwork</code></A>(<code>NetworkRequest,</nobr> PendingIntent<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.net.ConnectivityManager.EXTRA_NETWORK"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#EXTRA_NETWORK" target="_top"><code>EXTRA_NETWORK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.ConnectivityManager.EXTRA_NETWORK_REQUEST"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#EXTRA_NETWORK_REQUEST" target="_top"><code>EXTRA_NETWORK_REQUEST</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/22/changes/android.net.Network.html b/docs/html/sdk/api_diff/22/changes/android.net.Network.html
new file mode 100644
index 0000000..5be2789
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.net.Network.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.Network
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/Network.html" target="_top"><font size="+2"><code>Network</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.Network.bindSocket_added(java.net.DatagramSocket)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/net/Network.html#bindSocket(java.net.DatagramSocket)" target="_top"><code>bindSocket</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/22/changes/android.net.ProxyInfo.html b/docs/html/sdk/api_diff/22/changes/android.net.ProxyInfo.html
new file mode 100644
index 0000000..d2da7ef
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.net.ProxyInfo.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.net.ProxyInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/ProxyInfo.html" target="_top"><font size="+2"><code>ProxyInfo</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/22/changes/android.net.SSLCertificateSocketFactory.html b/docs/html/sdk/api_diff/22/changes/android.net.SSLCertificateSocketFactory.html
new file mode 100644
index 0000000..e970e00
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.net.SSLCertificateSocketFactory.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.net.SSLCertificateSocketFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/SSLCertificateSocketFactory.html" target="_top"><font size="+2"><code>SSLCertificateSocketFactory</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.net.SSLCertificateSocketFactory.getHttpSocketFactory_changed(int, android.net.SSLSessionCache)"></A>
+  <nobr><code>SSLSocketFactory</code>&nbsp;<A HREF="../../../../reference/android/net/SSLCertificateSocketFactory.html#getHttpSocketFactory(int, android.net.SSLSessionCache)" target="_top"><code>getHttpSocketFactory</code></A>(<code>int,</nobr> SSLSessionCache<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/22/changes/android.net.VpnService.Builder.html b/docs/html/sdk/api_diff/22/changes/android.net.VpnService.Builder.html
new file mode 100644
index 0000000..04c34f9
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.net.VpnService.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.net.VpnService.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/VpnService.Builder.html" target="_top"><font size="+2"><code>VpnService.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.net.VpnService.Builder.setUnderlyingNetworks_added(android.net.Network[])"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/net/VpnService.Builder.html#setUnderlyingNetworks(android.net.Network[])" target="_top"><code>setUnderlyingNetworks</code></A>(<code>Network[]</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/22/changes/android.net.VpnService.html b/docs/html/sdk/api_diff/22/changes/android.net.VpnService.html
new file mode 100644
index 0000000..22d5e69
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.net.VpnService.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.VpnService
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/VpnService.html" target="_top"><font size="+2"><code>VpnService</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.VpnService.setUnderlyingNetworks_added(android.net.Network[])"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/net/VpnService.html#setUnderlyingNetworks(android.net.Network[])" target="_top"><code>setUnderlyingNetworks</code></A>(<code>Network[]</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/22/changes/android.net.http.AndroidHttpClient.html b/docs/html/sdk/api_diff/22/changes/android.net.http.AndroidHttpClient.html
new file mode 100644
index 0000000..b1d7d55
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.net.http.AndroidHttpClient.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.net.http.AndroidHttpClient
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.http.<A HREF="../../../../reference/android/net/http/AndroidHttpClient.html" target="_top"><font size="+2"><code>AndroidHttpClient</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<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.net.http.AndroidHttpClient.newInstance_changed(java.lang.String)"></A>
+  <nobr><code>AndroidHttpClient</code>&nbsp;<A HREF="../../../../reference/android/net/http/AndroidHttpClient.html#newInstance(java.lang.String)" target="_top"><code>newInstance</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.net.http.AndroidHttpClient.newInstance_changed(java.lang.String, android.content.Context)"></A>
+  <nobr><code>AndroidHttpClient</code>&nbsp;<A HREF="../../../../reference/android/net/http/AndroidHttpClient.html#newInstance(java.lang.String, android.content.Context)" target="_top"><code>newInstance</code></A>(<code>String,</nobr> Context<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/22/changes/android.os.BaseBundle.html b/docs/html/sdk/api_diff/22/changes/android.os.BaseBundle.html
new file mode 100644
index 0000000..98ea30c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.os.BaseBundle.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.os.BaseBundle
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/BaseBundle.html" target="_top"><font size="+2"><code>BaseBundle</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.BaseBundle.getBoolean_added(java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/os/BaseBundle.html#getBoolean(java.lang.String)" target="_top"><code>getBoolean</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.BaseBundle.getBoolean_added(java.lang.String, boolean)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/os/BaseBundle.html#getBoolean(java.lang.String, boolean)" target="_top"><code>getBoolean</code></A>(<code>String,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.BaseBundle.getBooleanArray_added(java.lang.String)"></A>
+  <nobr><code>boolean[]</code>&nbsp;<A HREF="../../../../reference/android/os/BaseBundle.html#getBooleanArray(java.lang.String)" target="_top"><code>getBooleanArray</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.BaseBundle.putBoolean_added(java.lang.String, boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/os/BaseBundle.html#putBoolean(java.lang.String, boolean)" target="_top"><code>putBoolean</code></A>(<code>String,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.BaseBundle.putBooleanArray_added(java.lang.String, boolean[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/os/BaseBundle.html#putBooleanArray(java.lang.String, boolean[])" target="_top"><code>putBooleanArray</code></A>(<code>String,</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/22/changes/android.os.Build.VERSION_CODES.html b/docs/html/sdk/api_diff/22/changes/android.os.Build.VERSION_CODES.html
new file mode 100644
index 0000000..2b68689
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.LOLLIPOP_MR1"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/os/Build.VERSION_CODES.html#LOLLIPOP_MR1" target="_top"><code>LOLLIPOP_MR1</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/22/changes/android.os.Bundle.html b/docs/html/sdk/api_diff/22/changes/android.os.Bundle.html
new file mode 100644
index 0000000..6a6efa6
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.os.Bundle.html
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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.Bundle
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/Bundle.html" target="_top"><font size="+2"><code>Bundle</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.Bundle.getBoolean_removed(java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;getBoolean(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Bundle.getBoolean_removed(java.lang.String, boolean)"></A>
+  <nobr><code>boolean</code>&nbsp;getBoolean(<code>String,</nobr> boolean<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.os.Bundle.getBooleanArray_changed(java.lang.String)"></A>
+  <nobr><code>boolean[]</code>&nbsp;<A HREF="../../../../reference/android/os/BaseBundle.html#getBooleanArray(java.lang.String)" target="_top"><code>getBooleanArray</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/os/BaseBundle.html#getBooleanArray(java.lang.String)" target="_top"><code>BaseBundle</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Bundle.putBoolean_changed(java.lang.String, boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/os/BaseBundle.html#putBoolean(java.lang.String, boolean)" target="_top"><code>putBoolean</code></A>(<code>String,</nobr> boolean<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/os/BaseBundle.html#putBoolean(java.lang.String, boolean)" target="_top"><code>BaseBundle</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Bundle.putBooleanArray_changed(java.lang.String, boolean[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/os/BaseBundle.html#putBooleanArray(java.lang.String, boolean[])" target="_top"><code>putBooleanArray</code></A>(<code>String,</nobr> boolean[]<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/os/BaseBundle.html#putBooleanArray(java.lang.String, boolean[])" target="_top"><code>BaseBundle</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/22/changes/android.os.Message.html b/docs/html/sdk/api_diff/22/changes/android.os.Message.html
new file mode 100644
index 0000000..b72c52a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.os.Message.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.os.Message
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/Message.html" target="_top"><font size="+2"><code>Message</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.Message.isAsynchronous_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/os/Message.html#isAsynchronous()" target="_top"><code>isAsynchronous</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Message.setAsynchronous_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/os/Message.html#setAsynchronous(boolean)" target="_top"><code>setAsynchronous</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/22/changes/android.os.UserManager.html b/docs/html/sdk/api_diff/22/changes/android.os.UserManager.html
new file mode 100644
index 0000000..0fbba6b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.os.UserManager.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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>
+<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_OUTGOING_BEAM"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/UserManager.html#DISALLOW_OUTGOING_BEAM" target="_top"><code>DISALLOW_OUTGOING_BEAM</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.UserManager.KEY_RESTRICTIONS_PENDING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/UserManager.html#KEY_RESTRICTIONS_PENDING" target="_top"><code>KEY_RESTRICTIONS_PENDING</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/22/changes/android.provider.Settings.html b/docs/html/sdk/api_diff/22/changes/android.provider.Settings.html
new file mode 100644
index 0000000..01083b1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.provider.Settings.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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_BATTERY_SAVER_SETTINGS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.html#ACTION_BATTERY_SAVER_SETTINGS" target="_top"><code>ACTION_BATTERY_SAVER_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_NOTIFICATION_LISTENER_SETTINGS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.html#ACTION_NOTIFICATION_LISTENER_SETTINGS" target="_top"><code>ACTION_NOTIFICATION_LISTENER_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/22/changes/android.provider.Telephony.BaseMmsColumns.html b/docs/html/sdk/api_diff/22/changes/android.provider.Telephony.BaseMmsColumns.html
new file mode 100644
index 0000000..fd17160
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.provider.Telephony.BaseMmsColumns.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.Telephony.BaseMmsColumns
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/Telephony.BaseMmsColumns.html" target="_top"><font size="+2"><code>Telephony.BaseMmsColumns</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.Telephony.BaseMmsColumns.SUBSCRIPTION_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Telephony.BaseMmsColumns.html#SUBSCRIPTION_ID" target="_top"><code>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/22/changes/android.provider.Telephony.Carriers.html b/docs/html/sdk/api_diff/22/changes/android.provider.Telephony.Carriers.html
new file mode 100644
index 0000000..95b23d0
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.provider.Telephony.Carriers.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.Telephony.Carriers
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.Carriers.html" target="_top"><font size="+2"><code>Telephony.Carriers</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.Telephony.Carriers.SUBSCRIPTION_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Telephony.Carriers.html#SUBSCRIPTION_ID" target="_top"><code>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/22/changes/android.provider.Telephony.MmsSms.PendingMessages.html b/docs/html/sdk/api_diff/22/changes/android.provider.Telephony.MmsSms.PendingMessages.html
new file mode 100644
index 0000000..7fc1f70
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.provider.Telephony.MmsSms.PendingMessages.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.Telephony.MmsSms.PendingMessages
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.MmsSms.PendingMessages.html" target="_top"><font size="+2"><code>Telephony.MmsSms.PendingMessages</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.Telephony.MmsSms.PendingMessages.SUBSCRIPTION_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Telephony.MmsSms.PendingMessages.html#SUBSCRIPTION_ID" target="_top"><code>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/22/changes/android.provider.Telephony.TextBasedSmsColumns.html b/docs/html/sdk/api_diff/22/changes/android.provider.Telephony.TextBasedSmsColumns.html
new file mode 100644
index 0000000..1609990
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.provider.Telephony.TextBasedSmsColumns.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.Telephony.TextBasedSmsColumns
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/Telephony.TextBasedSmsColumns.html" target="_top"><font size="+2"><code>Telephony.TextBasedSmsColumns</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.Telephony.TextBasedSmsColumns.SUBSCRIPTION_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Telephony.TextBasedSmsColumns.html#SUBSCRIPTION_ID" target="_top"><code>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/22/changes/android.telephony.SmsManager.html b/docs/html/sdk/api_diff/22/changes/android.telephony.SmsManager.html
new file mode 100644
index 0000000..63464dc
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.telephony.SmsManager.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.telephony.SmsManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/SmsManager.html" target="_top"><font size="+2"><code>SmsManager</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.SmsManager.getDefaultSmsSubscriptionId_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/SmsManager.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.SmsManager.getSmsManagerForSubscriptionId_added(int)"></A>
+  <nobr><code>SmsManager</code>&nbsp;<A HREF="../../../../reference/android/telephony/SmsManager.html#getSmsManagerForSubscriptionId(int)" target="_top"><code>getSmsManagerForSubscriptionId</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.SmsManager.getSubscriptionId_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/SmsManager.html#getSubscriptionId()" target="_top"><code>getSubscriptionId</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.SmsManager.injectSmsPdu_added(byte[], java.lang.String, android.app.PendingIntent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/telephony/SmsManager.html#injectSmsPdu(byte[], java.lang.String, android.app.PendingIntent)" target="_top"><code>injectSmsPdu</code></A>(<code>byte[],</nobr> String<nobr>,</nobr> PendingIntent<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.telephony.SmsManager.EXTRA_MMS_HTTP_STATUS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/SmsManager.html#EXTRA_MMS_HTTP_STATUS" target="_top"><code>EXTRA_MMS_HTTP_STATUS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.SmsManager.MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/SmsManager.html#MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS" target="_top"><code>MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.SmsManager.MMS_ERROR_NO_DATA_NETWORK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/SmsManager.html#MMS_ERROR_NO_DATA_NETWORK" target="_top"><code>MMS_ERROR_NO_DATA_NETWORK</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/22/changes/android.telephony.TelephonyManager.html b/docs/html/sdk/api_diff/22/changes/android.telephony.TelephonyManager.html
new file mode 100644
index 0000000..248612a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.telephony.TelephonyManager.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.hasCarrierPrivileges_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#hasCarrierPrivileges()" target="_top"><code>hasCarrierPrivileges</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.isVoiceCapable_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#isVoiceCapable()" target="_top"><code>isVoiceCapable</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.setLine1NumberForDisplay_added(java.lang.String, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#setLine1NumberForDisplay(java.lang.String, java.lang.String)" target="_top"><code>setLine1NumberForDisplay</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.telephony.TelephonyManager.setOperatorBrandOverride_added(java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#setOperatorBrandOverride(java.lang.String)" target="_top"><code>setOperatorBrandOverride</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.setPreferredNetworkTypeToGlobal_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#setPreferredNetworkTypeToGlobal()" target="_top"><code>setPreferredNetworkTypeToGlobal</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.setVoiceMailNumber_added(java.lang.String, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#setVoiceMailNumber(java.lang.String, java.lang.String)" target="_top"><code>setVoiceMailNumber</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/22/changes/android.text.format.DateFormat.html b/docs/html/sdk/api_diff/22/changes/android.text.format.DateFormat.html
new file mode 100644
index 0000000..3688fb5
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.text.format.DateFormat.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>
+android.text.format.DateFormat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.format.<A HREF="../../../../reference/android/text/format/DateFormat.html" target="_top"><font size="+2"><code>DateFormat</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.text.format.DateFormat.AM_PM"></A>
+  <code>char</code>&nbsp;AM_PM
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.format.DateFormat.CAPITAL_AM_PM"></A>
+  <code>char</code>&nbsp;CAPITAL_AM_PM
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.format.DateFormat.DATE"></A>
+  <code>char</code>&nbsp;DATE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.format.DateFormat.DAY"></A>
+  <code>char</code>&nbsp;DAY
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.format.DateFormat.HOUR"></A>
+  <code>char</code>&nbsp;HOUR
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.format.DateFormat.HOUR_OF_DAY"></A>
+  <code>char</code>&nbsp;HOUR_OF_DAY
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.format.DateFormat.MINUTE"></A>
+  <code>char</code>&nbsp;MINUTE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.format.DateFormat.MONTH"></A>
+  <code>char</code>&nbsp;MONTH
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.format.DateFormat.QUOTE"></A>
+  <code>char</code>&nbsp;QUOTE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.format.DateFormat.SECONDS"></A>
+  <code>char</code>&nbsp;SECONDS
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.format.DateFormat.STANDALONE_MONTH"></A>
+  <code>char</code>&nbsp;STANDALONE_MONTH
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.format.DateFormat.TIME_ZONE"></A>
+  <code>char</code>&nbsp;TIME_ZONE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.format.DateFormat.YEAR"></A>
+  <code>char</code>&nbsp;YEAR
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/22/changes/android.text.format.Time.html b/docs/html/sdk/api_diff/22/changes/android.text.format.Time.html
new file mode 100644
index 0000000..bb1fe4dba
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.text.format.Time.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.text.format.Time
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.format.<A HREF="../../../../reference/android/text/format/Time.html" target="_top"><font size="+2"><code>Time</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/22/changes/android.transition.ChangeBounds.html b/docs/html/sdk/api_diff/22/changes/android.transition.ChangeBounds.html
new file mode 100644
index 0000000..192d90a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.transition.ChangeBounds.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.transition.ChangeBounds
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.transition.<A HREF="../../../../reference/android/transition/ChangeBounds.html" target="_top"><font size="+2"><code>ChangeBounds</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.transition.ChangeBounds.getResizeClip_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/transition/ChangeBounds.html#getResizeClip()" target="_top"><code>getResizeClip</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/22/changes/android.util.DisplayMetrics.html b/docs/html/sdk/api_diff/22/changes/android.util.DisplayMetrics.html
new file mode 100644
index 0000000..da23137
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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_280"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/util/DisplayMetrics.html#DENSITY_280" target="_top"><code>DENSITY_280</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/22/changes/android.util.FloatMath.html b/docs/html/sdk/api_diff/22/changes/android.util.FloatMath.html
new file mode 100644
index 0000000..4168597
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.util.FloatMath.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.util.FloatMath
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/FloatMath.html" target="_top"><font size="+2"><code>FloatMath</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/22/changes/android.util.TypedValue.html b/docs/html/sdk/api_diff/22/changes/android.util.TypedValue.html
new file mode 100644
index 0000000..5fd9239
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.util.TypedValue.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.util.TypedValue
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/TypedValue.html" target="_top"><font size="+2"><code>TypedValue</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.util.TypedValue.getComplexUnit_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/util/TypedValue.html#getComplexUnit()" target="_top"><code>getComplexUnit</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.util.TypedValue.DATA_NULL_EMPTY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/util/TypedValue.html#DATA_NULL_EMPTY" target="_top"><code>DATA_NULL_EMPTY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.util.TypedValue.DATA_NULL_UNDEFINED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/util/TypedValue.html#DATA_NULL_UNDEFINED" target="_top"><code>DATA_NULL_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/22/changes/android.view.View.html b/docs/html/sdk/api_diff/22/changes/android.view.View.html
new file mode 100644
index 0000000..8aeea97
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.view.View.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.dispatchDrawableHotspotChanged_added(float, float)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#dispatchDrawableHotspotChanged(float, float)" target="_top"><code>dispatchDrawableHotspotChanged</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.dispatchNestedPrePerformAccessibilityAction_added(int, android.os.Bundle)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#dispatchNestedPrePerformAccessibilityAction(int, android.os.Bundle)" target="_top"><code>dispatchNestedPrePerformAccessibilityAction</code></A>(<code>int,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.getAccessibilityTraversalAfter_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#getAccessibilityTraversalAfter()" target="_top"><code>getAccessibilityTraversalAfter</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.getAccessibilityTraversalBefore_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#getAccessibilityTraversalBefore()" target="_top"><code>getAccessibilityTraversalBefore</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.setAccessibilityTraversalAfter_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#setAccessibilityTraversalAfter(int)" target="_top"><code>setAccessibilityTraversalAfter</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.View.setAccessibilityTraversalBefore_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#setAccessibilityTraversalBefore(int)" target="_top"><code>setAccessibilityTraversalBefore</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/22/changes/android.view.ViewGroup.html b/docs/html/sdk/api_diff/22/changes/android.view.ViewGroup.html
new file mode 100644
index 0000000..7b230f4
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.onNestedPrePerformAccessibilityAction_added(android.view.View, int, android.os.Bundle)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/ViewGroup.html#onNestedPrePerformAccessibilityAction(android.view.View, int, android.os.Bundle)" target="_top"><code>onNestedPrePerformAccessibilityAction</code></A>(<code>View,</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/22/changes/android.view.ViewParent.html b/docs/html/sdk/api_diff/22/changes/android.view.ViewParent.html
new file mode 100644
index 0000000..6afbdc8
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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.onNestedPrePerformAccessibilityAction_added(android.view.View, int, android.os.Bundle)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/ViewParent.html#onNestedPrePerformAccessibilityAction(android.view.View, int, android.os.Bundle)" target="_top"><code>onNestedPrePerformAccessibilityAction</code></A>(<code>View,</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/22/changes/android.view.Window.html b/docs/html/sdk/api_diff/22/changes/android.view.Window.html
new file mode 100644
index 0000000..a555660
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.view.Window.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>
+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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.getDefaultFeatures_added(android.content.Context)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#getDefaultFeatures(android.content.Context)" target="_top"><code>getDefaultFeatures</code></A>(<code>Context</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.setClipToOutline_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#setClipToOutline(boolean)" target="_top"><code>setClipToOutline</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.Window.setElevation_added(float)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#setElevation(float)" target="_top"><code>setElevation</code></A>(<code>float</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.view.Window.DEFAULT_FEATURES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#DEFAULT_FEATURES" target="_top"><code>DEFAULT_FEATURES</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/22/changes/android.view.WindowManager.LayoutParams.html b/docs/html/sdk/api_diff/22/changes/android.view.WindowManager.LayoutParams.html
new file mode 100644
index 0000000..13dd81a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.view.WindowManager.LayoutParams.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.WindowManager.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/WindowManager.LayoutParams.html" target="_top"><font size="+2"><code>WindowManager.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.view.WindowManager.LayoutParams.FLAG_LAYOUT_ATTACHED_IN_DECOR"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/WindowManager.LayoutParams.html#FLAG_LAYOUT_ATTACHED_IN_DECOR" target="_top"><code>FLAG_LAYOUT_ATTACHED_IN_DECOR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/WindowManager.LayoutParams.html#TYPE_ACCESSIBILITY_OVERLAY" target="_top"><code>TYPE_ACCESSIBILITY_OVERLAY</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/22/changes/android.view.accessibility.AccessibilityNodeInfo.html b/docs/html/sdk/api_diff/22/changes/android.view.accessibility.AccessibilityNodeInfo.html
new file mode 100644
index 0000000..66a28e9
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.view.accessibility.AccessibilityNodeInfo.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.getTraversalAfter_added()"></A>
+  <nobr><code>AccessibilityNodeInfo</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityNodeInfo.html#getTraversalAfter()" target="_top"><code>getTraversalAfter</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityNodeInfo.getTraversalBefore_added()"></A>
+  <nobr><code>AccessibilityNodeInfo</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityNodeInfo.html#getTraversalBefore()" target="_top"><code>getTraversalBefore</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityNodeInfo.setTraversalAfter_added(android.view.View)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityNodeInfo.html#setTraversalAfter(android.view.View)" target="_top"><code>setTraversalAfter</code></A>(<code>View</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityNodeInfo.setTraversalAfter_added(android.view.View, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityNodeInfo.html#setTraversalAfter(android.view.View, int)" target="_top"><code>setTraversalAfter</code></A>(<code>View,</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.accessibility.AccessibilityNodeInfo.setTraversalBefore_added(android.view.View)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityNodeInfo.html#setTraversalBefore(android.view.View)" target="_top"><code>setTraversalBefore</code></A>(<code>View</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityNodeInfo.setTraversalBefore_added(android.view.View, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityNodeInfo.html#setTraversalBefore(android.view.View, int)" target="_top"><code>setTraversalBefore</code></A>(<code>View,</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/22/changes/android.view.accessibility.AccessibilityWindowInfo.html b/docs/html/sdk/api_diff/22/changes/android.view.accessibility.AccessibilityWindowInfo.html
new file mode 100644
index 0000000..cc41510
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.view.accessibility.AccessibilityWindowInfo.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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>
+<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_ACCESSIBILITY_OVERLAY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityWindowInfo.html#TYPE_ACCESSIBILITY_OVERLAY" target="_top"><code>TYPE_ACCESSIBILITY_OVERLAY</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/22/changes/android.view.animation.AccelerateDecelerateInterpolator.html b/docs/html/sdk/api_diff/22/changes/android.view.animation.AccelerateDecelerateInterpolator.html
new file mode 100644
index 0000000..7939365
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.view.animation.AccelerateDecelerateInterpolator.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.view.animation.AccelerateDecelerateInterpolator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.animation.<A HREF="../../../../reference/android/view/animation/AccelerateDecelerateInterpolator.html" target="_top"><font size="+2"><code>AccelerateDecelerateInterpolator</code></font></A>
+</H2>
+<p><font xsize="+1">The superclass changed from <code>java.lang.Object</code> to <code>android.view.animation.BaseInterpolator</code>.<br> Removed interface <code>android.view.animation.Interpolator</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/22/changes/android.view.animation.AccelerateInterpolator.html b/docs/html/sdk/api_diff/22/changes/android.view.animation.AccelerateInterpolator.html
new file mode 100644
index 0000000..e2a4b02
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.view.animation.AccelerateInterpolator.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.view.animation.AccelerateInterpolator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.animation.<A HREF="../../../../reference/android/view/animation/AccelerateInterpolator.html" target="_top"><font size="+2"><code>AccelerateInterpolator</code></font></A>
+</H2>
+<p><font xsize="+1">The superclass changed from <code>java.lang.Object</code> to <code>android.view.animation.BaseInterpolator</code>.<br> Removed interface <code>android.view.animation.Interpolator</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/22/changes/android.view.animation.AnticipateInterpolator.html b/docs/html/sdk/api_diff/22/changes/android.view.animation.AnticipateInterpolator.html
new file mode 100644
index 0000000..d7473c2
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.view.animation.AnticipateInterpolator.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.view.animation.AnticipateInterpolator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.animation.<A HREF="../../../../reference/android/view/animation/AnticipateInterpolator.html" target="_top"><font size="+2"><code>AnticipateInterpolator</code></font></A>
+</H2>
+<p><font xsize="+1">The superclass changed from <code>java.lang.Object</code> to <code>android.view.animation.BaseInterpolator</code>.<br> Removed interface <code>android.view.animation.Interpolator</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/22/changes/android.view.animation.AnticipateOvershootInterpolator.html b/docs/html/sdk/api_diff/22/changes/android.view.animation.AnticipateOvershootInterpolator.html
new file mode 100644
index 0000000..9c1a18c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.view.animation.AnticipateOvershootInterpolator.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.view.animation.AnticipateOvershootInterpolator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.animation.<A HREF="../../../../reference/android/view/animation/AnticipateOvershootInterpolator.html" target="_top"><font size="+2"><code>AnticipateOvershootInterpolator</code></font></A>
+</H2>
+<p><font xsize="+1">The superclass changed from <code>java.lang.Object</code> to <code>android.view.animation.BaseInterpolator</code>.<br> Removed interface <code>android.view.animation.Interpolator</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/22/changes/android.view.animation.BounceInterpolator.html b/docs/html/sdk/api_diff/22/changes/android.view.animation.BounceInterpolator.html
new file mode 100644
index 0000000..bd3d839
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.view.animation.BounceInterpolator.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.view.animation.BounceInterpolator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.animation.<A HREF="../../../../reference/android/view/animation/BounceInterpolator.html" target="_top"><font size="+2"><code>BounceInterpolator</code></font></A>
+</H2>
+<p><font xsize="+1">The superclass changed from <code>java.lang.Object</code> to <code>android.view.animation.BaseInterpolator</code>.<br> Removed interface <code>android.view.animation.Interpolator</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/22/changes/android.view.animation.CycleInterpolator.html b/docs/html/sdk/api_diff/22/changes/android.view.animation.CycleInterpolator.html
new file mode 100644
index 0000000..da1b0f2
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.view.animation.CycleInterpolator.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.view.animation.CycleInterpolator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.animation.<A HREF="../../../../reference/android/view/animation/CycleInterpolator.html" target="_top"><font size="+2"><code>CycleInterpolator</code></font></A>
+</H2>
+<p><font xsize="+1">The superclass changed from <code>java.lang.Object</code> to <code>android.view.animation.BaseInterpolator</code>.<br> Removed interface <code>android.view.animation.Interpolator</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/22/changes/android.view.animation.DecelerateInterpolator.html b/docs/html/sdk/api_diff/22/changes/android.view.animation.DecelerateInterpolator.html
new file mode 100644
index 0000000..042ad98
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.view.animation.DecelerateInterpolator.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.view.animation.DecelerateInterpolator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.animation.<A HREF="../../../../reference/android/view/animation/DecelerateInterpolator.html" target="_top"><font size="+2"><code>DecelerateInterpolator</code></font></A>
+</H2>
+<p><font xsize="+1">The superclass changed from <code>java.lang.Object</code> to <code>android.view.animation.BaseInterpolator</code>.<br> Removed interface <code>android.view.animation.Interpolator</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/22/changes/android.view.animation.LinearInterpolator.html b/docs/html/sdk/api_diff/22/changes/android.view.animation.LinearInterpolator.html
new file mode 100644
index 0000000..bd828a82
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.view.animation.LinearInterpolator.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.view.animation.LinearInterpolator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.animation.<A HREF="../../../../reference/android/view/animation/LinearInterpolator.html" target="_top"><font size="+2"><code>LinearInterpolator</code></font></A>
+</H2>
+<p><font xsize="+1">The superclass changed from <code>java.lang.Object</code> to <code>android.view.animation.BaseInterpolator</code>.<br> Removed interface <code>android.view.animation.Interpolator</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/22/changes/android.view.animation.OvershootInterpolator.html b/docs/html/sdk/api_diff/22/changes/android.view.animation.OvershootInterpolator.html
new file mode 100644
index 0000000..d7b5656
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.view.animation.OvershootInterpolator.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.view.animation.OvershootInterpolator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.animation.<A HREF="../../../../reference/android/view/animation/OvershootInterpolator.html" target="_top"><font size="+2"><code>OvershootInterpolator</code></font></A>
+</H2>
+<p><font xsize="+1">The superclass changed from <code>java.lang.Object</code> to <code>android.view.animation.BaseInterpolator</code>.<br> Removed interface <code>android.view.animation.Interpolator</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/22/changes/android.view.animation.PathInterpolator.html b/docs/html/sdk/api_diff/22/changes/android.view.animation.PathInterpolator.html
new file mode 100644
index 0000000..1853f17
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.view.animation.PathInterpolator.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.view.animation.PathInterpolator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.animation.<A HREF="../../../../reference/android/view/animation/PathInterpolator.html" target="_top"><font size="+2"><code>PathInterpolator</code></font></A>
+</H2>
+<p><font xsize="+1">The superclass changed from <code>java.lang.Object</code> to <code>android.view.animation.BaseInterpolator</code>.<br> Removed interface <code>android.view.animation.Interpolator</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/22/changes/android.webkit.CookieManager.html b/docs/html/sdk/api_diff/22/changes/android.webkit.CookieManager.html
new file mode 100644
index 0000000..4fd8aa7
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.webkit.CookieManager.html
@@ -0,0 +1,271 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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.CookieManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/CookieManager.html" target="_top"><font size="+2"><code>CookieManager</code></font></A>
+</H2>
+<p>Changed from non-abstract to abstract.
+<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.webkit.CookieManager.ctor_added()"></A>
+  <nobr><A HREF="../../../../reference/android/webkit/CookieManager.html#CookieManager()" target="_top"><code>CookieManager</code></A>()</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.webkit.CookieManager.acceptCookie_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/CookieManager.html#acceptCookie()" target="_top"><code>acceptCookie</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.CookieManager.acceptThirdPartyCookies_changed(android.webkit.WebView)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/CookieManager.html#acceptThirdPartyCookies(android.webkit.WebView)" target="_top"><code>acceptThirdPartyCookies</code></A>(<code>WebView</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.CookieManager.flush_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/CookieManager.html#flush()" target="_top"><code>flush</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.CookieManager.getCookie_changed(java.lang.String)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/webkit/CookieManager.html#getCookie(java.lang.String)" target="_top"><code>getCookie</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.CookieManager.hasCookies_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/CookieManager.html#hasCookies()" target="_top"><code>hasCookies</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.CookieManager.removeAllCookie_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/CookieManager.html#removeAllCookie()" target="_top"><code>removeAllCookie</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.CookieManager.removeAllCookies_changed(android.webkit.ValueCallback<java.lang.Boolean>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/CookieManager.html#removeAllCookies(android.webkit.ValueCallback<java.lang.Boolean>)" target="_top"><code>removeAllCookies</code></A>(<code>ValueCallback&lt;Boolean&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.CookieManager.removeExpiredCookie_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/CookieManager.html#removeExpiredCookie()" target="_top"><code>removeExpiredCookie</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.CookieManager.removeSessionCookie_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/CookieManager.html#removeSessionCookie()" target="_top"><code>removeSessionCookie</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.CookieManager.removeSessionCookies_changed(android.webkit.ValueCallback<java.lang.Boolean>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/CookieManager.html#removeSessionCookies(android.webkit.ValueCallback<java.lang.Boolean>)" target="_top"><code>removeSessionCookies</code></A>(<code>ValueCallback&lt;Boolean&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.CookieManager.setAcceptCookie_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/CookieManager.html#setAcceptCookie(boolean)" target="_top"><code>setAcceptCookie</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.CookieManager.setAcceptThirdPartyCookies_changed(android.webkit.WebView, boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/CookieManager.html#setAcceptThirdPartyCookies(android.webkit.WebView, boolean)" target="_top"><code>setAcceptThirdPartyCookies</code></A>(<code>WebView,</nobr> boolean<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.CookieManager.setCookie_changed(java.lang.String, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/CookieManager.html#setCookie(java.lang.String, java.lang.String)" target="_top"><code>setCookie</code></A>(<code>String,</nobr> String<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.CookieManager.setCookie_changed(java.lang.String, java.lang.String, android.webkit.ValueCallback<java.lang.Boolean>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/CookieManager.html#setCookie(java.lang.String, java.lang.String, android.webkit.ValueCallback<java.lang.Boolean>)" target="_top"><code>setCookie</code></A>(<code>String,</nobr> String<nobr>,</nobr> ValueCallback&lt;Boolean&gt;<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to 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/22/changes/android.webkit.WebBackForwardList.html b/docs/html/sdk/api_diff/22/changes/android.webkit.WebBackForwardList.html
new file mode 100644
index 0000000..288f675
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.webkit.WebBackForwardList.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.WebBackForwardList
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/WebBackForwardList.html" target="_top"><font size="+2"><code>WebBackForwardList</code></font></A>
+</H2>
+<p>Changed from non-abstract to abstract.
+<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.webkit.WebBackForwardList.ctor_added()"></A>
+  <nobr><A HREF="../../../../reference/android/webkit/WebBackForwardList.html#WebBackForwardList()" target="_top"><code>WebBackForwardList</code></A>()</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.webkit.WebBackForwardList.clone_changed()"></A>
+  <nobr><code>WebBackForwardList</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebBackForwardList.html#clone()" target="_top"><code>clone</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>Object</code> to <code>WebBackForwardList</code>.<br>
+ Change in exceptions thrown from <code>java.lang.CloneNotSupportedException</code> to no exceptions.<br>
+ Method was inherited from <code>java.lang.Object</code>, but is now defined locally. Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebBackForwardList.getCurrentIndex_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebBackForwardList.html#getCurrentIndex()" target="_top"><code>getCurrentIndex</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebBackForwardList.getCurrentItem_changed()"></A>
+  <nobr><code>WebHistoryItem</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebBackForwardList.html#getCurrentItem()" target="_top"><code>getCurrentItem</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebBackForwardList.getItemAtIndex_changed(int)"></A>
+  <nobr><code>WebHistoryItem</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebBackForwardList.html#getItemAtIndex(int)" target="_top"><code>getItemAtIndex</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebBackForwardList.getSize_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebBackForwardList.html#getSize()" target="_top"><code>getSize</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to 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/22/changes/android.webkit.WebHistoryItem.html b/docs/html/sdk/api_diff/22/changes/android.webkit.WebHistoryItem.html
new file mode 100644
index 0000000..f30ec9f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.webkit.WebHistoryItem.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.WebHistoryItem
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/WebHistoryItem.html" target="_top"><font size="+2"><code>WebHistoryItem</code></font></A>
+</H2>
+<p>Changed from non-abstract to abstract.
+<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.webkit.WebHistoryItem.ctor_added()"></A>
+  <nobr><A HREF="../../../../reference/android/webkit/WebHistoryItem.html#WebHistoryItem()" target="_top"><code>WebHistoryItem</code></A>()</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.webkit.WebHistoryItem.clone_changed()"></A>
+  <nobr><code>WebHistoryItem</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebHistoryItem.html#clone()" target="_top"><code>clone</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>Object</code> to <code>WebHistoryItem</code>.<br>
+ Change in exceptions thrown from <code>java.lang.CloneNotSupportedException</code> to no exceptions.<br>
+ Method was inherited from <code>java.lang.Object</code>, but is now defined locally. Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebHistoryItem.getFavicon_changed()"></A>
+  <nobr><code>Bitmap</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebHistoryItem.html#getFavicon()" target="_top"><code>getFavicon</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebHistoryItem.getOriginalUrl_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebHistoryItem.html#getOriginalUrl()" target="_top"><code>getOriginalUrl</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebHistoryItem.getTitle_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebHistoryItem.html#getTitle()" target="_top"><code>getTitle</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebHistoryItem.getUrl_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebHistoryItem.html#getUrl()" target="_top"><code>getUrl</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to 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/22/changes/android.webkit.WebIconDatabase.html b/docs/html/sdk/api_diff/22/changes/android.webkit.WebIconDatabase.html
new file mode 100644
index 0000000..ed50980
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.webkit.WebIconDatabase.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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.WebIconDatabase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/WebIconDatabase.html" target="_top"><font size="+2"><code>WebIconDatabase</code></font></A>
+</H2>
+<p>Changed from non-abstract to abstract.
+<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.webkit.WebIconDatabase.ctor_added()"></A>
+  <nobr><A HREF="../../../../reference/android/webkit/WebIconDatabase.html#WebIconDatabase()" target="_top"><code>WebIconDatabase</code></A>()</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.webkit.WebIconDatabase.close_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebIconDatabase.html#close()" target="_top"><code>close</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebIconDatabase.open_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebIconDatabase.html#open(java.lang.String)" target="_top"><code>open</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebIconDatabase.releaseIconForPageUrl_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebIconDatabase.html#releaseIconForPageUrl(java.lang.String)" target="_top"><code>releaseIconForPageUrl</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebIconDatabase.removeAllIcons_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebIconDatabase.html#removeAllIcons()" target="_top"><code>removeAllIcons</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebIconDatabase.requestIconForPageUrl_changed(java.lang.String, android.webkit.WebIconDatabase.IconListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebIconDatabase.html#requestIconForPageUrl(java.lang.String, android.webkit.WebIconDatabase.IconListener)" target="_top"><code>requestIconForPageUrl</code></A>(<code>String,</nobr> IconListener<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebIconDatabase.retainIconForPageUrl_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebIconDatabase.html#retainIconForPageUrl(java.lang.String)" target="_top"><code>retainIconForPageUrl</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to 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/22/changes/android.webkit.WebSettings.html b/docs/html/sdk/api_diff/22/changes/android.webkit.WebSettings.html
new file mode 100644
index 0000000..2b8698c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.webkit.WebSettings.html
@@ -0,0 +1,960 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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>
+<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.webkit.WebSettings.ctor_added()"></A>
+  <nobr><A HREF="../../../../reference/android/webkit/WebSettings.html#WebSettings()" target="_top"><code>WebSettings</code></A>()</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.webkit.WebSettings.enableSmoothTransition_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#enableSmoothTransition()" target="_top"><code>enableSmoothTransition</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getAllowContentAccess_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getAllowContentAccess()" target="_top"><code>getAllowContentAccess</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getAllowFileAccess_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getAllowFileAccess()" target="_top"><code>getAllowFileAccess</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getBlockNetworkImage_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getBlockNetworkImage()" target="_top"><code>getBlockNetworkImage</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getBlockNetworkLoads_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getBlockNetworkLoads()" target="_top"><code>getBlockNetworkLoads</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getBuiltInZoomControls_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getBuiltInZoomControls()" target="_top"><code>getBuiltInZoomControls</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getCacheMode_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getCacheMode()" target="_top"><code>getCacheMode</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getCursiveFontFamily_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getCursiveFontFamily()" target="_top"><code>getCursiveFontFamily</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getDatabaseEnabled_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getDatabaseEnabled()" target="_top"><code>getDatabaseEnabled</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getDatabasePath_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getDatabasePath()" target="_top"><code>getDatabasePath</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getDefaultFixedFontSize_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getDefaultFixedFontSize()" target="_top"><code>getDefaultFixedFontSize</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getDefaultFontSize_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getDefaultFontSize()" target="_top"><code>getDefaultFontSize</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getDefaultTextEncodingName_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getDefaultTextEncodingName()" target="_top"><code>getDefaultTextEncodingName</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getDefaultZoom_changed()"></A>
+  <nobr><code>ZoomDensity</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getDefaultZoom()" target="_top"><code>getDefaultZoom</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getDisplayZoomControls_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getDisplayZoomControls()" target="_top"><code>getDisplayZoomControls</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getDomStorageEnabled_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getDomStorageEnabled()" target="_top"><code>getDomStorageEnabled</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getFantasyFontFamily_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getFantasyFontFamily()" target="_top"><code>getFantasyFontFamily</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getFixedFontFamily_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getFixedFontFamily()" target="_top"><code>getFixedFontFamily</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getJavaScriptCanOpenWindowsAutomatically_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getJavaScriptCanOpenWindowsAutomatically()" target="_top"><code>getJavaScriptCanOpenWindowsAutomatically</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getJavaScriptEnabled_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getJavaScriptEnabled()" target="_top"><code>getJavaScriptEnabled</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getLayoutAlgorithm_changed()"></A>
+  <nobr><code>LayoutAlgorithm</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getLayoutAlgorithm()" target="_top"><code>getLayoutAlgorithm</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getLightTouchEnabled_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getLightTouchEnabled()" target="_top"><code>getLightTouchEnabled</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getLoadWithOverviewMode_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getLoadWithOverviewMode()" target="_top"><code>getLoadWithOverviewMode</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getLoadsImagesAutomatically_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getLoadsImagesAutomatically()" target="_top"><code>getLoadsImagesAutomatically</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getMediaPlaybackRequiresUserGesture_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getMediaPlaybackRequiresUserGesture()" target="_top"><code>getMediaPlaybackRequiresUserGesture</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getMinimumFontSize_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getMinimumFontSize()" target="_top"><code>getMinimumFontSize</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getMinimumLogicalFontSize_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getMinimumLogicalFontSize()" target="_top"><code>getMinimumLogicalFontSize</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getPluginState_changed()"></A>
+  <nobr><code>PluginState</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getPluginState()" target="_top"><code>getPluginState</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getSansSerifFontFamily_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getSansSerifFontFamily()" target="_top"><code>getSansSerifFontFamily</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getSaveFormData_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getSaveFormData()" target="_top"><code>getSaveFormData</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getSavePassword_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getSavePassword()" target="_top"><code>getSavePassword</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getSerifFontFamily_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getSerifFontFamily()" target="_top"><code>getSerifFontFamily</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getStandardFontFamily_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getStandardFontFamily()" target="_top"><code>getStandardFontFamily</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getTextZoom_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getTextZoom()" target="_top"><code>getTextZoom</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getUseWideViewPort_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getUseWideViewPort()" target="_top"><code>getUseWideViewPort</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getUserAgentString_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getUserAgentString()" target="_top"><code>getUserAgentString</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setAllowContentAccess_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setAllowContentAccess(boolean)" target="_top"><code>setAllowContentAccess</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setAllowFileAccess_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setAllowFileAccess(boolean)" target="_top"><code>setAllowFileAccess</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setAppCacheEnabled_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setAppCacheEnabled(boolean)" target="_top"><code>setAppCacheEnabled</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setAppCacheMaxSize_changed(long)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setAppCacheMaxSize(long)" target="_top"><code>setAppCacheMaxSize</code></A>(<code>long</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setAppCachePath_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setAppCachePath(java.lang.String)" target="_top"><code>setAppCachePath</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setBlockNetworkImage_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setBlockNetworkImage(boolean)" target="_top"><code>setBlockNetworkImage</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setBlockNetworkLoads_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setBlockNetworkLoads(boolean)" target="_top"><code>setBlockNetworkLoads</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setBuiltInZoomControls_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setBuiltInZoomControls(boolean)" target="_top"><code>setBuiltInZoomControls</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setCacheMode_changed(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setCacheMode(int)" target="_top"><code>setCacheMode</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setCursiveFontFamily_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setCursiveFontFamily(java.lang.String)" target="_top"><code>setCursiveFontFamily</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setDatabaseEnabled_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setDatabaseEnabled(boolean)" target="_top"><code>setDatabaseEnabled</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setDatabasePath_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setDatabasePath(java.lang.String)" target="_top"><code>setDatabasePath</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setDefaultFixedFontSize_changed(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setDefaultFixedFontSize(int)" target="_top"><code>setDefaultFixedFontSize</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setDefaultFontSize_changed(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setDefaultFontSize(int)" target="_top"><code>setDefaultFontSize</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setDefaultTextEncodingName_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setDefaultTextEncodingName(java.lang.String)" target="_top"><code>setDefaultTextEncodingName</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setDefaultZoom_changed(android.webkit.WebSettings.ZoomDensity)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setDefaultZoom(android.webkit.WebSettings.ZoomDensity)" target="_top"><code>setDefaultZoom</code></A>(<code>ZoomDensity</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setDisplayZoomControls_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setDisplayZoomControls(boolean)" target="_top"><code>setDisplayZoomControls</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setDomStorageEnabled_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setDomStorageEnabled(boolean)" target="_top"><code>setDomStorageEnabled</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setEnableSmoothTransition_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setEnableSmoothTransition(boolean)" target="_top"><code>setEnableSmoothTransition</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setFantasyFontFamily_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setFantasyFontFamily(java.lang.String)" target="_top"><code>setFantasyFontFamily</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setFixedFontFamily_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setFixedFontFamily(java.lang.String)" target="_top"><code>setFixedFontFamily</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<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%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setGeolocationEnabled_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setGeolocationEnabled(boolean)" target="_top"><code>setGeolocationEnabled</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setJavaScriptCanOpenWindowsAutomatically_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setJavaScriptCanOpenWindowsAutomatically(boolean)" target="_top"><code>setJavaScriptCanOpenWindowsAutomatically</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setJavaScriptEnabled_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setJavaScriptEnabled(boolean)" target="_top"><code>setJavaScriptEnabled</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setLayoutAlgorithm_changed(android.webkit.WebSettings.LayoutAlgorithm)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setLayoutAlgorithm(android.webkit.WebSettings.LayoutAlgorithm)" target="_top"><code>setLayoutAlgorithm</code></A>(<code>LayoutAlgorithm</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setLightTouchEnabled_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setLightTouchEnabled(boolean)" target="_top"><code>setLightTouchEnabled</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setLoadWithOverviewMode_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setLoadWithOverviewMode(boolean)" target="_top"><code>setLoadWithOverviewMode</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setLoadsImagesAutomatically_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setLoadsImagesAutomatically(boolean)" target="_top"><code>setLoadsImagesAutomatically</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setMediaPlaybackRequiresUserGesture_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setMediaPlaybackRequiresUserGesture(boolean)" target="_top"><code>setMediaPlaybackRequiresUserGesture</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setMinimumFontSize_changed(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setMinimumFontSize(int)" target="_top"><code>setMinimumFontSize</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setMinimumLogicalFontSize_changed(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setMinimumLogicalFontSize(int)" target="_top"><code>setMinimumLogicalFontSize</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setNeedInitialFocus_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setNeedInitialFocus(boolean)" target="_top"><code>setNeedInitialFocus</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setPluginState_changed(android.webkit.WebSettings.PluginState)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setPluginState(android.webkit.WebSettings.PluginState)" target="_top"><code>setPluginState</code></A>(<code>PluginState</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setRenderPriority_changed(android.webkit.WebSettings.RenderPriority)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setRenderPriority(android.webkit.WebSettings.RenderPriority)" target="_top"><code>setRenderPriority</code></A>(<code>RenderPriority</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setSansSerifFontFamily_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setSansSerifFontFamily(java.lang.String)" target="_top"><code>setSansSerifFontFamily</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setSaveFormData_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setSaveFormData(boolean)" target="_top"><code>setSaveFormData</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setSavePassword_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setSavePassword(boolean)" target="_top"><code>setSavePassword</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setSerifFontFamily_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setSerifFontFamily(java.lang.String)" target="_top"><code>setSerifFontFamily</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setStandardFontFamily_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setStandardFontFamily(java.lang.String)" target="_top"><code>setStandardFontFamily</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setSupportMultipleWindows_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setSupportMultipleWindows(boolean)" target="_top"><code>setSupportMultipleWindows</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setSupportZoom_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setSupportZoom(boolean)" target="_top"><code>setSupportZoom</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setTextZoom_changed(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setTextZoom(int)" target="_top"><code>setTextZoom</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setUseWideViewPort_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setUseWideViewPort(boolean)" target="_top"><code>setUseWideViewPort</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setUserAgentString_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setUserAgentString(java.lang.String)" target="_top"><code>setUserAgentString</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.supportMultipleWindows_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#supportMultipleWindows()" target="_top"><code>supportMultipleWindows</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.supportZoom_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#supportZoom()" target="_top"><code>supportZoom</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to 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/22/changes/android.webkit.WebViewDatabase.html b/docs/html/sdk/api_diff/22/changes/android.webkit.WebViewDatabase.html
new file mode 100644
index 0000000..521fcf1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.webkit.WebViewDatabase.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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.WebViewDatabase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/WebViewDatabase.html" target="_top"><font size="+2"><code>WebViewDatabase</code></font></A>
+</H2>
+<p>Changed from non-abstract to abstract.
+<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.webkit.WebViewDatabase.ctor_added()"></A>
+  <nobr><A HREF="../../../../reference/android/webkit/WebViewDatabase.html#WebViewDatabase()" target="_top"><code>WebViewDatabase</code></A>()</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.webkit.WebViewDatabase.clearFormData_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebViewDatabase.html#clearFormData()" target="_top"><code>clearFormData</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebViewDatabase.clearHttpAuthUsernamePassword_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebViewDatabase.html#clearHttpAuthUsernamePassword()" target="_top"><code>clearHttpAuthUsernamePassword</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebViewDatabase.clearUsernamePassword_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebViewDatabase.html#clearUsernamePassword()" target="_top"><code>clearUsernamePassword</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebViewDatabase.hasFormData_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebViewDatabase.html#hasFormData()" target="_top"><code>hasFormData</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebViewDatabase.hasHttpAuthUsernamePassword_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebViewDatabase.html#hasHttpAuthUsernamePassword()" target="_top"><code>hasHttpAuthUsernamePassword</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebViewDatabase.hasUsernamePassword_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebViewDatabase.html#hasUsernamePassword()" target="_top"><code>hasUsernamePassword</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed from non-abstract to 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/22/changes/android.widget.PopupMenu.html b/docs/html/sdk/api_diff/22/changes/android.widget.PopupMenu.html
new file mode 100644
index 0000000..11e936a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.widget.PopupMenu.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.PopupMenu
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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/PopupMenu.html" target="_top"><font size="+2"><code>PopupMenu</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.PopupMenu.ctor_added(android.content.Context, android.view.View, int, int, int)"></A>
+  <nobr><A HREF="../../../../reference/android/widget/PopupMenu.html#PopupMenu(android.content.Context, android.view.View, int, int, int)" target="_top"><code>PopupMenu</code></A>(<code>Context,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<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/22/changes/android.widget.PopupWindow.html b/docs/html/sdk/api_diff/22/changes/android.widget.PopupWindow.html
new file mode 100644
index 0000000..c6ad89e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.widget.PopupWindow.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.isAttachedInDecor_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/widget/PopupWindow.html#isAttachedInDecor()" target="_top"><code>isAttachedInDecor</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.PopupWindow.setAttachedInDecor_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/PopupWindow.html#setAttachedInDecor(boolean)" target="_top"><code>setAttachedInDecor</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/22/changes/android.widget.RemoteViews.html b/docs/html/sdk/api_diff/22/changes/android.widget.RemoteViews.html
new file mode 100644
index 0000000..e99c4b8
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/android.widget.RemoteViews.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End 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.setAccessibilityTraversalAfter_added(int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/RemoteViews.html#setAccessibilityTraversalAfter(int, int)" target="_top"><code>setAccessibilityTraversalAfter</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.widget.RemoteViews.setAccessibilityTraversalBefore_added(int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/RemoteViews.html#setAccessibilityTraversalBefore(int, int)" target="_top"><code>setAccessibilityTraversalBefore</code></A>(<code>int,</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/22/changes/changes-summary.html b/docs/html/sdk/api_diff/22/changes/changes-summary.html
new file mode 100644
index 0000000..853314e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/changes-summary.html
@@ -0,0 +1,556 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End 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.service.carrier"></A>
+  <nobr><A HREF="../../../../reference/android/service/carrier/package-summary.html" target="_top"><code>android.service.carrier</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.accounts"></A>
+  <nobr><A HREF="pkg_android.accounts.html">android.accounts</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.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.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.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.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.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.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.http"></A>
+  <nobr><A HREF="pkg_android.net.http.html">android.net.http</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.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.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.text.format"></A>
+  <nobr><A HREF="pkg_android.text.format.html">android.text.format</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.transition"></A>
+  <nobr><A HREF="pkg_android.transition.html">android.transition</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.animation"></A>
+  <nobr><A HREF="pkg_android.view.animation.html">android.view.animation</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="org.apache.commons.logging"></A>
+  <nobr><A HREF="pkg_org.apache.commons.logging.html">org.apache.commons.logging</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http"></A>
+  <nobr><A HREF="pkg_org.apache.http.html">org.apache.http</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.auth"></A>
+  <nobr><A HREF="pkg_org.apache.http.auth.html">org.apache.http.auth</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.auth.params"></A>
+  <nobr><A HREF="pkg_org.apache.http.auth.params.html">org.apache.http.auth.params</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.client"></A>
+  <nobr><A HREF="pkg_org.apache.http.client.html">org.apache.http.client</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.client.entity"></A>
+  <nobr><A HREF="pkg_org.apache.http.client.entity.html">org.apache.http.client.entity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.client.methods"></A>
+  <nobr><A HREF="pkg_org.apache.http.client.methods.html">org.apache.http.client.methods</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.client.params"></A>
+  <nobr><A HREF="pkg_org.apache.http.client.params.html">org.apache.http.client.params</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.client.protocol"></A>
+  <nobr><A HREF="pkg_org.apache.http.client.protocol.html">org.apache.http.client.protocol</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.client.utils"></A>
+  <nobr><A HREF="pkg_org.apache.http.client.utils.html">org.apache.http.client.utils</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.conn"></A>
+  <nobr><A HREF="pkg_org.apache.http.conn.html">org.apache.http.conn</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.conn.params"></A>
+  <nobr><A HREF="pkg_org.apache.http.conn.params.html">org.apache.http.conn.params</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.conn.routing"></A>
+  <nobr><A HREF="pkg_org.apache.http.conn.routing.html">org.apache.http.conn.routing</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.conn.scheme"></A>
+  <nobr><A HREF="pkg_org.apache.http.conn.scheme.html">org.apache.http.conn.scheme</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.conn.ssl"></A>
+  <nobr><A HREF="pkg_org.apache.http.conn.ssl.html">org.apache.http.conn.ssl</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.conn.util"></A>
+  <nobr><A HREF="pkg_org.apache.http.conn.util.html">org.apache.http.conn.util</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.cookie"></A>
+  <nobr><A HREF="pkg_org.apache.http.cookie.html">org.apache.http.cookie</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.cookie.params"></A>
+  <nobr><A HREF="pkg_org.apache.http.cookie.params.html">org.apache.http.cookie.params</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.entity"></A>
+  <nobr><A HREF="pkg_org.apache.http.entity.html">org.apache.http.entity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.impl"></A>
+  <nobr><A HREF="pkg_org.apache.http.impl.html">org.apache.http.impl</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.impl.auth"></A>
+  <nobr><A HREF="pkg_org.apache.http.impl.auth.html">org.apache.http.impl.auth</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.impl.client"></A>
+  <nobr><A HREF="pkg_org.apache.http.impl.client.html">org.apache.http.impl.client</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.impl.conn"></A>
+  <nobr><A HREF="pkg_org.apache.http.impl.conn.html">org.apache.http.impl.conn</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.impl.conn.tsccm"></A>
+  <nobr><A HREF="pkg_org.apache.http.impl.conn.tsccm.html">org.apache.http.impl.conn.tsccm</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.impl.cookie"></A>
+  <nobr><A HREF="pkg_org.apache.http.impl.cookie.html">org.apache.http.impl.cookie</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.impl.entity"></A>
+  <nobr><A HREF="pkg_org.apache.http.impl.entity.html">org.apache.http.impl.entity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.impl.io"></A>
+  <nobr><A HREF="pkg_org.apache.http.impl.io.html">org.apache.http.impl.io</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.io"></A>
+  <nobr><A HREF="pkg_org.apache.http.io.html">org.apache.http.io</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.message"></A>
+  <nobr><A HREF="pkg_org.apache.http.message.html">org.apache.http.message</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.params"></A>
+  <nobr><A HREF="pkg_org.apache.http.params.html">org.apache.http.params</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.protocol"></A>
+  <nobr><A HREF="pkg_org.apache.http.protocol.html">org.apache.http.protocol</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.apache.http.util"></A>
+  <nobr><A HREF="pkg_org.apache.http.util.html">org.apache.http.util</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/22/changes/classes_index_additions.html b/docs/html/sdk/api_diff/22/changes/classes_index_additions.html
new file mode 100644
index 0000000..85e2940
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/classes_index_additions.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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>
+<font color="#999999">Removals</font>
+  <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="B"></A>
+<br><font size="+2">B</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">
+<A HREF="pkg_android.view.animation.html#BaseInterpolator" class="hiddenlink" target="rightframe"><b>BaseInterpolator</b></A><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.telephony.html#SubscriptionInfo" class="hiddenlink" target="rightframe"><b>SubscriptionInfo</b></A><br>
+<A HREF="pkg_android.telephony.html#SubscriptionManager" class="hiddenlink" target="rightframe"><b>SubscriptionManager</b></A><br>
+<A HREF="pkg_android.telephony.html#SubscriptionManager.OnSubscriptionsChangedListener" class="hiddenlink" target="rightframe"><b>SubscriptionManager.OnSubscriptionsChangedListener</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/22/changes/classes_index_all.html b/docs/html/sdk/api_diff/22/changes/classes_index_all.html
new file mode 100644
index 0000000..12e9fd1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/classes_index_all.html
@@ -0,0 +1,1008 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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>
+<font color="#999999">Removals</font>
+  <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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.client.methods.AbortableHttpRequest.html" class="hiddenlink" target="rightframe"><i>AbortableHttpRequest</i></A><br>
+<A HREF="org.apache.http.impl.client.AbstractAuthenticationHandler.html" class="hiddenlink" target="rightframe">AbstractAuthenticationHandler</A><br>
+<A HREF="org.apache.http.impl.conn.AbstractClientConnAdapter.html" class="hiddenlink" target="rightframe">AbstractClientConnAdapter</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.AbstractConnPool.html" class="hiddenlink" target="rightframe">AbstractConnPool</A><br>
+<A HREF="org.apache.http.impl.cookie.AbstractCookieAttributeHandler.html" class="hiddenlink" target="rightframe">AbstractCookieAttributeHandler</A><br>
+<A HREF="org.apache.http.impl.cookie.AbstractCookieSpec.html" class="hiddenlink" target="rightframe">AbstractCookieSpec</A><br>
+<A HREF="org.apache.http.impl.client.AbstractHttpClient.html" class="hiddenlink" target="rightframe">AbstractHttpClient</A><br>
+<A HREF="org.apache.http.impl.AbstractHttpClientConnection.html" class="hiddenlink" target="rightframe">AbstractHttpClientConnection</A><br>
+<A HREF="org.apache.http.entity.AbstractHttpEntity.html" class="hiddenlink" target="rightframe">AbstractHttpEntity</A><br>
+<A HREF="org.apache.http.message.AbstractHttpMessage.html" class="hiddenlink" target="rightframe">AbstractHttpMessage</A><br>
+<A HREF="org.apache.http.params.AbstractHttpParams.html" class="hiddenlink" target="rightframe">AbstractHttpParams</A><br>
+<A HREF="org.apache.http.impl.AbstractHttpServerConnection.html" class="hiddenlink" target="rightframe">AbstractHttpServerConnection</A><br>
+<A HREF="org.apache.http.impl.io.AbstractMessageParser.html" class="hiddenlink" target="rightframe">AbstractMessageParser</A><br>
+<A HREF="org.apache.http.impl.io.AbstractMessageWriter.html" class="hiddenlink" target="rightframe">AbstractMessageWriter</A><br>
+<A HREF="org.apache.http.impl.conn.AbstractPooledConnAdapter.html" class="hiddenlink" target="rightframe">AbstractPooledConnAdapter</A><br>
+<A HREF="org.apache.http.impl.conn.AbstractPoolEntry.html" class="hiddenlink" target="rightframe">AbstractPoolEntry</A><br>
+<A HREF="org.apache.http.impl.io.AbstractSessionInputBuffer.html" class="hiddenlink" target="rightframe">AbstractSessionInputBuffer</A><br>
+<A HREF="org.apache.http.impl.io.AbstractSessionOutputBuffer.html" class="hiddenlink" target="rightframe">AbstractSessionOutputBuffer</A><br>
+<A HREF="org.apache.http.conn.ssl.AbstractVerifier.html" class="hiddenlink" target="rightframe">AbstractVerifier</A><br>
+<A HREF="android.view.animation.AccelerateDecelerateInterpolator.html" class="hiddenlink" target="rightframe">AccelerateDecelerateInterpolator</A><br>
+<A HREF="android.view.animation.AccelerateInterpolator.html" class="hiddenlink" target="rightframe">AccelerateInterpolator</A><br>
+<A HREF="android.view.accessibility.AccessibilityNodeInfo.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfo</A><br>
+<A HREF="android.view.accessibility.AccessibilityWindowInfo.html" class="hiddenlink" target="rightframe">AccessibilityWindowInfo</A><br>
+<A HREF="android.accounts.AccountManager.html" class="hiddenlink" target="rightframe">AccountManager</A><br>
+<A HREF="android.app.Activity.html" class="hiddenlink" target="rightframe">Activity</A><br>
+<A HREF="org.apache.http.client.params.AllClientPNames.html" class="hiddenlink" target="rightframe"><i>AllClientPNames</i></A><br>
+<A HREF="org.apache.http.conn.ssl.AllowAllHostnameVerifier.html" class="hiddenlink" target="rightframe">AllowAllHostnameVerifier</A><br>
+<A HREF="android.net.http.AndroidHttpClient.html" class="hiddenlink" target="rightframe">AndroidHttpClient</A><br>
+<A HREF="android.view.animation.AnticipateInterpolator.html" class="hiddenlink" target="rightframe">AnticipateInterpolator</A><br>
+<A HREF="android.view.animation.AnticipateOvershootInterpolator.html" class="hiddenlink" target="rightframe">AnticipateOvershootInterpolator</A><br>
+<A HREF="org.apache.http.auth.AUTH.html" class="hiddenlink" target="rightframe">AUTH</A><br>
+<A HREF="org.apache.http.auth.AuthenticationException.html" class="hiddenlink" target="rightframe">AuthenticationException</A><br>
+<A HREF="org.apache.http.client.AuthenticationHandler.html" class="hiddenlink" target="rightframe"><i>AuthenticationHandler</i></A><br>
+<A HREF="org.apache.http.auth.params.AuthParamBean.html" class="hiddenlink" target="rightframe">AuthParamBean</A><br>
+<A HREF="org.apache.http.auth.params.AuthParams.html" class="hiddenlink" target="rightframe">AuthParams</A><br>
+<A HREF="org.apache.http.auth.params.AuthPNames.html" class="hiddenlink" target="rightframe"><i>AuthPNames</i></A><br>
+<A HREF="org.apache.http.client.params.AuthPolicy.html" class="hiddenlink" target="rightframe">AuthPolicy</A><br>
+<A HREF="org.apache.http.auth.AuthScheme.html" class="hiddenlink" target="rightframe"><i>AuthScheme</i></A><br>
+<A HREF="org.apache.http.impl.auth.AuthSchemeBase.html" class="hiddenlink" target="rightframe">AuthSchemeBase</A><br>
+<A HREF="org.apache.http.auth.AuthSchemeFactory.html" class="hiddenlink" target="rightframe"><i>AuthSchemeFactory</i></A><br>
+<A HREF="org.apache.http.auth.AuthSchemeRegistry.html" class="hiddenlink" target="rightframe">AuthSchemeRegistry</A><br>
+<A HREF="org.apache.http.auth.AuthScope.html" class="hiddenlink" target="rightframe">AuthScope</A><br>
+<A HREF="org.apache.http.auth.AuthState.html" class="hiddenlink" target="rightframe">AuthState</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.os.BaseBundle.html" class="hiddenlink" target="rightframe">BaseBundle</A><br>
+<A HREF="pkg_android.view.animation.html#BaseInterpolator" class="hiddenlink" target="rightframe"><b>BaseInterpolator</b></A><br>
+<A HREF="org.apache.http.impl.cookie.BasicClientCookie.html" class="hiddenlink" target="rightframe">BasicClientCookie</A><br>
+<A HREF="org.apache.http.impl.cookie.BasicClientCookie2.html" class="hiddenlink" target="rightframe">BasicClientCookie2</A><br>
+<A HREF="org.apache.http.impl.cookie.BasicCommentHandler.html" class="hiddenlink" target="rightframe">BasicCommentHandler</A><br>
+<A HREF="org.apache.http.impl.client.BasicCookieStore.html" class="hiddenlink" target="rightframe">BasicCookieStore</A><br>
+<A HREF="org.apache.http.impl.client.BasicCredentialsProvider.html" class="hiddenlink" target="rightframe">BasicCredentialsProvider</A><br>
+<A HREF="org.apache.http.impl.cookie.BasicDomainHandler.html" class="hiddenlink" target="rightframe">BasicDomainHandler</A><br>
+<A HREF="org.apache.http.conn.BasicEofSensorWatcher.html" class="hiddenlink" target="rightframe">BasicEofSensorWatcher</A><br>
+<A HREF="org.apache.http.impl.cookie.BasicExpiresHandler.html" class="hiddenlink" target="rightframe">BasicExpiresHandler</A><br>
+<A HREF="org.apache.http.message.BasicHeader.html" class="hiddenlink" target="rightframe">BasicHeader</A><br>
+<A HREF="org.apache.http.message.BasicHeaderElement.html" class="hiddenlink" target="rightframe">BasicHeaderElement</A><br>
+<A HREF="org.apache.http.message.BasicHeaderElementIterator.html" class="hiddenlink" target="rightframe">BasicHeaderElementIterator</A><br>
+<A HREF="org.apache.http.message.BasicHeaderIterator.html" class="hiddenlink" target="rightframe">BasicHeaderIterator</A><br>
+<A HREF="org.apache.http.message.BasicHeaderValueFormatter.html" class="hiddenlink" target="rightframe">BasicHeaderValueFormatter</A><br>
+<A HREF="org.apache.http.message.BasicHeaderValueParser.html" class="hiddenlink" target="rightframe">BasicHeaderValueParser</A><br>
+<A HREF="org.apache.http.protocol.BasicHttpContext.html" class="hiddenlink" target="rightframe">BasicHttpContext</A><br>
+<A HREF="org.apache.http.entity.BasicHttpEntity.html" class="hiddenlink" target="rightframe">BasicHttpEntity</A><br>
+<A HREF="org.apache.http.message.BasicHttpEntityEnclosingRequest.html" class="hiddenlink" target="rightframe">BasicHttpEntityEnclosingRequest</A><br>
+<A HREF="org.apache.http.params.BasicHttpParams.html" class="hiddenlink" target="rightframe">BasicHttpParams</A><br>
+<A HREF="org.apache.http.protocol.BasicHttpProcessor.html" class="hiddenlink" target="rightframe">BasicHttpProcessor</A><br>
+<A HREF="org.apache.http.message.BasicHttpRequest.html" class="hiddenlink" target="rightframe">BasicHttpRequest</A><br>
+<A HREF="org.apache.http.message.BasicHttpResponse.html" class="hiddenlink" target="rightframe">BasicHttpResponse</A><br>
+<A HREF="org.apache.http.message.BasicLineFormatter.html" class="hiddenlink" target="rightframe">BasicLineFormatter</A><br>
+<A HREF="org.apache.http.message.BasicLineParser.html" class="hiddenlink" target="rightframe">BasicLineParser</A><br>
+<A HREF="org.apache.http.message.BasicListHeaderIterator.html" class="hiddenlink" target="rightframe">BasicListHeaderIterator</A><br>
+<A HREF="org.apache.http.conn.BasicManagedEntity.html" class="hiddenlink" target="rightframe">BasicManagedEntity</A><br>
+<A HREF="org.apache.http.impl.cookie.BasicMaxAgeHandler.html" class="hiddenlink" target="rightframe">BasicMaxAgeHandler</A><br>
+<A HREF="org.apache.http.message.BasicNameValuePair.html" class="hiddenlink" target="rightframe">BasicNameValuePair</A><br>
+<A HREF="org.apache.http.impl.cookie.BasicPathHandler.html" class="hiddenlink" target="rightframe">BasicPathHandler</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.BasicPooledConnAdapter.html" class="hiddenlink" target="rightframe">BasicPooledConnAdapter</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.BasicPoolEntry.html" class="hiddenlink" target="rightframe">BasicPoolEntry</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.BasicPoolEntryRef.html" class="hiddenlink" target="rightframe">BasicPoolEntryRef</A><br>
+<A HREF="org.apache.http.message.BasicRequestLine.html" class="hiddenlink" target="rightframe">BasicRequestLine</A><br>
+<A HREF="org.apache.http.impl.client.BasicResponseHandler.html" class="hiddenlink" target="rightframe">BasicResponseHandler</A><br>
+<A HREF="org.apache.http.conn.routing.BasicRouteDirector.html" class="hiddenlink" target="rightframe">BasicRouteDirector</A><br>
+<A HREF="org.apache.http.impl.auth.BasicScheme.html" class="hiddenlink" target="rightframe">BasicScheme</A><br>
+<A HREF="org.apache.http.impl.auth.BasicSchemeFactory.html" class="hiddenlink" target="rightframe">BasicSchemeFactory</A><br>
+<A HREF="org.apache.http.impl.cookie.BasicSecureHandler.html" class="hiddenlink" target="rightframe">BasicSecureHandler</A><br>
+<A HREF="org.apache.http.message.BasicStatusLine.html" class="hiddenlink" target="rightframe">BasicStatusLine</A><br>
+<A HREF="org.apache.http.message.BasicTokenIterator.html" class="hiddenlink" target="rightframe">BasicTokenIterator</A><br>
+<A HREF="org.apache.http.auth.BasicUserPrincipal.html" class="hiddenlink" target="rightframe">BasicUserPrincipal</A><br>
+<A HREF="org.apache.http.impl.cookie.BestMatchSpec.html" class="hiddenlink" target="rightframe">BestMatchSpec</A><br>
+<A HREF="org.apache.http.impl.cookie.BestMatchSpecFactory.html" class="hiddenlink" target="rightframe">BestMatchSpecFactory</A><br>
+<A HREF="android.bluetooth.BluetoothGattServerCallback.html" class="hiddenlink" target="rightframe">BluetoothGattServerCallback</A><br>
+<A HREF="android.view.animation.BounceInterpolator.html" class="hiddenlink" target="rightframe">BounceInterpolator</A><br>
+<A HREF="org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.html" class="hiddenlink" target="rightframe">BrowserCompatHostnameVerifier</A><br>
+<A HREF="org.apache.http.impl.cookie.BrowserCompatSpec.html" class="hiddenlink" target="rightframe">BrowserCompatSpec</A><br>
+<A HREF="org.apache.http.impl.cookie.BrowserCompatSpecFactory.html" class="hiddenlink" target="rightframe">BrowserCompatSpecFactory</A><br>
+<A HREF="org.apache.http.message.BufferedHeader.html" class="hiddenlink" target="rightframe">BufferedHeader</A><br>
+<A HREF="org.apache.http.entity.BufferedHttpEntity.html" class="hiddenlink" target="rightframe">BufferedHttpEntity</A><br>
+<A HREF="android.os.Build.VERSION_CODES.html" class="hiddenlink" target="rightframe">Build.VERSION_CODES</A><br>
+<A HREF="android.os.Bundle.html" class="hiddenlink" target="rightframe">Bundle</A><br>
+<A HREF="org.apache.http.util.ByteArrayBuffer.html" class="hiddenlink" target="rightframe">ByteArrayBuffer</A><br>
+<A HREF="org.apache.http.entity.ByteArrayEntity.html" class="hiddenlink" target="rightframe">ByteArrayEntity</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.hardware.camera2.CameraMetadata.html" class="hiddenlink" target="rightframe">CameraMetadata</A><br>
+<A HREF="android.transition.ChangeBounds.html" class="hiddenlink" target="rightframe">ChangeBounds</A><br>
+<A HREF="org.apache.http.util.CharArrayBuffer.html" class="hiddenlink" target="rightframe">CharArrayBuffer</A><br>
+<A HREF="org.apache.http.impl.io.ChunkedInputStream.html" class="hiddenlink" target="rightframe">ChunkedInputStream</A><br>
+<A HREF="org.apache.http.impl.io.ChunkedOutputStream.html" class="hiddenlink" target="rightframe">ChunkedOutputStream</A><br>
+<A HREF="org.apache.http.client.CircularRedirectException.html" class="hiddenlink" target="rightframe">CircularRedirectException</A><br>
+<A HREF="org.apache.http.conn.ClientConnectionManager.html" class="hiddenlink" target="rightframe"><i>ClientConnectionManager</i></A><br>
+<A HREF="org.apache.http.conn.ClientConnectionManagerFactory.html" class="hiddenlink" target="rightframe"><i>ClientConnectionManagerFactory</i></A><br>
+<A HREF="org.apache.http.conn.ClientConnectionOperator.html" class="hiddenlink" target="rightframe"><i>ClientConnectionOperator</i></A><br>
+<A HREF="org.apache.http.conn.ClientConnectionRequest.html" class="hiddenlink" target="rightframe"><i>ClientConnectionRequest</i></A><br>
+<A HREF="org.apache.http.client.protocol.ClientContext.html" class="hiddenlink" target="rightframe"><i>ClientContext</i></A><br>
+<A HREF="org.apache.http.client.protocol.ClientContextConfigurer.html" class="hiddenlink" target="rightframe">ClientContextConfigurer</A><br>
+<A HREF="org.apache.http.cookie.ClientCookie.html" class="hiddenlink" target="rightframe"><i>ClientCookie</i></A><br>
+<A HREF="org.apache.http.client.params.ClientParamBean.html" class="hiddenlink" target="rightframe">ClientParamBean</A><br>
+<A HREF="org.apache.http.impl.client.ClientParamsStack.html" class="hiddenlink" target="rightframe">ClientParamsStack</A><br>
+<A HREF="org.apache.http.client.params.ClientPNames.html" class="hiddenlink" target="rightframe"><i>ClientPNames</i></A><br>
+<A HREF="org.apache.http.client.ClientProtocolException.html" class="hiddenlink" target="rightframe">ClientProtocolException</A><br>
+<A HREF="org.apache.http.client.utils.CloneUtils.html" class="hiddenlink" target="rightframe">CloneUtils</A><br>
+<A HREF="org.apache.http.conn.params.ConnConnectionParamBean.html" class="hiddenlink" target="rightframe">ConnConnectionParamBean</A><br>
+<A HREF="org.apache.http.conn.params.ConnConnectionPNames.html" class="hiddenlink" target="rightframe"><i>ConnConnectionPNames</i></A><br>
+<A HREF="org.apache.http.ConnectionClosedException.html" class="hiddenlink" target="rightframe">ConnectionClosedException</A><br>
+<A HREF="org.apache.http.conn.ConnectionKeepAliveStrategy.html" class="hiddenlink" target="rightframe"><i>ConnectionKeepAliveStrategy</i></A><br>
+<A HREF="org.apache.http.conn.ConnectionPoolTimeoutException.html" class="hiddenlink" target="rightframe">ConnectionPoolTimeoutException</A><br>
+<A HREF="org.apache.http.conn.ConnectionReleaseTrigger.html" class="hiddenlink" target="rightframe"><i>ConnectionReleaseTrigger</i></A><br>
+<A HREF="org.apache.http.ConnectionReuseStrategy.html" class="hiddenlink" target="rightframe"><i>ConnectionReuseStrategy</i></A><br>
+<A HREF="android.net.ConnectivityManager.html" class="hiddenlink" target="rightframe">ConnectivityManager</A><br>
+<A HREF="org.apache.http.conn.ConnectTimeoutException.html" class="hiddenlink" target="rightframe">ConnectTimeoutException</A><br>
+<A HREF="org.apache.http.conn.params.ConnManagerParamBean.html" class="hiddenlink" target="rightframe">ConnManagerParamBean</A><br>
+<A HREF="org.apache.http.conn.params.ConnManagerParams.html" class="hiddenlink" target="rightframe">ConnManagerParams</A><br>
+<A HREF="org.apache.http.conn.params.ConnManagerPNames.html" class="hiddenlink" target="rightframe"><i>ConnManagerPNames</i></A><br>
+<A HREF="org.apache.http.conn.params.ConnPerRoute.html" class="hiddenlink" target="rightframe"><i>ConnPerRoute</i></A><br>
+<A HREF="org.apache.http.conn.params.ConnPerRouteBean.html" class="hiddenlink" target="rightframe">ConnPerRouteBean</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.ConnPoolByRoute.html" class="hiddenlink" target="rightframe">ConnPoolByRoute</A><br>
+<A HREF="org.apache.http.conn.params.ConnRouteParamBean.html" class="hiddenlink" target="rightframe">ConnRouteParamBean</A><br>
+<A HREF="org.apache.http.conn.params.ConnRouteParams.html" class="hiddenlink" target="rightframe">ConnRouteParams</A><br>
+<A HREF="org.apache.http.conn.params.ConnRoutePNames.html" class="hiddenlink" target="rightframe"><i>ConnRoutePNames</i></A><br>
+<A HREF="org.apache.http.impl.io.ContentLengthInputStream.html" class="hiddenlink" target="rightframe">ContentLengthInputStream</A><br>
+<A HREF="org.apache.http.impl.io.ContentLengthOutputStream.html" class="hiddenlink" target="rightframe">ContentLengthOutputStream</A><br>
+<A HREF="org.apache.http.entity.ContentLengthStrategy.html" class="hiddenlink" target="rightframe"><i>ContentLengthStrategy</i></A><br>
+<A HREF="org.apache.http.entity.ContentProducer.html" class="hiddenlink" target="rightframe"><i>ContentProducer</i></A><br>
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<A HREF="org.apache.http.cookie.Cookie.html" class="hiddenlink" target="rightframe"><i>Cookie</i></A><br>
+<A HREF="org.apache.http.cookie.CookieAttributeHandler.html" class="hiddenlink" target="rightframe"><i>CookieAttributeHandler</i></A><br>
+<A HREF="org.apache.http.cookie.CookieIdentityComparator.html" class="hiddenlink" target="rightframe">CookieIdentityComparator</A><br>
+<A HREF="android.webkit.CookieManager.html" class="hiddenlink" target="rightframe">CookieManager</A><br>
+<A HREF="org.apache.http.cookie.CookieOrigin.html" class="hiddenlink" target="rightframe">CookieOrigin</A><br>
+<A HREF="org.apache.http.cookie.CookiePathComparator.html" class="hiddenlink" target="rightframe">CookiePathComparator</A><br>
+<A HREF="org.apache.http.client.params.CookiePolicy.html" class="hiddenlink" target="rightframe">CookiePolicy</A><br>
+<A HREF="org.apache.http.cookie.CookieSpec.html" class="hiddenlink" target="rightframe"><i>CookieSpec</i></A><br>
+<A HREF="org.apache.http.impl.cookie.CookieSpecBase.html" class="hiddenlink" target="rightframe">CookieSpecBase</A><br>
+<A HREF="org.apache.http.cookie.CookieSpecFactory.html" class="hiddenlink" target="rightframe"><i>CookieSpecFactory</i></A><br>
+<A HREF="org.apache.http.cookie.params.CookieSpecParamBean.html" class="hiddenlink" target="rightframe">CookieSpecParamBean</A><br>
+<A HREF="org.apache.http.cookie.params.CookieSpecPNames.html" class="hiddenlink" target="rightframe"><i>CookieSpecPNames</i></A><br>
+<A HREF="org.apache.http.cookie.CookieSpecRegistry.html" class="hiddenlink" target="rightframe">CookieSpecRegistry</A><br>
+<A HREF="org.apache.http.client.CookieStore.html" class="hiddenlink" target="rightframe"><i>CookieStore</i></A><br>
+<A HREF="org.apache.http.params.CoreConnectionPNames.html" class="hiddenlink" target="rightframe"><i>CoreConnectionPNames</i></A><br>
+<A HREF="org.apache.http.params.CoreProtocolPNames.html" class="hiddenlink" target="rightframe"><i>CoreProtocolPNames</i></A><br>
+<A HREF="org.apache.http.auth.Credentials.html" class="hiddenlink" target="rightframe"><i>Credentials</i></A><br>
+<A HREF="org.apache.http.client.CredentialsProvider.html" class="hiddenlink" target="rightframe"><i>CredentialsProvider</i></A><br>
+<A HREF="android.view.animation.CycleInterpolator.html" class="hiddenlink" target="rightframe">CycleInterpolator</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.text.format.DateFormat.html" class="hiddenlink" target="rightframe">DateFormat</A><br>
+<A HREF="org.apache.http.impl.cookie.DateParseException.html" class="hiddenlink" target="rightframe">DateParseException</A><br>
+<A HREF="org.apache.http.impl.cookie.DateUtils.html" class="hiddenlink" target="rightframe">DateUtils</A><br>
+<A HREF="android.view.animation.DecelerateInterpolator.html" class="hiddenlink" target="rightframe">DecelerateInterpolator</A><br>
+<A HREF="org.apache.http.impl.conn.DefaultClientConnection.html" class="hiddenlink" target="rightframe">DefaultClientConnection</A><br>
+<A HREF="org.apache.http.impl.conn.DefaultClientConnectionOperator.html" class="hiddenlink" target="rightframe">DefaultClientConnectionOperator</A><br>
+<A HREF="org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy.html" class="hiddenlink" target="rightframe">DefaultConnectionKeepAliveStrategy</A><br>
+<A HREF="org.apache.http.impl.DefaultConnectionReuseStrategy.html" class="hiddenlink" target="rightframe">DefaultConnectionReuseStrategy</A><br>
+<A HREF="org.apache.http.protocol.DefaultedHttpContext.html" class="hiddenlink" target="rightframe">DefaultedHttpContext</A><br>
+<A HREF="org.apache.http.params.DefaultedHttpParams.html" class="hiddenlink" target="rightframe">DefaultedHttpParams</A><br>
+<A HREF="org.apache.http.impl.client.DefaultHttpClient.html" class="hiddenlink" target="rightframe">DefaultHttpClient</A><br>
+<A HREF="org.apache.http.impl.DefaultHttpClientConnection.html" class="hiddenlink" target="rightframe">DefaultHttpClientConnection</A><br>
+<A HREF="org.apache.http.impl.DefaultHttpRequestFactory.html" class="hiddenlink" target="rightframe">DefaultHttpRequestFactory</A><br>
+<A HREF="org.apache.http.impl.client.DefaultHttpRequestRetryHandler.html" class="hiddenlink" target="rightframe">DefaultHttpRequestRetryHandler</A><br>
+<A HREF="org.apache.http.impl.DefaultHttpResponseFactory.html" class="hiddenlink" target="rightframe">DefaultHttpResponseFactory</A><br>
+<A HREF="org.apache.http.impl.conn.DefaultHttpRoutePlanner.html" class="hiddenlink" target="rightframe">DefaultHttpRoutePlanner</A><br>
+<A HREF="org.apache.http.impl.DefaultHttpServerConnection.html" class="hiddenlink" target="rightframe">DefaultHttpServerConnection</A><br>
+<A HREF="org.apache.http.impl.client.DefaultProxyAuthenticationHandler.html" class="hiddenlink" target="rightframe">DefaultProxyAuthenticationHandler</A><br>
+<A HREF="org.apache.http.impl.client.DefaultRedirectHandler.html" class="hiddenlink" target="rightframe">DefaultRedirectHandler</A><br>
+<A HREF="org.apache.http.impl.client.DefaultRequestDirector.html" class="hiddenlink" target="rightframe">DefaultRequestDirector</A><br>
+<A HREF="org.apache.http.impl.conn.DefaultResponseParser.html" class="hiddenlink" target="rightframe">DefaultResponseParser</A><br>
+<A HREF="org.apache.http.impl.client.DefaultTargetAuthenticationHandler.html" class="hiddenlink" target="rightframe">DefaultTargetAuthenticationHandler</A><br>
+<A HREF="org.apache.http.impl.client.DefaultUserTokenHandler.html" class="hiddenlink" target="rightframe">DefaultUserTokenHandler</A><br>
+<A HREF="android.app.admin.DevicePolicyManager.html" class="hiddenlink" target="rightframe">DevicePolicyManager</A><br>
+<A HREF="org.apache.http.impl.auth.DigestScheme.html" class="hiddenlink" target="rightframe">DigestScheme</A><br>
+<A HREF="org.apache.http.impl.auth.DigestSchemeFactory.html" class="hiddenlink" target="rightframe">DigestSchemeFactory</A><br>
+<A HREF="android.util.DisplayMetrics.html" class="hiddenlink" target="rightframe">DisplayMetrics</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.util.EncodingUtils.html" class="hiddenlink" target="rightframe">EncodingUtils</A><br>
+<A HREF="org.apache.http.impl.EnglishReasonPhraseCatalog.html" class="hiddenlink" target="rightframe">EnglishReasonPhraseCatalog</A><br>
+<A HREF="org.apache.http.impl.entity.EntityDeserializer.html" class="hiddenlink" target="rightframe">EntityDeserializer</A><br>
+<A HREF="org.apache.http.impl.client.EntityEnclosingRequestWrapper.html" class="hiddenlink" target="rightframe">EntityEnclosingRequestWrapper</A><br>
+<A HREF="org.apache.http.impl.entity.EntitySerializer.html" class="hiddenlink" target="rightframe">EntitySerializer</A><br>
+<A HREF="org.apache.http.entity.EntityTemplate.html" class="hiddenlink" target="rightframe">EntityTemplate</A><br>
+<A HREF="org.apache.http.util.EntityUtils.html" class="hiddenlink" target="rightframe">EntityUtils</A><br>
+<A HREF="org.apache.http.conn.EofSensorInputStream.html" class="hiddenlink" target="rightframe">EofSensorInputStream</A><br>
+<A HREF="org.apache.http.conn.EofSensorWatcher.html" class="hiddenlink" target="rightframe"><i>EofSensorWatcher</i></A><br>
+<A HREF="org.apache.http.util.ExceptionUtils.html" class="hiddenlink" target="rightframe">ExceptionUtils</A><br>
+<A HREF="org.apache.http.protocol.ExecutionContext.html" class="hiddenlink" target="rightframe"><i>ExecutionContext</i></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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.entity.FileEntity.html" class="hiddenlink" target="rightframe">FileEntity</A><br>
+<A HREF="android.util.FloatMath.html" class="hiddenlink" target="rightframe">FloatMath</A><br>
+<A HREF="org.apache.http.FormattedHeader.html" class="hiddenlink" target="rightframe"><i>FormattedHeader</i></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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.Header.html" class="hiddenlink" target="rightframe"><i>Header</i></A><br>
+<A HREF="org.apache.http.HeaderElement.html" class="hiddenlink" target="rightframe"><i>HeaderElement</i></A><br>
+<A HREF="org.apache.http.HeaderElementIterator.html" class="hiddenlink" target="rightframe"><i>HeaderElementIterator</i></A><br>
+<A HREF="org.apache.http.message.HeaderGroup.html" class="hiddenlink" target="rightframe">HeaderGroup</A><br>
+<A HREF="org.apache.http.HeaderIterator.html" class="hiddenlink" target="rightframe"><i>HeaderIterator</i></A><br>
+<A HREF="org.apache.http.message.HeaderValueFormatter.html" class="hiddenlink" target="rightframe"><i>HeaderValueFormatter</i></A><br>
+<A HREF="org.apache.http.message.HeaderValueParser.html" class="hiddenlink" target="rightframe"><i>HeaderValueParser</i></A><br>
+<A HREF="org.apache.http.conn.scheme.HostNameResolver.html" class="hiddenlink" target="rightframe"><i>HostNameResolver</i></A><br>
+<A HREF="org.apache.http.protocol.HTTP.html" class="hiddenlink" target="rightframe">HTTP</A><br>
+<A HREF="org.apache.http.params.HttpAbstractParamBean.html" class="hiddenlink" target="rightframe">HttpAbstractParamBean</A><br>
+<A HREF="org.apache.http.client.HttpClient.html" class="hiddenlink" target="rightframe"><i>HttpClient</i></A><br>
+<A HREF="org.apache.http.HttpClientConnection.html" class="hiddenlink" target="rightframe"><i>HttpClientConnection</i></A><br>
+<A HREF="org.apache.http.client.params.HttpClientParams.html" class="hiddenlink" target="rightframe">HttpClientParams</A><br>
+<A HREF="org.apache.http.HttpConnection.html" class="hiddenlink" target="rightframe"><i>HttpConnection</i></A><br>
+<A HREF="org.apache.http.HttpConnectionMetrics.html" class="hiddenlink" target="rightframe"><i>HttpConnectionMetrics</i></A><br>
+<A HREF="org.apache.http.impl.HttpConnectionMetricsImpl.html" class="hiddenlink" target="rightframe">HttpConnectionMetricsImpl</A><br>
+<A HREF="org.apache.http.params.HttpConnectionParamBean.html" class="hiddenlink" target="rightframe">HttpConnectionParamBean</A><br>
+<A HREF="org.apache.http.params.HttpConnectionParams.html" class="hiddenlink" target="rightframe">HttpConnectionParams</A><br>
+<A HREF="org.apache.http.protocol.HttpContext.html" class="hiddenlink" target="rightframe"><i>HttpContext</i></A><br>
+<A HREF="org.apache.http.protocol.HttpDateGenerator.html" class="hiddenlink" target="rightframe">HttpDateGenerator</A><br>
+<A HREF="org.apache.http.client.methods.HttpDelete.html" class="hiddenlink" target="rightframe">HttpDelete</A><br>
+<A HREF="org.apache.http.HttpEntity.html" class="hiddenlink" target="rightframe"><i>HttpEntity</i></A><br>
+<A HREF="org.apache.http.HttpEntityEnclosingRequest.html" class="hiddenlink" target="rightframe"><i>HttpEntityEnclosingRequest</i></A><br>
+<A HREF="org.apache.http.client.methods.HttpEntityEnclosingRequestBase.html" class="hiddenlink" target="rightframe">HttpEntityEnclosingRequestBase</A><br>
+<A HREF="org.apache.http.entity.HttpEntityWrapper.html" class="hiddenlink" target="rightframe">HttpEntityWrapper</A><br>
+<A HREF="org.apache.http.HttpException.html" class="hiddenlink" target="rightframe">HttpException</A><br>
+<A HREF="org.apache.http.protocol.HttpExpectationVerifier.html" class="hiddenlink" target="rightframe"><i>HttpExpectationVerifier</i></A><br>
+<A HREF="org.apache.http.client.methods.HttpGet.html" class="hiddenlink" target="rightframe">HttpGet</A><br>
+<A HREF="org.apache.http.client.methods.HttpHead.html" class="hiddenlink" target="rightframe">HttpHead</A><br>
+<A HREF="org.apache.http.HttpHost.html" class="hiddenlink" target="rightframe">HttpHost</A><br>
+<A HREF="org.apache.http.conn.HttpHostConnectException.html" class="hiddenlink" target="rightframe">HttpHostConnectException</A><br>
+<A HREF="org.apache.http.HttpInetConnection.html" class="hiddenlink" target="rightframe"><i>HttpInetConnection</i></A><br>
+<A HREF="org.apache.http.HttpMessage.html" class="hiddenlink" target="rightframe"><i>HttpMessage</i></A><br>
+<A HREF="org.apache.http.io.HttpMessageParser.html" class="hiddenlink" target="rightframe"><i>HttpMessageParser</i></A><br>
+<A HREF="org.apache.http.io.HttpMessageWriter.html" class="hiddenlink" target="rightframe"><i>HttpMessageWriter</i></A><br>
+<A HREF="org.apache.http.client.methods.HttpOptions.html" class="hiddenlink" target="rightframe">HttpOptions</A><br>
+<A HREF="org.apache.http.params.HttpParams.html" class="hiddenlink" target="rightframe"><i>HttpParams</i></A><br>
+<A HREF="org.apache.http.client.methods.HttpPost.html" class="hiddenlink" target="rightframe">HttpPost</A><br>
+<A HREF="org.apache.http.protocol.HttpProcessor.html" class="hiddenlink" target="rightframe"><i>HttpProcessor</i></A><br>
+<A HREF="org.apache.http.params.HttpProtocolParamBean.html" class="hiddenlink" target="rightframe">HttpProtocolParamBean</A><br>
+<A HREF="org.apache.http.params.HttpProtocolParams.html" class="hiddenlink" target="rightframe">HttpProtocolParams</A><br>
+<A HREF="org.apache.http.client.methods.HttpPut.html" class="hiddenlink" target="rightframe">HttpPut</A><br>
+<A HREF="org.apache.http.HttpRequest.html" class="hiddenlink" target="rightframe"><i>HttpRequest</i></A><br>
+<A HREF="org.apache.http.client.methods.HttpRequestBase.html" class="hiddenlink" target="rightframe">HttpRequestBase</A><br>
+<A HREF="org.apache.http.protocol.HttpRequestExecutor.html" class="hiddenlink" target="rightframe">HttpRequestExecutor</A><br>
+<A HREF="org.apache.http.HttpRequestFactory.html" class="hiddenlink" target="rightframe"><i>HttpRequestFactory</i></A><br>
+<A HREF="org.apache.http.protocol.HttpRequestHandler.html" class="hiddenlink" target="rightframe"><i>HttpRequestHandler</i></A><br>
+<A HREF="org.apache.http.protocol.HttpRequestHandlerRegistry.html" class="hiddenlink" target="rightframe">HttpRequestHandlerRegistry</A><br>
+<A HREF="org.apache.http.protocol.HttpRequestHandlerResolver.html" class="hiddenlink" target="rightframe"><i>HttpRequestHandlerResolver</i></A><br>
+<A HREF="org.apache.http.HttpRequestInterceptor.html" class="hiddenlink" target="rightframe"><i>HttpRequestInterceptor</i></A><br>
+<A HREF="org.apache.http.protocol.HttpRequestInterceptorList.html" class="hiddenlink" target="rightframe"><i>HttpRequestInterceptorList</i></A><br>
+<A HREF="org.apache.http.impl.io.HttpRequestParser.html" class="hiddenlink" target="rightframe">HttpRequestParser</A><br>
+<A HREF="org.apache.http.client.HttpRequestRetryHandler.html" class="hiddenlink" target="rightframe"><i>HttpRequestRetryHandler</i></A><br>
+<A HREF="org.apache.http.impl.io.HttpRequestWriter.html" class="hiddenlink" target="rightframe">HttpRequestWriter</A><br>
+<A HREF="org.apache.http.HttpResponse.html" class="hiddenlink" target="rightframe"><i>HttpResponse</i></A><br>
+<A HREF="org.apache.http.client.HttpResponseException.html" class="hiddenlink" target="rightframe">HttpResponseException</A><br>
+<A HREF="org.apache.http.HttpResponseFactory.html" class="hiddenlink" target="rightframe"><i>HttpResponseFactory</i></A><br>
+<A HREF="org.apache.http.HttpResponseInterceptor.html" class="hiddenlink" target="rightframe"><i>HttpResponseInterceptor</i></A><br>
+<A HREF="org.apache.http.protocol.HttpResponseInterceptorList.html" class="hiddenlink" target="rightframe"><i>HttpResponseInterceptorList</i></A><br>
+<A HREF="org.apache.http.impl.io.HttpResponseParser.html" class="hiddenlink" target="rightframe">HttpResponseParser</A><br>
+<A HREF="org.apache.http.impl.io.HttpResponseWriter.html" class="hiddenlink" target="rightframe">HttpResponseWriter</A><br>
+<A HREF="org.apache.http.conn.routing.HttpRoute.html" class="hiddenlink" target="rightframe">HttpRoute</A><br>
+<A HREF="org.apache.http.conn.routing.HttpRouteDirector.html" class="hiddenlink" target="rightframe"><i>HttpRouteDirector</i></A><br>
+<A HREF="org.apache.http.conn.routing.HttpRoutePlanner.html" class="hiddenlink" target="rightframe"><i>HttpRoutePlanner</i></A><br>
+<A HREF="org.apache.http.HttpServerConnection.html" class="hiddenlink" target="rightframe"><i>HttpServerConnection</i></A><br>
+<A HREF="org.apache.http.protocol.HttpService.html" class="hiddenlink" target="rightframe">HttpService</A><br>
+<A HREF="org.apache.http.HttpStatus.html" class="hiddenlink" target="rightframe"><i>HttpStatus</i></A><br>
+<A HREF="org.apache.http.client.methods.HttpTrace.html" class="hiddenlink" target="rightframe">HttpTrace</A><br>
+<A HREF="org.apache.http.io.HttpTransportMetrics.html" class="hiddenlink" target="rightframe"><i>HttpTransportMetrics</i></A><br>
+<A HREF="org.apache.http.impl.io.HttpTransportMetricsImpl.html" class="hiddenlink" target="rightframe">HttpTransportMetricsImpl</A><br>
+<A HREF="org.apache.http.client.methods.HttpUriRequest.html" class="hiddenlink" target="rightframe"><i>HttpUriRequest</i></A><br>
+<A HREF="org.apache.http.HttpVersion.html" class="hiddenlink" target="rightframe">HttpVersion</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="#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="#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="org.apache.http.impl.io.IdentityInputStream.html" class="hiddenlink" target="rightframe">IdentityInputStream</A><br>
+<A HREF="org.apache.http.impl.io.IdentityOutputStream.html" class="hiddenlink" target="rightframe">IdentityOutputStream</A><br>
+<A HREF="org.apache.http.impl.conn.IdleConnectionHandler.html" class="hiddenlink" target="rightframe">IdleConnectionHandler</A><br>
+<A HREF="org.apache.http.conn.util.InetAddressUtils.html" class="hiddenlink" target="rightframe">InetAddressUtils</A><br>
+<A HREF="org.apache.http.entity.InputStreamEntity.html" class="hiddenlink" target="rightframe">InputStreamEntity</A><br>
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<A HREF="org.apache.http.auth.InvalidCredentialsException.html" class="hiddenlink" target="rightframe">InvalidCredentialsException</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="#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="#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="android.app.KeyguardManager.html" class="hiddenlink" target="rightframe">KeyguardManager</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="#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="#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="org.apache.http.util.LangUtils.html" class="hiddenlink" target="rightframe">LangUtils</A><br>
+<A HREF="org.apache.http.impl.entity.LaxContentLengthStrategy.html" class="hiddenlink" target="rightframe">LaxContentLengthStrategy</A><br>
+<A HREF="org.apache.http.conn.scheme.LayeredSocketFactory.html" class="hiddenlink" target="rightframe"><i>LayeredSocketFactory</i></A><br>
+<A HREF="android.view.animation.LinearInterpolator.html" class="hiddenlink" target="rightframe">LinearInterpolator</A><br>
+<A HREF="org.apache.http.message.LineFormatter.html" class="hiddenlink" target="rightframe"><i>LineFormatter</i></A><br>
+<A HREF="org.apache.http.message.LineParser.html" class="hiddenlink" target="rightframe"><i>LineParser</i></A><br>
+<A HREF="org.apache.commons.logging.Log.html" class="hiddenlink" target="rightframe"><i>Log</i></A><br>
+<A HREF="org.apache.http.impl.conn.LoggingSessionInputBuffer.html" class="hiddenlink" target="rightframe">LoggingSessionInputBuffer</A><br>
+<A HREF="org.apache.http.impl.conn.LoggingSessionOutputBuffer.html" class="hiddenlink" target="rightframe">LoggingSessionOutputBuffer</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="#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="#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="org.apache.http.auth.MalformedChallengeException.html" class="hiddenlink" target="rightframe">MalformedChallengeException</A><br>
+<A HREF="org.apache.http.MalformedChunkCodingException.html" class="hiddenlink" target="rightframe">MalformedChunkCodingException</A><br>
+<A HREF="org.apache.http.cookie.MalformedCookieException.html" class="hiddenlink" target="rightframe">MalformedCookieException</A><br>
+<A HREF="org.apache.http.conn.ManagedClientConnection.html" class="hiddenlink" target="rightframe"><i>ManagedClientConnection</i></A><br>
+<A HREF="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<A HREF="android.media.MediaDrm.html" class="hiddenlink" target="rightframe">MediaDrm</A><br>
+<A HREF="android.media.session.MediaSession.html" class="hiddenlink" target="rightframe">MediaSession</A><br>
+<A HREF="android.os.Message.html" class="hiddenlink" target="rightframe">Message</A><br>
+<A HREF="org.apache.http.MethodNotSupportedException.html" class="hiddenlink" target="rightframe">MethodNotSupportedException</A><br>
+<A HREF="org.apache.http.conn.MultihomePlainSocketFactory.html" class="hiddenlink" target="rightframe">MultihomePlainSocketFactory</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="#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="#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="org.apache.http.NameValuePair.html" class="hiddenlink" target="rightframe"><i>NameValuePair</i></A><br>
+<A HREF="org.apache.http.impl.cookie.NetscapeDomainHandler.html" class="hiddenlink" target="rightframe">NetscapeDomainHandler</A><br>
+<A HREF="org.apache.http.impl.cookie.NetscapeDraftHeaderParser.html" class="hiddenlink" target="rightframe">NetscapeDraftHeaderParser</A><br>
+<A HREF="org.apache.http.impl.cookie.NetscapeDraftSpec.html" class="hiddenlink" target="rightframe">NetscapeDraftSpec</A><br>
+<A HREF="org.apache.http.impl.cookie.NetscapeDraftSpecFactory.html" class="hiddenlink" target="rightframe">NetscapeDraftSpecFactory</A><br>
+<A HREF="android.net.Network.html" class="hiddenlink" target="rightframe">Network</A><br>
+<A HREF="org.apache.http.impl.NoConnectionReuseStrategy.html" class="hiddenlink" target="rightframe">NoConnectionReuseStrategy</A><br>
+<A HREF="org.apache.http.NoHttpResponseException.html" class="hiddenlink" target="rightframe">NoHttpResponseException</A><br>
+<A HREF="org.apache.http.client.NonRepeatableRequestException.html" class="hiddenlink" target="rightframe">NonRepeatableRequestException</A><br>
+<A HREF="android.app.Notification.Action.WearableExtender.html" class="hiddenlink" target="rightframe">Notification.Action.WearableExtender</A><br>
+<A HREF="android.app.Notification.WearableExtender.html" class="hiddenlink" target="rightframe">Notification.WearableExtender</A><br>
+<A HREF="org.apache.http.auth.NTCredentials.html" class="hiddenlink" target="rightframe">NTCredentials</A><br>
+<A HREF="org.apache.http.impl.auth.NTLMEngine.html" class="hiddenlink" target="rightframe"><i>NTLMEngine</i></A><br>
+<A HREF="org.apache.http.impl.auth.NTLMEngineException.html" class="hiddenlink" target="rightframe">NTLMEngineException</A><br>
+<A HREF="org.apache.http.impl.auth.NTLMScheme.html" class="hiddenlink" target="rightframe">NTLMScheme</A><br>
+<A HREF="org.apache.http.auth.NTUserPrincipal.html" class="hiddenlink" target="rightframe">NTUserPrincipal</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="#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="#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="org.apache.http.conn.OperatedClientConnection.html" class="hiddenlink" target="rightframe"><i>OperatedClientConnection</i></A><br>
+<A HREF="android.graphics.Outline.html" class="hiddenlink" target="rightframe">Outline</A><br>
+<A HREF="android.view.animation.OvershootInterpolator.html" class="hiddenlink" target="rightframe">OvershootInterpolator</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="#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="#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="android.content.pm.PackageInfo.html" class="hiddenlink" target="rightframe">PackageInfo</A><br>
+<A HREF="android.content.pm.PackageItemInfo.html" class="hiddenlink" target="rightframe">PackageItemInfo</A><br>
+<A HREF="org.apache.http.ParseException.html" class="hiddenlink" target="rightframe">ParseException</A><br>
+<A HREF="org.apache.http.message.ParserCursor.html" class="hiddenlink" target="rightframe">ParserCursor</A><br>
+<A HREF="android.view.animation.PathInterpolator.html" class="hiddenlink" target="rightframe">PathInterpolator</A><br>
+<A HREF="org.apache.http.conn.scheme.PlainSocketFactory.html" class="hiddenlink" target="rightframe">PlainSocketFactory</A><br>
+<A HREF="android.media.session.PlaybackState.html" class="hiddenlink" target="rightframe">PlaybackState</A><br>
+<A HREF="android.media.session.PlaybackState.Builder.html" class="hiddenlink" target="rightframe">PlaybackState.Builder</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.PoolEntryRequest.html" class="hiddenlink" target="rightframe"><i>PoolEntryRequest</i></A><br>
+<A HREF="android.widget.PopupMenu.html" class="hiddenlink" target="rightframe">PopupMenu</A><br>
+<A HREF="android.widget.PopupWindow.html" class="hiddenlink" target="rightframe">PopupWindow</A><br>
+<A HREF="org.apache.http.ProtocolException.html" class="hiddenlink" target="rightframe">ProtocolException</A><br>
+<A HREF="org.apache.http.ProtocolVersion.html" class="hiddenlink" target="rightframe">ProtocolVersion</A><br>
+<A HREF="android.net.ProxyInfo.html" class="hiddenlink" target="rightframe">ProxyInfo</A><br>
+<A HREF="org.apache.http.impl.conn.ProxySelectorRoutePlanner.html" class="hiddenlink" target="rightframe">ProxySelectorRoutePlanner</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="#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="#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="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 HREF="org.apache.http.ReasonPhraseCatalog.html" class="hiddenlink" target="rightframe"><i>ReasonPhraseCatalog</i></A><br>
+<A HREF="org.apache.http.client.RedirectException.html" class="hiddenlink" target="rightframe">RedirectException</A><br>
+<A HREF="org.apache.http.client.RedirectHandler.html" class="hiddenlink" target="rightframe"><i>RedirectHandler</i></A><br>
+<A HREF="org.apache.http.impl.client.RedirectLocations.html" class="hiddenlink" target="rightframe">RedirectLocations</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.RefQueueHandler.html" class="hiddenlink" target="rightframe"><i>RefQueueHandler</i></A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.RefQueueWorker.html" class="hiddenlink" target="rightframe">RefQueueWorker</A><br>
+<A HREF="android.widget.RemoteViews.html" class="hiddenlink" target="rightframe">RemoteViews</A><br>
+<A HREF="org.apache.http.client.protocol.RequestAddCookies.html" class="hiddenlink" target="rightframe">RequestAddCookies</A><br>
+<A HREF="org.apache.http.protocol.RequestConnControl.html" class="hiddenlink" target="rightframe">RequestConnControl</A><br>
+<A HREF="org.apache.http.protocol.RequestContent.html" class="hiddenlink" target="rightframe">RequestContent</A><br>
+<A HREF="org.apache.http.protocol.RequestDate.html" class="hiddenlink" target="rightframe">RequestDate</A><br>
+<A HREF="org.apache.http.client.protocol.RequestDefaultHeaders.html" class="hiddenlink" target="rightframe">RequestDefaultHeaders</A><br>
+<A HREF="org.apache.http.client.RequestDirector.html" class="hiddenlink" target="rightframe"><i>RequestDirector</i></A><br>
+<A HREF="org.apache.http.protocol.RequestExpectContinue.html" class="hiddenlink" target="rightframe">RequestExpectContinue</A><br>
+<A HREF="org.apache.http.RequestLine.html" class="hiddenlink" target="rightframe"><i>RequestLine</i></A><br>
+<A HREF="org.apache.http.client.protocol.RequestProxyAuthentication.html" class="hiddenlink" target="rightframe">RequestProxyAuthentication</A><br>
+<A HREF="org.apache.http.client.protocol.RequestTargetAuthentication.html" class="hiddenlink" target="rightframe">RequestTargetAuthentication</A><br>
+<A HREF="org.apache.http.protocol.RequestTargetHost.html" class="hiddenlink" target="rightframe">RequestTargetHost</A><br>
+<A HREF="org.apache.http.protocol.RequestUserAgent.html" class="hiddenlink" target="rightframe">RequestUserAgent</A><br>
+<A HREF="org.apache.http.impl.client.RequestWrapper.html" class="hiddenlink" target="rightframe">RequestWrapper</A><br>
+<A HREF="android.content.res.Resources.html" class="hiddenlink" target="rightframe">Resources</A><br>
+<A HREF="org.apache.http.protocol.ResponseConnControl.html" class="hiddenlink" target="rightframe">ResponseConnControl</A><br>
+<A HREF="org.apache.http.protocol.ResponseContent.html" class="hiddenlink" target="rightframe">ResponseContent</A><br>
+<A HREF="org.apache.http.protocol.ResponseDate.html" class="hiddenlink" target="rightframe">ResponseDate</A><br>
+<A HREF="org.apache.http.client.ResponseHandler.html" class="hiddenlink" target="rightframe"><i>ResponseHandler</i></A><br>
+<A HREF="org.apache.http.client.protocol.ResponseProcessCookies.html" class="hiddenlink" target="rightframe">ResponseProcessCookies</A><br>
+<A HREF="org.apache.http.protocol.ResponseServer.html" class="hiddenlink" target="rightframe">ResponseServer</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2109DomainHandler.html" class="hiddenlink" target="rightframe">RFC2109DomainHandler</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2109Spec.html" class="hiddenlink" target="rightframe">RFC2109Spec</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2109SpecFactory.html" class="hiddenlink" target="rightframe">RFC2109SpecFactory</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2109VersionHandler.html" class="hiddenlink" target="rightframe">RFC2109VersionHandler</A><br>
+<A HREF="org.apache.http.impl.auth.RFC2617Scheme.html" class="hiddenlink" target="rightframe">RFC2617Scheme</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2965CommentUrlAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965CommentUrlAttributeHandler</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2965DiscardAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965DiscardAttributeHandler</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2965DomainAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965DomainAttributeHandler</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2965PortAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965PortAttributeHandler</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2965Spec.html" class="hiddenlink" target="rightframe">RFC2965Spec</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2965SpecFactory.html" class="hiddenlink" target="rightframe">RFC2965SpecFactory</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2965VersionAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965VersionAttributeHandler</A><br>
+<A HREF="org.apache.http.impl.client.RoutedRequest.html" class="hiddenlink" target="rightframe">RoutedRequest</A><br>
+<A HREF="org.apache.http.conn.routing.RouteInfo.html" class="hiddenlink" target="rightframe"><i>RouteInfo</i></A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.RouteSpecificPool.html" class="hiddenlink" target="rightframe">RouteSpecificPool</A><br>
+<A HREF="org.apache.http.conn.routing.RouteTracker.html" class="hiddenlink" target="rightframe">RouteTracker</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="#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="#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="org.apache.http.conn.scheme.Scheme.html" class="hiddenlink" target="rightframe">Scheme</A><br>
+<A HREF="org.apache.http.conn.scheme.SchemeRegistry.html" class="hiddenlink" target="rightframe">SchemeRegistry</A><br>
+<A HREF="org.apache.http.entity.SerializableEntity.html" class="hiddenlink" target="rightframe">SerializableEntity</A><br>
+<A HREF="org.apache.http.io.SessionInputBuffer.html" class="hiddenlink" target="rightframe"><i>SessionInputBuffer</i></A><br>
+<A HREF="org.apache.http.io.SessionOutputBuffer.html" class="hiddenlink" target="rightframe"><i>SessionOutputBuffer</i></A><br>
+<A HREF="org.apache.http.cookie.SetCookie.html" class="hiddenlink" target="rightframe"><i>SetCookie</i></A><br>
+<A HREF="org.apache.http.cookie.SetCookie2.html" class="hiddenlink" target="rightframe"><i>SetCookie2</i></A><br>
+<A HREF="android.provider.Settings.html" class="hiddenlink" target="rightframe">Settings</A><br>
+<A HREF="org.apache.http.impl.conn.SingleClientConnManager.html" class="hiddenlink" target="rightframe">SingleClientConnManager</A><br>
+<A HREF="org.apache.http.cookie.SM.html" class="hiddenlink" target="rightframe"><i>SM</i></A><br>
+<A HREF="android.telephony.SmsManager.html" class="hiddenlink" target="rightframe">SmsManager</A><br>
+<A HREF="org.apache.http.conn.scheme.SocketFactory.html" class="hiddenlink" target="rightframe"><i>SocketFactory</i></A><br>
+<A HREF="org.apache.http.impl.SocketHttpClientConnection.html" class="hiddenlink" target="rightframe">SocketHttpClientConnection</A><br>
+<A HREF="org.apache.http.impl.SocketHttpServerConnection.html" class="hiddenlink" target="rightframe">SocketHttpServerConnection</A><br>
+<A HREF="org.apache.http.impl.io.SocketInputBuffer.html" class="hiddenlink" target="rightframe">SocketInputBuffer</A><br>
+<A HREF="org.apache.http.impl.io.SocketOutputBuffer.html" class="hiddenlink" target="rightframe">SocketOutputBuffer</A><br>
+<A HREF="android.net.SSLCertificateSocketFactory.html" class="hiddenlink" target="rightframe">SSLCertificateSocketFactory</A><br>
+<A HREF="org.apache.http.conn.ssl.SSLSocketFactory.html" class="hiddenlink" target="rightframe">SSLSocketFactory</A><br>
+<A HREF="android.animation.StateListAnimator.html" class="hiddenlink" target="rightframe">StateListAnimator</A><br>
+<A HREF="org.apache.http.StatusLine.html" class="hiddenlink" target="rightframe"><i>StatusLine</i></A><br>
+<A HREF="org.apache.http.impl.entity.StrictContentLengthStrategy.html" class="hiddenlink" target="rightframe">StrictContentLengthStrategy</A><br>
+<A HREF="org.apache.http.conn.ssl.StrictHostnameVerifier.html" class="hiddenlink" target="rightframe">StrictHostnameVerifier</A><br>
+<A HREF="org.apache.http.entity.StringEntity.html" class="hiddenlink" target="rightframe">StringEntity</A><br>
+<A HREF="pkg_android.telephony.html#SubscriptionInfo" class="hiddenlink" target="rightframe"><b>SubscriptionInfo</b></A><br>
+<A HREF="pkg_android.telephony.html#SubscriptionManager" class="hiddenlink" target="rightframe"><b>SubscriptionManager</b></A><br>
+<A HREF="pkg_android.telephony.html#SubscriptionManager.OnSubscriptionsChangedListener" class="hiddenlink" target="rightframe"><b>SubscriptionManager.OnSubscriptionsChangedListener</b></A><br>
+<A HREF="org.apache.http.protocol.SyncBasicHttpContext.html" class="hiddenlink" target="rightframe">SyncBasicHttpContext</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="#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="#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="android.provider.Telephony.BaseMmsColumns.html" class="hiddenlink" target="rightframe"><i>Telephony.BaseMmsColumns</i></A><br>
+<A HREF="android.provider.Telephony.Carriers.html" class="hiddenlink" target="rightframe">Telephony.Carriers</A><br>
+<A HREF="android.provider.Telephony.MmsSms.PendingMessages.html" class="hiddenlink" target="rightframe">Telephony.MmsSms.PendingMessages</A><br>
+<A HREF="android.provider.Telephony.TextBasedSmsColumns.html" class="hiddenlink" target="rightframe"><i>Telephony.TextBasedSmsColumns</i></A><br>
+<A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager.html" class="hiddenlink" target="rightframe">ThreadSafeClientConnManager</A><br>
+<A HREF="android.text.format.Time.html" class="hiddenlink" target="rightframe">Time</A><br>
+<A HREF="org.apache.http.TokenIterator.html" class="hiddenlink" target="rightframe"><i>TokenIterator</i></A><br>
+<A HREF="org.apache.http.impl.client.TunnelRefusedException.html" class="hiddenlink" target="rightframe">TunnelRefusedException</A><br>
+<A HREF="android.media.tv.TvContract.Programs.Genres.html" class="hiddenlink" target="rightframe">TvContract.Programs.Genres</A><br>
+<A HREF="android.content.res.TypedArray.html" class="hiddenlink" target="rightframe">TypedArray</A><br>
+<A HREF="android.util.TypedValue.html" class="hiddenlink" target="rightframe">TypedValue</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="#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="#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="org.apache.http.impl.auth.UnsupportedDigestAlgorithmException.html" class="hiddenlink" target="rightframe">UnsupportedDigestAlgorithmException</A><br>
+<A HREF="org.apache.http.UnsupportedHttpVersionException.html" class="hiddenlink" target="rightframe">UnsupportedHttpVersionException</A><br>
+<A HREF="org.apache.http.protocol.UriPatternMatcher.html" class="hiddenlink" target="rightframe">UriPatternMatcher</A><br>
+<A HREF="org.apache.http.client.utils.URIUtils.html" class="hiddenlink" target="rightframe">URIUtils</A><br>
+<A HREF="org.apache.http.client.entity.UrlEncodedFormEntity.html" class="hiddenlink" target="rightframe">UrlEncodedFormEntity</A><br>
+<A HREF="org.apache.http.client.utils.URLEncodedUtils.html" class="hiddenlink" target="rightframe">URLEncodedUtils</A><br>
+<A HREF="android.os.UserManager.html" class="hiddenlink" target="rightframe">UserManager</A><br>
+<A HREF="org.apache.http.auth.UsernamePasswordCredentials.html" class="hiddenlink" target="rightframe">UsernamePasswordCredentials</A><br>
+<A HREF="org.apache.http.client.UserTokenHandler.html" class="hiddenlink" target="rightframe"><i>UserTokenHandler</i></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="#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="android.animation.ValueAnimator.html" class="hiddenlink" target="rightframe">ValueAnimator</A><br>
+<A HREF="org.apache.http.util.VersionInfo.html" class="hiddenlink" target="rightframe">VersionInfo</A><br>
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</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="android.net.VpnService.html" class="hiddenlink" target="rightframe">VpnService</A><br>
+<A HREF="android.net.VpnService.Builder.html" class="hiddenlink" target="rightframe">VpnService.Builder</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="#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="#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="org.apache.http.impl.conn.tsccm.WaitingThread.html" class="hiddenlink" target="rightframe">WaitingThread</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.WaitingThreadAborter.html" class="hiddenlink" target="rightframe">WaitingThreadAborter</A><br>
+<A HREF="android.webkit.WebBackForwardList.html" class="hiddenlink" target="rightframe">WebBackForwardList</A><br>
+<A HREF="android.webkit.WebHistoryItem.html" class="hiddenlink" target="rightframe">WebHistoryItem</A><br>
+<A HREF="android.webkit.WebIconDatabase.html" class="hiddenlink" target="rightframe">WebIconDatabase</A><br>
+<A HREF="android.webkit.WebSettings.html" class="hiddenlink" target="rightframe">WebSettings</A><br>
+<A HREF="android.webkit.WebViewDatabase.html" class="hiddenlink" target="rightframe">WebViewDatabase</A><br>
+<A HREF="android.view.Window.html" class="hiddenlink" target="rightframe">Window</A><br>
+<A HREF="android.view.WindowManager.LayoutParams.html" class="hiddenlink" target="rightframe">WindowManager.LayoutParams</A><br>
+<A HREF="org.apache.http.impl.conn.Wire.html" class="hiddenlink" target="rightframe">Wire</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="#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">
+<A HREF="org.apache.http.conn.ssl.X509HostnameVerifier.html" class="hiddenlink" target="rightframe"><i>X509HostnameVerifier</i></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/22/changes/classes_index_changes.html b/docs/html/sdk/api_diff/22/changes/classes_index_changes.html
new file mode 100644
index 0000000..6c5c820
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/classes_index_changes.html
@@ -0,0 +1,1004 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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>
+<font color="#999999">Removals</font>
+  <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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.client.methods.AbortableHttpRequest.html" class="hiddenlink" target="rightframe"><i>AbortableHttpRequest</i></A><br>
+<A HREF="org.apache.http.impl.client.AbstractAuthenticationHandler.html" class="hiddenlink" target="rightframe">AbstractAuthenticationHandler</A><br>
+<A HREF="org.apache.http.impl.conn.AbstractClientConnAdapter.html" class="hiddenlink" target="rightframe">AbstractClientConnAdapter</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.AbstractConnPool.html" class="hiddenlink" target="rightframe">AbstractConnPool</A><br>
+<A HREF="org.apache.http.impl.cookie.AbstractCookieAttributeHandler.html" class="hiddenlink" target="rightframe">AbstractCookieAttributeHandler</A><br>
+<A HREF="org.apache.http.impl.cookie.AbstractCookieSpec.html" class="hiddenlink" target="rightframe">AbstractCookieSpec</A><br>
+<A HREF="org.apache.http.impl.client.AbstractHttpClient.html" class="hiddenlink" target="rightframe">AbstractHttpClient</A><br>
+<A HREF="org.apache.http.impl.AbstractHttpClientConnection.html" class="hiddenlink" target="rightframe">AbstractHttpClientConnection</A><br>
+<A HREF="org.apache.http.entity.AbstractHttpEntity.html" class="hiddenlink" target="rightframe">AbstractHttpEntity</A><br>
+<A HREF="org.apache.http.message.AbstractHttpMessage.html" class="hiddenlink" target="rightframe">AbstractHttpMessage</A><br>
+<A HREF="org.apache.http.params.AbstractHttpParams.html" class="hiddenlink" target="rightframe">AbstractHttpParams</A><br>
+<A HREF="org.apache.http.impl.AbstractHttpServerConnection.html" class="hiddenlink" target="rightframe">AbstractHttpServerConnection</A><br>
+<A HREF="org.apache.http.impl.io.AbstractMessageParser.html" class="hiddenlink" target="rightframe">AbstractMessageParser</A><br>
+<A HREF="org.apache.http.impl.io.AbstractMessageWriter.html" class="hiddenlink" target="rightframe">AbstractMessageWriter</A><br>
+<A HREF="org.apache.http.impl.conn.AbstractPooledConnAdapter.html" class="hiddenlink" target="rightframe">AbstractPooledConnAdapter</A><br>
+<A HREF="org.apache.http.impl.conn.AbstractPoolEntry.html" class="hiddenlink" target="rightframe">AbstractPoolEntry</A><br>
+<A HREF="org.apache.http.impl.io.AbstractSessionInputBuffer.html" class="hiddenlink" target="rightframe">AbstractSessionInputBuffer</A><br>
+<A HREF="org.apache.http.impl.io.AbstractSessionOutputBuffer.html" class="hiddenlink" target="rightframe">AbstractSessionOutputBuffer</A><br>
+<A HREF="org.apache.http.conn.ssl.AbstractVerifier.html" class="hiddenlink" target="rightframe">AbstractVerifier</A><br>
+<A HREF="android.view.animation.AccelerateDecelerateInterpolator.html" class="hiddenlink" target="rightframe">AccelerateDecelerateInterpolator</A><br>
+<A HREF="android.view.animation.AccelerateInterpolator.html" class="hiddenlink" target="rightframe">AccelerateInterpolator</A><br>
+<A HREF="android.view.accessibility.AccessibilityNodeInfo.html" class="hiddenlink" target="rightframe">AccessibilityNodeInfo</A><br>
+<A HREF="android.view.accessibility.AccessibilityWindowInfo.html" class="hiddenlink" target="rightframe">AccessibilityWindowInfo</A><br>
+<A HREF="android.accounts.AccountManager.html" class="hiddenlink" target="rightframe">AccountManager</A><br>
+<A HREF="android.app.Activity.html" class="hiddenlink" target="rightframe">Activity</A><br>
+<A HREF="org.apache.http.client.params.AllClientPNames.html" class="hiddenlink" target="rightframe"><i>AllClientPNames</i></A><br>
+<A HREF="org.apache.http.conn.ssl.AllowAllHostnameVerifier.html" class="hiddenlink" target="rightframe">AllowAllHostnameVerifier</A><br>
+<A HREF="android.net.http.AndroidHttpClient.html" class="hiddenlink" target="rightframe">AndroidHttpClient</A><br>
+<A HREF="android.view.animation.AnticipateInterpolator.html" class="hiddenlink" target="rightframe">AnticipateInterpolator</A><br>
+<A HREF="android.view.animation.AnticipateOvershootInterpolator.html" class="hiddenlink" target="rightframe">AnticipateOvershootInterpolator</A><br>
+<A HREF="org.apache.http.auth.AUTH.html" class="hiddenlink" target="rightframe">AUTH</A><br>
+<A HREF="org.apache.http.auth.AuthenticationException.html" class="hiddenlink" target="rightframe">AuthenticationException</A><br>
+<A HREF="org.apache.http.client.AuthenticationHandler.html" class="hiddenlink" target="rightframe"><i>AuthenticationHandler</i></A><br>
+<A HREF="org.apache.http.auth.params.AuthParamBean.html" class="hiddenlink" target="rightframe">AuthParamBean</A><br>
+<A HREF="org.apache.http.auth.params.AuthParams.html" class="hiddenlink" target="rightframe">AuthParams</A><br>
+<A HREF="org.apache.http.auth.params.AuthPNames.html" class="hiddenlink" target="rightframe"><i>AuthPNames</i></A><br>
+<A HREF="org.apache.http.client.params.AuthPolicy.html" class="hiddenlink" target="rightframe">AuthPolicy</A><br>
+<A HREF="org.apache.http.auth.AuthScheme.html" class="hiddenlink" target="rightframe"><i>AuthScheme</i></A><br>
+<A HREF="org.apache.http.impl.auth.AuthSchemeBase.html" class="hiddenlink" target="rightframe">AuthSchemeBase</A><br>
+<A HREF="org.apache.http.auth.AuthSchemeFactory.html" class="hiddenlink" target="rightframe"><i>AuthSchemeFactory</i></A><br>
+<A HREF="org.apache.http.auth.AuthSchemeRegistry.html" class="hiddenlink" target="rightframe">AuthSchemeRegistry</A><br>
+<A HREF="org.apache.http.auth.AuthScope.html" class="hiddenlink" target="rightframe">AuthScope</A><br>
+<A HREF="org.apache.http.auth.AuthState.html" class="hiddenlink" target="rightframe">AuthState</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.os.BaseBundle.html" class="hiddenlink" target="rightframe">BaseBundle</A><br>
+<A HREF="org.apache.http.impl.cookie.BasicClientCookie.html" class="hiddenlink" target="rightframe">BasicClientCookie</A><br>
+<A HREF="org.apache.http.impl.cookie.BasicClientCookie2.html" class="hiddenlink" target="rightframe">BasicClientCookie2</A><br>
+<A HREF="org.apache.http.impl.cookie.BasicCommentHandler.html" class="hiddenlink" target="rightframe">BasicCommentHandler</A><br>
+<A HREF="org.apache.http.impl.client.BasicCookieStore.html" class="hiddenlink" target="rightframe">BasicCookieStore</A><br>
+<A HREF="org.apache.http.impl.client.BasicCredentialsProvider.html" class="hiddenlink" target="rightframe">BasicCredentialsProvider</A><br>
+<A HREF="org.apache.http.impl.cookie.BasicDomainHandler.html" class="hiddenlink" target="rightframe">BasicDomainHandler</A><br>
+<A HREF="org.apache.http.conn.BasicEofSensorWatcher.html" class="hiddenlink" target="rightframe">BasicEofSensorWatcher</A><br>
+<A HREF="org.apache.http.impl.cookie.BasicExpiresHandler.html" class="hiddenlink" target="rightframe">BasicExpiresHandler</A><br>
+<A HREF="org.apache.http.message.BasicHeader.html" class="hiddenlink" target="rightframe">BasicHeader</A><br>
+<A HREF="org.apache.http.message.BasicHeaderElement.html" class="hiddenlink" target="rightframe">BasicHeaderElement</A><br>
+<A HREF="org.apache.http.message.BasicHeaderElementIterator.html" class="hiddenlink" target="rightframe">BasicHeaderElementIterator</A><br>
+<A HREF="org.apache.http.message.BasicHeaderIterator.html" class="hiddenlink" target="rightframe">BasicHeaderIterator</A><br>
+<A HREF="org.apache.http.message.BasicHeaderValueFormatter.html" class="hiddenlink" target="rightframe">BasicHeaderValueFormatter</A><br>
+<A HREF="org.apache.http.message.BasicHeaderValueParser.html" class="hiddenlink" target="rightframe">BasicHeaderValueParser</A><br>
+<A HREF="org.apache.http.protocol.BasicHttpContext.html" class="hiddenlink" target="rightframe">BasicHttpContext</A><br>
+<A HREF="org.apache.http.entity.BasicHttpEntity.html" class="hiddenlink" target="rightframe">BasicHttpEntity</A><br>
+<A HREF="org.apache.http.message.BasicHttpEntityEnclosingRequest.html" class="hiddenlink" target="rightframe">BasicHttpEntityEnclosingRequest</A><br>
+<A HREF="org.apache.http.params.BasicHttpParams.html" class="hiddenlink" target="rightframe">BasicHttpParams</A><br>
+<A HREF="org.apache.http.protocol.BasicHttpProcessor.html" class="hiddenlink" target="rightframe">BasicHttpProcessor</A><br>
+<A HREF="org.apache.http.message.BasicHttpRequest.html" class="hiddenlink" target="rightframe">BasicHttpRequest</A><br>
+<A HREF="org.apache.http.message.BasicHttpResponse.html" class="hiddenlink" target="rightframe">BasicHttpResponse</A><br>
+<A HREF="org.apache.http.message.BasicLineFormatter.html" class="hiddenlink" target="rightframe">BasicLineFormatter</A><br>
+<A HREF="org.apache.http.message.BasicLineParser.html" class="hiddenlink" target="rightframe">BasicLineParser</A><br>
+<A HREF="org.apache.http.message.BasicListHeaderIterator.html" class="hiddenlink" target="rightframe">BasicListHeaderIterator</A><br>
+<A HREF="org.apache.http.conn.BasicManagedEntity.html" class="hiddenlink" target="rightframe">BasicManagedEntity</A><br>
+<A HREF="org.apache.http.impl.cookie.BasicMaxAgeHandler.html" class="hiddenlink" target="rightframe">BasicMaxAgeHandler</A><br>
+<A HREF="org.apache.http.message.BasicNameValuePair.html" class="hiddenlink" target="rightframe">BasicNameValuePair</A><br>
+<A HREF="org.apache.http.impl.cookie.BasicPathHandler.html" class="hiddenlink" target="rightframe">BasicPathHandler</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.BasicPooledConnAdapter.html" class="hiddenlink" target="rightframe">BasicPooledConnAdapter</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.BasicPoolEntry.html" class="hiddenlink" target="rightframe">BasicPoolEntry</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.BasicPoolEntryRef.html" class="hiddenlink" target="rightframe">BasicPoolEntryRef</A><br>
+<A HREF="org.apache.http.message.BasicRequestLine.html" class="hiddenlink" target="rightframe">BasicRequestLine</A><br>
+<A HREF="org.apache.http.impl.client.BasicResponseHandler.html" class="hiddenlink" target="rightframe">BasicResponseHandler</A><br>
+<A HREF="org.apache.http.conn.routing.BasicRouteDirector.html" class="hiddenlink" target="rightframe">BasicRouteDirector</A><br>
+<A HREF="org.apache.http.impl.auth.BasicScheme.html" class="hiddenlink" target="rightframe">BasicScheme</A><br>
+<A HREF="org.apache.http.impl.auth.BasicSchemeFactory.html" class="hiddenlink" target="rightframe">BasicSchemeFactory</A><br>
+<A HREF="org.apache.http.impl.cookie.BasicSecureHandler.html" class="hiddenlink" target="rightframe">BasicSecureHandler</A><br>
+<A HREF="org.apache.http.message.BasicStatusLine.html" class="hiddenlink" target="rightframe">BasicStatusLine</A><br>
+<A HREF="org.apache.http.message.BasicTokenIterator.html" class="hiddenlink" target="rightframe">BasicTokenIterator</A><br>
+<A HREF="org.apache.http.auth.BasicUserPrincipal.html" class="hiddenlink" target="rightframe">BasicUserPrincipal</A><br>
+<A HREF="org.apache.http.impl.cookie.BestMatchSpec.html" class="hiddenlink" target="rightframe">BestMatchSpec</A><br>
+<A HREF="org.apache.http.impl.cookie.BestMatchSpecFactory.html" class="hiddenlink" target="rightframe">BestMatchSpecFactory</A><br>
+<A HREF="android.bluetooth.BluetoothGattServerCallback.html" class="hiddenlink" target="rightframe">BluetoothGattServerCallback</A><br>
+<A HREF="android.view.animation.BounceInterpolator.html" class="hiddenlink" target="rightframe">BounceInterpolator</A><br>
+<A HREF="org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.html" class="hiddenlink" target="rightframe">BrowserCompatHostnameVerifier</A><br>
+<A HREF="org.apache.http.impl.cookie.BrowserCompatSpec.html" class="hiddenlink" target="rightframe">BrowserCompatSpec</A><br>
+<A HREF="org.apache.http.impl.cookie.BrowserCompatSpecFactory.html" class="hiddenlink" target="rightframe">BrowserCompatSpecFactory</A><br>
+<A HREF="org.apache.http.message.BufferedHeader.html" class="hiddenlink" target="rightframe">BufferedHeader</A><br>
+<A HREF="org.apache.http.entity.BufferedHttpEntity.html" class="hiddenlink" target="rightframe">BufferedHttpEntity</A><br>
+<A HREF="android.os.Build.VERSION_CODES.html" class="hiddenlink" target="rightframe">Build.VERSION_CODES</A><br>
+<A HREF="android.os.Bundle.html" class="hiddenlink" target="rightframe">Bundle</A><br>
+<A HREF="org.apache.http.util.ByteArrayBuffer.html" class="hiddenlink" target="rightframe">ByteArrayBuffer</A><br>
+<A HREF="org.apache.http.entity.ByteArrayEntity.html" class="hiddenlink" target="rightframe">ByteArrayEntity</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.hardware.camera2.CameraMetadata.html" class="hiddenlink" target="rightframe">CameraMetadata</A><br>
+<A HREF="android.transition.ChangeBounds.html" class="hiddenlink" target="rightframe">ChangeBounds</A><br>
+<A HREF="org.apache.http.util.CharArrayBuffer.html" class="hiddenlink" target="rightframe">CharArrayBuffer</A><br>
+<A HREF="org.apache.http.impl.io.ChunkedInputStream.html" class="hiddenlink" target="rightframe">ChunkedInputStream</A><br>
+<A HREF="org.apache.http.impl.io.ChunkedOutputStream.html" class="hiddenlink" target="rightframe">ChunkedOutputStream</A><br>
+<A HREF="org.apache.http.client.CircularRedirectException.html" class="hiddenlink" target="rightframe">CircularRedirectException</A><br>
+<A HREF="org.apache.http.conn.ClientConnectionManager.html" class="hiddenlink" target="rightframe"><i>ClientConnectionManager</i></A><br>
+<A HREF="org.apache.http.conn.ClientConnectionManagerFactory.html" class="hiddenlink" target="rightframe"><i>ClientConnectionManagerFactory</i></A><br>
+<A HREF="org.apache.http.conn.ClientConnectionOperator.html" class="hiddenlink" target="rightframe"><i>ClientConnectionOperator</i></A><br>
+<A HREF="org.apache.http.conn.ClientConnectionRequest.html" class="hiddenlink" target="rightframe"><i>ClientConnectionRequest</i></A><br>
+<A HREF="org.apache.http.client.protocol.ClientContext.html" class="hiddenlink" target="rightframe"><i>ClientContext</i></A><br>
+<A HREF="org.apache.http.client.protocol.ClientContextConfigurer.html" class="hiddenlink" target="rightframe">ClientContextConfigurer</A><br>
+<A HREF="org.apache.http.cookie.ClientCookie.html" class="hiddenlink" target="rightframe"><i>ClientCookie</i></A><br>
+<A HREF="org.apache.http.client.params.ClientParamBean.html" class="hiddenlink" target="rightframe">ClientParamBean</A><br>
+<A HREF="org.apache.http.impl.client.ClientParamsStack.html" class="hiddenlink" target="rightframe">ClientParamsStack</A><br>
+<A HREF="org.apache.http.client.params.ClientPNames.html" class="hiddenlink" target="rightframe"><i>ClientPNames</i></A><br>
+<A HREF="org.apache.http.client.ClientProtocolException.html" class="hiddenlink" target="rightframe">ClientProtocolException</A><br>
+<A HREF="org.apache.http.client.utils.CloneUtils.html" class="hiddenlink" target="rightframe">CloneUtils</A><br>
+<A HREF="org.apache.http.conn.params.ConnConnectionParamBean.html" class="hiddenlink" target="rightframe">ConnConnectionParamBean</A><br>
+<A HREF="org.apache.http.conn.params.ConnConnectionPNames.html" class="hiddenlink" target="rightframe"><i>ConnConnectionPNames</i></A><br>
+<A HREF="org.apache.http.ConnectionClosedException.html" class="hiddenlink" target="rightframe">ConnectionClosedException</A><br>
+<A HREF="org.apache.http.conn.ConnectionKeepAliveStrategy.html" class="hiddenlink" target="rightframe"><i>ConnectionKeepAliveStrategy</i></A><br>
+<A HREF="org.apache.http.conn.ConnectionPoolTimeoutException.html" class="hiddenlink" target="rightframe">ConnectionPoolTimeoutException</A><br>
+<A HREF="org.apache.http.conn.ConnectionReleaseTrigger.html" class="hiddenlink" target="rightframe"><i>ConnectionReleaseTrigger</i></A><br>
+<A HREF="org.apache.http.ConnectionReuseStrategy.html" class="hiddenlink" target="rightframe"><i>ConnectionReuseStrategy</i></A><br>
+<A HREF="android.net.ConnectivityManager.html" class="hiddenlink" target="rightframe">ConnectivityManager</A><br>
+<A HREF="org.apache.http.conn.ConnectTimeoutException.html" class="hiddenlink" target="rightframe">ConnectTimeoutException</A><br>
+<A HREF="org.apache.http.conn.params.ConnManagerParamBean.html" class="hiddenlink" target="rightframe">ConnManagerParamBean</A><br>
+<A HREF="org.apache.http.conn.params.ConnManagerParams.html" class="hiddenlink" target="rightframe">ConnManagerParams</A><br>
+<A HREF="org.apache.http.conn.params.ConnManagerPNames.html" class="hiddenlink" target="rightframe"><i>ConnManagerPNames</i></A><br>
+<A HREF="org.apache.http.conn.params.ConnPerRoute.html" class="hiddenlink" target="rightframe"><i>ConnPerRoute</i></A><br>
+<A HREF="org.apache.http.conn.params.ConnPerRouteBean.html" class="hiddenlink" target="rightframe">ConnPerRouteBean</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.ConnPoolByRoute.html" class="hiddenlink" target="rightframe">ConnPoolByRoute</A><br>
+<A HREF="org.apache.http.conn.params.ConnRouteParamBean.html" class="hiddenlink" target="rightframe">ConnRouteParamBean</A><br>
+<A HREF="org.apache.http.conn.params.ConnRouteParams.html" class="hiddenlink" target="rightframe">ConnRouteParams</A><br>
+<A HREF="org.apache.http.conn.params.ConnRoutePNames.html" class="hiddenlink" target="rightframe"><i>ConnRoutePNames</i></A><br>
+<A HREF="org.apache.http.impl.io.ContentLengthInputStream.html" class="hiddenlink" target="rightframe">ContentLengthInputStream</A><br>
+<A HREF="org.apache.http.impl.io.ContentLengthOutputStream.html" class="hiddenlink" target="rightframe">ContentLengthOutputStream</A><br>
+<A HREF="org.apache.http.entity.ContentLengthStrategy.html" class="hiddenlink" target="rightframe"><i>ContentLengthStrategy</i></A><br>
+<A HREF="org.apache.http.entity.ContentProducer.html" class="hiddenlink" target="rightframe"><i>ContentProducer</i></A><br>
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<A HREF="org.apache.http.cookie.Cookie.html" class="hiddenlink" target="rightframe"><i>Cookie</i></A><br>
+<A HREF="org.apache.http.cookie.CookieAttributeHandler.html" class="hiddenlink" target="rightframe"><i>CookieAttributeHandler</i></A><br>
+<A HREF="org.apache.http.cookie.CookieIdentityComparator.html" class="hiddenlink" target="rightframe">CookieIdentityComparator</A><br>
+<A HREF="android.webkit.CookieManager.html" class="hiddenlink" target="rightframe">CookieManager</A><br>
+<A HREF="org.apache.http.cookie.CookieOrigin.html" class="hiddenlink" target="rightframe">CookieOrigin</A><br>
+<A HREF="org.apache.http.cookie.CookiePathComparator.html" class="hiddenlink" target="rightframe">CookiePathComparator</A><br>
+<A HREF="org.apache.http.client.params.CookiePolicy.html" class="hiddenlink" target="rightframe">CookiePolicy</A><br>
+<A HREF="org.apache.http.cookie.CookieSpec.html" class="hiddenlink" target="rightframe"><i>CookieSpec</i></A><br>
+<A HREF="org.apache.http.impl.cookie.CookieSpecBase.html" class="hiddenlink" target="rightframe">CookieSpecBase</A><br>
+<A HREF="org.apache.http.cookie.CookieSpecFactory.html" class="hiddenlink" target="rightframe"><i>CookieSpecFactory</i></A><br>
+<A HREF="org.apache.http.cookie.params.CookieSpecParamBean.html" class="hiddenlink" target="rightframe">CookieSpecParamBean</A><br>
+<A HREF="org.apache.http.cookie.params.CookieSpecPNames.html" class="hiddenlink" target="rightframe"><i>CookieSpecPNames</i></A><br>
+<A HREF="org.apache.http.cookie.CookieSpecRegistry.html" class="hiddenlink" target="rightframe">CookieSpecRegistry</A><br>
+<A HREF="org.apache.http.client.CookieStore.html" class="hiddenlink" target="rightframe"><i>CookieStore</i></A><br>
+<A HREF="org.apache.http.params.CoreConnectionPNames.html" class="hiddenlink" target="rightframe"><i>CoreConnectionPNames</i></A><br>
+<A HREF="org.apache.http.params.CoreProtocolPNames.html" class="hiddenlink" target="rightframe"><i>CoreProtocolPNames</i></A><br>
+<A HREF="org.apache.http.auth.Credentials.html" class="hiddenlink" target="rightframe"><i>Credentials</i></A><br>
+<A HREF="org.apache.http.client.CredentialsProvider.html" class="hiddenlink" target="rightframe"><i>CredentialsProvider</i></A><br>
+<A HREF="android.view.animation.CycleInterpolator.html" class="hiddenlink" target="rightframe">CycleInterpolator</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.text.format.DateFormat.html" class="hiddenlink" target="rightframe">DateFormat</A><br>
+<A HREF="org.apache.http.impl.cookie.DateParseException.html" class="hiddenlink" target="rightframe">DateParseException</A><br>
+<A HREF="org.apache.http.impl.cookie.DateUtils.html" class="hiddenlink" target="rightframe">DateUtils</A><br>
+<A HREF="android.view.animation.DecelerateInterpolator.html" class="hiddenlink" target="rightframe">DecelerateInterpolator</A><br>
+<A HREF="org.apache.http.impl.conn.DefaultClientConnection.html" class="hiddenlink" target="rightframe">DefaultClientConnection</A><br>
+<A HREF="org.apache.http.impl.conn.DefaultClientConnectionOperator.html" class="hiddenlink" target="rightframe">DefaultClientConnectionOperator</A><br>
+<A HREF="org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy.html" class="hiddenlink" target="rightframe">DefaultConnectionKeepAliveStrategy</A><br>
+<A HREF="org.apache.http.impl.DefaultConnectionReuseStrategy.html" class="hiddenlink" target="rightframe">DefaultConnectionReuseStrategy</A><br>
+<A HREF="org.apache.http.protocol.DefaultedHttpContext.html" class="hiddenlink" target="rightframe">DefaultedHttpContext</A><br>
+<A HREF="org.apache.http.params.DefaultedHttpParams.html" class="hiddenlink" target="rightframe">DefaultedHttpParams</A><br>
+<A HREF="org.apache.http.impl.client.DefaultHttpClient.html" class="hiddenlink" target="rightframe">DefaultHttpClient</A><br>
+<A HREF="org.apache.http.impl.DefaultHttpClientConnection.html" class="hiddenlink" target="rightframe">DefaultHttpClientConnection</A><br>
+<A HREF="org.apache.http.impl.DefaultHttpRequestFactory.html" class="hiddenlink" target="rightframe">DefaultHttpRequestFactory</A><br>
+<A HREF="org.apache.http.impl.client.DefaultHttpRequestRetryHandler.html" class="hiddenlink" target="rightframe">DefaultHttpRequestRetryHandler</A><br>
+<A HREF="org.apache.http.impl.DefaultHttpResponseFactory.html" class="hiddenlink" target="rightframe">DefaultHttpResponseFactory</A><br>
+<A HREF="org.apache.http.impl.conn.DefaultHttpRoutePlanner.html" class="hiddenlink" target="rightframe">DefaultHttpRoutePlanner</A><br>
+<A HREF="org.apache.http.impl.DefaultHttpServerConnection.html" class="hiddenlink" target="rightframe">DefaultHttpServerConnection</A><br>
+<A HREF="org.apache.http.impl.client.DefaultProxyAuthenticationHandler.html" class="hiddenlink" target="rightframe">DefaultProxyAuthenticationHandler</A><br>
+<A HREF="org.apache.http.impl.client.DefaultRedirectHandler.html" class="hiddenlink" target="rightframe">DefaultRedirectHandler</A><br>
+<A HREF="org.apache.http.impl.client.DefaultRequestDirector.html" class="hiddenlink" target="rightframe">DefaultRequestDirector</A><br>
+<A HREF="org.apache.http.impl.conn.DefaultResponseParser.html" class="hiddenlink" target="rightframe">DefaultResponseParser</A><br>
+<A HREF="org.apache.http.impl.client.DefaultTargetAuthenticationHandler.html" class="hiddenlink" target="rightframe">DefaultTargetAuthenticationHandler</A><br>
+<A HREF="org.apache.http.impl.client.DefaultUserTokenHandler.html" class="hiddenlink" target="rightframe">DefaultUserTokenHandler</A><br>
+<A HREF="android.app.admin.DevicePolicyManager.html" class="hiddenlink" target="rightframe">DevicePolicyManager</A><br>
+<A HREF="org.apache.http.impl.auth.DigestScheme.html" class="hiddenlink" target="rightframe">DigestScheme</A><br>
+<A HREF="org.apache.http.impl.auth.DigestSchemeFactory.html" class="hiddenlink" target="rightframe">DigestSchemeFactory</A><br>
+<A HREF="android.util.DisplayMetrics.html" class="hiddenlink" target="rightframe">DisplayMetrics</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.util.EncodingUtils.html" class="hiddenlink" target="rightframe">EncodingUtils</A><br>
+<A HREF="org.apache.http.impl.EnglishReasonPhraseCatalog.html" class="hiddenlink" target="rightframe">EnglishReasonPhraseCatalog</A><br>
+<A HREF="org.apache.http.impl.entity.EntityDeserializer.html" class="hiddenlink" target="rightframe">EntityDeserializer</A><br>
+<A HREF="org.apache.http.impl.client.EntityEnclosingRequestWrapper.html" class="hiddenlink" target="rightframe">EntityEnclosingRequestWrapper</A><br>
+<A HREF="org.apache.http.impl.entity.EntitySerializer.html" class="hiddenlink" target="rightframe">EntitySerializer</A><br>
+<A HREF="org.apache.http.entity.EntityTemplate.html" class="hiddenlink" target="rightframe">EntityTemplate</A><br>
+<A HREF="org.apache.http.util.EntityUtils.html" class="hiddenlink" target="rightframe">EntityUtils</A><br>
+<A HREF="org.apache.http.conn.EofSensorInputStream.html" class="hiddenlink" target="rightframe">EofSensorInputStream</A><br>
+<A HREF="org.apache.http.conn.EofSensorWatcher.html" class="hiddenlink" target="rightframe"><i>EofSensorWatcher</i></A><br>
+<A HREF="org.apache.http.util.ExceptionUtils.html" class="hiddenlink" target="rightframe">ExceptionUtils</A><br>
+<A HREF="org.apache.http.protocol.ExecutionContext.html" class="hiddenlink" target="rightframe"><i>ExecutionContext</i></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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.entity.FileEntity.html" class="hiddenlink" target="rightframe">FileEntity</A><br>
+<A HREF="android.util.FloatMath.html" class="hiddenlink" target="rightframe">FloatMath</A><br>
+<A HREF="org.apache.http.FormattedHeader.html" class="hiddenlink" target="rightframe"><i>FormattedHeader</i></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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="org.apache.http.Header.html" class="hiddenlink" target="rightframe"><i>Header</i></A><br>
+<A HREF="org.apache.http.HeaderElement.html" class="hiddenlink" target="rightframe"><i>HeaderElement</i></A><br>
+<A HREF="org.apache.http.HeaderElementIterator.html" class="hiddenlink" target="rightframe"><i>HeaderElementIterator</i></A><br>
+<A HREF="org.apache.http.message.HeaderGroup.html" class="hiddenlink" target="rightframe">HeaderGroup</A><br>
+<A HREF="org.apache.http.HeaderIterator.html" class="hiddenlink" target="rightframe"><i>HeaderIterator</i></A><br>
+<A HREF="org.apache.http.message.HeaderValueFormatter.html" class="hiddenlink" target="rightframe"><i>HeaderValueFormatter</i></A><br>
+<A HREF="org.apache.http.message.HeaderValueParser.html" class="hiddenlink" target="rightframe"><i>HeaderValueParser</i></A><br>
+<A HREF="org.apache.http.conn.scheme.HostNameResolver.html" class="hiddenlink" target="rightframe"><i>HostNameResolver</i></A><br>
+<A HREF="org.apache.http.protocol.HTTP.html" class="hiddenlink" target="rightframe">HTTP</A><br>
+<A HREF="org.apache.http.params.HttpAbstractParamBean.html" class="hiddenlink" target="rightframe">HttpAbstractParamBean</A><br>
+<A HREF="org.apache.http.client.HttpClient.html" class="hiddenlink" target="rightframe"><i>HttpClient</i></A><br>
+<A HREF="org.apache.http.HttpClientConnection.html" class="hiddenlink" target="rightframe"><i>HttpClientConnection</i></A><br>
+<A HREF="org.apache.http.client.params.HttpClientParams.html" class="hiddenlink" target="rightframe">HttpClientParams</A><br>
+<A HREF="org.apache.http.HttpConnection.html" class="hiddenlink" target="rightframe"><i>HttpConnection</i></A><br>
+<A HREF="org.apache.http.HttpConnectionMetrics.html" class="hiddenlink" target="rightframe"><i>HttpConnectionMetrics</i></A><br>
+<A HREF="org.apache.http.impl.HttpConnectionMetricsImpl.html" class="hiddenlink" target="rightframe">HttpConnectionMetricsImpl</A><br>
+<A HREF="org.apache.http.params.HttpConnectionParamBean.html" class="hiddenlink" target="rightframe">HttpConnectionParamBean</A><br>
+<A HREF="org.apache.http.params.HttpConnectionParams.html" class="hiddenlink" target="rightframe">HttpConnectionParams</A><br>
+<A HREF="org.apache.http.protocol.HttpContext.html" class="hiddenlink" target="rightframe"><i>HttpContext</i></A><br>
+<A HREF="org.apache.http.protocol.HttpDateGenerator.html" class="hiddenlink" target="rightframe">HttpDateGenerator</A><br>
+<A HREF="org.apache.http.client.methods.HttpDelete.html" class="hiddenlink" target="rightframe">HttpDelete</A><br>
+<A HREF="org.apache.http.HttpEntity.html" class="hiddenlink" target="rightframe"><i>HttpEntity</i></A><br>
+<A HREF="org.apache.http.HttpEntityEnclosingRequest.html" class="hiddenlink" target="rightframe"><i>HttpEntityEnclosingRequest</i></A><br>
+<A HREF="org.apache.http.client.methods.HttpEntityEnclosingRequestBase.html" class="hiddenlink" target="rightframe">HttpEntityEnclosingRequestBase</A><br>
+<A HREF="org.apache.http.entity.HttpEntityWrapper.html" class="hiddenlink" target="rightframe">HttpEntityWrapper</A><br>
+<A HREF="org.apache.http.HttpException.html" class="hiddenlink" target="rightframe">HttpException</A><br>
+<A HREF="org.apache.http.protocol.HttpExpectationVerifier.html" class="hiddenlink" target="rightframe"><i>HttpExpectationVerifier</i></A><br>
+<A HREF="org.apache.http.client.methods.HttpGet.html" class="hiddenlink" target="rightframe">HttpGet</A><br>
+<A HREF="org.apache.http.client.methods.HttpHead.html" class="hiddenlink" target="rightframe">HttpHead</A><br>
+<A HREF="org.apache.http.HttpHost.html" class="hiddenlink" target="rightframe">HttpHost</A><br>
+<A HREF="org.apache.http.conn.HttpHostConnectException.html" class="hiddenlink" target="rightframe">HttpHostConnectException</A><br>
+<A HREF="org.apache.http.HttpInetConnection.html" class="hiddenlink" target="rightframe"><i>HttpInetConnection</i></A><br>
+<A HREF="org.apache.http.HttpMessage.html" class="hiddenlink" target="rightframe"><i>HttpMessage</i></A><br>
+<A HREF="org.apache.http.io.HttpMessageParser.html" class="hiddenlink" target="rightframe"><i>HttpMessageParser</i></A><br>
+<A HREF="org.apache.http.io.HttpMessageWriter.html" class="hiddenlink" target="rightframe"><i>HttpMessageWriter</i></A><br>
+<A HREF="org.apache.http.client.methods.HttpOptions.html" class="hiddenlink" target="rightframe">HttpOptions</A><br>
+<A HREF="org.apache.http.params.HttpParams.html" class="hiddenlink" target="rightframe"><i>HttpParams</i></A><br>
+<A HREF="org.apache.http.client.methods.HttpPost.html" class="hiddenlink" target="rightframe">HttpPost</A><br>
+<A HREF="org.apache.http.protocol.HttpProcessor.html" class="hiddenlink" target="rightframe"><i>HttpProcessor</i></A><br>
+<A HREF="org.apache.http.params.HttpProtocolParamBean.html" class="hiddenlink" target="rightframe">HttpProtocolParamBean</A><br>
+<A HREF="org.apache.http.params.HttpProtocolParams.html" class="hiddenlink" target="rightframe">HttpProtocolParams</A><br>
+<A HREF="org.apache.http.client.methods.HttpPut.html" class="hiddenlink" target="rightframe">HttpPut</A><br>
+<A HREF="org.apache.http.HttpRequest.html" class="hiddenlink" target="rightframe"><i>HttpRequest</i></A><br>
+<A HREF="org.apache.http.client.methods.HttpRequestBase.html" class="hiddenlink" target="rightframe">HttpRequestBase</A><br>
+<A HREF="org.apache.http.protocol.HttpRequestExecutor.html" class="hiddenlink" target="rightframe">HttpRequestExecutor</A><br>
+<A HREF="org.apache.http.HttpRequestFactory.html" class="hiddenlink" target="rightframe"><i>HttpRequestFactory</i></A><br>
+<A HREF="org.apache.http.protocol.HttpRequestHandler.html" class="hiddenlink" target="rightframe"><i>HttpRequestHandler</i></A><br>
+<A HREF="org.apache.http.protocol.HttpRequestHandlerRegistry.html" class="hiddenlink" target="rightframe">HttpRequestHandlerRegistry</A><br>
+<A HREF="org.apache.http.protocol.HttpRequestHandlerResolver.html" class="hiddenlink" target="rightframe"><i>HttpRequestHandlerResolver</i></A><br>
+<A HREF="org.apache.http.HttpRequestInterceptor.html" class="hiddenlink" target="rightframe"><i>HttpRequestInterceptor</i></A><br>
+<A HREF="org.apache.http.protocol.HttpRequestInterceptorList.html" class="hiddenlink" target="rightframe"><i>HttpRequestInterceptorList</i></A><br>
+<A HREF="org.apache.http.impl.io.HttpRequestParser.html" class="hiddenlink" target="rightframe">HttpRequestParser</A><br>
+<A HREF="org.apache.http.client.HttpRequestRetryHandler.html" class="hiddenlink" target="rightframe"><i>HttpRequestRetryHandler</i></A><br>
+<A HREF="org.apache.http.impl.io.HttpRequestWriter.html" class="hiddenlink" target="rightframe">HttpRequestWriter</A><br>
+<A HREF="org.apache.http.HttpResponse.html" class="hiddenlink" target="rightframe"><i>HttpResponse</i></A><br>
+<A HREF="org.apache.http.client.HttpResponseException.html" class="hiddenlink" target="rightframe">HttpResponseException</A><br>
+<A HREF="org.apache.http.HttpResponseFactory.html" class="hiddenlink" target="rightframe"><i>HttpResponseFactory</i></A><br>
+<A HREF="org.apache.http.HttpResponseInterceptor.html" class="hiddenlink" target="rightframe"><i>HttpResponseInterceptor</i></A><br>
+<A HREF="org.apache.http.protocol.HttpResponseInterceptorList.html" class="hiddenlink" target="rightframe"><i>HttpResponseInterceptorList</i></A><br>
+<A HREF="org.apache.http.impl.io.HttpResponseParser.html" class="hiddenlink" target="rightframe">HttpResponseParser</A><br>
+<A HREF="org.apache.http.impl.io.HttpResponseWriter.html" class="hiddenlink" target="rightframe">HttpResponseWriter</A><br>
+<A HREF="org.apache.http.conn.routing.HttpRoute.html" class="hiddenlink" target="rightframe">HttpRoute</A><br>
+<A HREF="org.apache.http.conn.routing.HttpRouteDirector.html" class="hiddenlink" target="rightframe"><i>HttpRouteDirector</i></A><br>
+<A HREF="org.apache.http.conn.routing.HttpRoutePlanner.html" class="hiddenlink" target="rightframe"><i>HttpRoutePlanner</i></A><br>
+<A HREF="org.apache.http.HttpServerConnection.html" class="hiddenlink" target="rightframe"><i>HttpServerConnection</i></A><br>
+<A HREF="org.apache.http.protocol.HttpService.html" class="hiddenlink" target="rightframe">HttpService</A><br>
+<A HREF="org.apache.http.HttpStatus.html" class="hiddenlink" target="rightframe"><i>HttpStatus</i></A><br>
+<A HREF="org.apache.http.client.methods.HttpTrace.html" class="hiddenlink" target="rightframe">HttpTrace</A><br>
+<A HREF="org.apache.http.io.HttpTransportMetrics.html" class="hiddenlink" target="rightframe"><i>HttpTransportMetrics</i></A><br>
+<A HREF="org.apache.http.impl.io.HttpTransportMetricsImpl.html" class="hiddenlink" target="rightframe">HttpTransportMetricsImpl</A><br>
+<A HREF="org.apache.http.client.methods.HttpUriRequest.html" class="hiddenlink" target="rightframe"><i>HttpUriRequest</i></A><br>
+<A HREF="org.apache.http.HttpVersion.html" class="hiddenlink" target="rightframe">HttpVersion</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="#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="#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="org.apache.http.impl.io.IdentityInputStream.html" class="hiddenlink" target="rightframe">IdentityInputStream</A><br>
+<A HREF="org.apache.http.impl.io.IdentityOutputStream.html" class="hiddenlink" target="rightframe">IdentityOutputStream</A><br>
+<A HREF="org.apache.http.impl.conn.IdleConnectionHandler.html" class="hiddenlink" target="rightframe">IdleConnectionHandler</A><br>
+<A HREF="org.apache.http.conn.util.InetAddressUtils.html" class="hiddenlink" target="rightframe">InetAddressUtils</A><br>
+<A HREF="org.apache.http.entity.InputStreamEntity.html" class="hiddenlink" target="rightframe">InputStreamEntity</A><br>
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<A HREF="org.apache.http.auth.InvalidCredentialsException.html" class="hiddenlink" target="rightframe">InvalidCredentialsException</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="#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="#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="android.app.KeyguardManager.html" class="hiddenlink" target="rightframe">KeyguardManager</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="#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="#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="org.apache.http.util.LangUtils.html" class="hiddenlink" target="rightframe">LangUtils</A><br>
+<A HREF="org.apache.http.impl.entity.LaxContentLengthStrategy.html" class="hiddenlink" target="rightframe">LaxContentLengthStrategy</A><br>
+<A HREF="org.apache.http.conn.scheme.LayeredSocketFactory.html" class="hiddenlink" target="rightframe"><i>LayeredSocketFactory</i></A><br>
+<A HREF="android.view.animation.LinearInterpolator.html" class="hiddenlink" target="rightframe">LinearInterpolator</A><br>
+<A HREF="org.apache.http.message.LineFormatter.html" class="hiddenlink" target="rightframe"><i>LineFormatter</i></A><br>
+<A HREF="org.apache.http.message.LineParser.html" class="hiddenlink" target="rightframe"><i>LineParser</i></A><br>
+<A HREF="org.apache.commons.logging.Log.html" class="hiddenlink" target="rightframe"><i>Log</i></A><br>
+<A HREF="org.apache.http.impl.conn.LoggingSessionInputBuffer.html" class="hiddenlink" target="rightframe">LoggingSessionInputBuffer</A><br>
+<A HREF="org.apache.http.impl.conn.LoggingSessionOutputBuffer.html" class="hiddenlink" target="rightframe">LoggingSessionOutputBuffer</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="#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="#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="org.apache.http.auth.MalformedChallengeException.html" class="hiddenlink" target="rightframe">MalformedChallengeException</A><br>
+<A HREF="org.apache.http.MalformedChunkCodingException.html" class="hiddenlink" target="rightframe">MalformedChunkCodingException</A><br>
+<A HREF="org.apache.http.cookie.MalformedCookieException.html" class="hiddenlink" target="rightframe">MalformedCookieException</A><br>
+<A HREF="org.apache.http.conn.ManagedClientConnection.html" class="hiddenlink" target="rightframe"><i>ManagedClientConnection</i></A><br>
+<A HREF="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<A HREF="android.media.MediaDrm.html" class="hiddenlink" target="rightframe">MediaDrm</A><br>
+<A HREF="android.media.session.MediaSession.html" class="hiddenlink" target="rightframe">MediaSession</A><br>
+<A HREF="android.os.Message.html" class="hiddenlink" target="rightframe">Message</A><br>
+<A HREF="org.apache.http.MethodNotSupportedException.html" class="hiddenlink" target="rightframe">MethodNotSupportedException</A><br>
+<A HREF="org.apache.http.conn.MultihomePlainSocketFactory.html" class="hiddenlink" target="rightframe">MultihomePlainSocketFactory</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="#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="#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="org.apache.http.NameValuePair.html" class="hiddenlink" target="rightframe"><i>NameValuePair</i></A><br>
+<A HREF="org.apache.http.impl.cookie.NetscapeDomainHandler.html" class="hiddenlink" target="rightframe">NetscapeDomainHandler</A><br>
+<A HREF="org.apache.http.impl.cookie.NetscapeDraftHeaderParser.html" class="hiddenlink" target="rightframe">NetscapeDraftHeaderParser</A><br>
+<A HREF="org.apache.http.impl.cookie.NetscapeDraftSpec.html" class="hiddenlink" target="rightframe">NetscapeDraftSpec</A><br>
+<A HREF="org.apache.http.impl.cookie.NetscapeDraftSpecFactory.html" class="hiddenlink" target="rightframe">NetscapeDraftSpecFactory</A><br>
+<A HREF="android.net.Network.html" class="hiddenlink" target="rightframe">Network</A><br>
+<A HREF="org.apache.http.impl.NoConnectionReuseStrategy.html" class="hiddenlink" target="rightframe">NoConnectionReuseStrategy</A><br>
+<A HREF="org.apache.http.NoHttpResponseException.html" class="hiddenlink" target="rightframe">NoHttpResponseException</A><br>
+<A HREF="org.apache.http.client.NonRepeatableRequestException.html" class="hiddenlink" target="rightframe">NonRepeatableRequestException</A><br>
+<A HREF="android.app.Notification.Action.WearableExtender.html" class="hiddenlink" target="rightframe">Notification.Action.WearableExtender</A><br>
+<A HREF="android.app.Notification.WearableExtender.html" class="hiddenlink" target="rightframe">Notification.WearableExtender</A><br>
+<A HREF="org.apache.http.auth.NTCredentials.html" class="hiddenlink" target="rightframe">NTCredentials</A><br>
+<A HREF="org.apache.http.impl.auth.NTLMEngine.html" class="hiddenlink" target="rightframe"><i>NTLMEngine</i></A><br>
+<A HREF="org.apache.http.impl.auth.NTLMEngineException.html" class="hiddenlink" target="rightframe">NTLMEngineException</A><br>
+<A HREF="org.apache.http.impl.auth.NTLMScheme.html" class="hiddenlink" target="rightframe">NTLMScheme</A><br>
+<A HREF="org.apache.http.auth.NTUserPrincipal.html" class="hiddenlink" target="rightframe">NTUserPrincipal</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="#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="#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="org.apache.http.conn.OperatedClientConnection.html" class="hiddenlink" target="rightframe"><i>OperatedClientConnection</i></A><br>
+<A HREF="android.graphics.Outline.html" class="hiddenlink" target="rightframe">Outline</A><br>
+<A HREF="android.view.animation.OvershootInterpolator.html" class="hiddenlink" target="rightframe">OvershootInterpolator</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="#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="#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="android.content.pm.PackageInfo.html" class="hiddenlink" target="rightframe">PackageInfo</A><br>
+<A HREF="android.content.pm.PackageItemInfo.html" class="hiddenlink" target="rightframe">PackageItemInfo</A><br>
+<A HREF="org.apache.http.ParseException.html" class="hiddenlink" target="rightframe">ParseException</A><br>
+<A HREF="org.apache.http.message.ParserCursor.html" class="hiddenlink" target="rightframe">ParserCursor</A><br>
+<A HREF="android.view.animation.PathInterpolator.html" class="hiddenlink" target="rightframe">PathInterpolator</A><br>
+<A HREF="org.apache.http.conn.scheme.PlainSocketFactory.html" class="hiddenlink" target="rightframe">PlainSocketFactory</A><br>
+<A HREF="android.media.session.PlaybackState.html" class="hiddenlink" target="rightframe">PlaybackState</A><br>
+<A HREF="android.media.session.PlaybackState.Builder.html" class="hiddenlink" target="rightframe">PlaybackState.Builder</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.PoolEntryRequest.html" class="hiddenlink" target="rightframe"><i>PoolEntryRequest</i></A><br>
+<A HREF="android.widget.PopupMenu.html" class="hiddenlink" target="rightframe">PopupMenu</A><br>
+<A HREF="android.widget.PopupWindow.html" class="hiddenlink" target="rightframe">PopupWindow</A><br>
+<A HREF="org.apache.http.ProtocolException.html" class="hiddenlink" target="rightframe">ProtocolException</A><br>
+<A HREF="org.apache.http.ProtocolVersion.html" class="hiddenlink" target="rightframe">ProtocolVersion</A><br>
+<A HREF="android.net.ProxyInfo.html" class="hiddenlink" target="rightframe">ProxyInfo</A><br>
+<A HREF="org.apache.http.impl.conn.ProxySelectorRoutePlanner.html" class="hiddenlink" target="rightframe">ProxySelectorRoutePlanner</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="#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="#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="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 HREF="org.apache.http.ReasonPhraseCatalog.html" class="hiddenlink" target="rightframe"><i>ReasonPhraseCatalog</i></A><br>
+<A HREF="org.apache.http.client.RedirectException.html" class="hiddenlink" target="rightframe">RedirectException</A><br>
+<A HREF="org.apache.http.client.RedirectHandler.html" class="hiddenlink" target="rightframe"><i>RedirectHandler</i></A><br>
+<A HREF="org.apache.http.impl.client.RedirectLocations.html" class="hiddenlink" target="rightframe">RedirectLocations</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.RefQueueHandler.html" class="hiddenlink" target="rightframe"><i>RefQueueHandler</i></A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.RefQueueWorker.html" class="hiddenlink" target="rightframe">RefQueueWorker</A><br>
+<A HREF="android.widget.RemoteViews.html" class="hiddenlink" target="rightframe">RemoteViews</A><br>
+<A HREF="org.apache.http.client.protocol.RequestAddCookies.html" class="hiddenlink" target="rightframe">RequestAddCookies</A><br>
+<A HREF="org.apache.http.protocol.RequestConnControl.html" class="hiddenlink" target="rightframe">RequestConnControl</A><br>
+<A HREF="org.apache.http.protocol.RequestContent.html" class="hiddenlink" target="rightframe">RequestContent</A><br>
+<A HREF="org.apache.http.protocol.RequestDate.html" class="hiddenlink" target="rightframe">RequestDate</A><br>
+<A HREF="org.apache.http.client.protocol.RequestDefaultHeaders.html" class="hiddenlink" target="rightframe">RequestDefaultHeaders</A><br>
+<A HREF="org.apache.http.client.RequestDirector.html" class="hiddenlink" target="rightframe"><i>RequestDirector</i></A><br>
+<A HREF="org.apache.http.protocol.RequestExpectContinue.html" class="hiddenlink" target="rightframe">RequestExpectContinue</A><br>
+<A HREF="org.apache.http.RequestLine.html" class="hiddenlink" target="rightframe"><i>RequestLine</i></A><br>
+<A HREF="org.apache.http.client.protocol.RequestProxyAuthentication.html" class="hiddenlink" target="rightframe">RequestProxyAuthentication</A><br>
+<A HREF="org.apache.http.client.protocol.RequestTargetAuthentication.html" class="hiddenlink" target="rightframe">RequestTargetAuthentication</A><br>
+<A HREF="org.apache.http.protocol.RequestTargetHost.html" class="hiddenlink" target="rightframe">RequestTargetHost</A><br>
+<A HREF="org.apache.http.protocol.RequestUserAgent.html" class="hiddenlink" target="rightframe">RequestUserAgent</A><br>
+<A HREF="org.apache.http.impl.client.RequestWrapper.html" class="hiddenlink" target="rightframe">RequestWrapper</A><br>
+<A HREF="android.content.res.Resources.html" class="hiddenlink" target="rightframe">Resources</A><br>
+<A HREF="org.apache.http.protocol.ResponseConnControl.html" class="hiddenlink" target="rightframe">ResponseConnControl</A><br>
+<A HREF="org.apache.http.protocol.ResponseContent.html" class="hiddenlink" target="rightframe">ResponseContent</A><br>
+<A HREF="org.apache.http.protocol.ResponseDate.html" class="hiddenlink" target="rightframe">ResponseDate</A><br>
+<A HREF="org.apache.http.client.ResponseHandler.html" class="hiddenlink" target="rightframe"><i>ResponseHandler</i></A><br>
+<A HREF="org.apache.http.client.protocol.ResponseProcessCookies.html" class="hiddenlink" target="rightframe">ResponseProcessCookies</A><br>
+<A HREF="org.apache.http.protocol.ResponseServer.html" class="hiddenlink" target="rightframe">ResponseServer</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2109DomainHandler.html" class="hiddenlink" target="rightframe">RFC2109DomainHandler</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2109Spec.html" class="hiddenlink" target="rightframe">RFC2109Spec</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2109SpecFactory.html" class="hiddenlink" target="rightframe">RFC2109SpecFactory</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2109VersionHandler.html" class="hiddenlink" target="rightframe">RFC2109VersionHandler</A><br>
+<A HREF="org.apache.http.impl.auth.RFC2617Scheme.html" class="hiddenlink" target="rightframe">RFC2617Scheme</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2965CommentUrlAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965CommentUrlAttributeHandler</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2965DiscardAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965DiscardAttributeHandler</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2965DomainAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965DomainAttributeHandler</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2965PortAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965PortAttributeHandler</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2965Spec.html" class="hiddenlink" target="rightframe">RFC2965Spec</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2965SpecFactory.html" class="hiddenlink" target="rightframe">RFC2965SpecFactory</A><br>
+<A HREF="org.apache.http.impl.cookie.RFC2965VersionAttributeHandler.html" class="hiddenlink" target="rightframe">RFC2965VersionAttributeHandler</A><br>
+<A HREF="org.apache.http.impl.client.RoutedRequest.html" class="hiddenlink" target="rightframe">RoutedRequest</A><br>
+<A HREF="org.apache.http.conn.routing.RouteInfo.html" class="hiddenlink" target="rightframe"><i>RouteInfo</i></A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.RouteSpecificPool.html" class="hiddenlink" target="rightframe">RouteSpecificPool</A><br>
+<A HREF="org.apache.http.conn.routing.RouteTracker.html" class="hiddenlink" target="rightframe">RouteTracker</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="#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="#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="org.apache.http.conn.scheme.Scheme.html" class="hiddenlink" target="rightframe">Scheme</A><br>
+<A HREF="org.apache.http.conn.scheme.SchemeRegistry.html" class="hiddenlink" target="rightframe">SchemeRegistry</A><br>
+<A HREF="org.apache.http.entity.SerializableEntity.html" class="hiddenlink" target="rightframe">SerializableEntity</A><br>
+<A HREF="org.apache.http.io.SessionInputBuffer.html" class="hiddenlink" target="rightframe"><i>SessionInputBuffer</i></A><br>
+<A HREF="org.apache.http.io.SessionOutputBuffer.html" class="hiddenlink" target="rightframe"><i>SessionOutputBuffer</i></A><br>
+<A HREF="org.apache.http.cookie.SetCookie.html" class="hiddenlink" target="rightframe"><i>SetCookie</i></A><br>
+<A HREF="org.apache.http.cookie.SetCookie2.html" class="hiddenlink" target="rightframe"><i>SetCookie2</i></A><br>
+<A HREF="android.provider.Settings.html" class="hiddenlink" target="rightframe">Settings</A><br>
+<A HREF="org.apache.http.impl.conn.SingleClientConnManager.html" class="hiddenlink" target="rightframe">SingleClientConnManager</A><br>
+<A HREF="org.apache.http.cookie.SM.html" class="hiddenlink" target="rightframe"><i>SM</i></A><br>
+<A HREF="android.telephony.SmsManager.html" class="hiddenlink" target="rightframe">SmsManager</A><br>
+<A HREF="org.apache.http.conn.scheme.SocketFactory.html" class="hiddenlink" target="rightframe"><i>SocketFactory</i></A><br>
+<A HREF="org.apache.http.impl.SocketHttpClientConnection.html" class="hiddenlink" target="rightframe">SocketHttpClientConnection</A><br>
+<A HREF="org.apache.http.impl.SocketHttpServerConnection.html" class="hiddenlink" target="rightframe">SocketHttpServerConnection</A><br>
+<A HREF="org.apache.http.impl.io.SocketInputBuffer.html" class="hiddenlink" target="rightframe">SocketInputBuffer</A><br>
+<A HREF="org.apache.http.impl.io.SocketOutputBuffer.html" class="hiddenlink" target="rightframe">SocketOutputBuffer</A><br>
+<A HREF="android.net.SSLCertificateSocketFactory.html" class="hiddenlink" target="rightframe">SSLCertificateSocketFactory</A><br>
+<A HREF="org.apache.http.conn.ssl.SSLSocketFactory.html" class="hiddenlink" target="rightframe">SSLSocketFactory</A><br>
+<A HREF="android.animation.StateListAnimator.html" class="hiddenlink" target="rightframe">StateListAnimator</A><br>
+<A HREF="org.apache.http.StatusLine.html" class="hiddenlink" target="rightframe"><i>StatusLine</i></A><br>
+<A HREF="org.apache.http.impl.entity.StrictContentLengthStrategy.html" class="hiddenlink" target="rightframe">StrictContentLengthStrategy</A><br>
+<A HREF="org.apache.http.conn.ssl.StrictHostnameVerifier.html" class="hiddenlink" target="rightframe">StrictHostnameVerifier</A><br>
+<A HREF="org.apache.http.entity.StringEntity.html" class="hiddenlink" target="rightframe">StringEntity</A><br>
+<A HREF="org.apache.http.protocol.SyncBasicHttpContext.html" class="hiddenlink" target="rightframe">SyncBasicHttpContext</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="#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="#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="android.provider.Telephony.BaseMmsColumns.html" class="hiddenlink" target="rightframe"><i>Telephony.BaseMmsColumns</i></A><br>
+<A HREF="android.provider.Telephony.Carriers.html" class="hiddenlink" target="rightframe">Telephony.Carriers</A><br>
+<A HREF="android.provider.Telephony.MmsSms.PendingMessages.html" class="hiddenlink" target="rightframe">Telephony.MmsSms.PendingMessages</A><br>
+<A HREF="android.provider.Telephony.TextBasedSmsColumns.html" class="hiddenlink" target="rightframe"><i>Telephony.TextBasedSmsColumns</i></A><br>
+<A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager.html" class="hiddenlink" target="rightframe">ThreadSafeClientConnManager</A><br>
+<A HREF="android.text.format.Time.html" class="hiddenlink" target="rightframe">Time</A><br>
+<A HREF="org.apache.http.TokenIterator.html" class="hiddenlink" target="rightframe"><i>TokenIterator</i></A><br>
+<A HREF="org.apache.http.impl.client.TunnelRefusedException.html" class="hiddenlink" target="rightframe">TunnelRefusedException</A><br>
+<A HREF="android.media.tv.TvContract.Programs.Genres.html" class="hiddenlink" target="rightframe">TvContract.Programs.Genres</A><br>
+<A HREF="android.content.res.TypedArray.html" class="hiddenlink" target="rightframe">TypedArray</A><br>
+<A HREF="android.util.TypedValue.html" class="hiddenlink" target="rightframe">TypedValue</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="#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="#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="org.apache.http.impl.auth.UnsupportedDigestAlgorithmException.html" class="hiddenlink" target="rightframe">UnsupportedDigestAlgorithmException</A><br>
+<A HREF="org.apache.http.UnsupportedHttpVersionException.html" class="hiddenlink" target="rightframe">UnsupportedHttpVersionException</A><br>
+<A HREF="org.apache.http.protocol.UriPatternMatcher.html" class="hiddenlink" target="rightframe">UriPatternMatcher</A><br>
+<A HREF="org.apache.http.client.utils.URIUtils.html" class="hiddenlink" target="rightframe">URIUtils</A><br>
+<A HREF="org.apache.http.client.entity.UrlEncodedFormEntity.html" class="hiddenlink" target="rightframe">UrlEncodedFormEntity</A><br>
+<A HREF="org.apache.http.client.utils.URLEncodedUtils.html" class="hiddenlink" target="rightframe">URLEncodedUtils</A><br>
+<A HREF="android.os.UserManager.html" class="hiddenlink" target="rightframe">UserManager</A><br>
+<A HREF="org.apache.http.auth.UsernamePasswordCredentials.html" class="hiddenlink" target="rightframe">UsernamePasswordCredentials</A><br>
+<A HREF="org.apache.http.client.UserTokenHandler.html" class="hiddenlink" target="rightframe"><i>UserTokenHandler</i></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="#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="android.animation.ValueAnimator.html" class="hiddenlink" target="rightframe">ValueAnimator</A><br>
+<A HREF="org.apache.http.util.VersionInfo.html" class="hiddenlink" target="rightframe">VersionInfo</A><br>
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</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="android.net.VpnService.html" class="hiddenlink" target="rightframe">VpnService</A><br>
+<A HREF="android.net.VpnService.Builder.html" class="hiddenlink" target="rightframe">VpnService.Builder</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="#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="#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="org.apache.http.impl.conn.tsccm.WaitingThread.html" class="hiddenlink" target="rightframe">WaitingThread</A><br>
+<A HREF="org.apache.http.impl.conn.tsccm.WaitingThreadAborter.html" class="hiddenlink" target="rightframe">WaitingThreadAborter</A><br>
+<A HREF="android.webkit.WebBackForwardList.html" class="hiddenlink" target="rightframe">WebBackForwardList</A><br>
+<A HREF="android.webkit.WebHistoryItem.html" class="hiddenlink" target="rightframe">WebHistoryItem</A><br>
+<A HREF="android.webkit.WebIconDatabase.html" class="hiddenlink" target="rightframe">WebIconDatabase</A><br>
+<A HREF="android.webkit.WebSettings.html" class="hiddenlink" target="rightframe">WebSettings</A><br>
+<A HREF="android.webkit.WebViewDatabase.html" class="hiddenlink" target="rightframe">WebViewDatabase</A><br>
+<A HREF="android.view.Window.html" class="hiddenlink" target="rightframe">Window</A><br>
+<A HREF="android.view.WindowManager.LayoutParams.html" class="hiddenlink" target="rightframe">WindowManager.LayoutParams</A><br>
+<A HREF="org.apache.http.impl.conn.Wire.html" class="hiddenlink" target="rightframe">Wire</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="#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">
+<A HREF="org.apache.http.conn.ssl.X509HostnameVerifier.html" class="hiddenlink" target="rightframe"><i>X509HostnameVerifier</i></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/22/changes/classes_index_removals.html b/docs/html/sdk/api_diff/22/changes/classes_index_removals.html
new file mode 100644
index 0000000..c83f06f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/classes_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>
+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>
+<font color="#999999">Removals</font>
+  <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>
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/22/changes/constructors_index_additions.html b/docs/html/sdk/api_diff/22/changes/constructors_index_additions.html
new file mode 100644
index 0000000..68cdb76
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/constructors_index_additions.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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>
+<font color="#999999">Changes</font>
+  </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="#P"><font size="-2">P</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.webkit.CookieManager.html#android.webkit.CookieManager.ctor_added()" class="hiddenlink" target="rightframe"><b>CookieManager</b>
+()</A></nobr>&nbsp;constructor<br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#C"><font size="-2">C</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.PopupMenu.html#android.widget.PopupMenu.ctor_added(android.content.Context, android.view.View, int, int, int)" class="hiddenlink" target="rightframe"><b>PopupMenu</b>
+(<code>Context, View, int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#C"><font size="-2">C</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.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.ctor_added()" class="hiddenlink" target="rightframe"><b>WebBackForwardList</b>
+()</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.ctor_added()" class="hiddenlink" target="rightframe"><b>WebHistoryItem</b>
+()</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.ctor_added()" class="hiddenlink" target="rightframe"><b>WebIconDatabase</b>
+()</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.ctor_added()" class="hiddenlink" target="rightframe"><b>WebSettings</b>
+()</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.ctor_added()" class="hiddenlink" target="rightframe"><b>WebViewDatabase</b>
+()</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/22/changes/constructors_index_all.html b/docs/html/sdk/api_diff/22/changes/constructors_index_all.html
new file mode 100644
index 0000000..f42b943
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/constructors_index_all.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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>
+<font color="#999999">Changes</font>
+  </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="#P"><font size="-2">P</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.webkit.CookieManager.html#android.webkit.CookieManager.ctor_added()" class="hiddenlink" target="rightframe"><b>CookieManager</b>
+()</A></nobr>&nbsp;constructor<br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#C"><font size="-2">C</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.PopupMenu.html#android.widget.PopupMenu.ctor_added(android.content.Context, android.view.View, int, int, int)" class="hiddenlink" target="rightframe"><b>PopupMenu</b>
+(<code>Context, View, int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#C"><font size="-2">C</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.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.ctor_added()" class="hiddenlink" target="rightframe"><b>WebBackForwardList</b>
+()</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.ctor_added()" class="hiddenlink" target="rightframe"><b>WebHistoryItem</b>
+()</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.ctor_added()" class="hiddenlink" target="rightframe"><b>WebIconDatabase</b>
+()</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.ctor_added()" class="hiddenlink" target="rightframe"><b>WebSettings</b>
+()</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.ctor_added()" class="hiddenlink" target="rightframe"><b>WebViewDatabase</b>
+()</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/22/changes/constructors_index_changes.html b/docs/html/sdk/api_diff/22/changes/constructors_index_changes.html
new file mode 100644
index 0000000..5b282cfd
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/constructors_index_changes.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 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>
+<font color="#999999">Changes</font>
+  </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/22/changes/constructors_index_removals.html b/docs/html/sdk/api_diff/22/changes/constructors_index_removals.html
new file mode 100644
index 0000000..2fa0e85
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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>
+<font color="#999999">Changes</font>
+  </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/22/changes/fields_index_additions.html b/docs/html/sdk/api_diff/22/changes/fields_index_additions.html
new file mode 100644
index 0000000..5cecc9c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/fields_index_additions.html
@@ -0,0 +1,445 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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="#K"><font size="-2">K</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="#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.accessibilityTraversalAfter" class="hiddenlink" target="rightframe">accessibilityTraversalAfter</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityTraversalBefore" class="hiddenlink" target="rightframe">accessibilityTraversalBefore</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_BATTERY_SAVER_SETTINGS" class="hiddenlink" target="rightframe">ACTION_BATTERY_SAVER_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS" class="hiddenlink" target="rightframe">ACTION_NOTIFICATION_LISTENER_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.ARTS" class="hiddenlink" target="rightframe">ARTS</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="#K"><font size="-2">K</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="#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.PackageInfo.html#android.content.pm.PackageInfo.baseRevisionCode" class="hiddenlink" target="rightframe">baseRevisionCode</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_CARRIER_MESSAGING_SERVICE" class="hiddenlink" target="rightframe">BIND_CARRIER_MESSAGING_SERVICE</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="#K"><font size="-2">K</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="#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.collapseContentDescription" class="hiddenlink" target="rightframe">collapseContentDescription</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.camera2.CameraMetadata.html#android.hardware.camera2.CameraMetadata.CONTROL_SCENE_MODE_HDR" class="hiddenlink" target="rightframe">CONTROL_SCENE_MODE_HDR</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="#K"><font size="-2">K</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="#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.util.TypedValue.html#android.util.TypedValue.DATA_NULL_EMPTY" class="hiddenlink" target="rightframe">DATA_NULL_EMPTY</A>
+</nobr><br>
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.DATA_NULL_UNDEFINED" class="hiddenlink" target="rightframe">DATA_NULL_UNDEFINED</A>
+</nobr><br>
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_280" class="hiddenlink" target="rightframe">DENSITY_280</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.dialogPreferredPadding" class="hiddenlink" target="rightframe">dialogPreferredPadding</A>
+</nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.DISALLOW_OUTGOING_BEAM" class="hiddenlink" target="rightframe">DISALLOW_OUTGOING_BEAM</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="#K"><font size="-2">K</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="#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.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.ENTERTAINMENT" class="hiddenlink" target="rightframe">ENTERTAINMENT</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHOSEN_COMPONENT" class="hiddenlink" target="rightframe">EXTRA_CHOSEN_COMPONENT</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHOSEN_COMPONENT_INTENT_SENDER" class="hiddenlink" target="rightframe">EXTRA_CHOSEN_COMPONENT_INTENT_SENDER</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.EXTRA_MMS_HTTP_STATUS" class="hiddenlink" target="rightframe">EXTRA_MMS_HTTP_STATUS</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.EXTRA_NETWORK" class="hiddenlink" target="rightframe">EXTRA_NETWORK</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.EXTRA_NETWORK_REQUEST" class="hiddenlink" target="rightframe">EXTRA_NETWORK_REQUEST</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE" class="hiddenlink" target="rightframe">EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED" class="hiddenlink" target="rightframe">EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_REFERRER_NAME" class="hiddenlink" target="rightframe">EXTRA_REFERRER_NAME</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="#K"><font size="-2">K</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="#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.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.FLAG_LAYOUT_ATTACHED_IN_DECOR" class="hiddenlink" target="rightframe">FLAG_LAYOUT_ATTACHED_IN_DECOR</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="#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="#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.UserManager.html#android.os.UserManager.KEY_RESTRICTIONS_PENDING" class="hiddenlink" target="rightframe">KEY_RESTRICTIONS_PENDING</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="#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="#S"><font size="-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.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.LIFE_STYLE" class="hiddenlink" target="rightframe">LIFE_STYLE</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.LOLLIPOP_MR1" class="hiddenlink" target="rightframe">LOLLIPOP_MR1</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="#K"><font size="-2">K</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="#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.telephony.SmsManager.html#android.telephony.SmsManager.MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS" class="hiddenlink" target="rightframe">MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.MMS_ERROR_NO_DATA_NETWORK" class="hiddenlink" target="rightframe">MMS_ERROR_NO_DATA_NETWORK</A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.MUSIC" class="hiddenlink" target="rightframe">MUSIC</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="#K"><font size="-2">K</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="#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.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.PREMIER" class="hiddenlink" target="rightframe">PREMIER</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="#K"><font size="-2">K</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="#S"><font size="-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.hardware.camera2.CameraMetadata.html#android.hardware.camera2.CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE" class="hiddenlink" target="rightframe">REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.camera2.CameraMetadata.html#android.hardware.camera2.CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS" class="hiddenlink" target="rightframe">REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.resizeClip" class="hiddenlink" target="rightframe">resizeClip</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.revisionCode" class="hiddenlink" target="rightframe">revisionCode</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="#K"><font size="-2">K</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="#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.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.SCREEN_TIMEOUT_LONG" class="hiddenlink" target="rightframe">SCREEN_TIMEOUT_LONG</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.SCREEN_TIMEOUT_SHORT" class="hiddenlink" target="rightframe">SCREEN_TIMEOUT_SHORT</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.searchHintIcon" class="hiddenlink" target="rightframe">searchHintIcon</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageInfo.html#android.content.pm.PackageInfo.splitRevisionCodes" class="hiddenlink" target="rightframe">splitRevisionCodes</A>
+</nobr><br>
+<i>SUBSCRIPTION_ID</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Telephony.BaseMmsColumns.html#android.provider.Telephony.BaseMmsColumns.SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">android.provider.Telephony.BaseMmsColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Telephony.Carriers.html#android.provider.Telephony.Carriers.SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">android.provider.Telephony.Carriers</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Telephony.MmsSms.PendingMessages.html#android.provider.Telephony.MmsSms.PendingMessages.SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">android.provider.Telephony.MmsSms.PendingMessages</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Telephony.TextBasedSmsColumns.html#android.provider.Telephony.TextBasedSmsColumns.SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">android.provider.Telephony.TextBasedSmsColumns</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="#K"><font size="-2">K</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="#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.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.TECH_SCIENCE" class="hiddenlink" target="rightframe">TECH_SCIENCE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.TELEPHONY_SUBSCRIPTION_SERVICE" class="hiddenlink" target="rightframe">TELEPHONY_SUBSCRIPTION_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog_Alert" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog_Alert</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog_Alert" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog_Alert</A>
+</nobr><br>
+<i>TYPE_ACCESSIBILITY_OVERLAY</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY" class="hiddenlink" target="rightframe">android.view.WindowManager.LayoutParams</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.view.accessibility.AccessibilityWindowInfo.html#android.view.accessibility.AccessibilityWindowInfo.TYPE_ACCESSIBILITY_OVERLAY" class="hiddenlink" target="rightframe">android.view.accessibility.AccessibilityWindowInfo</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="#K"><font size="-2">K</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="#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.Intent.html#android.content.Intent.URI_ALLOW_UNSAFE" class="hiddenlink" target="rightframe">URI_ALLOW_UNSAFE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.URI_ANDROID_APP_SCHEME" class="hiddenlink" target="rightframe">URI_ANDROID_APP_SCHEME</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.USAGE_STATS_SERVICE" class="hiddenlink" target="rightframe">USAGE_STATS_SERVICE</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="#K"><font size="-2">K</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="#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.WIPE_RESET_PROTECTION_DATA" class="hiddenlink" target="rightframe">WIPE_RESET_PROTECTION_DATA</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/22/changes/fields_index_all.html b/docs/html/sdk/api_diff/22/changes/fields_index_all.html
new file mode 100644
index 0000000..1804e09
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/fields_index_all.html
@@ -0,0 +1,581 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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="#K"><font size="-2">K</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="#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="#Y"><font size="-2">Y</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.accessibilityTraversalAfter" class="hiddenlink" target="rightframe">accessibilityTraversalAfter</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityTraversalBefore" class="hiddenlink" target="rightframe">accessibilityTraversalBefore</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_BATTERY_SAVER_SETTINGS" class="hiddenlink" target="rightframe">ACTION_BATTERY_SAVER_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS" class="hiddenlink" target="rightframe">ACTION_NOTIFICATION_LISTENER_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.AM_PM" class="hiddenlink" target="rightframe"><strike>AM_PM</strike></A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.ARTS" class="hiddenlink" target="rightframe">ARTS</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="#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="#Y"><font size="-2">Y</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.PackageInfo.html#android.content.pm.PackageInfo.baseRevisionCode" class="hiddenlink" target="rightframe">baseRevisionCode</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_CARRIER_MESSAGING_SERVICE" class="hiddenlink" target="rightframe">BIND_CARRIER_MESSAGING_SERVICE</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="#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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.CAPITAL_AM_PM" class="hiddenlink" target="rightframe"><strike>CAPITAL_AM_PM</strike></A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.collapseContentDescription" class="hiddenlink" target="rightframe">collapseContentDescription</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.camera2.CameraMetadata.html#android.hardware.camera2.CameraMetadata.CONTROL_SCENE_MODE_HDR" class="hiddenlink" target="rightframe">CONTROL_SCENE_MODE_HDR</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="#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="#Y"><font size="-2">Y</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.DATA_NULL_EMPTY" class="hiddenlink" target="rightframe">DATA_NULL_EMPTY</A>
+</nobr><br>
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.DATA_NULL_UNDEFINED" class="hiddenlink" target="rightframe">DATA_NULL_UNDEFINED</A>
+</nobr><br>
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.DATE" class="hiddenlink" target="rightframe"><strike>DATE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.DAY" class="hiddenlink" target="rightframe"><strike>DAY</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.DEFAULT_FEATURES" class="hiddenlink" target="rightframe">DEFAULT_FEATURES</A>
+</nobr><br>
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_280" class="hiddenlink" target="rightframe">DENSITY_280</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.dialogPreferredPadding" class="hiddenlink" target="rightframe">dialogPreferredPadding</A>
+</nobr><br>
+<nobr><A HREF="android.os.UserManager.html#android.os.UserManager.DISALLOW_OUTGOING_BEAM" class="hiddenlink" target="rightframe">DISALLOW_OUTGOING_BEAM</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="#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="#Y"><font size="-2">Y</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.Genres.html#android.media.tv.TvContract.Programs.Genres.ENTERTAINMENT" class="hiddenlink" target="rightframe">ENTERTAINMENT</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHOSEN_COMPONENT" class="hiddenlink" target="rightframe">EXTRA_CHOSEN_COMPONENT</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHOSEN_COMPONENT_INTENT_SENDER" class="hiddenlink" target="rightframe">EXTRA_CHOSEN_COMPONENT_INTENT_SENDER</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.EXTRA_MMS_HTTP_STATUS" class="hiddenlink" target="rightframe">EXTRA_MMS_HTTP_STATUS</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.EXTRA_NETWORK" class="hiddenlink" target="rightframe">EXTRA_NETWORK</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.EXTRA_NETWORK_REQUEST" class="hiddenlink" target="rightframe">EXTRA_NETWORK_REQUEST</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE" class="hiddenlink" target="rightframe">EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED" class="hiddenlink" target="rightframe">EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_REFERRER_NAME" class="hiddenlink" target="rightframe">EXTRA_REFERRER_NAME</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="#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="#Y"><font size="-2">Y</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.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.FLAG_LAYOUT_ATTACHED_IN_DECOR" class="hiddenlink" target="rightframe">FLAG_LAYOUT_ATTACHED_IN_DECOR</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="#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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.HOUR" class="hiddenlink" target="rightframe"><strike>HOUR</strike></A>
+</nobr><br>
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.HOUR_OF_DAY" class="hiddenlink" target="rightframe"><strike>HOUR_OF_DAY</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="#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="#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="#Y"><font size="-2">Y</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.UserManager.html#android.os.UserManager.KEY_RESTRICTIONS_PENDING" class="hiddenlink" target="rightframe">KEY_RESTRICTIONS_PENDING</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="#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="#Y"><font size="-2">Y</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.Genres.html#android.media.tv.TvContract.Programs.Genres.LIFE_STYLE" class="hiddenlink" target="rightframe">LIFE_STYLE</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.LOLLIPOP_MR1" class="hiddenlink" target="rightframe">LOLLIPOP_MR1</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="#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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.MINUTE" class="hiddenlink" target="rightframe"><strike>MINUTE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS" class="hiddenlink" target="rightframe">MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.MMS_ERROR_NO_DATA_NETWORK" class="hiddenlink" target="rightframe">MMS_ERROR_NO_DATA_NETWORK</A>
+</nobr><br>
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.MONTH" class="hiddenlink" target="rightframe"><strike>MONTH</strike></A>
+</nobr><br>
+<nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html#android.media.tv.TvContract.Programs.Genres.MUSIC" class="hiddenlink" target="rightframe">MUSIC</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="#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="#Y"><font size="-2">Y</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.Genres.html#android.media.tv.TvContract.Programs.Genres.PREMIER" class="hiddenlink" target="rightframe">PREMIER</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="#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="#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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.QUOTE" class="hiddenlink" target="rightframe"><strike>QUOTE</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="#K"><font size="-2">K</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="#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="#W"><font size="-2">W</font></a> 
+<a href="#Y"><font size="-2">Y</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.camera2.CameraMetadata.html#android.hardware.camera2.CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE" class="hiddenlink" target="rightframe">REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.camera2.CameraMetadata.html#android.hardware.camera2.CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS" class="hiddenlink" target="rightframe">REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.resizeClip" class="hiddenlink" target="rightframe">resizeClip</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.revisionCode" class="hiddenlink" target="rightframe">revisionCode</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="#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="#W"><font size="-2">W</font></a> 
+<a href="#Y"><font size="-2">Y</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.WearableExtender.html#android.app.Notification.WearableExtender.SCREEN_TIMEOUT_LONG" class="hiddenlink" target="rightframe">SCREEN_TIMEOUT_LONG</A>
+</nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.SCREEN_TIMEOUT_SHORT" class="hiddenlink" target="rightframe">SCREEN_TIMEOUT_SHORT</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.searchHintIcon" class="hiddenlink" target="rightframe">searchHintIcon</A>
+</nobr><br>
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.SECONDS" class="hiddenlink" target="rightframe"><strike>SECONDS</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageInfo.html#android.content.pm.PackageInfo.splitRevisionCodes" class="hiddenlink" target="rightframe">splitRevisionCodes</A>
+</nobr><br>
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.STANDALONE_MONTH" class="hiddenlink" target="rightframe"><strike>STANDALONE_MONTH</strike></A>
+</nobr><br>
+<i>SUBSCRIPTION_ID</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Telephony.BaseMmsColumns.html#android.provider.Telephony.BaseMmsColumns.SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">android.provider.Telephony.BaseMmsColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Telephony.Carriers.html#android.provider.Telephony.Carriers.SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">android.provider.Telephony.Carriers</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Telephony.MmsSms.PendingMessages.html#android.provider.Telephony.MmsSms.PendingMessages.SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">android.provider.Telephony.MmsSms.PendingMessages</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Telephony.TextBasedSmsColumns.html#android.provider.Telephony.TextBasedSmsColumns.SUBSCRIPTION_ID" class="hiddenlink" target="rightframe">android.provider.Telephony.TextBasedSmsColumns</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="#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="#W"><font size="-2">W</font></a> 
+<a href="#Y"><font size="-2">Y</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.Genres.html#android.media.tv.TvContract.Programs.Genres.TECH_SCIENCE" class="hiddenlink" target="rightframe">TECH_SCIENCE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.TELEPHONY_SUBSCRIPTION_SERVICE" class="hiddenlink" target="rightframe">TELEPHONY_SUBSCRIPTION_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog_Alert" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog_Alert</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog_Alert" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog_Alert</A>
+</nobr><br>
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.TIME_ZONE" class="hiddenlink" target="rightframe"><strike>TIME_ZONE</strike></A>
+</nobr><br>
+<i>TYPE_ACCESSIBILITY_OVERLAY</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY" class="hiddenlink" target="rightframe">android.view.WindowManager.LayoutParams</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.view.accessibility.AccessibilityWindowInfo.html#android.view.accessibility.AccessibilityWindowInfo.TYPE_ACCESSIBILITY_OVERLAY" class="hiddenlink" target="rightframe">android.view.accessibility.AccessibilityWindowInfo</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="#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="#W"><font size="-2">W</font></a> 
+<a href="#Y"><font size="-2">Y</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.Intent.html#android.content.Intent.URI_ALLOW_UNSAFE" class="hiddenlink" target="rightframe">URI_ALLOW_UNSAFE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.URI_ANDROID_APP_SCHEME" class="hiddenlink" target="rightframe">URI_ANDROID_APP_SCHEME</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.USAGE_STATS_SERVICE" class="hiddenlink" target="rightframe">USAGE_STATS_SERVICE</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="#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="#Y"><font size="-2">Y</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.WIPE_RESET_PROTECTION_DATA" class="hiddenlink" target="rightframe">WIPE_RESET_PROTECTION_DATA</A>
+</nobr><br>
+<A NAME="Y"></A>
+<br><font size="+2">Y</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-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="#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.text.format.DateFormat.html#android.text.format.DateFormat.YEAR" class="hiddenlink" target="rightframe"><strike>YEAR</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/22/changes/fields_index_changes.html b/docs/html/sdk/api_diff/22/changes/fields_index_changes.html
new file mode 100644
index 0000000..fd53156
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/fields_index_changes.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>
+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="D"></A>
+<br><font size="+2">D</font>&nbsp;
+ <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.DEFAULT_FEATURES" class="hiddenlink" target="rightframe">DEFAULT_FEATURES</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/22/changes/fields_index_removals.html b/docs/html/sdk/api_diff/22/changes/fields_index_removals.html
new file mode 100644
index 0000000..acd0648
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/fields_index_removals.html
@@ -0,0 +1,195 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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="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="#H"><font size="-2">H</font></a> 
+<a href="#M"><font size="-2">M</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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.AM_PM" class="hiddenlink" target="rightframe"><strike>AM_PM</strike></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="#H"><font size="-2">H</font></a> 
+<a href="#M"><font size="-2">M</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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.CAPITAL_AM_PM" class="hiddenlink" target="rightframe"><strike>CAPITAL_AM_PM</strike></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="#H"><font size="-2">H</font></a> 
+<a href="#M"><font size="-2">M</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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.DATE" class="hiddenlink" target="rightframe"><strike>DATE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.DAY" class="hiddenlink" target="rightframe"><strike>DAY</strike></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="#M"><font size="-2">M</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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.HOUR" class="hiddenlink" target="rightframe"><strike>HOUR</strike></A>
+</nobr><br>
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.HOUR_OF_DAY" class="hiddenlink" target="rightframe"><strike>HOUR_OF_DAY</strike></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="#H"><font size="-2">H</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="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.MINUTE" class="hiddenlink" target="rightframe"><strike>MINUTE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.MONTH" class="hiddenlink" target="rightframe"><strike>MONTH</strike></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="#H"><font size="-2">H</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.QUOTE" class="hiddenlink" target="rightframe"><strike>QUOTE</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="#H"><font size="-2">H</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.SECONDS" class="hiddenlink" target="rightframe"><strike>SECONDS</strike></A>
+</nobr><br>
+<nobr><A HREF="android.text.format.DateFormat.html#android.text.format.DateFormat.STANDALONE_MONTH" class="hiddenlink" target="rightframe"><strike>STANDALONE_MONTH</strike></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="#H"><font size="-2">H</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#Y"><font size="-2">Y</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.format.DateFormat.html#android.text.format.DateFormat.TIME_ZONE" class="hiddenlink" target="rightframe"><strike>TIME_ZONE</strike></A>
+</nobr><br>
+<A NAME="Y"></A>
+<br><font size="+2">Y</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="#H"><font size="-2">H</font></a> 
+<a href="#M"><font size="-2">M</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.text.format.DateFormat.html#android.text.format.DateFormat.YEAR" class="hiddenlink" target="rightframe"><strike>YEAR</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/22/changes/jdiff_help.html b/docs/html/sdk/api_diff/22/changes/jdiff_help.html
new file mode 100644
index 0000000..680bba0
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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>22</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/22/changes/jdiff_statistics.html b/docs/html/sdk/api_diff/22/changes/jdiff_statistics.html
new file mode 100644
index 0000000..700b2db
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/jdiff_statistics.html
@@ -0,0 +1,2624 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- 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 21 and 22 is approximately <span style="color:222;font-weight:bold;">3.28%</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">1</TD>
+  <TD ALIGN="right">59</TD>
+  <TD ALIGN="right">0</TD>
+  <TD ALIGN="right">60</TD>
+</TR>
+<TR>
+  <TD>Classes and <i>Interfaces</i></TD>
+  <TD ALIGN="right">4</TD>
+  <TD ALIGN="right">439</TD>
+  <TD ALIGN="right">0</TD>
+  <TD ALIGN="right">443</TD>
+</TR>
+<TR>
+  <TD>Constructors</TD>
+  <TD ALIGN="right">7</TD>
+  <TD ALIGN="right">0</TD>
+  <TD ALIGN="right">0</TD>
+  <TD ALIGN="right">7</TD>
+</TR>
+<TR>
+  <TD>Methods</TD>
+  <TD ALIGN="right">73</TD>
+  <TD ALIGN="right">128</TD>
+  <TD ALIGN="right">3</TD>
+  <TD ALIGN="right">204</TD>
+</TR>
+<TR>
+  <TD>Fields</TD>
+  <TD ALIGN="right">53</TD>
+  <TD ALIGN="right">1</TD>
+  <TD ALIGN="right">13</TD>
+  <TD ALIGN="right">67</TD>
+</TR>
+<TR>
+  <TD style="background-color:#FAFAFA"><b>Total</b></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>138</strong></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>627</strong></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>16</strong></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>781</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">33</TD>
+  <TD><A HREF="pkg_org.apache.http.auth.params.html">org.apache.http.auth.params</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">27</TD>
+  <TD><A HREF="pkg_org.apache.http.io.html">org.apache.http.io</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">26</TD>
+  <TD><A HREF="pkg_org.apache.http.client.html">org.apache.http.client</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="pkg_org.apache.http.client.entity.html">org.apache.http.client.entity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">23</TD>
+  <TD><A HREF="pkg_org.apache.http.client.params.html">org.apache.http.client.params</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">23</TD>
+  <TD><A HREF="pkg_org.apache.http.protocol.html">org.apache.http.protocol</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">22</TD>
+  <TD><A HREF="pkg_org.apache.http.conn.scheme.html">org.apache.http.conn.scheme</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">22</TD>
+  <TD><A HREF="pkg_org.apache.http.client.utils.html">org.apache.http.client.utils</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">21</TD>
+  <TD><A HREF="pkg_org.apache.http.html">org.apache.http</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="pkg_org.apache.http.cookie.params.html">org.apache.http.cookie.params</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="pkg_org.apache.http.impl.entity.html">org.apache.http.impl.entity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="pkg_org.apache.http.conn.params.html">org.apache.http.conn.params</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">19</TD>
+  <TD><A HREF="pkg_org.apache.http.impl.io.html">org.apache.http.impl.io</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">19</TD>
+  <TD><A HREF="pkg_org.apache.http.client.protocol.html">org.apache.http.client.protocol</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">19</TD>
+  <TD><A HREF="pkg_org.apache.http.conn.html">org.apache.http.conn</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">17</TD>
+  <TD><A HREF="pkg_org.apache.http.impl.cookie.html">org.apache.http.impl.cookie</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="pkg_org.apache.http.cookie.html">org.apache.http.cookie</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="pkg_org.apache.http.auth.html">org.apache.http.auth</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="pkg_org.apache.http.impl.auth.html">org.apache.http.impl.auth</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="pkg_org.apache.http.impl.conn.tsccm.html">org.apache.http.impl.conn.tsccm</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="pkg_org.apache.http.entity.html">org.apache.http.entity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="pkg_org.apache.http.impl.client.html">org.apache.http.impl.client</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="pkg_org.apache.http.conn.util.html">org.apache.http.conn.util</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="pkg_org.apache.http.util.html">org.apache.http.util</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="pkg_org.apache.http.impl.html">org.apache.http.impl</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="pkg_org.apache.http.conn.ssl.html">org.apache.http.conn.ssl</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="pkg_org.apache.http.client.methods.html">org.apache.http.client.methods</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="pkg_org.apache.http.conn.routing.html">org.apache.http.conn.routing</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="pkg_android.text.format.html">android.text.format</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="pkg_org.apache.http.params.html">org.apache.http.params</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="pkg_android.view.animation.html">android.view.animation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="pkg_org.apache.http.message.html">org.apache.http.message</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="pkg_org.apache.http.impl.conn.html">org.apache.http.impl.conn</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="pkg_android.webkit.html">android.webkit</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="pkg_android.telephony.html">android.telephony</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="pkg_org.apache.commons.logging.html">org.apache.commons.logging</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.net.http.html">android.net.http</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">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.net.html">android.net</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.media.session.html">android.media.session</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_android.app.html">android.app</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.transition.html">android.transition</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_android.os.html">android.os</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.accounts.html">android.accounts</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.util.html">android.util</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.content.pm.html">android.content.pm</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.widget.html">android.widget</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.graphics.html">android.graphics</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.html">android</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_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">60</TD>
+  <TD><A HREF="android.webkit.WebBackForwardList.html">
+android.webkit.WebBackForwardList</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">60</TD>
+  <TD><A HREF="android.webkit.WebHistoryItem.html">
+android.webkit.WebHistoryItem</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.ConnectionClosedException.html">
+org.apache.http.ConnectionClosedException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.ConnectionReuseStrategy.html">
+<i>org.apache.http.ConnectionReuseStrategy</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.HttpRequest.html">
+<i>org.apache.http.HttpRequest</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.HttpRequestInterceptor.html">
+<i>org.apache.http.HttpRequestInterceptor</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.HttpResponseInterceptor.html">
+<i>org.apache.http.HttpResponseInterceptor</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.NoHttpResponseException.html">
+org.apache.http.NoHttpResponseException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.ReasonPhraseCatalog.html">
+<i>org.apache.http.ReasonPhraseCatalog</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.auth.AuthSchemeFactory.html">
+<i>org.apache.http.auth.AuthSchemeFactory</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.auth.params.AuthPNames.html">
+<i>org.apache.http.auth.params.AuthPNames</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.client.HttpRequestRetryHandler.html">
+<i>org.apache.http.client.HttpRequestRetryHandler</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.client.RequestDirector.html">
+<i>org.apache.http.client.RequestDirector</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.client.ResponseHandler.html">
+<i>org.apache.http.client.ResponseHandler</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.client.UserTokenHandler.html">
+<i>org.apache.http.client.UserTokenHandler</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.client.utils.CloneUtils.html">
+org.apache.http.client.utils.CloneUtils</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.conn.ClientConnectionManagerFactory.html">
+<i>org.apache.http.conn.ClientConnectionManagerFactory</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.conn.ConnectionKeepAliveStrategy.html">
+<i>org.apache.http.conn.ConnectionKeepAliveStrategy</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.conn.params.ConnConnectionPNames.html">
+<i>org.apache.http.conn.params.ConnConnectionPNames</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.conn.params.ConnPerRoute.html">
+<i>org.apache.http.conn.params.ConnPerRoute</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.conn.routing.HttpRoutePlanner.html">
+<i>org.apache.http.conn.routing.HttpRoutePlanner</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.conn.scheme.HostNameResolver.html">
+<i>org.apache.http.conn.scheme.HostNameResolver</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.conn.scheme.LayeredSocketFactory.html">
+<i>org.apache.http.conn.scheme.LayeredSocketFactory</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.cookie.CookieSpecFactory.html">
+<i>org.apache.http.cookie.CookieSpecFactory</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.entity.BufferedHttpEntity.html">
+org.apache.http.entity.BufferedHttpEntity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.entity.ContentProducer.html">
+<i>org.apache.http.entity.ContentProducer</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.impl.conn.tsccm.RefQueueHandler.html">
+<i>org.apache.http.impl.conn.tsccm.RefQueueHandler</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.NetscapeDomainHandler.html">
+org.apache.http.impl.cookie.NetscapeDomainHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.impl.io.SocketOutputBuffer.html">
+org.apache.http.impl.io.SocketOutputBuffer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.io.HttpMessageParser.html">
+<i>org.apache.http.io.HttpMessageParser</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.io.HttpMessageWriter.html">
+<i>org.apache.http.io.HttpMessageWriter</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.protocol.HttpExpectationVerifier.html">
+<i>org.apache.http.protocol.HttpExpectationVerifier</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.protocol.HttpRequestHandler.html">
+<i>org.apache.http.protocol.HttpRequestHandler</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.protocol.HttpRequestHandlerResolver.html">
+<i>org.apache.http.protocol.HttpRequestHandlerResolver</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.protocol.SyncBasicHttpContext.html">
+org.apache.http.protocol.SyncBasicHttpContext</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="org.apache.http.util.ExceptionUtils.html">
+org.apache.http.util.ExceptionUtils</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">48</TD>
+  <TD><A HREF="android.webkit.CookieManager.html">
+android.webkit.CookieManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">46</TD>
+  <TD><A HREF="android.webkit.WebIconDatabase.html">
+android.webkit.WebIconDatabase</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">46</TD>
+  <TD><A HREF="android.webkit.WebViewDatabase.html">
+android.webkit.WebViewDatabase</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">41</TD>
+  <TD><A HREF="android.webkit.WebSettings.html">
+android.webkit.WebSettings</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">37</TD>
+  <TD><A HREF="android.text.format.DateFormat.html">
+android.text.format.DateFormat</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="android.app.Notification.Action.WearableExtender.html">
+android.app.Notification.Action.WearableExtender</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.FormattedHeader.html">
+<i>org.apache.http.FormattedHeader</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.HeaderElementIterator.html">
+<i>org.apache.http.HeaderElementIterator</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.HeaderIterator.html">
+<i>org.apache.http.HeaderIterator</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.HttpRequestFactory.html">
+<i>org.apache.http.HttpRequestFactory</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.HttpResponseFactory.html">
+<i>org.apache.http.HttpResponseFactory</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.MalformedChunkCodingException.html">
+org.apache.http.MalformedChunkCodingException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.MethodNotSupportedException.html">
+org.apache.http.MethodNotSupportedException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.NameValuePair.html">
+<i>org.apache.http.NameValuePair</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.ParseException.html">
+org.apache.http.ParseException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.TokenIterator.html">
+<i>org.apache.http.TokenIterator</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.UnsupportedHttpVersionException.html">
+org.apache.http.UnsupportedHttpVersionException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.auth.BasicUserPrincipal.html">
+org.apache.http.auth.BasicUserPrincipal</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.auth.Credentials.html">
+<i>org.apache.http.auth.Credentials</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.auth.params.AuthParamBean.html">
+org.apache.http.auth.params.AuthParamBean</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.auth.params.AuthParams.html">
+org.apache.http.auth.params.AuthParams</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.client.HttpResponseException.html">
+org.apache.http.client.HttpResponseException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.client.NonRepeatableRequestException.html">
+org.apache.http.client.NonRepeatableRequestException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.client.RedirectHandler.html">
+<i>org.apache.http.client.RedirectHandler</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.client.entity.UrlEncodedFormEntity.html">
+org.apache.http.client.entity.UrlEncodedFormEntity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.client.protocol.RequestAddCookies.html">
+org.apache.http.client.protocol.RequestAddCookies</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.client.protocol.RequestDefaultHeaders.html">
+org.apache.http.client.protocol.RequestDefaultHeaders</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.client.protocol.RequestProxyAuthentication.html">
+org.apache.http.client.protocol.RequestProxyAuthentication</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.client.protocol.RequestTargetAuthentication.html">
+org.apache.http.client.protocol.RequestTargetAuthentication</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.client.protocol.ResponseProcessCookies.html">
+org.apache.http.client.protocol.ResponseProcessCookies</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.conn.ClientConnectionRequest.html">
+<i>org.apache.http.conn.ClientConnectionRequest</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.conn.ConnectTimeoutException.html">
+org.apache.http.conn.ConnectTimeoutException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.conn.ConnectionPoolTimeoutException.html">
+org.apache.http.conn.ConnectionPoolTimeoutException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.conn.ConnectionReleaseTrigger.html">
+<i>org.apache.http.conn.ConnectionReleaseTrigger</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.conn.HttpHostConnectException.html">
+org.apache.http.conn.HttpHostConnectException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.conn.params.ConnConnectionParamBean.html">
+org.apache.http.conn.params.ConnConnectionParamBean</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.cookie.CookieIdentityComparator.html">
+org.apache.http.cookie.CookieIdentityComparator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.cookie.CookiePathComparator.html">
+org.apache.http.cookie.CookiePathComparator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.cookie.params.CookieSpecPNames.html">
+<i>org.apache.http.cookie.params.CookieSpecPNames</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.DefaultHttpClientConnection.html">
+org.apache.http.impl.DefaultHttpClientConnection</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.DefaultHttpServerConnection.html">
+org.apache.http.impl.DefaultHttpServerConnection</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.NoConnectionReuseStrategy.html">
+org.apache.http.impl.NoConnectionReuseStrategy</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.auth.BasicSchemeFactory.html">
+org.apache.http.impl.auth.BasicSchemeFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.auth.DigestSchemeFactory.html">
+org.apache.http.impl.auth.DigestSchemeFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.auth.NTLMEngine.html">
+<i>org.apache.http.impl.auth.NTLMEngine</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.client.BasicResponseHandler.html">
+org.apache.http.impl.client.BasicResponseHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy.html">
+org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.client.DefaultUserTokenHandler.html">
+org.apache.http.impl.client.DefaultUserTokenHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.client.TunnelRefusedException.html">
+org.apache.http.impl.client.TunnelRefusedException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.conn.DefaultResponseParser.html">
+org.apache.http.impl.conn.DefaultResponseParser</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.conn.tsccm.BasicPoolEntryRef.html">
+org.apache.http.impl.conn.tsccm.BasicPoolEntryRef</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.conn.tsccm.BasicPooledConnAdapter.html">
+org.apache.http.impl.conn.tsccm.BasicPooledConnAdapter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.conn.tsccm.PoolEntryRequest.html">
+<i>org.apache.http.impl.conn.tsccm.PoolEntryRequest</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.BasicCommentHandler.html">
+org.apache.http.impl.cookie.BasicCommentHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.BasicExpiresHandler.html">
+org.apache.http.impl.cookie.BasicExpiresHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.BasicMaxAgeHandler.html">
+org.apache.http.impl.cookie.BasicMaxAgeHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.BasicSecureHandler.html">
+org.apache.http.impl.cookie.BasicSecureHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.BestMatchSpecFactory.html">
+org.apache.http.impl.cookie.BestMatchSpecFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.BrowserCompatSpecFactory.html">
+org.apache.http.impl.cookie.BrowserCompatSpecFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.DateParseException.html">
+org.apache.http.impl.cookie.DateParseException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.NetscapeDraftSpecFactory.html">
+org.apache.http.impl.cookie.NetscapeDraftSpecFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.RFC2109SpecFactory.html">
+org.apache.http.impl.cookie.RFC2109SpecFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.RFC2109VersionHandler.html">
+org.apache.http.impl.cookie.RFC2109VersionHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.RFC2965Spec.html">
+org.apache.http.impl.cookie.RFC2965Spec</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.RFC2965SpecFactory.html">
+org.apache.http.impl.cookie.RFC2965SpecFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.entity.LaxContentLengthStrategy.html">
+org.apache.http.impl.entity.LaxContentLengthStrategy</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.entity.StrictContentLengthStrategy.html">
+org.apache.http.impl.entity.StrictContentLengthStrategy</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.io.ContentLengthInputStream.html">
+org.apache.http.impl.io.ContentLengthInputStream</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.io.ContentLengthOutputStream.html">
+org.apache.http.impl.io.ContentLengthOutputStream</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.io.HttpRequestParser.html">
+org.apache.http.impl.io.HttpRequestParser</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.io.HttpRequestWriter.html">
+org.apache.http.impl.io.HttpRequestWriter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.io.HttpResponseParser.html">
+org.apache.http.impl.io.HttpResponseParser</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.io.HttpResponseWriter.html">
+org.apache.http.impl.io.HttpResponseWriter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.io.IdentityInputStream.html">
+org.apache.http.impl.io.IdentityInputStream</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.io.IdentityOutputStream.html">
+org.apache.http.impl.io.IdentityOutputStream</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.impl.io.SocketInputBuffer.html">
+org.apache.http.impl.io.SocketInputBuffer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.io.HttpTransportMetrics.html">
+<i>org.apache.http.io.HttpTransportMetrics</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.params.HttpAbstractParamBean.html">
+org.apache.http.params.HttpAbstractParamBean</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.protocol.RequestConnControl.html">
+org.apache.http.protocol.RequestConnControl</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.protocol.RequestContent.html">
+org.apache.http.protocol.RequestContent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.protocol.RequestDate.html">
+org.apache.http.protocol.RequestDate</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.protocol.RequestExpectContinue.html">
+org.apache.http.protocol.RequestExpectContinue</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.protocol.RequestTargetHost.html">
+org.apache.http.protocol.RequestTargetHost</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.protocol.RequestUserAgent.html">
+org.apache.http.protocol.RequestUserAgent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.protocol.ResponseConnControl.html">
+org.apache.http.protocol.ResponseConnControl</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.protocol.ResponseContent.html">
+org.apache.http.protocol.ResponseContent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.protocol.ResponseDate.html">
+org.apache.http.protocol.ResponseDate</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="org.apache.http.protocol.ResponseServer.html">
+org.apache.http.protocol.ResponseServer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">18</TD>
+  <TD><A HREF="android.media.tv.TvContract.Programs.Genres.html">
+android.media.tv.TvContract.Programs.Genres</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="android.view.animation.AccelerateDecelerateInterpolator.html">
+android.view.animation.AccelerateDecelerateInterpolator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="android.view.animation.BounceInterpolator.html">
+android.view.animation.BounceInterpolator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="android.view.animation.CycleInterpolator.html">
+android.view.animation.CycleInterpolator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="android.view.animation.LinearInterpolator.html">
+android.view.animation.LinearInterpolator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.Header.html">
+<i>org.apache.http.Header</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.HttpEntityEnclosingRequest.html">
+<i>org.apache.http.HttpEntityEnclosingRequest</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.HttpException.html">
+org.apache.http.HttpException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.ProtocolException.html">
+org.apache.http.ProtocolException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.RequestLine.html">
+<i>org.apache.http.RequestLine</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.StatusLine.html">
+<i>org.apache.http.StatusLine</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.auth.AuthenticationException.html">
+org.apache.http.auth.AuthenticationException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.auth.InvalidCredentialsException.html">
+org.apache.http.auth.InvalidCredentialsException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.auth.MalformedChallengeException.html">
+org.apache.http.auth.MalformedChallengeException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.client.AuthenticationHandler.html">
+<i>org.apache.http.client.AuthenticationHandler</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.client.CircularRedirectException.html">
+org.apache.http.client.CircularRedirectException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.client.CredentialsProvider.html">
+<i>org.apache.http.client.CredentialsProvider</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.client.RedirectException.html">
+org.apache.http.client.RedirectException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.client.methods.AbortableHttpRequest.html">
+<i>org.apache.http.client.methods.AbortableHttpRequest</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.client.params.AuthPolicy.html">
+org.apache.http.client.params.AuthPolicy</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.conn.ClientConnectionOperator.html">
+<i>org.apache.http.conn.ClientConnectionOperator</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.conn.EofSensorWatcher.html">
+<i>org.apache.http.conn.EofSensorWatcher</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.conn.params.ConnManagerPNames.html">
+<i>org.apache.http.conn.params.ConnManagerPNames</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.conn.params.ConnRoutePNames.html">
+<i>org.apache.http.conn.params.ConnRoutePNames</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.conn.scheme.SocketFactory.html">
+<i>org.apache.http.conn.scheme.SocketFactory</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.conn.ssl.AllowAllHostnameVerifier.html">
+org.apache.http.conn.ssl.AllowAllHostnameVerifier</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.html">
+org.apache.http.conn.ssl.BrowserCompatHostnameVerifier</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.conn.ssl.StrictHostnameVerifier.html">
+org.apache.http.conn.ssl.StrictHostnameVerifier</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.cookie.CookieAttributeHandler.html">
+<i>org.apache.http.cookie.CookieAttributeHandler</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.cookie.MalformedCookieException.html">
+org.apache.http.cookie.MalformedCookieException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.cookie.SetCookie2.html">
+<i>org.apache.http.cookie.SetCookie2</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.cookie.params.CookieSpecParamBean.html">
+org.apache.http.cookie.params.CookieSpecParamBean</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.entity.ContentLengthStrategy.html">
+<i>org.apache.http.entity.ContentLengthStrategy</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.impl.DefaultConnectionReuseStrategy.html">
+org.apache.http.impl.DefaultConnectionReuseStrategy</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.impl.DefaultHttpRequestFactory.html">
+org.apache.http.impl.DefaultHttpRequestFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.impl.EnglishReasonPhraseCatalog.html">
+org.apache.http.impl.EnglishReasonPhraseCatalog</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.impl.auth.NTLMEngineException.html">
+org.apache.http.impl.auth.NTLMEngineException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.impl.auth.UnsupportedDigestAlgorithmException.html">
+org.apache.http.impl.auth.UnsupportedDigestAlgorithmException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.impl.client.DefaultProxyAuthenticationHandler.html">
+org.apache.http.impl.client.DefaultProxyAuthenticationHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.impl.client.DefaultRedirectHandler.html">
+org.apache.http.impl.client.DefaultRedirectHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.impl.client.DefaultTargetAuthenticationHandler.html">
+org.apache.http.impl.client.DefaultTargetAuthenticationHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.impl.conn.DefaultHttpRoutePlanner.html">
+org.apache.http.impl.conn.DefaultHttpRoutePlanner</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.impl.conn.tsccm.WaitingThreadAborter.html">
+org.apache.http.impl.conn.tsccm.WaitingThreadAborter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.AbstractCookieAttributeHandler.html">
+org.apache.http.impl.cookie.AbstractCookieAttributeHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.NetscapeDraftHeaderParser.html">
+org.apache.http.impl.cookie.NetscapeDraftHeaderParser</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.impl.entity.EntityDeserializer.html">
+org.apache.http.impl.entity.EntityDeserializer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.impl.entity.EntitySerializer.html">
+org.apache.http.impl.entity.EntitySerializer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.apache.http.impl.io.ChunkedInputStream.html">
+org.apache.http.impl.io.ChunkedInputStream</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.animation.StateListAnimator.html">
+android.animation.StateListAnimator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="android.view.animation.AccelerateInterpolator.html">
+android.view.animation.AccelerateInterpolator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="android.view.animation.AnticipateInterpolator.html">
+android.view.animation.AnticipateInterpolator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="android.view.animation.DecelerateInterpolator.html">
+android.view.animation.DecelerateInterpolator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="android.view.animation.OvershootInterpolator.html">
+android.view.animation.OvershootInterpolator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.HttpInetConnection.html">
+<i>org.apache.http.HttpInetConnection</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.auth.AUTH.html">
+org.apache.http.auth.AUTH</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.auth.NTUserPrincipal.html">
+org.apache.http.auth.NTUserPrincipal</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.client.ClientProtocolException.html">
+org.apache.http.client.ClientProtocolException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.client.CookieStore.html">
+<i>org.apache.http.client.CookieStore</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.client.methods.HttpEntityEnclosingRequestBase.html">
+org.apache.http.client.methods.HttpEntityEnclosingRequestBase</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.client.methods.HttpUriRequest.html">
+<i>org.apache.http.client.methods.HttpUriRequest</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.conn.MultihomePlainSocketFactory.html">
+org.apache.http.conn.MultihomePlainSocketFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.conn.params.ConnManagerParamBean.html">
+org.apache.http.conn.params.ConnManagerParamBean</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.conn.params.ConnRouteParamBean.html">
+org.apache.http.conn.params.ConnRouteParamBean</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.conn.ssl.X509HostnameVerifier.html">
+<i>org.apache.http.conn.ssl.X509HostnameVerifier</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.conn.util.InetAddressUtils.html">
+org.apache.http.conn.util.InetAddressUtils</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.cookie.SM.html">
+<i>org.apache.http.cookie.SM</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.impl.auth.AuthSchemeBase.html">
+org.apache.http.impl.auth.AuthSchemeBase</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.impl.client.AbstractAuthenticationHandler.html">
+org.apache.http.impl.client.AbstractAuthenticationHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.impl.client.BasicCredentialsProvider.html">
+org.apache.http.impl.client.BasicCredentialsProvider</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.impl.client.EntityEnclosingRequestWrapper.html">
+org.apache.http.impl.client.EntityEnclosingRequestWrapper</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.impl.client.RedirectLocations.html">
+org.apache.http.impl.client.RedirectLocations</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.impl.conn.tsccm.BasicPoolEntry.html">
+org.apache.http.impl.conn.tsccm.BasicPoolEntry</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.BasicClientCookie2.html">
+org.apache.http.impl.cookie.BasicClientCookie2</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.BasicDomainHandler.html">
+org.apache.http.impl.cookie.BasicDomainHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.BasicPathHandler.html">
+org.apache.http.impl.cookie.BasicPathHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.RFC2109DomainHandler.html">
+org.apache.http.impl.cookie.RFC2109DomainHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.RFC2965CommentUrlAttributeHandler.html">
+org.apache.http.impl.cookie.RFC2965CommentUrlAttributeHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.RFC2965DiscardAttributeHandler.html">
+org.apache.http.impl.cookie.RFC2965DiscardAttributeHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.RFC2965PortAttributeHandler.html">
+org.apache.http.impl.cookie.RFC2965PortAttributeHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.RFC2965VersionAttributeHandler.html">
+org.apache.http.impl.cookie.RFC2965VersionAttributeHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.message.BasicNameValuePair.html">
+org.apache.http.message.BasicNameValuePair</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.message.HeaderValueFormatter.html">
+<i>org.apache.http.message.HeaderValueFormatter</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.message.HeaderValueParser.html">
+<i>org.apache.http.message.HeaderValueParser</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.message.LineFormatter.html">
+<i>org.apache.http.message.LineFormatter</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.protocol.HttpContext.html">
+<i>org.apache.http.protocol.HttpContext</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.protocol.HttpDateGenerator.html">
+org.apache.http.protocol.HttpDateGenerator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="org.apache.http.util.EntityUtils.html">
+org.apache.http.util.EntityUtils</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.view.animation.AnticipateOvershootInterpolator.html">
+android.view.animation.AnticipateOvershootInterpolator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.view.animation.PathInterpolator.html">
+android.view.animation.PathInterpolator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.HttpServerConnection.html">
+<i>org.apache.http.HttpServerConnection</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.HttpVersion.html">
+org.apache.http.HttpVersion</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.auth.UsernamePasswordCredentials.html">
+org.apache.http.auth.UsernamePasswordCredentials</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.client.methods.HttpDelete.html">
+org.apache.http.client.methods.HttpDelete</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.client.methods.HttpGet.html">
+org.apache.http.client.methods.HttpGet</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.client.methods.HttpHead.html">
+org.apache.http.client.methods.HttpHead</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.client.methods.HttpPost.html">
+org.apache.http.client.methods.HttpPost</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.client.methods.HttpPut.html">
+org.apache.http.client.methods.HttpPut</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.client.methods.HttpTrace.html">
+org.apache.http.client.methods.HttpTrace</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.client.params.CookiePolicy.html">
+org.apache.http.client.params.CookiePolicy</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.client.utils.URIUtils.html">
+org.apache.http.client.utils.URIUtils</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.conn.routing.BasicRouteDirector.html">
+org.apache.http.conn.routing.BasicRouteDirector</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.cookie.CookieOrigin.html">
+org.apache.http.cookie.CookieOrigin</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.impl.auth.RFC2617Scheme.html">
+org.apache.http.impl.auth.RFC2617Scheme</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.impl.client.DefaultHttpRequestRetryHandler.html">
+org.apache.http.impl.client.DefaultHttpRequestRetryHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.impl.client.RoutedRequest.html">
+org.apache.http.impl.client.RoutedRequest</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.AbstractCookieSpec.html">
+org.apache.http.impl.cookie.AbstractCookieSpec</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.RFC2965DomainAttributeHandler.html">
+org.apache.http.impl.cookie.RFC2965DomainAttributeHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.impl.io.AbstractMessageParser.html">
+org.apache.http.impl.io.AbstractMessageParser</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.impl.io.HttpTransportMetricsImpl.html">
+org.apache.http.impl.io.HttpTransportMetricsImpl</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.message.BasicHeader.html">
+org.apache.http.message.BasicHeader</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.message.BasicHttpRequest.html">
+org.apache.http.message.BasicHttpRequest</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.message.BasicRequestLine.html">
+org.apache.http.message.BasicRequestLine</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.message.BasicStatusLine.html">
+org.apache.http.message.BasicStatusLine</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.message.LineParser.html">
+<i>org.apache.http.message.LineParser</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.protocol.BasicHttpContext.html">
+org.apache.http.protocol.BasicHttpContext</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="org.apache.http.protocol.DefaultedHttpContext.html">
+org.apache.http.protocol.DefaultedHttpContext</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.net.http.AndroidHttpClient.html">
+android.net.http.AndroidHttpClient</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.HeaderElement.html">
+<i>org.apache.http.HeaderElement</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.HttpClientConnection.html">
+<i>org.apache.http.HttpClientConnection</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.HttpConnectionMetrics.html">
+<i>org.apache.http.HttpConnectionMetrics</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.auth.AuthSchemeRegistry.html">
+org.apache.http.auth.AuthSchemeRegistry</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.client.methods.HttpOptions.html">
+org.apache.http.client.methods.HttpOptions</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.client.params.HttpClientParams.html">
+org.apache.http.client.params.HttpClientParams</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.client.protocol.ClientContextConfigurer.html">
+org.apache.http.client.protocol.ClientContextConfigurer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.conn.BasicEofSensorWatcher.html">
+org.apache.http.conn.BasicEofSensorWatcher</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.conn.ClientConnectionManager.html">
+<i>org.apache.http.conn.ClientConnectionManager</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.conn.OperatedClientConnection.html">
+<i>org.apache.http.conn.OperatedClientConnection</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.conn.scheme.PlainSocketFactory.html">
+org.apache.http.conn.scheme.PlainSocketFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.cookie.CookieSpec.html">
+<i>org.apache.http.cookie.CookieSpec</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.entity.EntityTemplate.html">
+org.apache.http.entity.EntityTemplate</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.entity.InputStreamEntity.html">
+org.apache.http.entity.InputStreamEntity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.entity.SerializableEntity.html">
+org.apache.http.entity.SerializableEntity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.impl.DefaultHttpResponseFactory.html">
+org.apache.http.impl.DefaultHttpResponseFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.impl.auth.BasicScheme.html">
+org.apache.http.impl.auth.BasicScheme</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.impl.client.BasicCookieStore.html">
+org.apache.http.impl.client.BasicCookieStore</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.impl.conn.DefaultClientConnectionOperator.html">
+org.apache.http.impl.conn.DefaultClientConnectionOperator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.impl.conn.IdleConnectionHandler.html">
+org.apache.http.impl.conn.IdleConnectionHandler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.impl.conn.tsccm.RefQueueWorker.html">
+org.apache.http.impl.conn.tsccm.RefQueueWorker</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.CookieSpecBase.html">
+org.apache.http.impl.cookie.CookieSpecBase</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.impl.io.AbstractMessageWriter.html">
+org.apache.http.impl.io.AbstractMessageWriter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.message.BasicHeaderElementIterator.html">
+org.apache.http.message.BasicHeaderElementIterator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.message.BasicHttpEntityEnclosingRequest.html">
+org.apache.http.message.BasicHttpEntityEnclosingRequest</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.message.ParserCursor.html">
+org.apache.http.message.ParserCursor</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.params.DefaultedHttpParams.html">
+org.apache.http.params.DefaultedHttpParams</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.params.HttpProtocolParamBean.html">
+org.apache.http.params.HttpProtocolParamBean</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.protocol.ExecutionContext.html">
+<i>org.apache.http.protocol.ExecutionContext</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.protocol.HttpRequestHandlerRegistry.html">
+org.apache.http.protocol.HttpRequestHandlerRegistry</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.protocol.UriPatternMatcher.html">
+org.apache.http.protocol.UriPatternMatcher</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="org.apache.http.util.EncodingUtils.html">
+org.apache.http.util.EncodingUtils</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.os.BaseBundle.html">
+android.os.BaseBundle</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.app.KeyguardManager.html">
+android.app.KeyguardManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.transition.ChangeBounds.html">
+android.transition.ChangeBounds</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.HttpConnection.html">
+<i>org.apache.http.HttpConnection</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.auth.AuthScheme.html">
+<i>org.apache.http.auth.AuthScheme</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.auth.NTCredentials.html">
+org.apache.http.auth.NTCredentials</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.client.utils.URLEncodedUtils.html">
+org.apache.http.client.utils.URLEncodedUtils</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.cookie.CookieSpecRegistry.html">
+org.apache.http.cookie.CookieSpecRegistry</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.cookie.SetCookie.html">
+<i>org.apache.http.cookie.SetCookie</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.impl.auth.DigestScheme.html">
+org.apache.http.impl.auth.DigestScheme</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.impl.conn.DefaultClientConnection.html">
+org.apache.http.impl.conn.DefaultClientConnection</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.impl.conn.tsccm.WaitingThread.html">
+org.apache.http.impl.conn.tsccm.WaitingThread</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.BrowserCompatSpec.html">
+org.apache.http.impl.cookie.BrowserCompatSpec</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.NetscapeDraftSpec.html">
+org.apache.http.impl.cookie.NetscapeDraftSpec</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.impl.io.ChunkedOutputStream.html">
+org.apache.http.impl.io.ChunkedOutputStream</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.io.SessionInputBuffer.html">
+<i>org.apache.http.io.SessionInputBuffer</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.io.SessionOutputBuffer.html">
+<i>org.apache.http.io.SessionOutputBuffer</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.message.BufferedHeader.html">
+org.apache.http.message.BufferedHeader</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.params.HttpConnectionParamBean.html">
+org.apache.http.params.HttpConnectionParamBean</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.protocol.HttpRequestExecutor.html">
+org.apache.http.protocol.HttpRequestExecutor</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.protocol.HttpRequestInterceptorList.html">
+<i>org.apache.http.protocol.HttpRequestInterceptorList</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.protocol.HttpResponseInterceptorList.html">
+<i>org.apache.http.protocol.HttpResponseInterceptorList</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="org.apache.http.util.LangUtils.html">
+org.apache.http.util.LangUtils</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.app.Notification.WearableExtender.html">
+android.app.Notification.WearableExtender</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.util.FloatMath.html">
+android.util.FloatMath</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.apache.http.conn.params.ConnManagerParams.html">
+org.apache.http.conn.params.ConnManagerParams</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.apache.http.conn.params.ConnPerRouteBean.html">
+org.apache.http.conn.params.ConnPerRouteBean</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.apache.http.conn.params.ConnRouteParams.html">
+org.apache.http.conn.params.ConnRouteParams</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.apache.http.conn.routing.HttpRouteDirector.html">
+<i>org.apache.http.conn.routing.HttpRouteDirector</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.apache.http.conn.scheme.Scheme.html">
+org.apache.http.conn.scheme.Scheme</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.apache.http.conn.scheme.SchemeRegistry.html">
+org.apache.http.conn.scheme.SchemeRegistry</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.apache.http.entity.BasicHttpEntity.html">
+org.apache.http.entity.BasicHttpEntity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.apache.http.entity.ByteArrayEntity.html">
+org.apache.http.entity.ByteArrayEntity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.apache.http.entity.FileEntity.html">
+org.apache.http.entity.FileEntity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.apache.http.impl.auth.NTLMScheme.html">
+org.apache.http.impl.auth.NTLMScheme</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.apache.http.impl.conn.LoggingSessionInputBuffer.html">
+org.apache.http.impl.conn.LoggingSessionInputBuffer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.apache.http.impl.conn.LoggingSessionOutputBuffer.html">
+org.apache.http.impl.conn.LoggingSessionOutputBuffer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.BestMatchSpec.html">
+org.apache.http.impl.cookie.BestMatchSpec</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.RFC2109Spec.html">
+org.apache.http.impl.cookie.RFC2109Spec</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.apache.http.params.CoreConnectionPNames.html">
+<i>org.apache.http.params.CoreConnectionPNames</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.apache.http.params.CoreProtocolPNames.html">
+<i>org.apache.http.params.CoreProtocolPNames</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.telephony.SmsManager.html">
+android.telephony.SmsManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.net.Network.html">
+android.net.Network</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.net.VpnService.html">
+android.net.VpnService</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.HttpEntity.html">
+<i>org.apache.http.HttpEntity</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.auth.AuthState.html">
+org.apache.http.auth.AuthState</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.conn.BasicManagedEntity.html">
+org.apache.http.conn.BasicManagedEntity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.conn.EofSensorInputStream.html">
+org.apache.http.conn.EofSensorInputStream</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.conn.ssl.AbstractVerifier.html">
+org.apache.http.conn.ssl.AbstractVerifier</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.entity.StringEntity.html">
+org.apache.http.entity.StringEntity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.impl.conn.ProxySelectorRoutePlanner.html">
+org.apache.http.impl.conn.ProxySelectorRoutePlanner</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.DateUtils.html">
+org.apache.http.impl.cookie.DateUtils</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.message.BasicHeaderElement.html">
+org.apache.http.message.BasicHeaderElement</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.bluetooth.BluetoothGattServerCallback.html">
+android.bluetooth.BluetoothGattServerCallback</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.provider.Telephony.MmsSms.PendingMessages.html">
+android.provider.Telephony.MmsSms.PendingMessages</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.net.ProxyInfo.html">
+android.net.ProxyInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.HttpResponse.html">
+<i>org.apache.http.HttpResponse</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.client.HttpClient.html">
+<i>org.apache.http.client.HttpClient</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.client.protocol.ClientContext.html">
+<i>org.apache.http.client.protocol.ClientContext</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.conn.routing.RouteInfo.html">
+<i>org.apache.http.conn.routing.RouteInfo</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.impl.io.AbstractSessionInputBuffer.html">
+org.apache.http.impl.io.AbstractSessionInputBuffer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.impl.io.AbstractSessionOutputBuffer.html">
+org.apache.http.impl.io.AbstractSessionOutputBuffer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.message.BasicHeaderIterator.html">
+org.apache.http.message.BasicHeaderIterator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.apache.http.params.HttpProtocolParams.html">
+org.apache.http.params.HttpProtocolParams</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.widget.PopupMenu.html">
+android.widget.PopupMenu</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="org.apache.http.client.methods.HttpRequestBase.html">
+org.apache.http.client.methods.HttpRequestBase</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="org.apache.http.client.params.ClientPNames.html">
+<i>org.apache.http.client.params.ClientPNames</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="org.apache.http.entity.HttpEntityWrapper.html">
+org.apache.http.entity.HttpEntityWrapper</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="org.apache.http.message.BasicListHeaderIterator.html">
+org.apache.http.message.BasicListHeaderIterator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="org.apache.http.params.AbstractHttpParams.html">
+org.apache.http.params.AbstractHttpParams</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="org.apache.http.params.BasicHttpParams.html">
+org.apache.http.params.BasicHttpParams</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="org.apache.http.protocol.HttpService.html">
+org.apache.http.protocol.HttpService</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.media.session.PlaybackState.Builder.html">
+android.media.session.PlaybackState.Builder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.net.ConnectivityManager.html">
+android.net.ConnectivityManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="org.apache.http.client.params.ClientParamBean.html">
+org.apache.http.client.params.ClientParamBean</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="org.apache.http.cookie.ClientCookie.html">
+<i>org.apache.http.cookie.ClientCookie</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="org.apache.http.cookie.Cookie.html">
+<i>org.apache.http.cookie.Cookie</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="org.apache.http.impl.conn.AbstractPooledConnAdapter.html">
+org.apache.http.impl.conn.AbstractPooledConnAdapter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="org.apache.http.impl.conn.Wire.html">
+org.apache.http.impl.conn.Wire</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="org.apache.http.params.HttpConnectionParams.html">
+org.apache.http.params.HttpConnectionParams</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.content.res.Resources.html">
+android.content.res.Resources</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.conn.ManagedClientConnection.html">
+<i>org.apache.http.conn.ManagedClientConnection</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.entity.AbstractHttpEntity.html">
+org.apache.http.entity.AbstractHttpEntity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.impl.conn.AbstractPoolEntry.html">
+org.apache.http.impl.conn.AbstractPoolEntry</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.message.BasicHeaderValueParser.html">
+org.apache.http.message.BasicHeaderValueParser</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.os.Bundle.html">
+android.os.Bundle</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.telephony.TelephonyManager.html">
+android.telephony.TelephonyManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.auth.AuthScope.html">
+org.apache.http.auth.AuthScope</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.impl.HttpConnectionMetricsImpl.html">
+org.apache.http.impl.HttpConnectionMetricsImpl</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager.html">
+org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.params.HttpParams.html">
+<i>org.apache.http.params.HttpParams</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.util.ByteArrayBuffer.html">
+org.apache.http.util.ByteArrayBuffer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.util.VersionInfo.html">
+org.apache.http.util.VersionInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.os.Message.html">
+android.os.Message</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.HttpHost.html">
+org.apache.http.HttpHost</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.ProtocolVersion.html">
+org.apache.http.ProtocolVersion</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.impl.client.ClientParamsStack.html">
+org.apache.http.impl.client.ClientParamsStack</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.impl.client.RequestWrapper.html">
+org.apache.http.impl.client.RequestWrapper</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.message.BasicHttpResponse.html">
+org.apache.http.message.BasicHttpResponse</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.message.BasicLineFormatter.html">
+org.apache.http.message.BasicLineFormatter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.accounts.AccountManager.html">
+android.accounts.AccountManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.graphics.Outline.html">
+android.graphics.Outline</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.impl.AbstractHttpServerConnection.html">
+org.apache.http.impl.AbstractHttpServerConnection</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.impl.SocketHttpClientConnection.html">
+org.apache.http.impl.SocketHttpClientConnection</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.impl.SocketHttpServerConnection.html">
+org.apache.http.impl.SocketHttpServerConnection</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="org.apache.http.message.HeaderGroup.html">
+org.apache.http.message.HeaderGroup</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.content.pm.PackageInfo.html">
+android.content.pm.PackageInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.media.MediaDrm.html">
+android.media.MediaDrm</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.http.HttpMessage.html">
+<i>org.apache.http.HttpMessage</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.http.conn.ssl.SSLSocketFactory.html">
+org.apache.http.conn.ssl.SSLSocketFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.http.impl.AbstractHttpClientConnection.html">
+org.apache.http.impl.AbstractHttpClientConnection</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.http.message.BasicLineParser.html">
+org.apache.http.message.BasicLineParser</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.net.VpnService.Builder.html">
+android.net.VpnService.Builder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.net.SSLCertificateSocketFactory.html">
+android.net.SSLCertificateSocketFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.commons.logging.Log.html">
+<i>org.apache.commons.logging.Log</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.http.impl.conn.tsccm.AbstractConnPool.html">
+org.apache.http.impl.conn.tsccm.AbstractConnPool</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.http.conn.routing.HttpRoute.html">
+org.apache.http.conn.routing.HttpRoute</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.http.message.BasicHeaderValueFormatter.html">
+org.apache.http.message.BasicHeaderValueFormatter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.http.message.BasicTokenIterator.html">
+org.apache.http.message.BasicTokenIterator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.content.pm.PackageItemInfo.html">
+android.content.pm.PackageItemInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.util.TypedValue.html">
+android.util.TypedValue</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.http.impl.client.DefaultHttpClient.html">
+org.apache.http.impl.client.DefaultHttpClient</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.http.impl.client.DefaultRequestDirector.html">
+org.apache.http.impl.client.DefaultRequestDirector</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.http.impl.conn.SingleClientConnManager.html">
+org.apache.http.impl.conn.SingleClientConnManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.http.impl.conn.tsccm.RouteSpecificPool.html">
+org.apache.http.impl.conn.tsccm.RouteSpecificPool</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.http.message.AbstractHttpMessage.html">
+org.apache.http.message.AbstractHttpMessage</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.view.accessibility.AccessibilityWindowInfo.html">
+android.view.accessibility.AccessibilityWindowInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.media.session.MediaSession.html">
+android.media.session.MediaSession</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.os.UserManager.html">
+android.os.UserManager</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="org.apache.http.conn.routing.RouteTracker.html">
+org.apache.http.conn.routing.RouteTracker</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.http.impl.conn.tsccm.ConnPoolByRoute.html">
+org.apache.http.impl.conn.tsccm.ConnPoolByRoute</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.http.util.CharArrayBuffer.html">
+org.apache.http.util.CharArrayBuffer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.os.Build.VERSION_CODES.html">
+android.os.Build.VERSION_CODES</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="org.apache.http.impl.cookie.BasicClientCookie.html">
+org.apache.http.impl.cookie.BasicClientCookie</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.view.accessibility.AccessibilityNodeInfo.html">
+android.view.accessibility.AccessibilityNodeInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.provider.Settings.html">
+android.provider.Settings</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.provider.Telephony.Carriers.html">
+android.provider.Telephony.Carriers</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="org.apache.http.protocol.BasicHttpProcessor.html">
+org.apache.http.protocol.BasicHttpProcessor</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.widget.RemoteViews.html">
+android.widget.RemoteViews</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.provider.Telephony.TextBasedSmsColumns.html">
+<i>android.provider.Telephony.TextBasedSmsColumns</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.app.admin.DevicePolicyManager.html">
+android.app.admin.DevicePolicyManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.widget.PopupWindow.html">
+android.widget.PopupWindow</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="org.apache.http.impl.conn.AbstractClientConnAdapter.html">
+org.apache.http.impl.conn.AbstractClientConnAdapter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.content.res.TypedArray.html">
+android.content.res.TypedArray</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="org.apache.http.protocol.HTTP.html">
+org.apache.http.protocol.HTTP</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.view.Window.html">
+android.view.Window</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.animation.ValueAnimator.html">
+android.animation.ValueAnimator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.media.session.PlaybackState.html">
+android.media.session.PlaybackState</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.provider.Telephony.BaseMmsColumns.html">
+<i>android.provider.Telephony.BaseMmsColumns</i></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="org.apache.http.HttpStatus.html">
+<i>org.apache.http.HttpStatus</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.text.format.Time.html">
+android.text.format.Time</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="android.content.Intent.html">
+android.content.Intent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.view.WindowManager.LayoutParams.html">
+android.view.WindowManager.LayoutParams</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="org.apache.http.impl.client.AbstractHttpClient.html">
+org.apache.http.impl.client.AbstractHttpClient</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.view.View.html">
+android.view.View</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.Manifest.permission.html">
+android.Manifest.permission</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.R.attr.html">
+android.R.attr</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.R.style.html">
+android.R.style</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="org.apache.http.client.params.AllClientPNames.html">
+<i>org.apache.http.client.params.AllClientPNames</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="org.apache.http.protocol.HttpProcessor.html">
+<i>org.apache.http.protocol.HttpProcessor</i></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/22/changes/jdiff_topleftframe.html b/docs/html/sdk/api_diff/22/changes/jdiff_topleftframe.html
new file mode 100644
index 0000000..d39a99c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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/22/changes/methods_index_additions.html b/docs/html/sdk/api_diff/22/changes/methods_index_additions.html
new file mode 100644
index 0000000..b6cc956
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/methods_index_additions.html
@@ -0,0 +1,385 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<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="#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="#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.net.Network.html#android.net.Network.bindSocket_added(java.net.DatagramSocket)" class="hiddenlink" target="rightframe"><b>bindSocket</b>
+(<code>DatagramSocket</code>)</A></nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</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="#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="#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.content.Intent.html#android.content.Intent.createChooser_added(android.content.Intent, java.lang.CharSequence, android.content.IntentSender)" class="hiddenlink" target="rightframe"><b>createChooser</b>
+(<code>Intent, CharSequence, IntentSender</code>)</A></nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<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="#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.view.View.html#android.view.View.dispatchDrawableHotspotChanged_added(float, float)" class="hiddenlink" target="rightframe"><b>dispatchDrawableHotspotChanged</b>
+(<code>float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchNestedPrePerformAccessibilityAction_added(int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>dispatchNestedPrePerformAccessibilityAction</b>
+(<code>int, Bundle</code>)</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</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="#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="#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.view.View.html#android.view.View.getAccessibilityTraversalAfter_added()" class="hiddenlink" target="rightframe"><b>getAccessibilityTraversalAfter</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.getAccessibilityTraversalBefore_added()" class="hiddenlink" target="rightframe"><b>getAccessibilityTraversalBefore</b>
+()</A></nobr><br>
+<i>getBoolean</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.getBoolean_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.os.BaseBundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.getBoolean_added(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, boolean</code>)</b>&nbsp;in&nbsp;android.os.BaseBundle
+</A></nobr><br>
+<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.getBooleanArray_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getBooleanArray</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.getCancelLabel_added()" class="hiddenlink" target="rightframe"><b>getCancelLabel</b>
+()</A></nobr><br>
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.getComplexUnit_added()" class="hiddenlink" target="rightframe"><b>getComplexUnit</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.getConfirmLabel_added()" class="hiddenlink" target="rightframe"><b>getConfirmLabel</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.getDefaultFeatures_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>getDefaultFeatures</b>
+(<code>Context</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.getDefaultSmsSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultSmsSubscriptionId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.getExtras_added()" class="hiddenlink" target="rightframe"><b>getExtras</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getHintAvoidBackgroundClipping_added()" class="hiddenlink" target="rightframe"><b>getHintAvoidBackgroundClipping</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getHintScreenTimeout_added()" class="hiddenlink" target="rightframe"><b>getHintScreenTimeout</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.getInProgressLabel_added()" class="hiddenlink" target="rightframe"><b>getInProgressLabel</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.getReferrer_added()" class="hiddenlink" target="rightframe"><b>getReferrer</b>
+()</A></nobr><br>
+<nobr><A HREF="android.transition.ChangeBounds.html#android.transition.ChangeBounds.getResizeClip_added()" class="hiddenlink" target="rightframe"><b>getResizeClip</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.MediaDrm.html#android.media.MediaDrm.getSecureStop_added(byte[])" class="hiddenlink" target="rightframe"><b>getSecureStop</b>
+(<code>byte[]</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.getSmsManagerForSubscriptionId_added(int)" class="hiddenlink" target="rightframe"><b>getSmsManagerForSubscriptionId</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.getSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getSubscriptionId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.getTraversalAfter_added()" class="hiddenlink" target="rightframe"><b>getTraversalAfter</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.getTraversalBefore_added()" class="hiddenlink" target="rightframe"><b>getTraversalBefore</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getTrustAgentConfiguration_added(android.content.ComponentName, android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getTrustAgentConfiguration</b>
+(<code>ComponentName, ComponentName</code>)</A></nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</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="#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.telephony.TelephonyManager.html#android.telephony.TelephonyManager.hasCarrierPrivileges_added()" class="hiddenlink" target="rightframe"><b>hasCarrierPrivileges</b>
+()</A></nobr><br>
+<nobr><A HREF="android.content.res.TypedArray.html#android.content.res.TypedArray.hasValueOrEmpty_added(int)" class="hiddenlink" target="rightframe"><b>hasValueOrEmpty</b>
+(<code>int</code>)</A></nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</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="#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="#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.telephony.SmsManager.html#android.telephony.SmsManager.injectSmsPdu_added(byte[], java.lang.String, android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>injectSmsPdu</b>
+(<code>byte[], String, PendingIntent</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Message.html#android.os.Message.isAsynchronous_added()" class="hiddenlink" target="rightframe"><b>isAsynchronous</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.isAttachedInDecor_added()" class="hiddenlink" target="rightframe"><b>isAttachedInDecor</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.KeyguardManager.html#android.app.KeyguardManager.isDeviceLocked_added()" class="hiddenlink" target="rightframe"><b>isDeviceLocked</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.isVoiceCapable_added()" class="hiddenlink" target="rightframe"><b>isVoiceCapable</b>
+()</A></nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</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="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</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="android.content.pm.PackageItemInfo.html#android.content.pm.PackageItemInfo.loadUnbadgedIcon_added(android.content.pm.PackageManager)" class="hiddenlink" target="rightframe"><b>loadUnbadgedIcon</b>
+(<code>PackageManager</code>)</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</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="#G"><font size="-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="#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.graphics.Outline.html#android.graphics.Outline.offset_added(int, int)" class="hiddenlink" target="rightframe"><b>offset</b>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.bluetooth.BluetoothGattServerCallback.html#android.bluetooth.BluetoothGattServerCallback.onMtuChanged_added(android.bluetooth.BluetoothDevice, int)" class="hiddenlink" target="rightframe"><b>onMtuChanged</b>
+(<code>BluetoothDevice, int</code>)</A></nobr><br>
+<i>onNestedPrePerformAccessibilityAction</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.onNestedPrePerformAccessibilityAction_added(android.view.View, int, android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, int, Bundle</code>)</b>&nbsp;in&nbsp;android.view.ViewGroup
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewParent.html#android.view.ViewParent.onNestedPrePerformAccessibilityAction_added(android.view.View, int, android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, int, Bundle</code>)</b>&nbsp;in&nbsp;android.view.ViewParent
+</A></nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</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="#G"><font size="-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="#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.os.BaseBundle.html#android.os.BaseBundle.putBoolean_added(java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>putBoolean</b>
+(<code>String, boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.putBooleanArray_added(java.lang.String, boolean[])" class="hiddenlink" target="rightframe"><b>putBooleanArray</b>
+(<code>String, boolean[]</code>)</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</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="#G"><font size="-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="#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.media.MediaDrm.html#android.media.MediaDrm.releaseAllSecureStops_added()" class="hiddenlink" target="rightframe"><b>releaseAllSecureStops</b>
+()</A></nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.releaseNetworkRequest_added(android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>releaseNetworkRequest</b>
+(<code>PendingIntent</code>)</A></nobr><br>
+<i>removeAccount</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.removeAccount_added(android.accounts.Account, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Account, Activity, AccountManagerCallback&lt;Bundle&gt;, Handler</code>)</b>&nbsp;in&nbsp;android.accounts.AccountManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.removeAccount_added(android.accounts.Account, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Account, AccountManagerCallback&lt;Boolean&gt;, Handler</code>)</b>&nbsp;in&nbsp;android.accounts.AccountManager
+</A></nobr><br>
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.removeAccountExplicitly_added(android.accounts.Account)" class="hiddenlink" target="rightframe"><b>removeAccountExplicitly</b>
+(<code>Account</code>)</A></nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.requestNetwork_added(android.net.NetworkRequest, android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>requestNetwork</b>
+(<code>NetworkRequest, PendingIntent</code>)</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</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="#G"><font size="-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="#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">
+<i>setAccessibilityTraversalAfter</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.setAccessibilityTraversalAfter_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setAccessibilityTraversalAfter_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.widget.RemoteViews
+</A></nobr><br>
+<i>setAccessibilityTraversalBefore</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.setAccessibilityTraversalBefore_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setAccessibilityTraversalBefore_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.widget.RemoteViews
+</A></nobr><br>
+<nobr><A HREF="android.os.Message.html#android.os.Message.setAsynchronous_added(boolean)" class="hiddenlink" target="rightframe"><b>setAsynchronous</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.setAttachedInDecor_added(boolean)" class="hiddenlink" target="rightframe"><b>setAttachedInDecor</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.setCancelLabel_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setCancelLabel</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.setClipToOutline_added(boolean)" class="hiddenlink" target="rightframe"><b>setClipToOutline</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.setConfirmLabel_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setConfirmLabel</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="android.animation.ValueAnimator.html#android.animation.ValueAnimator.setCurrentFraction_added(float)" class="hiddenlink" target="rightframe"><b>setCurrentFraction</b>
+(<code>float</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.setElevation_added(float)" class="hiddenlink" target="rightframe"><b>setElevation</b>
+(<code>float</code>)</A></nobr><br>
+<nobr><A HREF="android.media.session.PlaybackState.Builder.html#android.media.session.PlaybackState.Builder.setExtras_added(android.os.Bundle)" class="hiddenlink" target="rightframe"><b>setExtras</b>
+(<code>Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setHintAvoidBackgroundClipping_added(boolean)" class="hiddenlink" target="rightframe"><b>setHintAvoidBackgroundClipping</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setHintScreenTimeout_added(int)" class="hiddenlink" target="rightframe"><b>setHintScreenTimeout</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.setInProgressLabel_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setInProgressLabel</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setLine1NumberForDisplay_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>setLine1NumberForDisplay</b>
+(<code>String, String</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setOperatorBrandOverride_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setOperatorBrandOverride</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setPreferredNetworkTypeToGlobal_added()" class="hiddenlink" target="rightframe"><b>setPreferredNetworkTypeToGlobal</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaSession.html#android.media.session.MediaSession.setRatingType_added(int)" class="hiddenlink" target="rightframe"><b>setRatingType</b>
+(<code>int</code>)</A></nobr><br>
+<i>setTraversalAfter</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setTraversalAfter_added(android.view.View)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityNodeInfo
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setTraversalAfter_added(android.view.View, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, int</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityNodeInfo
+</A></nobr><br>
+<i>setTraversalBefore</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setTraversalBefore_added(android.view.View)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityNodeInfo
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setTraversalBefore_added(android.view.View, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, int</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityNodeInfo
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setTrustAgentConfiguration_added(android.content.ComponentName, android.content.ComponentName, android.os.PersistableBundle)" class="hiddenlink" target="rightframe"><b>setTrustAgentConfiguration</b>
+(<code>ComponentName, ComponentName, PersistableBundle</code>)</A></nobr><br>
+<i>setUnderlyingNetworks</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.VpnService.html#android.net.VpnService.setUnderlyingNetworks_added(android.net.Network[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Network[]</code>)</b>&nbsp;in&nbsp;android.net.VpnService
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.VpnService.Builder.html#android.net.VpnService.Builder.setUnderlyingNetworks_added(android.net.Network[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Network[]</code>)</b>&nbsp;in&nbsp;android.net.VpnService.Builder
+</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setVoiceMailNumber_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>setVoiceMailNumber</b>
+(<code>String, 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/22/changes/methods_index_all.html b/docs/html/sdk/api_diff/22/changes/methods_index_all.html
new file mode 100644
index 0000000..17d26f2
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/methods_index_all.html
@@ -0,0 +1,785 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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="#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.webkit.CookieManager.html#android.webkit.CookieManager.acceptCookie_changed()" class="hiddenlink" target="rightframe">acceptCookie
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.acceptThirdPartyCookies_changed(android.webkit.WebView)" class="hiddenlink" target="rightframe">acceptThirdPartyCookies
+(<code>WebView</code>)</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="#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.net.Network.html#android.net.Network.bindSocket_added(java.net.DatagramSocket)" class="hiddenlink" target="rightframe"><b>bindSocket</b>
+(<code>DatagramSocket</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.clearFormData_changed()" class="hiddenlink" target="rightframe">clearFormData
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.clearHttpAuthUsernamePassword_changed()" class="hiddenlink" target="rightframe">clearHttpAuthUsernamePassword
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.clearUsernamePassword_changed()" class="hiddenlink" target="rightframe">clearUsernamePassword
+()</A></nobr><br>
+<i>clone</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.StateListAnimator.html#android.animation.StateListAnimator.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.animation.StateListAnimator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.webkit.WebBackForwardList
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.webkit.WebHistoryItem
+</A></nobr><br>
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.close_changed()" class="hiddenlink" target="rightframe">close
+()</A></nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.createChooser_added(android.content.Intent, java.lang.CharSequence, android.content.IntentSender)" class="hiddenlink" target="rightframe"><b>createChooser</b>
+(<code>Intent, CharSequence, IntentSender</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="#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.view.View.html#android.view.View.dispatchDrawableHotspotChanged_added(float, float)" class="hiddenlink" target="rightframe"><b>dispatchDrawableHotspotChanged</b>
+(<code>float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchNestedPrePerformAccessibilityAction_added(int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>dispatchNestedPrePerformAccessibilityAction</b>
+(<code>int, Bundle</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="#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.webkit.WebSettings.html#android.webkit.WebSettings.enableSmoothTransition_changed()" class="hiddenlink" target="rightframe">enableSmoothTransition
+()</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="#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.webkit.CookieManager.html#android.webkit.CookieManager.flush_changed()" class="hiddenlink" target="rightframe">flush
+()</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="#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.view.View.html#android.view.View.getAccessibilityTraversalAfter_added()" class="hiddenlink" target="rightframe"><b>getAccessibilityTraversalAfter</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.getAccessibilityTraversalBefore_added()" class="hiddenlink" target="rightframe"><b>getAccessibilityTraversalBefore</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getAllowContentAccess_changed()" class="hiddenlink" target="rightframe">getAllowContentAccess
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getAllowFileAccess_changed()" class="hiddenlink" target="rightframe">getAllowFileAccess
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getBlockNetworkImage_changed()" class="hiddenlink" target="rightframe">getBlockNetworkImage
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getBlockNetworkLoads_changed()" class="hiddenlink" target="rightframe">getBlockNetworkLoads
+()</A></nobr><br>
+<i>getBoolean</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.getBoolean_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.os.BaseBundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.getBoolean_added(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, boolean</code>)</b>&nbsp;in&nbsp;android.os.BaseBundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getBoolean_removed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String</code>)</strike>&nbsp;in&nbsp;android.os.Bundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getBoolean_removed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String, boolean</code>)</strike>&nbsp;in&nbsp;android.os.Bundle
+</A></nobr><br>
+<i>getBooleanArray</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.getBooleanArray_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.os.BaseBundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getBooleanArray_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.os.Bundle
+</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getBuiltInZoomControls_changed()" class="hiddenlink" target="rightframe">getBuiltInZoomControls
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getCacheMode_changed()" class="hiddenlink" target="rightframe">getCacheMode
+()</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.getCancelLabel_added()" class="hiddenlink" target="rightframe"><b>getCancelLabel</b>
+()</A></nobr><br>
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.getComplexUnit_added()" class="hiddenlink" target="rightframe"><b>getComplexUnit</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.getConfirmLabel_added()" class="hiddenlink" target="rightframe"><b>getConfirmLabel</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.getCookie_changed(java.lang.String)" class="hiddenlink" target="rightframe">getCookie
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.getCurrentIndex_changed()" class="hiddenlink" target="rightframe">getCurrentIndex
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.getCurrentItem_changed()" class="hiddenlink" target="rightframe">getCurrentItem
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getCursiveFontFamily_changed()" class="hiddenlink" target="rightframe">getCursiveFontFamily
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDatabaseEnabled_changed()" class="hiddenlink" target="rightframe">getDatabaseEnabled
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDatabasePath_changed()" class="hiddenlink" target="rightframe">getDatabasePath
+()</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.getDefaultFeatures_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>getDefaultFeatures</b>
+(<code>Context</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDefaultFixedFontSize_changed()" class="hiddenlink" target="rightframe">getDefaultFixedFontSize
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDefaultFontSize_changed()" class="hiddenlink" target="rightframe">getDefaultFontSize
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.getDefaultSmsSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getDefaultSmsSubscriptionId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDefaultTextEncodingName_changed()" class="hiddenlink" target="rightframe">getDefaultTextEncodingName
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDefaultZoom_changed()" class="hiddenlink" target="rightframe">getDefaultZoom
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDisplayZoomControls_changed()" class="hiddenlink" target="rightframe">getDisplayZoomControls
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDomStorageEnabled_changed()" class="hiddenlink" target="rightframe">getDomStorageEnabled
+()</A></nobr><br>
+<nobr><A HREF="android.content.res.Resources.html#android.content.res.Resources.getDrawable_changed(int)" class="hiddenlink" target="rightframe">getDrawable
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.content.res.Resources.html#android.content.res.Resources.getDrawableForDensity_changed(int, int)" class="hiddenlink" target="rightframe">getDrawableForDensity
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.media.session.PlaybackState.html#android.media.session.PlaybackState.getExtras_added()" class="hiddenlink" target="rightframe"><b>getExtras</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getFantasyFontFamily_changed()" class="hiddenlink" target="rightframe">getFantasyFontFamily
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.getFavicon_changed()" class="hiddenlink" target="rightframe">getFavicon
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getFixedFontFamily_changed()" class="hiddenlink" target="rightframe">getFixedFontFamily
+()</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getHintAvoidBackgroundClipping_added()" class="hiddenlink" target="rightframe"><b>getHintAvoidBackgroundClipping</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.getHintScreenTimeout_added()" class="hiddenlink" target="rightframe"><b>getHintScreenTimeout</b>
+()</A></nobr><br>
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.getHttpSocketFactory_changed(int, android.net.SSLSessionCache)" class="hiddenlink" target="rightframe">getHttpSocketFactory
+(<code>int, SSLSessionCache</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.getInProgressLabel_added()" class="hiddenlink" target="rightframe"><b>getInProgressLabel</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.getItemAtIndex_changed(int)" class="hiddenlink" target="rightframe">getItemAtIndex
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getJavaScriptCanOpenWindowsAutomatically_changed()" class="hiddenlink" target="rightframe">getJavaScriptCanOpenWindowsAutomatically
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getJavaScriptEnabled_changed()" class="hiddenlink" target="rightframe">getJavaScriptEnabled
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getLayoutAlgorithm_changed()" class="hiddenlink" target="rightframe">getLayoutAlgorithm
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getLightTouchEnabled_changed()" class="hiddenlink" target="rightframe">getLightTouchEnabled
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getLoadsImagesAutomatically_changed()" class="hiddenlink" target="rightframe">getLoadsImagesAutomatically
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getLoadWithOverviewMode_changed()" class="hiddenlink" target="rightframe">getLoadWithOverviewMode
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getMediaPlaybackRequiresUserGesture_changed()" class="hiddenlink" target="rightframe">getMediaPlaybackRequiresUserGesture
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getMinimumFontSize_changed()" class="hiddenlink" target="rightframe">getMinimumFontSize
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getMinimumLogicalFontSize_changed()" class="hiddenlink" target="rightframe">getMinimumLogicalFontSize
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.getOriginalUrl_changed()" class="hiddenlink" target="rightframe">getOriginalUrl
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getPluginState_changed()" class="hiddenlink" target="rightframe">getPluginState
+()</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.getReferrer_added()" class="hiddenlink" target="rightframe"><b>getReferrer</b>
+()</A></nobr><br>
+<nobr><A HREF="android.transition.ChangeBounds.html#android.transition.ChangeBounds.getResizeClip_added()" class="hiddenlink" target="rightframe"><b>getResizeClip</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getSansSerifFontFamily_changed()" class="hiddenlink" target="rightframe">getSansSerifFontFamily
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getSaveFormData_changed()" class="hiddenlink" target="rightframe">getSaveFormData
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getSavePassword_changed()" class="hiddenlink" target="rightframe">getSavePassword
+()</A></nobr><br>
+<nobr><A HREF="android.media.MediaDrm.html#android.media.MediaDrm.getSecureStop_added(byte[])" class="hiddenlink" target="rightframe"><b>getSecureStop</b>
+(<code>byte[]</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getSerifFontFamily_changed()" class="hiddenlink" target="rightframe">getSerifFontFamily
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.getSize_changed()" class="hiddenlink" target="rightframe">getSize
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.getSmsManagerForSubscriptionId_added(int)" class="hiddenlink" target="rightframe"><b>getSmsManagerForSubscriptionId</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getStandardFontFamily_changed()" class="hiddenlink" target="rightframe">getStandardFontFamily
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.SmsManager.html#android.telephony.SmsManager.getSubscriptionId_added()" class="hiddenlink" target="rightframe"><b>getSubscriptionId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getTextZoom_changed()" class="hiddenlink" target="rightframe">getTextZoom
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.getTitle_changed()" class="hiddenlink" target="rightframe">getTitle
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.getTraversalAfter_added()" class="hiddenlink" target="rightframe"><b>getTraversalAfter</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.getTraversalBefore_added()" class="hiddenlink" target="rightframe"><b>getTraversalBefore</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getTrustAgentConfiguration_added(android.content.ComponentName, android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getTrustAgentConfiguration</b>
+(<code>ComponentName, ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.getUrl_changed()" class="hiddenlink" target="rightframe">getUrl
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getUserAgentString_changed()" class="hiddenlink" target="rightframe">getUserAgentString
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getUseWideViewPort_changed()" class="hiddenlink" target="rightframe">getUseWideViewPort
+()</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="#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.telephony.TelephonyManager.html#android.telephony.TelephonyManager.hasCarrierPrivileges_added()" class="hiddenlink" target="rightframe"><b>hasCarrierPrivileges</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.hasCookies_changed()" class="hiddenlink" target="rightframe">hasCookies
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.hasFormData_changed()" class="hiddenlink" target="rightframe">hasFormData
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.hasHttpAuthUsernamePassword_changed()" class="hiddenlink" target="rightframe">hasHttpAuthUsernamePassword
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.hasUsernamePassword_changed()" class="hiddenlink" target="rightframe">hasUsernamePassword
+()</A></nobr><br>
+<nobr><A HREF="android.content.res.TypedArray.html#android.content.res.TypedArray.hasValueOrEmpty_added(int)" class="hiddenlink" target="rightframe"><b>hasValueOrEmpty</b>
+(<code>int</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="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-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="#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.telephony.SmsManager.html#android.telephony.SmsManager.injectSmsPdu_added(byte[], java.lang.String, android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>injectSmsPdu</b>
+(<code>byte[], String, PendingIntent</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Message.html#android.os.Message.isAsynchronous_added()" class="hiddenlink" target="rightframe"><b>isAsynchronous</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.isAttachedInDecor_added()" class="hiddenlink" target="rightframe"><b>isAttachedInDecor</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.KeyguardManager.html#android.app.KeyguardManager.isDeviceLocked_added()" class="hiddenlink" target="rightframe"><b>isDeviceLocked</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.isVoiceCapable_added()" class="hiddenlink" target="rightframe"><b>isVoiceCapable</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="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-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="#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.content.pm.PackageItemInfo.html#android.content.pm.PackageItemInfo.loadUnbadgedIcon_added(android.content.pm.PackageManager)" class="hiddenlink" target="rightframe"><b>loadUnbadgedIcon</b>
+(<code>PackageManager</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="#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>newInstance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.AndroidHttpClient.html#android.net.http.AndroidHttpClient.newInstance_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.net.http.AndroidHttpClient
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.AndroidHttpClient.html#android.net.http.AndroidHttpClient.newInstance_changed(java.lang.String, android.content.Context)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Context</code>)&nbsp;in&nbsp;android.net.http.AndroidHttpClient
+</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="#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.graphics.Outline.html#android.graphics.Outline.offset_added(int, int)" class="hiddenlink" target="rightframe"><b>offset</b>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.bluetooth.BluetoothGattServerCallback.html#android.bluetooth.BluetoothGattServerCallback.onMtuChanged_added(android.bluetooth.BluetoothDevice, int)" class="hiddenlink" target="rightframe"><b>onMtuChanged</b>
+(<code>BluetoothDevice, int</code>)</A></nobr><br>
+<i>onNestedPrePerformAccessibilityAction</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.onNestedPrePerformAccessibilityAction_added(android.view.View, int, android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, int, Bundle</code>)</b>&nbsp;in&nbsp;android.view.ViewGroup
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewParent.html#android.view.ViewParent.onNestedPrePerformAccessibilityAction_added(android.view.View, int, android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, int, Bundle</code>)</b>&nbsp;in&nbsp;android.view.ViewParent
+</A></nobr><br>
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.open_changed(java.lang.String)" class="hiddenlink" target="rightframe">open
+(<code>String</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="#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>putBoolean</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.putBoolean_added(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, boolean</code>)</b>&nbsp;in&nbsp;android.os.BaseBundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.putBoolean_changed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, boolean</code>)&nbsp;in&nbsp;android.os.Bundle
+</A></nobr><br>
+<i>putBooleanArray</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.BaseBundle.html#android.os.BaseBundle.putBooleanArray_added(java.lang.String, boolean[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, boolean[]</code>)</b>&nbsp;in&nbsp;android.os.BaseBundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.putBooleanArray_changed(java.lang.String, boolean[])" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, boolean[]</code>)&nbsp;in&nbsp;android.os.Bundle
+</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="#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.media.MediaDrm.html#android.media.MediaDrm.releaseAllSecureStops_added()" class="hiddenlink" target="rightframe"><b>releaseAllSecureStops</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.releaseIconForPageUrl_changed(java.lang.String)" class="hiddenlink" target="rightframe">releaseIconForPageUrl
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.releaseNetworkRequest_added(android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>releaseNetworkRequest</b>
+(<code>PendingIntent</code>)</A></nobr><br>
+<i>removeAccount</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.removeAccount_removed(android.accounts.Account, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Account, AccountManagerCallback&lt;Boolean&gt;, Handler</code>)</strike>&nbsp;in&nbsp;android.accounts.AccountManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.removeAccount_added(android.accounts.Account, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Account, Activity, AccountManagerCallback&lt;Bundle&gt;, Handler</code>)</b>&nbsp;in&nbsp;android.accounts.AccountManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.removeAccount_added(android.accounts.Account, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Account, AccountManagerCallback&lt;Boolean&gt;, Handler</code>)</b>&nbsp;in&nbsp;android.accounts.AccountManager
+</A></nobr><br>
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.removeAccountExplicitly_added(android.accounts.Account)" class="hiddenlink" target="rightframe"><b>removeAccountExplicitly</b>
+(<code>Account</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeAllCookie_changed()" class="hiddenlink" target="rightframe">removeAllCookie
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeAllCookies_changed(android.webkit.ValueCallback<java.lang.Boolean>)" class="hiddenlink" target="rightframe">removeAllCookies
+(<code>ValueCallback&lt;Boolean&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.removeAllIcons_changed()" class="hiddenlink" target="rightframe">removeAllIcons
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeExpiredCookie_changed()" class="hiddenlink" target="rightframe">removeExpiredCookie
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeSessionCookie_changed()" class="hiddenlink" target="rightframe">removeSessionCookie
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeSessionCookies_changed(android.webkit.ValueCallback<java.lang.Boolean>)" class="hiddenlink" target="rightframe">removeSessionCookies
+(<code>ValueCallback&lt;Boolean&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.requestIconForPageUrl_changed(java.lang.String, android.webkit.WebIconDatabase.IconListener)" class="hiddenlink" target="rightframe">requestIconForPageUrl
+(<code>String, IconListener</code>)</A></nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.requestNetwork_added(android.net.NetworkRequest, android.app.PendingIntent)" class="hiddenlink" target="rightframe"><b>requestNetwork</b>
+(<code>NetworkRequest, PendingIntent</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.retainIconForPageUrl_changed(java.lang.String)" class="hiddenlink" target="rightframe">retainIconForPageUrl
+(<code>String</code>)</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="#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.webkit.CookieManager.html#android.webkit.CookieManager.setAcceptCookie_changed(boolean)" class="hiddenlink" target="rightframe">setAcceptCookie
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.setAcceptThirdPartyCookies_changed(android.webkit.WebView, boolean)" class="hiddenlink" target="rightframe">setAcceptThirdPartyCookies
+(<code>WebView, boolean</code>)</A></nobr><br>
+<i>setAccessibilityTraversalAfter</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.setAccessibilityTraversalAfter_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setAccessibilityTraversalAfter_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.widget.RemoteViews
+</A></nobr><br>
+<i>setAccessibilityTraversalBefore</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.setAccessibilityTraversalBefore_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setAccessibilityTraversalBefore_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.widget.RemoteViews
+</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAllowContentAccess_changed(boolean)" class="hiddenlink" target="rightframe">setAllowContentAccess
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAllowFileAccess_changed(boolean)" class="hiddenlink" target="rightframe">setAllowFileAccess
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAppCacheEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setAppCacheEnabled
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAppCacheMaxSize_changed(long)" class="hiddenlink" target="rightframe">setAppCacheMaxSize
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAppCachePath_changed(java.lang.String)" class="hiddenlink" target="rightframe">setAppCachePath
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Message.html#android.os.Message.setAsynchronous_added(boolean)" class="hiddenlink" target="rightframe"><b>setAsynchronous</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.setAttachedInDecor_added(boolean)" class="hiddenlink" target="rightframe"><b>setAttachedInDecor</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setBlockNetworkImage_changed(boolean)" class="hiddenlink" target="rightframe">setBlockNetworkImage
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setBlockNetworkLoads_changed(boolean)" class="hiddenlink" target="rightframe">setBlockNetworkLoads
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setBuiltInZoomControls_changed(boolean)" class="hiddenlink" target="rightframe">setBuiltInZoomControls
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setCacheMode_changed(int)" class="hiddenlink" target="rightframe">setCacheMode
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.setCancelLabel_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setCancelLabel</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.setClipToOutline_added(boolean)" class="hiddenlink" target="rightframe"><b>setClipToOutline</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.setConfirmLabel_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setConfirmLabel</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<i>setCookie</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.setCookie_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, String</code>)&nbsp;in&nbsp;android.webkit.CookieManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.setCookie_changed(java.lang.String, java.lang.String, android.webkit.ValueCallback<java.lang.Boolean>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, String, ValueCallback&lt;Boolean&gt;</code>)&nbsp;in&nbsp;android.webkit.CookieManager
+</A></nobr><br>
+<nobr><A HREF="android.animation.ValueAnimator.html#android.animation.ValueAnimator.setCurrentFraction_added(float)" class="hiddenlink" target="rightframe"><b>setCurrentFraction</b>
+(<code>float</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setCursiveFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setCursiveFontFamily
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDatabaseEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setDatabaseEnabled
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDatabasePath_changed(java.lang.String)" class="hiddenlink" target="rightframe">setDatabasePath
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDefaultFixedFontSize_changed(int)" class="hiddenlink" target="rightframe">setDefaultFixedFontSize
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDefaultFontSize_changed(int)" class="hiddenlink" target="rightframe">setDefaultFontSize
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDefaultTextEncodingName_changed(java.lang.String)" class="hiddenlink" target="rightframe">setDefaultTextEncodingName
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDefaultZoom_changed(android.webkit.WebSettings.ZoomDensity)" class="hiddenlink" target="rightframe">setDefaultZoom
+(<code>ZoomDensity</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDisplayZoomControls_changed(boolean)" class="hiddenlink" target="rightframe">setDisplayZoomControls
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDomStorageEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setDomStorageEnabled
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.setElevation_added(float)" class="hiddenlink" target="rightframe"><b>setElevation</b>
+(<code>float</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setEnableSmoothTransition_changed(boolean)" class="hiddenlink" target="rightframe">setEnableSmoothTransition
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.media.session.PlaybackState.Builder.html#android.media.session.PlaybackState.Builder.setExtras_added(android.os.Bundle)" class="hiddenlink" target="rightframe"><b>setExtras</b>
+(<code>Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setFantasyFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setFantasyFontFamily
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setFixedFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setFixedFontFamily
+(<code>String</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.webkit.WebSettings.html#android.webkit.WebSettings.setGeolocationEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setGeolocationEnabled
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setHintAvoidBackgroundClipping_added(boolean)" class="hiddenlink" target="rightframe"><b>setHintAvoidBackgroundClipping</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.WearableExtender.html#android.app.Notification.WearableExtender.setHintScreenTimeout_added(int)" class="hiddenlink" target="rightframe"><b>setHintScreenTimeout</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Action.WearableExtender.html#android.app.Notification.Action.WearableExtender.setInProgressLabel_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setInProgressLabel</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setJavaScriptCanOpenWindowsAutomatically_changed(boolean)" class="hiddenlink" target="rightframe">setJavaScriptCanOpenWindowsAutomatically
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setJavaScriptEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setJavaScriptEnabled
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setLayoutAlgorithm_changed(android.webkit.WebSettings.LayoutAlgorithm)" class="hiddenlink" target="rightframe">setLayoutAlgorithm
+(<code>LayoutAlgorithm</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setLightTouchEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setLightTouchEnabled
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setLine1NumberForDisplay_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>setLine1NumberForDisplay</b>
+(<code>String, String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setLoadsImagesAutomatically_changed(boolean)" class="hiddenlink" target="rightframe">setLoadsImagesAutomatically
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setLoadWithOverviewMode_changed(boolean)" class="hiddenlink" target="rightframe">setLoadWithOverviewMode
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setMediaPlaybackRequiresUserGesture_changed(boolean)" class="hiddenlink" target="rightframe">setMediaPlaybackRequiresUserGesture
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setMinimumFontSize_changed(int)" class="hiddenlink" target="rightframe">setMinimumFontSize
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setMinimumLogicalFontSize_changed(int)" class="hiddenlink" target="rightframe">setMinimumLogicalFontSize
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setNeedInitialFocus_changed(boolean)" class="hiddenlink" target="rightframe">setNeedInitialFocus
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setOperatorBrandOverride_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setOperatorBrandOverride</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setPluginState_changed(android.webkit.WebSettings.PluginState)" class="hiddenlink" target="rightframe">setPluginState
+(<code>PluginState</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setPreferredNetworkTypeToGlobal_added()" class="hiddenlink" target="rightframe"><b>setPreferredNetworkTypeToGlobal</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.session.MediaSession.html#android.media.session.MediaSession.setRatingType_added(int)" class="hiddenlink" target="rightframe"><b>setRatingType</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setRenderPriority_changed(android.webkit.WebSettings.RenderPriority)" class="hiddenlink" target="rightframe">setRenderPriority
+(<code>RenderPriority</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSansSerifFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setSansSerifFontFamily
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSaveFormData_changed(boolean)" class="hiddenlink" target="rightframe">setSaveFormData
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSavePassword_changed(boolean)" class="hiddenlink" target="rightframe">setSavePassword
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSerifFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setSerifFontFamily
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setStandardFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setStandardFontFamily
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSupportMultipleWindows_changed(boolean)" class="hiddenlink" target="rightframe">setSupportMultipleWindows
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSupportZoom_changed(boolean)" class="hiddenlink" target="rightframe">setSupportZoom
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setTextZoom_changed(int)" class="hiddenlink" target="rightframe">setTextZoom
+(<code>int</code>)</A></nobr><br>
+<i>setTraversalAfter</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setTraversalAfter_added(android.view.View)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityNodeInfo
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setTraversalAfter_added(android.view.View, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, int</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityNodeInfo
+</A></nobr><br>
+<i>setTraversalBefore</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setTraversalBefore_added(android.view.View)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityNodeInfo
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityNodeInfo.html#android.view.accessibility.AccessibilityNodeInfo.setTraversalBefore_added(android.view.View, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, int</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityNodeInfo
+</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setTrustAgentConfiguration_added(android.content.ComponentName, android.content.ComponentName, android.os.PersistableBundle)" class="hiddenlink" target="rightframe"><b>setTrustAgentConfiguration</b>
+(<code>ComponentName, ComponentName, PersistableBundle</code>)</A></nobr><br>
+<i>setUnderlyingNetworks</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.VpnService.html#android.net.VpnService.setUnderlyingNetworks_added(android.net.Network[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Network[]</code>)</b>&nbsp;in&nbsp;android.net.VpnService
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.VpnService.Builder.html#android.net.VpnService.Builder.setUnderlyingNetworks_added(android.net.Network[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Network[]</code>)</b>&nbsp;in&nbsp;android.net.VpnService.Builder
+</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setUserAgentString_changed(java.lang.String)" class="hiddenlink" target="rightframe">setUserAgentString
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setUseWideViewPort_changed(boolean)" class="hiddenlink" target="rightframe">setUseWideViewPort
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.setVoiceMailNumber_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>setVoiceMailNumber</b>
+(<code>String, String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.supportMultipleWindows_changed()" class="hiddenlink" target="rightframe">supportMultipleWindows
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.supportZoom_changed()" class="hiddenlink" target="rightframe">supportZoom
+()</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/22/changes/methods_index_changes.html b/docs/html/sdk/api_diff/22/changes/methods_index_changes.html
new file mode 100644
index 0000000..7034ca9
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/methods_index_changes.html
@@ -0,0 +1,481 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#N"><font size="-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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.acceptCookie_changed()" class="hiddenlink" target="rightframe">acceptCookie
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.acceptThirdPartyCookies_changed(android.webkit.WebView)" class="hiddenlink" target="rightframe">acceptThirdPartyCookies
+(<code>WebView</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="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#N"><font size="-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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.clearFormData_changed()" class="hiddenlink" target="rightframe">clearFormData
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.clearHttpAuthUsernamePassword_changed()" class="hiddenlink" target="rightframe">clearHttpAuthUsernamePassword
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.clearUsernamePassword_changed()" class="hiddenlink" target="rightframe">clearUsernamePassword
+()</A></nobr><br>
+<i>clone</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.StateListAnimator.html#android.animation.StateListAnimator.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.animation.StateListAnimator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.webkit.WebBackForwardList
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.webkit.WebHistoryItem
+</A></nobr><br>
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.close_changed()" class="hiddenlink" target="rightframe">close
+()</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="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#N"><font size="-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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.enableSmoothTransition_changed()" class="hiddenlink" target="rightframe">enableSmoothTransition
+()</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="#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="#N"><font size="-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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.flush_changed()" class="hiddenlink" target="rightframe">flush
+()</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="#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="#N"><font size="-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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getAllowContentAccess_changed()" class="hiddenlink" target="rightframe">getAllowContentAccess
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getAllowFileAccess_changed()" class="hiddenlink" target="rightframe">getAllowFileAccess
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getBlockNetworkImage_changed()" class="hiddenlink" target="rightframe">getBlockNetworkImage
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getBlockNetworkLoads_changed()" class="hiddenlink" target="rightframe">getBlockNetworkLoads
+()</A></nobr><br>
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getBooleanArray_changed(java.lang.String)" class="hiddenlink" target="rightframe">getBooleanArray
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getBuiltInZoomControls_changed()" class="hiddenlink" target="rightframe">getBuiltInZoomControls
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getCacheMode_changed()" class="hiddenlink" target="rightframe">getCacheMode
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.getCookie_changed(java.lang.String)" class="hiddenlink" target="rightframe">getCookie
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.getCurrentIndex_changed()" class="hiddenlink" target="rightframe">getCurrentIndex
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.getCurrentItem_changed()" class="hiddenlink" target="rightframe">getCurrentItem
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getCursiveFontFamily_changed()" class="hiddenlink" target="rightframe">getCursiveFontFamily
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDatabaseEnabled_changed()" class="hiddenlink" target="rightframe">getDatabaseEnabled
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDatabasePath_changed()" class="hiddenlink" target="rightframe">getDatabasePath
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDefaultFixedFontSize_changed()" class="hiddenlink" target="rightframe">getDefaultFixedFontSize
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDefaultFontSize_changed()" class="hiddenlink" target="rightframe">getDefaultFontSize
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDefaultTextEncodingName_changed()" class="hiddenlink" target="rightframe">getDefaultTextEncodingName
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDefaultZoom_changed()" class="hiddenlink" target="rightframe">getDefaultZoom
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDisplayZoomControls_changed()" class="hiddenlink" target="rightframe">getDisplayZoomControls
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getDomStorageEnabled_changed()" class="hiddenlink" target="rightframe">getDomStorageEnabled
+()</A></nobr><br>
+<nobr><A HREF="android.content.res.Resources.html#android.content.res.Resources.getDrawable_changed(int)" class="hiddenlink" target="rightframe">getDrawable
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.content.res.Resources.html#android.content.res.Resources.getDrawableForDensity_changed(int, int)" class="hiddenlink" target="rightframe">getDrawableForDensity
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getFantasyFontFamily_changed()" class="hiddenlink" target="rightframe">getFantasyFontFamily
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.getFavicon_changed()" class="hiddenlink" target="rightframe">getFavicon
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getFixedFontFamily_changed()" class="hiddenlink" target="rightframe">getFixedFontFamily
+()</A></nobr><br>
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.getHttpSocketFactory_changed(int, android.net.SSLSessionCache)" class="hiddenlink" target="rightframe">getHttpSocketFactory
+(<code>int, SSLSessionCache</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.getItemAtIndex_changed(int)" class="hiddenlink" target="rightframe">getItemAtIndex
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getJavaScriptCanOpenWindowsAutomatically_changed()" class="hiddenlink" target="rightframe">getJavaScriptCanOpenWindowsAutomatically
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getJavaScriptEnabled_changed()" class="hiddenlink" target="rightframe">getJavaScriptEnabled
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getLayoutAlgorithm_changed()" class="hiddenlink" target="rightframe">getLayoutAlgorithm
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getLightTouchEnabled_changed()" class="hiddenlink" target="rightframe">getLightTouchEnabled
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getLoadsImagesAutomatically_changed()" class="hiddenlink" target="rightframe">getLoadsImagesAutomatically
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getLoadWithOverviewMode_changed()" class="hiddenlink" target="rightframe">getLoadWithOverviewMode
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getMediaPlaybackRequiresUserGesture_changed()" class="hiddenlink" target="rightframe">getMediaPlaybackRequiresUserGesture
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getMinimumFontSize_changed()" class="hiddenlink" target="rightframe">getMinimumFontSize
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getMinimumLogicalFontSize_changed()" class="hiddenlink" target="rightframe">getMinimumLogicalFontSize
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.getOriginalUrl_changed()" class="hiddenlink" target="rightframe">getOriginalUrl
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getPluginState_changed()" class="hiddenlink" target="rightframe">getPluginState
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getSansSerifFontFamily_changed()" class="hiddenlink" target="rightframe">getSansSerifFontFamily
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getSaveFormData_changed()" class="hiddenlink" target="rightframe">getSaveFormData
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getSavePassword_changed()" class="hiddenlink" target="rightframe">getSavePassword
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getSerifFontFamily_changed()" class="hiddenlink" target="rightframe">getSerifFontFamily
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebBackForwardList.html#android.webkit.WebBackForwardList.getSize_changed()" class="hiddenlink" target="rightframe">getSize
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getStandardFontFamily_changed()" class="hiddenlink" target="rightframe">getStandardFontFamily
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getTextZoom_changed()" class="hiddenlink" target="rightframe">getTextZoom
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.getTitle_changed()" class="hiddenlink" target="rightframe">getTitle
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebHistoryItem.html#android.webkit.WebHistoryItem.getUrl_changed()" class="hiddenlink" target="rightframe">getUrl
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getUserAgentString_changed()" class="hiddenlink" target="rightframe">getUserAgentString
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getUseWideViewPort_changed()" class="hiddenlink" target="rightframe">getUseWideViewPort
+()</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="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</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="#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.webkit.CookieManager.html#android.webkit.CookieManager.hasCookies_changed()" class="hiddenlink" target="rightframe">hasCookies
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.hasFormData_changed()" class="hiddenlink" target="rightframe">hasFormData
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.hasHttpAuthUsernamePassword_changed()" class="hiddenlink" target="rightframe">hasHttpAuthUsernamePassword
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewDatabase.html#android.webkit.WebViewDatabase.hasUsernamePassword_changed()" class="hiddenlink" target="rightframe">hasUsernamePassword
+()</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="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</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">
+<i>newInstance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.AndroidHttpClient.html#android.net.http.AndroidHttpClient.newInstance_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.net.http.AndroidHttpClient
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.AndroidHttpClient.html#android.net.http.AndroidHttpClient.newInstance_changed(java.lang.String, android.content.Context)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, Context</code>)&nbsp;in&nbsp;android.net.http.AndroidHttpClient
+</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="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</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.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.open_changed(java.lang.String)" class="hiddenlink" target="rightframe">open
+(<code>String</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="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.putBoolean_changed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">putBoolean
+(<code>String, boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.putBooleanArray_changed(java.lang.String, boolean[])" class="hiddenlink" target="rightframe">putBooleanArray
+(<code>String, 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="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#N"><font size="-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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.releaseIconForPageUrl_changed(java.lang.String)" class="hiddenlink" target="rightframe">releaseIconForPageUrl
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeAllCookie_changed()" class="hiddenlink" target="rightframe">removeAllCookie
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeAllCookies_changed(android.webkit.ValueCallback<java.lang.Boolean>)" class="hiddenlink" target="rightframe">removeAllCookies
+(<code>ValueCallback&lt;Boolean&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.removeAllIcons_changed()" class="hiddenlink" target="rightframe">removeAllIcons
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeExpiredCookie_changed()" class="hiddenlink" target="rightframe">removeExpiredCookie
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeSessionCookie_changed()" class="hiddenlink" target="rightframe">removeSessionCookie
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.removeSessionCookies_changed(android.webkit.ValueCallback<java.lang.Boolean>)" class="hiddenlink" target="rightframe">removeSessionCookies
+(<code>ValueCallback&lt;Boolean&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.requestIconForPageUrl_changed(java.lang.String, android.webkit.WebIconDatabase.IconListener)" class="hiddenlink" target="rightframe">requestIconForPageUrl
+(<code>String, IconListener</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebIconDatabase.html#android.webkit.WebIconDatabase.retainIconForPageUrl_changed(java.lang.String)" class="hiddenlink" target="rightframe">retainIconForPageUrl
+(<code>String</code>)</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="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#N"><font size="-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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.setAcceptCookie_changed(boolean)" class="hiddenlink" target="rightframe">setAcceptCookie
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.setAcceptThirdPartyCookies_changed(android.webkit.WebView, boolean)" class="hiddenlink" target="rightframe">setAcceptThirdPartyCookies
+(<code>WebView, boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAllowContentAccess_changed(boolean)" class="hiddenlink" target="rightframe">setAllowContentAccess
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAllowFileAccess_changed(boolean)" class="hiddenlink" target="rightframe">setAllowFileAccess
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAppCacheEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setAppCacheEnabled
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAppCacheMaxSize_changed(long)" class="hiddenlink" target="rightframe">setAppCacheMaxSize
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setAppCachePath_changed(java.lang.String)" class="hiddenlink" target="rightframe">setAppCachePath
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setBlockNetworkImage_changed(boolean)" class="hiddenlink" target="rightframe">setBlockNetworkImage
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setBlockNetworkLoads_changed(boolean)" class="hiddenlink" target="rightframe">setBlockNetworkLoads
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setBuiltInZoomControls_changed(boolean)" class="hiddenlink" target="rightframe">setBuiltInZoomControls
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setCacheMode_changed(int)" class="hiddenlink" target="rightframe">setCacheMode
+(<code>int</code>)</A></nobr><br>
+<i>setCookie</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.setCookie_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, String</code>)&nbsp;in&nbsp;android.webkit.CookieManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.CookieManager.html#android.webkit.CookieManager.setCookie_changed(java.lang.String, java.lang.String, android.webkit.ValueCallback<java.lang.Boolean>)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, String, ValueCallback&lt;Boolean&gt;</code>)&nbsp;in&nbsp;android.webkit.CookieManager
+</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setCursiveFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setCursiveFontFamily
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDatabaseEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setDatabaseEnabled
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDatabasePath_changed(java.lang.String)" class="hiddenlink" target="rightframe">setDatabasePath
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDefaultFixedFontSize_changed(int)" class="hiddenlink" target="rightframe">setDefaultFixedFontSize
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDefaultFontSize_changed(int)" class="hiddenlink" target="rightframe">setDefaultFontSize
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDefaultTextEncodingName_changed(java.lang.String)" class="hiddenlink" target="rightframe">setDefaultTextEncodingName
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDefaultZoom_changed(android.webkit.WebSettings.ZoomDensity)" class="hiddenlink" target="rightframe">setDefaultZoom
+(<code>ZoomDensity</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDisplayZoomControls_changed(boolean)" class="hiddenlink" target="rightframe">setDisplayZoomControls
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setDomStorageEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setDomStorageEnabled
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setEnableSmoothTransition_changed(boolean)" class="hiddenlink" target="rightframe">setEnableSmoothTransition
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setFantasyFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setFantasyFontFamily
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setFixedFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setFixedFontFamily
+(<code>String</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.webkit.WebSettings.html#android.webkit.WebSettings.setGeolocationEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setGeolocationEnabled
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setJavaScriptCanOpenWindowsAutomatically_changed(boolean)" class="hiddenlink" target="rightframe">setJavaScriptCanOpenWindowsAutomatically
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setJavaScriptEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setJavaScriptEnabled
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setLayoutAlgorithm_changed(android.webkit.WebSettings.LayoutAlgorithm)" class="hiddenlink" target="rightframe">setLayoutAlgorithm
+(<code>LayoutAlgorithm</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setLightTouchEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setLightTouchEnabled
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setLoadsImagesAutomatically_changed(boolean)" class="hiddenlink" target="rightframe">setLoadsImagesAutomatically
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setLoadWithOverviewMode_changed(boolean)" class="hiddenlink" target="rightframe">setLoadWithOverviewMode
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setMediaPlaybackRequiresUserGesture_changed(boolean)" class="hiddenlink" target="rightframe">setMediaPlaybackRequiresUserGesture
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setMinimumFontSize_changed(int)" class="hiddenlink" target="rightframe">setMinimumFontSize
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setMinimumLogicalFontSize_changed(int)" class="hiddenlink" target="rightframe">setMinimumLogicalFontSize
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setNeedInitialFocus_changed(boolean)" class="hiddenlink" target="rightframe">setNeedInitialFocus
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setPluginState_changed(android.webkit.WebSettings.PluginState)" class="hiddenlink" target="rightframe">setPluginState
+(<code>PluginState</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setRenderPriority_changed(android.webkit.WebSettings.RenderPriority)" class="hiddenlink" target="rightframe">setRenderPriority
+(<code>RenderPriority</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSansSerifFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setSansSerifFontFamily
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSaveFormData_changed(boolean)" class="hiddenlink" target="rightframe">setSaveFormData
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSavePassword_changed(boolean)" class="hiddenlink" target="rightframe">setSavePassword
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSerifFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setSerifFontFamily
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setStandardFontFamily_changed(java.lang.String)" class="hiddenlink" target="rightframe">setStandardFontFamily
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSupportMultipleWindows_changed(boolean)" class="hiddenlink" target="rightframe">setSupportMultipleWindows
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setSupportZoom_changed(boolean)" class="hiddenlink" target="rightframe">setSupportZoom
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setTextZoom_changed(int)" class="hiddenlink" target="rightframe">setTextZoom
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setUserAgentString_changed(java.lang.String)" class="hiddenlink" target="rightframe">setUserAgentString
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setUseWideViewPort_changed(boolean)" class="hiddenlink" target="rightframe">setUseWideViewPort
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.supportMultipleWindows_changed()" class="hiddenlink" target="rightframe">supportMultipleWindows
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.supportZoom_changed()" class="hiddenlink" target="rightframe">supportZoom
+()</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/22/changes/methods_index_removals.html b/docs/html/sdk/api_diff/22/changes/methods_index_removals.html
new file mode 100644
index 0000000..37090a7a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/methods_index_removals.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<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">
+<i>getBoolean</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getBoolean_removed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String</code>)</strike>&nbsp;in&nbsp;android.os.Bundle
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getBoolean_removed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String, boolean</code>)</strike>&nbsp;in&nbsp;android.os.Bundle
+</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#G"><font size="-2">G</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.removeAccount_removed(android.accounts.Account, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)" class="hiddenlink" target="rightframe"><strike>removeAccount</strike>
+(<code>Account, AccountManagerCallback&lt;Boolean&gt;, Handler</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/22/changes/org.apache.commons.logging.Log.html b/docs/html/sdk/api_diff/22/changes/org.apache.commons.logging.Log.html
new file mode 100644
index 0000000..dde63e6
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.commons.logging.Log.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>
+org.apache.commons.logging.Log
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.commons.logging.<A HREF="../../../../reference/org/apache/commons/logging/Log.html" target="_top"><font size="+2"><code>Log</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/22/changes/org.apache.http.ConnectionClosedException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.ConnectionClosedException.html
new file mode 100644
index 0000000..8a3734a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.ConnectionClosedException.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>
+org.apache.http.ConnectionClosedException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.<A HREF="../../../../reference/org/apache/http/ConnectionClosedException.html" target="_top"><font size="+2"><code>ConnectionClosedException</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/22/changes/org.apache.http.ConnectionReuseStrategy.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.ConnectionReuseStrategy.html
new file mode 100644
index 0000000..d0582ed
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.ConnectionReuseStrategy.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>
+org.apache.http.ConnectionReuseStrategy
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/ConnectionReuseStrategy.html" target="_top"><font size="+2"><code>ConnectionReuseStrategy</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/22/changes/org.apache.http.FormattedHeader.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.FormattedHeader.html
new file mode 100644
index 0000000..7ef306f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.FormattedHeader.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>
+org.apache.http.FormattedHeader
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/FormattedHeader.html" target="_top"><font size="+2"><code>FormattedHeader</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/22/changes/org.apache.http.Header.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.Header.html
new file mode 100644
index 0000000..25e0bde
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.Header.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>
+org.apache.http.Header
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/Header.html" target="_top"><font size="+2"><code>Header</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/22/changes/org.apache.http.HeaderElement.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HeaderElement.html
new file mode 100644
index 0000000..b51a818
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HeaderElement.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>
+org.apache.http.HeaderElement
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HeaderElement.html" target="_top"><font size="+2"><code>HeaderElement</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/22/changes/org.apache.http.HeaderElementIterator.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HeaderElementIterator.html
new file mode 100644
index 0000000..0bf06a3
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HeaderElementIterator.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>
+org.apache.http.HeaderElementIterator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HeaderElementIterator.html" target="_top"><font size="+2"><code>HeaderElementIterator</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/22/changes/org.apache.http.HeaderIterator.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HeaderIterator.html
new file mode 100644
index 0000000..b175709
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HeaderIterator.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>
+org.apache.http.HeaderIterator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HeaderIterator.html" target="_top"><font size="+2"><code>HeaderIterator</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/22/changes/org.apache.http.HttpClientConnection.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpClientConnection.html
new file mode 100644
index 0000000..7b3503d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpClientConnection.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>
+org.apache.http.HttpClientConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpClientConnection.html" target="_top"><font size="+2"><code>HttpClientConnection</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/22/changes/org.apache.http.HttpConnection.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpConnection.html
new file mode 100644
index 0000000..120bbfc
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpConnection.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>
+org.apache.http.HttpConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpConnection.html" target="_top"><font size="+2"><code>HttpConnection</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/22/changes/org.apache.http.HttpConnectionMetrics.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpConnectionMetrics.html
new file mode 100644
index 0000000..a0c6fda
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpConnectionMetrics.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>
+org.apache.http.HttpConnectionMetrics
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpConnectionMetrics.html" target="_top"><font size="+2"><code>HttpConnectionMetrics</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/22/changes/org.apache.http.HttpEntity.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpEntity.html
new file mode 100644
index 0000000..05812b4
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpEntity.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>
+org.apache.http.HttpEntity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpEntity.html" target="_top"><font size="+2"><code>HttpEntity</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/22/changes/org.apache.http.HttpEntityEnclosingRequest.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpEntityEnclosingRequest.html
new file mode 100644
index 0000000..4a11236
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpEntityEnclosingRequest.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>
+org.apache.http.HttpEntityEnclosingRequest
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpEntityEnclosingRequest.html" target="_top"><font size="+2"><code>HttpEntityEnclosingRequest</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/22/changes/org.apache.http.HttpException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpException.html
new file mode 100644
index 0000000..05f0645
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpException.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>
+org.apache.http.HttpException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpException.html" target="_top"><font size="+2"><code>HttpException</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/22/changes/org.apache.http.HttpHost.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpHost.html
new file mode 100644
index 0000000..c9a55e4
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpHost.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>
+org.apache.http.HttpHost
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpHost.html" target="_top"><font size="+2"><code>HttpHost</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/22/changes/org.apache.http.HttpInetConnection.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpInetConnection.html
new file mode 100644
index 0000000..69eb34d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpInetConnection.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>
+org.apache.http.HttpInetConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpInetConnection.html" target="_top"><font size="+2"><code>HttpInetConnection</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/22/changes/org.apache.http.HttpMessage.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpMessage.html
new file mode 100644
index 0000000..a708e5b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpMessage.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>
+org.apache.http.HttpMessage
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpMessage.html" target="_top"><font size="+2"><code>HttpMessage</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/22/changes/org.apache.http.HttpRequest.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpRequest.html
new file mode 100644
index 0000000..4a36060
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpRequest.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>
+org.apache.http.HttpRequest
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpRequest.html" target="_top"><font size="+2"><code>HttpRequest</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/22/changes/org.apache.http.HttpRequestFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpRequestFactory.html
new file mode 100644
index 0000000..100c364
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpRequestFactory.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>
+org.apache.http.HttpRequestFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpRequestFactory.html" target="_top"><font size="+2"><code>HttpRequestFactory</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/22/changes/org.apache.http.HttpRequestInterceptor.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpRequestInterceptor.html
new file mode 100644
index 0000000..191c112
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpRequestInterceptor.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>
+org.apache.http.HttpRequestInterceptor
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpRequestInterceptor.html" target="_top"><font size="+2"><code>HttpRequestInterceptor</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/22/changes/org.apache.http.HttpResponse.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpResponse.html
new file mode 100644
index 0000000..602c4fa
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpResponse.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>
+org.apache.http.HttpResponse
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpResponse.html" target="_top"><font size="+2"><code>HttpResponse</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/22/changes/org.apache.http.HttpResponseFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpResponseFactory.html
new file mode 100644
index 0000000..6adc694
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpResponseFactory.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>
+org.apache.http.HttpResponseFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpResponseFactory.html" target="_top"><font size="+2"><code>HttpResponseFactory</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/22/changes/org.apache.http.HttpResponseInterceptor.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpResponseInterceptor.html
new file mode 100644
index 0000000..e77184c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpResponseInterceptor.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>
+org.apache.http.HttpResponseInterceptor
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpResponseInterceptor.html" target="_top"><font size="+2"><code>HttpResponseInterceptor</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/22/changes/org.apache.http.HttpServerConnection.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpServerConnection.html
new file mode 100644
index 0000000..30a64e3
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpServerConnection.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>
+org.apache.http.HttpServerConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpServerConnection.html" target="_top"><font size="+2"><code>HttpServerConnection</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/22/changes/org.apache.http.HttpStatus.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpStatus.html
new file mode 100644
index 0000000..0362990
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpStatus.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>
+org.apache.http.HttpStatus
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpStatus.html" target="_top"><font size="+2"><code>HttpStatus</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/22/changes/org.apache.http.HttpVersion.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpVersion.html
new file mode 100644
index 0000000..f01eaa8
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.HttpVersion.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>
+org.apache.http.HttpVersion
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.<A HREF="../../../../reference/org/apache/http/HttpVersion.html" target="_top"><font size="+2"><code>HttpVersion</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/22/changes/org.apache.http.MalformedChunkCodingException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.MalformedChunkCodingException.html
new file mode 100644
index 0000000..8afc269
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.MalformedChunkCodingException.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>
+org.apache.http.MalformedChunkCodingException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.<A HREF="../../../../reference/org/apache/http/MalformedChunkCodingException.html" target="_top"><font size="+2"><code>MalformedChunkCodingException</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/22/changes/org.apache.http.MethodNotSupportedException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.MethodNotSupportedException.html
new file mode 100644
index 0000000..2cab8f2
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.MethodNotSupportedException.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>
+org.apache.http.MethodNotSupportedException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.<A HREF="../../../../reference/org/apache/http/MethodNotSupportedException.html" target="_top"><font size="+2"><code>MethodNotSupportedException</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/22/changes/org.apache.http.NameValuePair.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.NameValuePair.html
new file mode 100644
index 0000000..09bd8be
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.NameValuePair.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>
+org.apache.http.NameValuePair
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/NameValuePair.html" target="_top"><font size="+2"><code>NameValuePair</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/22/changes/org.apache.http.NoHttpResponseException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.NoHttpResponseException.html
new file mode 100644
index 0000000..864fbb5
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.NoHttpResponseException.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>
+org.apache.http.NoHttpResponseException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.<A HREF="../../../../reference/org/apache/http/NoHttpResponseException.html" target="_top"><font size="+2"><code>NoHttpResponseException</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/22/changes/org.apache.http.ParseException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.ParseException.html
new file mode 100644
index 0000000..60c315f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.ParseException.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>
+org.apache.http.ParseException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.<A HREF="../../../../reference/org/apache/http/ParseException.html" target="_top"><font size="+2"><code>ParseException</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/22/changes/org.apache.http.ProtocolException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.ProtocolException.html
new file mode 100644
index 0000000..00c7675
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.ProtocolException.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>
+org.apache.http.ProtocolException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.<A HREF="../../../../reference/org/apache/http/ProtocolException.html" target="_top"><font size="+2"><code>ProtocolException</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/22/changes/org.apache.http.ProtocolVersion.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.ProtocolVersion.html
new file mode 100644
index 0000000..0d8d866
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.ProtocolVersion.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>
+org.apache.http.ProtocolVersion
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.<A HREF="../../../../reference/org/apache/http/ProtocolVersion.html" target="_top"><font size="+2"><code>ProtocolVersion</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/22/changes/org.apache.http.ReasonPhraseCatalog.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.ReasonPhraseCatalog.html
new file mode 100644
index 0000000..83974e1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.ReasonPhraseCatalog.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>
+org.apache.http.ReasonPhraseCatalog
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/ReasonPhraseCatalog.html" target="_top"><font size="+2"><code>ReasonPhraseCatalog</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/22/changes/org.apache.http.RequestLine.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.RequestLine.html
new file mode 100644
index 0000000..11ba863
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.RequestLine.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>
+org.apache.http.RequestLine
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/RequestLine.html" target="_top"><font size="+2"><code>RequestLine</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/22/changes/org.apache.http.StatusLine.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.StatusLine.html
new file mode 100644
index 0000000..28c1664
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.StatusLine.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>
+org.apache.http.StatusLine
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/StatusLine.html" target="_top"><font size="+2"><code>StatusLine</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/22/changes/org.apache.http.TokenIterator.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.TokenIterator.html
new file mode 100644
index 0000000..0f5a600
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.TokenIterator.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>
+org.apache.http.TokenIterator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.<A HREF="../../../../reference/org/apache/http/TokenIterator.html" target="_top"><font size="+2"><code>TokenIterator</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/22/changes/org.apache.http.UnsupportedHttpVersionException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.UnsupportedHttpVersionException.html
new file mode 100644
index 0000000..9b45844
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.UnsupportedHttpVersionException.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>
+org.apache.http.UnsupportedHttpVersionException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.<A HREF="../../../../reference/org/apache/http/UnsupportedHttpVersionException.html" target="_top"><font size="+2"><code>UnsupportedHttpVersionException</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/22/changes/org.apache.http.auth.AUTH.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.AUTH.html
new file mode 100644
index 0000000..23015a6
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.AUTH.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>
+org.apache.http.auth.AUTH
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.auth.<A HREF="../../../../reference/org/apache/http/auth/AUTH.html" target="_top"><font size="+2"><code>AUTH</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/22/changes/org.apache.http.auth.AuthScheme.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.AuthScheme.html
new file mode 100644
index 0000000..561d9769
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.AuthScheme.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>
+org.apache.http.auth.AuthScheme
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.auth.<A HREF="../../../../reference/org/apache/http/auth/AuthScheme.html" target="_top"><font size="+2"><code>AuthScheme</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/22/changes/org.apache.http.auth.AuthSchemeFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.AuthSchemeFactory.html
new file mode 100644
index 0000000..79f2708
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.AuthSchemeFactory.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>
+org.apache.http.auth.AuthSchemeFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.auth.<A HREF="../../../../reference/org/apache/http/auth/AuthSchemeFactory.html" target="_top"><font size="+2"><code>AuthSchemeFactory</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/22/changes/org.apache.http.auth.AuthSchemeRegistry.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.AuthSchemeRegistry.html
new file mode 100644
index 0000000..3e6988e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.AuthSchemeRegistry.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>
+org.apache.http.auth.AuthSchemeRegistry
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.auth.<A HREF="../../../../reference/org/apache/http/auth/AuthSchemeRegistry.html" target="_top"><font size="+2"><code>AuthSchemeRegistry</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/22/changes/org.apache.http.auth.AuthScope.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.AuthScope.html
new file mode 100644
index 0000000..27be5a3
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.AuthScope.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>
+org.apache.http.auth.AuthScope
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.auth.<A HREF="../../../../reference/org/apache/http/auth/AuthScope.html" target="_top"><font size="+2"><code>AuthScope</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/22/changes/org.apache.http.auth.AuthState.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.AuthState.html
new file mode 100644
index 0000000..7a1ade9
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.AuthState.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>
+org.apache.http.auth.AuthState
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.auth.<A HREF="../../../../reference/org/apache/http/auth/AuthState.html" target="_top"><font size="+2"><code>AuthState</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/22/changes/org.apache.http.auth.AuthenticationException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.AuthenticationException.html
new file mode 100644
index 0000000..9668895
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.AuthenticationException.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>
+org.apache.http.auth.AuthenticationException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.auth.<A HREF="../../../../reference/org/apache/http/auth/AuthenticationException.html" target="_top"><font size="+2"><code>AuthenticationException</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/22/changes/org.apache.http.auth.BasicUserPrincipal.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.BasicUserPrincipal.html
new file mode 100644
index 0000000..6e8c866
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.BasicUserPrincipal.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>
+org.apache.http.auth.BasicUserPrincipal
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.auth.<A HREF="../../../../reference/org/apache/http/auth/BasicUserPrincipal.html" target="_top"><font size="+2"><code>BasicUserPrincipal</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/22/changes/org.apache.http.auth.Credentials.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.Credentials.html
new file mode 100644
index 0000000..95b204c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.Credentials.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>
+org.apache.http.auth.Credentials
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.auth.<A HREF="../../../../reference/org/apache/http/auth/Credentials.html" target="_top"><font size="+2"><code>Credentials</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/22/changes/org.apache.http.auth.InvalidCredentialsException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.InvalidCredentialsException.html
new file mode 100644
index 0000000..59e933a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.InvalidCredentialsException.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>
+org.apache.http.auth.InvalidCredentialsException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.auth.<A HREF="../../../../reference/org/apache/http/auth/InvalidCredentialsException.html" target="_top"><font size="+2"><code>InvalidCredentialsException</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/22/changes/org.apache.http.auth.MalformedChallengeException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.MalformedChallengeException.html
new file mode 100644
index 0000000..55991d1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.MalformedChallengeException.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>
+org.apache.http.auth.MalformedChallengeException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.auth.<A HREF="../../../../reference/org/apache/http/auth/MalformedChallengeException.html" target="_top"><font size="+2"><code>MalformedChallengeException</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/22/changes/org.apache.http.auth.NTCredentials.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.NTCredentials.html
new file mode 100644
index 0000000..9b72156
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.NTCredentials.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>
+org.apache.http.auth.NTCredentials
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.auth.<A HREF="../../../../reference/org/apache/http/auth/NTCredentials.html" target="_top"><font size="+2"><code>NTCredentials</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/22/changes/org.apache.http.auth.NTUserPrincipal.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.NTUserPrincipal.html
new file mode 100644
index 0000000..fbe6cfd
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.NTUserPrincipal.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>
+org.apache.http.auth.NTUserPrincipal
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.auth.<A HREF="../../../../reference/org/apache/http/auth/NTUserPrincipal.html" target="_top"><font size="+2"><code>NTUserPrincipal</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/22/changes/org.apache.http.auth.UsernamePasswordCredentials.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.UsernamePasswordCredentials.html
new file mode 100644
index 0000000..9a71ba3
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.UsernamePasswordCredentials.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>
+org.apache.http.auth.UsernamePasswordCredentials
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.auth.<A HREF="../../../../reference/org/apache/http/auth/UsernamePasswordCredentials.html" target="_top"><font size="+2"><code>UsernamePasswordCredentials</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/22/changes/org.apache.http.auth.params.AuthPNames.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.params.AuthPNames.html
new file mode 100644
index 0000000..5e87849
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.params.AuthPNames.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>
+org.apache.http.auth.params.AuthPNames
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.auth.params.<A HREF="../../../../reference/org/apache/http/auth/params/AuthPNames.html" target="_top"><font size="+2"><code>AuthPNames</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/22/changes/org.apache.http.auth.params.AuthParamBean.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.params.AuthParamBean.html
new file mode 100644
index 0000000..ee93844
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.params.AuthParamBean.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>
+org.apache.http.auth.params.AuthParamBean
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.auth.params.<A HREF="../../../../reference/org/apache/http/auth/params/AuthParamBean.html" target="_top"><font size="+2"><code>AuthParamBean</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/22/changes/org.apache.http.auth.params.AuthParams.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.params.AuthParams.html
new file mode 100644
index 0000000..975deb5
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.auth.params.AuthParams.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>
+org.apache.http.auth.params.AuthParams
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.auth.params.<A HREF="../../../../reference/org/apache/http/auth/params/AuthParams.html" target="_top"><font size="+2"><code>AuthParams</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/22/changes/org.apache.http.client.AuthenticationHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.AuthenticationHandler.html
new file mode 100644
index 0000000..0652a4c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.AuthenticationHandler.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>
+org.apache.http.client.AuthenticationHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.client.<A HREF="../../../../reference/org/apache/http/client/AuthenticationHandler.html" target="_top"><font size="+2"><code>AuthenticationHandler</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/22/changes/org.apache.http.client.CircularRedirectException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.CircularRedirectException.html
new file mode 100644
index 0000000..1cff183
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.CircularRedirectException.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>
+org.apache.http.client.CircularRedirectException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.<A HREF="../../../../reference/org/apache/http/client/CircularRedirectException.html" target="_top"><font size="+2"><code>CircularRedirectException</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/22/changes/org.apache.http.client.ClientProtocolException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.ClientProtocolException.html
new file mode 100644
index 0000000..fd18358
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.ClientProtocolException.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>
+org.apache.http.client.ClientProtocolException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.<A HREF="../../../../reference/org/apache/http/client/ClientProtocolException.html" target="_top"><font size="+2"><code>ClientProtocolException</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/22/changes/org.apache.http.client.CookieStore.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.CookieStore.html
new file mode 100644
index 0000000..1c02dd4
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.CookieStore.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>
+org.apache.http.client.CookieStore
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.client.<A HREF="../../../../reference/org/apache/http/client/CookieStore.html" target="_top"><font size="+2"><code>CookieStore</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/22/changes/org.apache.http.client.CredentialsProvider.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.CredentialsProvider.html
new file mode 100644
index 0000000..04af8c3
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.CredentialsProvider.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>
+org.apache.http.client.CredentialsProvider
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.client.<A HREF="../../../../reference/org/apache/http/client/CredentialsProvider.html" target="_top"><font size="+2"><code>CredentialsProvider</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/22/changes/org.apache.http.client.HttpClient.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.HttpClient.html
new file mode 100644
index 0000000..31dbb30
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.HttpClient.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>
+org.apache.http.client.HttpClient
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.client.<A HREF="../../../../reference/org/apache/http/client/HttpClient.html" target="_top"><font size="+2"><code>HttpClient</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/22/changes/org.apache.http.client.HttpRequestRetryHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.HttpRequestRetryHandler.html
new file mode 100644
index 0000000..026864d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.HttpRequestRetryHandler.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>
+org.apache.http.client.HttpRequestRetryHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.client.<A HREF="../../../../reference/org/apache/http/client/HttpRequestRetryHandler.html" target="_top"><font size="+2"><code>HttpRequestRetryHandler</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/22/changes/org.apache.http.client.HttpResponseException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.HttpResponseException.html
new file mode 100644
index 0000000..c72a24d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.HttpResponseException.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>
+org.apache.http.client.HttpResponseException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.<A HREF="../../../../reference/org/apache/http/client/HttpResponseException.html" target="_top"><font size="+2"><code>HttpResponseException</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/22/changes/org.apache.http.client.NonRepeatableRequestException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.NonRepeatableRequestException.html
new file mode 100644
index 0000000..e76492c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.NonRepeatableRequestException.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>
+org.apache.http.client.NonRepeatableRequestException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.<A HREF="../../../../reference/org/apache/http/client/NonRepeatableRequestException.html" target="_top"><font size="+2"><code>NonRepeatableRequestException</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/22/changes/org.apache.http.client.RedirectException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.RedirectException.html
new file mode 100644
index 0000000..88f0118
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.RedirectException.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>
+org.apache.http.client.RedirectException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.<A HREF="../../../../reference/org/apache/http/client/RedirectException.html" target="_top"><font size="+2"><code>RedirectException</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/22/changes/org.apache.http.client.RedirectHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.RedirectHandler.html
new file mode 100644
index 0000000..f69667b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.RedirectHandler.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>
+org.apache.http.client.RedirectHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.client.<A HREF="../../../../reference/org/apache/http/client/RedirectHandler.html" target="_top"><font size="+2"><code>RedirectHandler</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/22/changes/org.apache.http.client.RequestDirector.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.RequestDirector.html
new file mode 100644
index 0000000..cf9cffa
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.RequestDirector.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>
+org.apache.http.client.RequestDirector
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.client.<A HREF="../../../../reference/org/apache/http/client/RequestDirector.html" target="_top"><font size="+2"><code>RequestDirector</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/22/changes/org.apache.http.client.ResponseHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.ResponseHandler.html
new file mode 100644
index 0000000..9a55148
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.ResponseHandler.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>
+org.apache.http.client.ResponseHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.client.<A HREF="../../../../reference/org/apache/http/client/ResponseHandler.html" target="_top"><font size="+2"><code>ResponseHandler</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/22/changes/org.apache.http.client.UserTokenHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.UserTokenHandler.html
new file mode 100644
index 0000000..0882c7c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.UserTokenHandler.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>
+org.apache.http.client.UserTokenHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.client.<A HREF="../../../../reference/org/apache/http/client/UserTokenHandler.html" target="_top"><font size="+2"><code>UserTokenHandler</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/22/changes/org.apache.http.client.entity.UrlEncodedFormEntity.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.entity.UrlEncodedFormEntity.html
new file mode 100644
index 0000000..acd5f9c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.entity.UrlEncodedFormEntity.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>
+org.apache.http.client.entity.UrlEncodedFormEntity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.entity.<A HREF="../../../../reference/org/apache/http/client/entity/UrlEncodedFormEntity.html" target="_top"><font size="+2"><code>UrlEncodedFormEntity</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/22/changes/org.apache.http.client.methods.AbortableHttpRequest.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.AbortableHttpRequest.html
new file mode 100644
index 0000000..cd9f286
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.AbortableHttpRequest.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>
+org.apache.http.client.methods.AbortableHttpRequest
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.client.methods.<A HREF="../../../../reference/org/apache/http/client/methods/AbortableHttpRequest.html" target="_top"><font size="+2"><code>AbortableHttpRequest</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/22/changes/org.apache.http.client.methods.HttpDelete.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpDelete.html
new file mode 100644
index 0000000..ea2e120
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpDelete.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>
+org.apache.http.client.methods.HttpDelete
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.methods.<A HREF="../../../../reference/org/apache/http/client/methods/HttpDelete.html" target="_top"><font size="+2"><code>HttpDelete</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/22/changes/org.apache.http.client.methods.HttpEntityEnclosingRequestBase.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpEntityEnclosingRequestBase.html
new file mode 100644
index 0000000..e761e8e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpEntityEnclosingRequestBase.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>
+org.apache.http.client.methods.HttpEntityEnclosingRequestBase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.methods.<A HREF="../../../../reference/org/apache/http/client/methods/HttpEntityEnclosingRequestBase.html" target="_top"><font size="+2"><code>HttpEntityEnclosingRequestBase</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/22/changes/org.apache.http.client.methods.HttpGet.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpGet.html
new file mode 100644
index 0000000..190f9f5
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpGet.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>
+org.apache.http.client.methods.HttpGet
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.methods.<A HREF="../../../../reference/org/apache/http/client/methods/HttpGet.html" target="_top"><font size="+2"><code>HttpGet</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/22/changes/org.apache.http.client.methods.HttpHead.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpHead.html
new file mode 100644
index 0000000..29c5290
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpHead.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>
+org.apache.http.client.methods.HttpHead
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.methods.<A HREF="../../../../reference/org/apache/http/client/methods/HttpHead.html" target="_top"><font size="+2"><code>HttpHead</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/22/changes/org.apache.http.client.methods.HttpOptions.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpOptions.html
new file mode 100644
index 0000000..2571a59
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpOptions.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>
+org.apache.http.client.methods.HttpOptions
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.methods.<A HREF="../../../../reference/org/apache/http/client/methods/HttpOptions.html" target="_top"><font size="+2"><code>HttpOptions</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/22/changes/org.apache.http.client.methods.HttpPost.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpPost.html
new file mode 100644
index 0000000..3eaa991
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpPost.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>
+org.apache.http.client.methods.HttpPost
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.methods.<A HREF="../../../../reference/org/apache/http/client/methods/HttpPost.html" target="_top"><font size="+2"><code>HttpPost</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/22/changes/org.apache.http.client.methods.HttpPut.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpPut.html
new file mode 100644
index 0000000..72ea985
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpPut.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>
+org.apache.http.client.methods.HttpPut
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.methods.<A HREF="../../../../reference/org/apache/http/client/methods/HttpPut.html" target="_top"><font size="+2"><code>HttpPut</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/22/changes/org.apache.http.client.methods.HttpRequestBase.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpRequestBase.html
new file mode 100644
index 0000000..58f8a9b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpRequestBase.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>
+org.apache.http.client.methods.HttpRequestBase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.methods.<A HREF="../../../../reference/org/apache/http/client/methods/HttpRequestBase.html" target="_top"><font size="+2"><code>HttpRequestBase</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/22/changes/org.apache.http.client.methods.HttpTrace.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpTrace.html
new file mode 100644
index 0000000..a0a4d72
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpTrace.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>
+org.apache.http.client.methods.HttpTrace
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.methods.<A HREF="../../../../reference/org/apache/http/client/methods/HttpTrace.html" target="_top"><font size="+2"><code>HttpTrace</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/22/changes/org.apache.http.client.methods.HttpUriRequest.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpUriRequest.html
new file mode 100644
index 0000000..ca745f06c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.methods.HttpUriRequest.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>
+org.apache.http.client.methods.HttpUriRequest
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.client.methods.<A HREF="../../../../reference/org/apache/http/client/methods/HttpUriRequest.html" target="_top"><font size="+2"><code>HttpUriRequest</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/22/changes/org.apache.http.client.params.AllClientPNames.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.params.AllClientPNames.html
new file mode 100644
index 0000000..7f5063a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.params.AllClientPNames.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>
+org.apache.http.client.params.AllClientPNames
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.client.params.<A HREF="../../../../reference/org/apache/http/client/params/AllClientPNames.html" target="_top"><font size="+2"><code>AllClientPNames</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/22/changes/org.apache.http.client.params.AuthPolicy.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.params.AuthPolicy.html
new file mode 100644
index 0000000..05fe0a6
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.params.AuthPolicy.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>
+org.apache.http.client.params.AuthPolicy
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.params.<A HREF="../../../../reference/org/apache/http/client/params/AuthPolicy.html" target="_top"><font size="+2"><code>AuthPolicy</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/22/changes/org.apache.http.client.params.ClientPNames.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.params.ClientPNames.html
new file mode 100644
index 0000000..027ef71
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.params.ClientPNames.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>
+org.apache.http.client.params.ClientPNames
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.client.params.<A HREF="../../../../reference/org/apache/http/client/params/ClientPNames.html" target="_top"><font size="+2"><code>ClientPNames</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/22/changes/org.apache.http.client.params.ClientParamBean.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.params.ClientParamBean.html
new file mode 100644
index 0000000..5fb6aa0
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.params.ClientParamBean.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>
+org.apache.http.client.params.ClientParamBean
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.params.<A HREF="../../../../reference/org/apache/http/client/params/ClientParamBean.html" target="_top"><font size="+2"><code>ClientParamBean</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/22/changes/org.apache.http.client.params.CookiePolicy.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.params.CookiePolicy.html
new file mode 100644
index 0000000..6c72583
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.params.CookiePolicy.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>
+org.apache.http.client.params.CookiePolicy
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.params.<A HREF="../../../../reference/org/apache/http/client/params/CookiePolicy.html" target="_top"><font size="+2"><code>CookiePolicy</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/22/changes/org.apache.http.client.params.HttpClientParams.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.params.HttpClientParams.html
new file mode 100644
index 0000000..5e3eec2
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.params.HttpClientParams.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>
+org.apache.http.client.params.HttpClientParams
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.params.<A HREF="../../../../reference/org/apache/http/client/params/HttpClientParams.html" target="_top"><font size="+2"><code>HttpClientParams</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/22/changes/org.apache.http.client.protocol.ClientContext.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.protocol.ClientContext.html
new file mode 100644
index 0000000..0743191
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.protocol.ClientContext.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>
+org.apache.http.client.protocol.ClientContext
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.client.protocol.<A HREF="../../../../reference/org/apache/http/client/protocol/ClientContext.html" target="_top"><font size="+2"><code>ClientContext</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/22/changes/org.apache.http.client.protocol.ClientContextConfigurer.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.protocol.ClientContextConfigurer.html
new file mode 100644
index 0000000..1a6efcc
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.protocol.ClientContextConfigurer.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>
+org.apache.http.client.protocol.ClientContextConfigurer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.protocol.<A HREF="../../../../reference/org/apache/http/client/protocol/ClientContextConfigurer.html" target="_top"><font size="+2"><code>ClientContextConfigurer</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/22/changes/org.apache.http.client.protocol.RequestAddCookies.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.protocol.RequestAddCookies.html
new file mode 100644
index 0000000..2332c44
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.protocol.RequestAddCookies.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>
+org.apache.http.client.protocol.RequestAddCookies
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.protocol.<A HREF="../../../../reference/org/apache/http/client/protocol/RequestAddCookies.html" target="_top"><font size="+2"><code>RequestAddCookies</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/22/changes/org.apache.http.client.protocol.RequestDefaultHeaders.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.protocol.RequestDefaultHeaders.html
new file mode 100644
index 0000000..bb44cd1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.protocol.RequestDefaultHeaders.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>
+org.apache.http.client.protocol.RequestDefaultHeaders
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.protocol.<A HREF="../../../../reference/org/apache/http/client/protocol/RequestDefaultHeaders.html" target="_top"><font size="+2"><code>RequestDefaultHeaders</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/22/changes/org.apache.http.client.protocol.RequestProxyAuthentication.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.protocol.RequestProxyAuthentication.html
new file mode 100644
index 0000000..11a7357
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.protocol.RequestProxyAuthentication.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>
+org.apache.http.client.protocol.RequestProxyAuthentication
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.protocol.<A HREF="../../../../reference/org/apache/http/client/protocol/RequestProxyAuthentication.html" target="_top"><font size="+2"><code>RequestProxyAuthentication</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/22/changes/org.apache.http.client.protocol.RequestTargetAuthentication.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.protocol.RequestTargetAuthentication.html
new file mode 100644
index 0000000..5e38e4d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.protocol.RequestTargetAuthentication.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>
+org.apache.http.client.protocol.RequestTargetAuthentication
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.protocol.<A HREF="../../../../reference/org/apache/http/client/protocol/RequestTargetAuthentication.html" target="_top"><font size="+2"><code>RequestTargetAuthentication</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/22/changes/org.apache.http.client.protocol.ResponseProcessCookies.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.protocol.ResponseProcessCookies.html
new file mode 100644
index 0000000..042c322
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.protocol.ResponseProcessCookies.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>
+org.apache.http.client.protocol.ResponseProcessCookies
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.protocol.<A HREF="../../../../reference/org/apache/http/client/protocol/ResponseProcessCookies.html" target="_top"><font size="+2"><code>ResponseProcessCookies</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/22/changes/org.apache.http.client.utils.CloneUtils.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.utils.CloneUtils.html
new file mode 100644
index 0000000..42543f1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.utils.CloneUtils.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>
+org.apache.http.client.utils.CloneUtils
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.utils.<A HREF="../../../../reference/org/apache/http/client/utils/CloneUtils.html" target="_top"><font size="+2"><code>CloneUtils</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/22/changes/org.apache.http.client.utils.URIUtils.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.utils.URIUtils.html
new file mode 100644
index 0000000..08f98ef
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.utils.URIUtils.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>
+org.apache.http.client.utils.URIUtils
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.utils.<A HREF="../../../../reference/org/apache/http/client/utils/URIUtils.html" target="_top"><font size="+2"><code>URIUtils</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/22/changes/org.apache.http.client.utils.URLEncodedUtils.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.utils.URLEncodedUtils.html
new file mode 100644
index 0000000..bde05ea
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.client.utils.URLEncodedUtils.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>
+org.apache.http.client.utils.URLEncodedUtils
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.client.utils.<A HREF="../../../../reference/org/apache/http/client/utils/URLEncodedUtils.html" target="_top"><font size="+2"><code>URLEncodedUtils</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/22/changes/org.apache.http.conn.BasicEofSensorWatcher.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.BasicEofSensorWatcher.html
new file mode 100644
index 0000000..d702dad
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.BasicEofSensorWatcher.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>
+org.apache.http.conn.BasicEofSensorWatcher
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.<A HREF="../../../../reference/org/apache/http/conn/BasicEofSensorWatcher.html" target="_top"><font size="+2"><code>BasicEofSensorWatcher</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/22/changes/org.apache.http.conn.BasicManagedEntity.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.BasicManagedEntity.html
new file mode 100644
index 0000000..70847d3
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.BasicManagedEntity.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>
+org.apache.http.conn.BasicManagedEntity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.<A HREF="../../../../reference/org/apache/http/conn/BasicManagedEntity.html" target="_top"><font size="+2"><code>BasicManagedEntity</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/22/changes/org.apache.http.conn.ClientConnectionManager.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ClientConnectionManager.html
new file mode 100644
index 0000000..5c1155a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ClientConnectionManager.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>
+org.apache.http.conn.ClientConnectionManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.<A HREF="../../../../reference/org/apache/http/conn/ClientConnectionManager.html" target="_top"><font size="+2"><code>ClientConnectionManager</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/22/changes/org.apache.http.conn.ClientConnectionManagerFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ClientConnectionManagerFactory.html
new file mode 100644
index 0000000..a675b9b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ClientConnectionManagerFactory.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>
+org.apache.http.conn.ClientConnectionManagerFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.<A HREF="../../../../reference/org/apache/http/conn/ClientConnectionManagerFactory.html" target="_top"><font size="+2"><code>ClientConnectionManagerFactory</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/22/changes/org.apache.http.conn.ClientConnectionOperator.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ClientConnectionOperator.html
new file mode 100644
index 0000000..d2557ac
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ClientConnectionOperator.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>
+org.apache.http.conn.ClientConnectionOperator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.<A HREF="../../../../reference/org/apache/http/conn/ClientConnectionOperator.html" target="_top"><font size="+2"><code>ClientConnectionOperator</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/22/changes/org.apache.http.conn.ClientConnectionRequest.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ClientConnectionRequest.html
new file mode 100644
index 0000000..db03f8c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ClientConnectionRequest.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>
+org.apache.http.conn.ClientConnectionRequest
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.<A HREF="../../../../reference/org/apache/http/conn/ClientConnectionRequest.html" target="_top"><font size="+2"><code>ClientConnectionRequest</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/22/changes/org.apache.http.conn.ConnectTimeoutException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ConnectTimeoutException.html
new file mode 100644
index 0000000..696d348
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ConnectTimeoutException.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>
+org.apache.http.conn.ConnectTimeoutException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.<A HREF="../../../../reference/org/apache/http/conn/ConnectTimeoutException.html" target="_top"><font size="+2"><code>ConnectTimeoutException</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/22/changes/org.apache.http.conn.ConnectionKeepAliveStrategy.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ConnectionKeepAliveStrategy.html
new file mode 100644
index 0000000..340fc24c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ConnectionKeepAliveStrategy.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>
+org.apache.http.conn.ConnectionKeepAliveStrategy
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.<A HREF="../../../../reference/org/apache/http/conn/ConnectionKeepAliveStrategy.html" target="_top"><font size="+2"><code>ConnectionKeepAliveStrategy</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/22/changes/org.apache.http.conn.ConnectionPoolTimeoutException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ConnectionPoolTimeoutException.html
new file mode 100644
index 0000000..4702ff4
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ConnectionPoolTimeoutException.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>
+org.apache.http.conn.ConnectionPoolTimeoutException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.<A HREF="../../../../reference/org/apache/http/conn/ConnectionPoolTimeoutException.html" target="_top"><font size="+2"><code>ConnectionPoolTimeoutException</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/22/changes/org.apache.http.conn.ConnectionReleaseTrigger.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ConnectionReleaseTrigger.html
new file mode 100644
index 0000000..ff9dc1d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ConnectionReleaseTrigger.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>
+org.apache.http.conn.ConnectionReleaseTrigger
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.<A HREF="../../../../reference/org/apache/http/conn/ConnectionReleaseTrigger.html" target="_top"><font size="+2"><code>ConnectionReleaseTrigger</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/22/changes/org.apache.http.conn.EofSensorInputStream.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.EofSensorInputStream.html
new file mode 100644
index 0000000..74b6731
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.EofSensorInputStream.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>
+org.apache.http.conn.EofSensorInputStream
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.<A HREF="../../../../reference/org/apache/http/conn/EofSensorInputStream.html" target="_top"><font size="+2"><code>EofSensorInputStream</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/22/changes/org.apache.http.conn.EofSensorWatcher.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.EofSensorWatcher.html
new file mode 100644
index 0000000..3c2df92
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.EofSensorWatcher.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>
+org.apache.http.conn.EofSensorWatcher
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.<A HREF="../../../../reference/org/apache/http/conn/EofSensorWatcher.html" target="_top"><font size="+2"><code>EofSensorWatcher</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/22/changes/org.apache.http.conn.HttpHostConnectException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.HttpHostConnectException.html
new file mode 100644
index 0000000..8b2d077
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.HttpHostConnectException.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>
+org.apache.http.conn.HttpHostConnectException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.<A HREF="../../../../reference/org/apache/http/conn/HttpHostConnectException.html" target="_top"><font size="+2"><code>HttpHostConnectException</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/22/changes/org.apache.http.conn.ManagedClientConnection.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ManagedClientConnection.html
new file mode 100644
index 0000000..19686c7
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ManagedClientConnection.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>
+org.apache.http.conn.ManagedClientConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.<A HREF="../../../../reference/org/apache/http/conn/ManagedClientConnection.html" target="_top"><font size="+2"><code>ManagedClientConnection</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/22/changes/org.apache.http.conn.MultihomePlainSocketFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.MultihomePlainSocketFactory.html
new file mode 100644
index 0000000..e53c16b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.MultihomePlainSocketFactory.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>
+org.apache.http.conn.MultihomePlainSocketFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.<A HREF="../../../../reference/org/apache/http/conn/MultihomePlainSocketFactory.html" target="_top"><font size="+2"><code>MultihomePlainSocketFactory</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/22/changes/org.apache.http.conn.OperatedClientConnection.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.OperatedClientConnection.html
new file mode 100644
index 0000000..e755dfe
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.OperatedClientConnection.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>
+org.apache.http.conn.OperatedClientConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.<A HREF="../../../../reference/org/apache/http/conn/OperatedClientConnection.html" target="_top"><font size="+2"><code>OperatedClientConnection</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/22/changes/org.apache.http.conn.params.ConnConnectionPNames.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnConnectionPNames.html
new file mode 100644
index 0000000..a6bd004
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnConnectionPNames.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>
+org.apache.http.conn.params.ConnConnectionPNames
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.params.<A HREF="../../../../reference/org/apache/http/conn/params/ConnConnectionPNames.html" target="_top"><font size="+2"><code>ConnConnectionPNames</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/22/changes/org.apache.http.conn.params.ConnConnectionParamBean.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnConnectionParamBean.html
new file mode 100644
index 0000000..a8ee080
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnConnectionParamBean.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>
+org.apache.http.conn.params.ConnConnectionParamBean
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.params.<A HREF="../../../../reference/org/apache/http/conn/params/ConnConnectionParamBean.html" target="_top"><font size="+2"><code>ConnConnectionParamBean</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/22/changes/org.apache.http.conn.params.ConnManagerPNames.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnManagerPNames.html
new file mode 100644
index 0000000..fb6f649
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnManagerPNames.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>
+org.apache.http.conn.params.ConnManagerPNames
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.params.<A HREF="../../../../reference/org/apache/http/conn/params/ConnManagerPNames.html" target="_top"><font size="+2"><code>ConnManagerPNames</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/22/changes/org.apache.http.conn.params.ConnManagerParamBean.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnManagerParamBean.html
new file mode 100644
index 0000000..75107d9
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnManagerParamBean.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>
+org.apache.http.conn.params.ConnManagerParamBean
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.params.<A HREF="../../../../reference/org/apache/http/conn/params/ConnManagerParamBean.html" target="_top"><font size="+2"><code>ConnManagerParamBean</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/22/changes/org.apache.http.conn.params.ConnManagerParams.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnManagerParams.html
new file mode 100644
index 0000000..31c95ec
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnManagerParams.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>
+org.apache.http.conn.params.ConnManagerParams
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.params.<A HREF="../../../../reference/org/apache/http/conn/params/ConnManagerParams.html" target="_top"><font size="+2"><code>ConnManagerParams</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/22/changes/org.apache.http.conn.params.ConnPerRoute.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnPerRoute.html
new file mode 100644
index 0000000..ca49706
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnPerRoute.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>
+org.apache.http.conn.params.ConnPerRoute
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.params.<A HREF="../../../../reference/org/apache/http/conn/params/ConnPerRoute.html" target="_top"><font size="+2"><code>ConnPerRoute</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/22/changes/org.apache.http.conn.params.ConnPerRouteBean.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnPerRouteBean.html
new file mode 100644
index 0000000..f70b06f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnPerRouteBean.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>
+org.apache.http.conn.params.ConnPerRouteBean
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.params.<A HREF="../../../../reference/org/apache/http/conn/params/ConnPerRouteBean.html" target="_top"><font size="+2"><code>ConnPerRouteBean</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/22/changes/org.apache.http.conn.params.ConnRoutePNames.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnRoutePNames.html
new file mode 100644
index 0000000..bac5439
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnRoutePNames.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>
+org.apache.http.conn.params.ConnRoutePNames
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.params.<A HREF="../../../../reference/org/apache/http/conn/params/ConnRoutePNames.html" target="_top"><font size="+2"><code>ConnRoutePNames</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/22/changes/org.apache.http.conn.params.ConnRouteParamBean.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnRouteParamBean.html
new file mode 100644
index 0000000..6126285
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnRouteParamBean.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>
+org.apache.http.conn.params.ConnRouteParamBean
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.params.<A HREF="../../../../reference/org/apache/http/conn/params/ConnRouteParamBean.html" target="_top"><font size="+2"><code>ConnRouteParamBean</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/22/changes/org.apache.http.conn.params.ConnRouteParams.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnRouteParams.html
new file mode 100644
index 0000000..d19ab5e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.params.ConnRouteParams.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>
+org.apache.http.conn.params.ConnRouteParams
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.params.<A HREF="../../../../reference/org/apache/http/conn/params/ConnRouteParams.html" target="_top"><font size="+2"><code>ConnRouteParams</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/22/changes/org.apache.http.conn.routing.BasicRouteDirector.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.routing.BasicRouteDirector.html
new file mode 100644
index 0000000..5d8dadc
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.routing.BasicRouteDirector.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>
+org.apache.http.conn.routing.BasicRouteDirector
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.routing.<A HREF="../../../../reference/org/apache/http/conn/routing/BasicRouteDirector.html" target="_top"><font size="+2"><code>BasicRouteDirector</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/22/changes/org.apache.http.conn.routing.HttpRoute.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.routing.HttpRoute.html
new file mode 100644
index 0000000..f5929cc
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.routing.HttpRoute.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>
+org.apache.http.conn.routing.HttpRoute
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.routing.<A HREF="../../../../reference/org/apache/http/conn/routing/HttpRoute.html" target="_top"><font size="+2"><code>HttpRoute</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/22/changes/org.apache.http.conn.routing.HttpRouteDirector.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.routing.HttpRouteDirector.html
new file mode 100644
index 0000000..ab62b73
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.routing.HttpRouteDirector.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>
+org.apache.http.conn.routing.HttpRouteDirector
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.routing.<A HREF="../../../../reference/org/apache/http/conn/routing/HttpRouteDirector.html" target="_top"><font size="+2"><code>HttpRouteDirector</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/22/changes/org.apache.http.conn.routing.HttpRoutePlanner.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.routing.HttpRoutePlanner.html
new file mode 100644
index 0000000..ce31210
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.routing.HttpRoutePlanner.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>
+org.apache.http.conn.routing.HttpRoutePlanner
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.routing.<A HREF="../../../../reference/org/apache/http/conn/routing/HttpRoutePlanner.html" target="_top"><font size="+2"><code>HttpRoutePlanner</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/22/changes/org.apache.http.conn.routing.RouteInfo.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.routing.RouteInfo.html
new file mode 100644
index 0000000..5bb0286
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.routing.RouteInfo.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>
+org.apache.http.conn.routing.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.routing.<A HREF="../../../../reference/org/apache/http/conn/routing/RouteInfo.html" target="_top"><font size="+2"><code>RouteInfo</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/22/changes/org.apache.http.conn.routing.RouteTracker.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.routing.RouteTracker.html
new file mode 100644
index 0000000..cba89bf
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.routing.RouteTracker.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>
+org.apache.http.conn.routing.RouteTracker
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.routing.<A HREF="../../../../reference/org/apache/http/conn/routing/RouteTracker.html" target="_top"><font size="+2"><code>RouteTracker</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/22/changes/org.apache.http.conn.scheme.HostNameResolver.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.scheme.HostNameResolver.html
new file mode 100644
index 0000000..5728532
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.scheme.HostNameResolver.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>
+org.apache.http.conn.scheme.HostNameResolver
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.scheme.<A HREF="../../../../reference/org/apache/http/conn/scheme/HostNameResolver.html" target="_top"><font size="+2"><code>HostNameResolver</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/22/changes/org.apache.http.conn.scheme.LayeredSocketFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.scheme.LayeredSocketFactory.html
new file mode 100644
index 0000000..c21c29f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.scheme.LayeredSocketFactory.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>
+org.apache.http.conn.scheme.LayeredSocketFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.scheme.<A HREF="../../../../reference/org/apache/http/conn/scheme/LayeredSocketFactory.html" target="_top"><font size="+2"><code>LayeredSocketFactory</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/22/changes/org.apache.http.conn.scheme.PlainSocketFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.scheme.PlainSocketFactory.html
new file mode 100644
index 0000000..1baa6cd
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.scheme.PlainSocketFactory.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>
+org.apache.http.conn.scheme.PlainSocketFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.scheme.<A HREF="../../../../reference/org/apache/http/conn/scheme/PlainSocketFactory.html" target="_top"><font size="+2"><code>PlainSocketFactory</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/22/changes/org.apache.http.conn.scheme.Scheme.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.scheme.Scheme.html
new file mode 100644
index 0000000..82dcbf8
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.scheme.Scheme.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>
+org.apache.http.conn.scheme.Scheme
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.scheme.<A HREF="../../../../reference/org/apache/http/conn/scheme/Scheme.html" target="_top"><font size="+2"><code>Scheme</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/22/changes/org.apache.http.conn.scheme.SchemeRegistry.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.scheme.SchemeRegistry.html
new file mode 100644
index 0000000..6f3e3b6
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.scheme.SchemeRegistry.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>
+org.apache.http.conn.scheme.SchemeRegistry
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.scheme.<A HREF="../../../../reference/org/apache/http/conn/scheme/SchemeRegistry.html" target="_top"><font size="+2"><code>SchemeRegistry</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/22/changes/org.apache.http.conn.scheme.SocketFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.scheme.SocketFactory.html
new file mode 100644
index 0000000..e3a7f47
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.scheme.SocketFactory.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>
+org.apache.http.conn.scheme.SocketFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.scheme.<A HREF="../../../../reference/org/apache/http/conn/scheme/SocketFactory.html" target="_top"><font size="+2"><code>SocketFactory</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/22/changes/org.apache.http.conn.ssl.AbstractVerifier.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ssl.AbstractVerifier.html
new file mode 100644
index 0000000..dbfbde3
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ssl.AbstractVerifier.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>
+org.apache.http.conn.ssl.AbstractVerifier
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.ssl.<A HREF="../../../../reference/org/apache/http/conn/ssl/AbstractVerifier.html" target="_top"><font size="+2"><code>AbstractVerifier</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/22/changes/org.apache.http.conn.ssl.AllowAllHostnameVerifier.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ssl.AllowAllHostnameVerifier.html
new file mode 100644
index 0000000..a4e7757
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ssl.AllowAllHostnameVerifier.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>
+org.apache.http.conn.ssl.AllowAllHostnameVerifier
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.ssl.<A HREF="../../../../reference/org/apache/http/conn/ssl/AllowAllHostnameVerifier.html" target="_top"><font size="+2"><code>AllowAllHostnameVerifier</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/22/changes/org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.html
new file mode 100644
index 0000000..481490c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.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>
+org.apache.http.conn.ssl.BrowserCompatHostnameVerifier
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.ssl.<A HREF="../../../../reference/org/apache/http/conn/ssl/BrowserCompatHostnameVerifier.html" target="_top"><font size="+2"><code>BrowserCompatHostnameVerifier</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/22/changes/org.apache.http.conn.ssl.SSLSocketFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ssl.SSLSocketFactory.html
new file mode 100644
index 0000000..817391c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ssl.SSLSocketFactory.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>
+org.apache.http.conn.ssl.SSLSocketFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.ssl.<A HREF="../../../../reference/org/apache/http/conn/ssl/SSLSocketFactory.html" target="_top"><font size="+2"><code>SSLSocketFactory</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/22/changes/org.apache.http.conn.ssl.StrictHostnameVerifier.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ssl.StrictHostnameVerifier.html
new file mode 100644
index 0000000..9cc2220
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ssl.StrictHostnameVerifier.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>
+org.apache.http.conn.ssl.StrictHostnameVerifier
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.ssl.<A HREF="../../../../reference/org/apache/http/conn/ssl/StrictHostnameVerifier.html" target="_top"><font size="+2"><code>StrictHostnameVerifier</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/22/changes/org.apache.http.conn.ssl.X509HostnameVerifier.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ssl.X509HostnameVerifier.html
new file mode 100644
index 0000000..f7b51ec
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.ssl.X509HostnameVerifier.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>
+org.apache.http.conn.ssl.X509HostnameVerifier
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.conn.ssl.<A HREF="../../../../reference/org/apache/http/conn/ssl/X509HostnameVerifier.html" target="_top"><font size="+2"><code>X509HostnameVerifier</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/22/changes/org.apache.http.conn.util.InetAddressUtils.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.util.InetAddressUtils.html
new file mode 100644
index 0000000..3d803fc
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.conn.util.InetAddressUtils.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>
+org.apache.http.conn.util.InetAddressUtils
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.conn.util.<A HREF="../../../../reference/org/apache/http/conn/util/InetAddressUtils.html" target="_top"><font size="+2"><code>InetAddressUtils</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/22/changes/org.apache.http.cookie.ClientCookie.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.ClientCookie.html
new file mode 100644
index 0000000..2362640
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.ClientCookie.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>
+org.apache.http.cookie.ClientCookie
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.cookie.<A HREF="../../../../reference/org/apache/http/cookie/ClientCookie.html" target="_top"><font size="+2"><code>ClientCookie</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/22/changes/org.apache.http.cookie.Cookie.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.Cookie.html
new file mode 100644
index 0000000..b53b289
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.Cookie.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>
+org.apache.http.cookie.Cookie
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.cookie.<A HREF="../../../../reference/org/apache/http/cookie/Cookie.html" target="_top"><font size="+2"><code>Cookie</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/22/changes/org.apache.http.cookie.CookieAttributeHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.CookieAttributeHandler.html
new file mode 100644
index 0000000..56be90c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.CookieAttributeHandler.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>
+org.apache.http.cookie.CookieAttributeHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.cookie.<A HREF="../../../../reference/org/apache/http/cookie/CookieAttributeHandler.html" target="_top"><font size="+2"><code>CookieAttributeHandler</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/22/changes/org.apache.http.cookie.CookieIdentityComparator.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.CookieIdentityComparator.html
new file mode 100644
index 0000000..062248a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.CookieIdentityComparator.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>
+org.apache.http.cookie.CookieIdentityComparator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.cookie.<A HREF="../../../../reference/org/apache/http/cookie/CookieIdentityComparator.html" target="_top"><font size="+2"><code>CookieIdentityComparator</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/22/changes/org.apache.http.cookie.CookieOrigin.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.CookieOrigin.html
new file mode 100644
index 0000000..1282472
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.CookieOrigin.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>
+org.apache.http.cookie.CookieOrigin
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.cookie.<A HREF="../../../../reference/org/apache/http/cookie/CookieOrigin.html" target="_top"><font size="+2"><code>CookieOrigin</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/22/changes/org.apache.http.cookie.CookiePathComparator.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.CookiePathComparator.html
new file mode 100644
index 0000000..98aa641
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.CookiePathComparator.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>
+org.apache.http.cookie.CookiePathComparator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.cookie.<A HREF="../../../../reference/org/apache/http/cookie/CookiePathComparator.html" target="_top"><font size="+2"><code>CookiePathComparator</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/22/changes/org.apache.http.cookie.CookieSpec.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.CookieSpec.html
new file mode 100644
index 0000000..34b552a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.CookieSpec.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>
+org.apache.http.cookie.CookieSpec
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.cookie.<A HREF="../../../../reference/org/apache/http/cookie/CookieSpec.html" target="_top"><font size="+2"><code>CookieSpec</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/22/changes/org.apache.http.cookie.CookieSpecFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.CookieSpecFactory.html
new file mode 100644
index 0000000..a194d39
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.CookieSpecFactory.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>
+org.apache.http.cookie.CookieSpecFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.cookie.<A HREF="../../../../reference/org/apache/http/cookie/CookieSpecFactory.html" target="_top"><font size="+2"><code>CookieSpecFactory</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/22/changes/org.apache.http.cookie.CookieSpecRegistry.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.CookieSpecRegistry.html
new file mode 100644
index 0000000..c203bc4
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.CookieSpecRegistry.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>
+org.apache.http.cookie.CookieSpecRegistry
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.cookie.<A HREF="../../../../reference/org/apache/http/cookie/CookieSpecRegistry.html" target="_top"><font size="+2"><code>CookieSpecRegistry</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/22/changes/org.apache.http.cookie.MalformedCookieException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.MalformedCookieException.html
new file mode 100644
index 0000000..2498676
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.MalformedCookieException.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>
+org.apache.http.cookie.MalformedCookieException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.cookie.<A HREF="../../../../reference/org/apache/http/cookie/MalformedCookieException.html" target="_top"><font size="+2"><code>MalformedCookieException</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/22/changes/org.apache.http.cookie.SM.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.SM.html
new file mode 100644
index 0000000..d2a7d0b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.SM.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>
+org.apache.http.cookie.SM
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.cookie.<A HREF="../../../../reference/org/apache/http/cookie/SM.html" target="_top"><font size="+2"><code>SM</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/22/changes/org.apache.http.cookie.SetCookie.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.SetCookie.html
new file mode 100644
index 0000000..698b935
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.SetCookie.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>
+org.apache.http.cookie.SetCookie
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.cookie.<A HREF="../../../../reference/org/apache/http/cookie/SetCookie.html" target="_top"><font size="+2"><code>SetCookie</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/22/changes/org.apache.http.cookie.SetCookie2.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.SetCookie2.html
new file mode 100644
index 0000000..29f2f74
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.SetCookie2.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>
+org.apache.http.cookie.SetCookie2
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.cookie.<A HREF="../../../../reference/org/apache/http/cookie/SetCookie2.html" target="_top"><font size="+2"><code>SetCookie2</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/22/changes/org.apache.http.cookie.params.CookieSpecPNames.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.params.CookieSpecPNames.html
new file mode 100644
index 0000000..e70724f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.params.CookieSpecPNames.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>
+org.apache.http.cookie.params.CookieSpecPNames
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.cookie.params.<A HREF="../../../../reference/org/apache/http/cookie/params/CookieSpecPNames.html" target="_top"><font size="+2"><code>CookieSpecPNames</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/22/changes/org.apache.http.cookie.params.CookieSpecParamBean.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.params.CookieSpecParamBean.html
new file mode 100644
index 0000000..bc0e4d9
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.cookie.params.CookieSpecParamBean.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>
+org.apache.http.cookie.params.CookieSpecParamBean
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.cookie.params.<A HREF="../../../../reference/org/apache/http/cookie/params/CookieSpecParamBean.html" target="_top"><font size="+2"><code>CookieSpecParamBean</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/22/changes/org.apache.http.entity.AbstractHttpEntity.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.AbstractHttpEntity.html
new file mode 100644
index 0000000..a042fbd
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.AbstractHttpEntity.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>
+org.apache.http.entity.AbstractHttpEntity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.entity.<A HREF="../../../../reference/org/apache/http/entity/AbstractHttpEntity.html" target="_top"><font size="+2"><code>AbstractHttpEntity</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/22/changes/org.apache.http.entity.BasicHttpEntity.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.BasicHttpEntity.html
new file mode 100644
index 0000000..14e92c5
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.BasicHttpEntity.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>
+org.apache.http.entity.BasicHttpEntity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.entity.<A HREF="../../../../reference/org/apache/http/entity/BasicHttpEntity.html" target="_top"><font size="+2"><code>BasicHttpEntity</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/22/changes/org.apache.http.entity.BufferedHttpEntity.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.BufferedHttpEntity.html
new file mode 100644
index 0000000..f0b3a76
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.BufferedHttpEntity.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>
+org.apache.http.entity.BufferedHttpEntity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.entity.<A HREF="../../../../reference/org/apache/http/entity/BufferedHttpEntity.html" target="_top"><font size="+2"><code>BufferedHttpEntity</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/22/changes/org.apache.http.entity.ByteArrayEntity.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.ByteArrayEntity.html
new file mode 100644
index 0000000..6816760
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.ByteArrayEntity.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>
+org.apache.http.entity.ByteArrayEntity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.entity.<A HREF="../../../../reference/org/apache/http/entity/ByteArrayEntity.html" target="_top"><font size="+2"><code>ByteArrayEntity</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/22/changes/org.apache.http.entity.ContentLengthStrategy.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.ContentLengthStrategy.html
new file mode 100644
index 0000000..999d420
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.ContentLengthStrategy.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>
+org.apache.http.entity.ContentLengthStrategy
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.entity.<A HREF="../../../../reference/org/apache/http/entity/ContentLengthStrategy.html" target="_top"><font size="+2"><code>ContentLengthStrategy</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/22/changes/org.apache.http.entity.ContentProducer.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.ContentProducer.html
new file mode 100644
index 0000000..8c63125
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.ContentProducer.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>
+org.apache.http.entity.ContentProducer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.entity.<A HREF="../../../../reference/org/apache/http/entity/ContentProducer.html" target="_top"><font size="+2"><code>ContentProducer</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/22/changes/org.apache.http.entity.EntityTemplate.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.EntityTemplate.html
new file mode 100644
index 0000000..704e69f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.EntityTemplate.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>
+org.apache.http.entity.EntityTemplate
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.entity.<A HREF="../../../../reference/org/apache/http/entity/EntityTemplate.html" target="_top"><font size="+2"><code>EntityTemplate</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/22/changes/org.apache.http.entity.FileEntity.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.FileEntity.html
new file mode 100644
index 0000000..f52b6f5
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.FileEntity.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>
+org.apache.http.entity.FileEntity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.entity.<A HREF="../../../../reference/org/apache/http/entity/FileEntity.html" target="_top"><font size="+2"><code>FileEntity</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/22/changes/org.apache.http.entity.HttpEntityWrapper.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.HttpEntityWrapper.html
new file mode 100644
index 0000000..7d1eade
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.HttpEntityWrapper.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>
+org.apache.http.entity.HttpEntityWrapper
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.entity.<A HREF="../../../../reference/org/apache/http/entity/HttpEntityWrapper.html" target="_top"><font size="+2"><code>HttpEntityWrapper</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/22/changes/org.apache.http.entity.InputStreamEntity.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.InputStreamEntity.html
new file mode 100644
index 0000000..268ceff
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.InputStreamEntity.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>
+org.apache.http.entity.InputStreamEntity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.entity.<A HREF="../../../../reference/org/apache/http/entity/InputStreamEntity.html" target="_top"><font size="+2"><code>InputStreamEntity</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/22/changes/org.apache.http.entity.SerializableEntity.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.SerializableEntity.html
new file mode 100644
index 0000000..6813f9a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.SerializableEntity.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>
+org.apache.http.entity.SerializableEntity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.entity.<A HREF="../../../../reference/org/apache/http/entity/SerializableEntity.html" target="_top"><font size="+2"><code>SerializableEntity</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/22/changes/org.apache.http.entity.StringEntity.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.StringEntity.html
new file mode 100644
index 0000000..36d8e51
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.entity.StringEntity.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>
+org.apache.http.entity.StringEntity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.entity.<A HREF="../../../../reference/org/apache/http/entity/StringEntity.html" target="_top"><font size="+2"><code>StringEntity</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/22/changes/org.apache.http.impl.AbstractHttpClientConnection.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.AbstractHttpClientConnection.html
new file mode 100644
index 0000000..26aa535
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.AbstractHttpClientConnection.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>
+org.apache.http.impl.AbstractHttpClientConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.<A HREF="../../../../reference/org/apache/http/impl/AbstractHttpClientConnection.html" target="_top"><font size="+2"><code>AbstractHttpClientConnection</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/22/changes/org.apache.http.impl.AbstractHttpServerConnection.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.AbstractHttpServerConnection.html
new file mode 100644
index 0000000..cd911ca
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.AbstractHttpServerConnection.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>
+org.apache.http.impl.AbstractHttpServerConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.<A HREF="../../../../reference/org/apache/http/impl/AbstractHttpServerConnection.html" target="_top"><font size="+2"><code>AbstractHttpServerConnection</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/22/changes/org.apache.http.impl.DefaultConnectionReuseStrategy.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.DefaultConnectionReuseStrategy.html
new file mode 100644
index 0000000..3345907
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.DefaultConnectionReuseStrategy.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>
+org.apache.http.impl.DefaultConnectionReuseStrategy
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.<A HREF="../../../../reference/org/apache/http/impl/DefaultConnectionReuseStrategy.html" target="_top"><font size="+2"><code>DefaultConnectionReuseStrategy</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/22/changes/org.apache.http.impl.DefaultHttpClientConnection.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.DefaultHttpClientConnection.html
new file mode 100644
index 0000000..070a803
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.DefaultHttpClientConnection.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>
+org.apache.http.impl.DefaultHttpClientConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.<A HREF="../../../../reference/org/apache/http/impl/DefaultHttpClientConnection.html" target="_top"><font size="+2"><code>DefaultHttpClientConnection</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/22/changes/org.apache.http.impl.DefaultHttpRequestFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.DefaultHttpRequestFactory.html
new file mode 100644
index 0000000..d29c1aa
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.DefaultHttpRequestFactory.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>
+org.apache.http.impl.DefaultHttpRequestFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.<A HREF="../../../../reference/org/apache/http/impl/DefaultHttpRequestFactory.html" target="_top"><font size="+2"><code>DefaultHttpRequestFactory</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/22/changes/org.apache.http.impl.DefaultHttpResponseFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.DefaultHttpResponseFactory.html
new file mode 100644
index 0000000..18f64ba
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.DefaultHttpResponseFactory.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>
+org.apache.http.impl.DefaultHttpResponseFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.<A HREF="../../../../reference/org/apache/http/impl/DefaultHttpResponseFactory.html" target="_top"><font size="+2"><code>DefaultHttpResponseFactory</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/22/changes/org.apache.http.impl.DefaultHttpServerConnection.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.DefaultHttpServerConnection.html
new file mode 100644
index 0000000..ac54433
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.DefaultHttpServerConnection.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>
+org.apache.http.impl.DefaultHttpServerConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.<A HREF="../../../../reference/org/apache/http/impl/DefaultHttpServerConnection.html" target="_top"><font size="+2"><code>DefaultHttpServerConnection</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/22/changes/org.apache.http.impl.EnglishReasonPhraseCatalog.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.EnglishReasonPhraseCatalog.html
new file mode 100644
index 0000000..d3cfd62
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.EnglishReasonPhraseCatalog.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>
+org.apache.http.impl.EnglishReasonPhraseCatalog
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.<A HREF="../../../../reference/org/apache/http/impl/EnglishReasonPhraseCatalog.html" target="_top"><font size="+2"><code>EnglishReasonPhraseCatalog</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/22/changes/org.apache.http.impl.HttpConnectionMetricsImpl.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.HttpConnectionMetricsImpl.html
new file mode 100644
index 0000000..03e8a1d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.HttpConnectionMetricsImpl.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>
+org.apache.http.impl.HttpConnectionMetricsImpl
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.<A HREF="../../../../reference/org/apache/http/impl/HttpConnectionMetricsImpl.html" target="_top"><font size="+2"><code>HttpConnectionMetricsImpl</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/22/changes/org.apache.http.impl.NoConnectionReuseStrategy.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.NoConnectionReuseStrategy.html
new file mode 100644
index 0000000..6d303c0
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.NoConnectionReuseStrategy.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>
+org.apache.http.impl.NoConnectionReuseStrategy
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.<A HREF="../../../../reference/org/apache/http/impl/NoConnectionReuseStrategy.html" target="_top"><font size="+2"><code>NoConnectionReuseStrategy</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/22/changes/org.apache.http.impl.SocketHttpClientConnection.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.SocketHttpClientConnection.html
new file mode 100644
index 0000000..1a6cb0e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.SocketHttpClientConnection.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>
+org.apache.http.impl.SocketHttpClientConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.<A HREF="../../../../reference/org/apache/http/impl/SocketHttpClientConnection.html" target="_top"><font size="+2"><code>SocketHttpClientConnection</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/22/changes/org.apache.http.impl.SocketHttpServerConnection.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.SocketHttpServerConnection.html
new file mode 100644
index 0000000..4a33581
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.SocketHttpServerConnection.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>
+org.apache.http.impl.SocketHttpServerConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.<A HREF="../../../../reference/org/apache/http/impl/SocketHttpServerConnection.html" target="_top"><font size="+2"><code>SocketHttpServerConnection</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/22/changes/org.apache.http.impl.auth.AuthSchemeBase.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.AuthSchemeBase.html
new file mode 100644
index 0000000..34ea1e3
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.AuthSchemeBase.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>
+org.apache.http.impl.auth.AuthSchemeBase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.auth.<A HREF="../../../../reference/org/apache/http/impl/auth/AuthSchemeBase.html" target="_top"><font size="+2"><code>AuthSchemeBase</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/22/changes/org.apache.http.impl.auth.BasicScheme.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.BasicScheme.html
new file mode 100644
index 0000000..9751d52
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.BasicScheme.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>
+org.apache.http.impl.auth.BasicScheme
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.auth.<A HREF="../../../../reference/org/apache/http/impl/auth/BasicScheme.html" target="_top"><font size="+2"><code>BasicScheme</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/22/changes/org.apache.http.impl.auth.BasicSchemeFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.BasicSchemeFactory.html
new file mode 100644
index 0000000..889568a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.BasicSchemeFactory.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>
+org.apache.http.impl.auth.BasicSchemeFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.auth.<A HREF="../../../../reference/org/apache/http/impl/auth/BasicSchemeFactory.html" target="_top"><font size="+2"><code>BasicSchemeFactory</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/22/changes/org.apache.http.impl.auth.DigestScheme.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.DigestScheme.html
new file mode 100644
index 0000000..179d32a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.DigestScheme.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>
+org.apache.http.impl.auth.DigestScheme
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.auth.<A HREF="../../../../reference/org/apache/http/impl/auth/DigestScheme.html" target="_top"><font size="+2"><code>DigestScheme</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/22/changes/org.apache.http.impl.auth.DigestSchemeFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.DigestSchemeFactory.html
new file mode 100644
index 0000000..142ed59e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.DigestSchemeFactory.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>
+org.apache.http.impl.auth.DigestSchemeFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.auth.<A HREF="../../../../reference/org/apache/http/impl/auth/DigestSchemeFactory.html" target="_top"><font size="+2"><code>DigestSchemeFactory</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/22/changes/org.apache.http.impl.auth.NTLMEngine.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.NTLMEngine.html
new file mode 100644
index 0000000..9bd3565
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.NTLMEngine.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>
+org.apache.http.impl.auth.NTLMEngine
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.impl.auth.<A HREF="../../../../reference/org/apache/http/impl/auth/NTLMEngine.html" target="_top"><font size="+2"><code>NTLMEngine</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/22/changes/org.apache.http.impl.auth.NTLMEngineException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.NTLMEngineException.html
new file mode 100644
index 0000000..2298d94
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.NTLMEngineException.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>
+org.apache.http.impl.auth.NTLMEngineException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.auth.<A HREF="../../../../reference/org/apache/http/impl/auth/NTLMEngineException.html" target="_top"><font size="+2"><code>NTLMEngineException</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/22/changes/org.apache.http.impl.auth.NTLMScheme.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.NTLMScheme.html
new file mode 100644
index 0000000..3fbf4ab
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.NTLMScheme.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>
+org.apache.http.impl.auth.NTLMScheme
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.auth.<A HREF="../../../../reference/org/apache/http/impl/auth/NTLMScheme.html" target="_top"><font size="+2"><code>NTLMScheme</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/22/changes/org.apache.http.impl.auth.RFC2617Scheme.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.RFC2617Scheme.html
new file mode 100644
index 0000000..f864d46
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.RFC2617Scheme.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>
+org.apache.http.impl.auth.RFC2617Scheme
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.auth.<A HREF="../../../../reference/org/apache/http/impl/auth/RFC2617Scheme.html" target="_top"><font size="+2"><code>RFC2617Scheme</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/22/changes/org.apache.http.impl.auth.UnsupportedDigestAlgorithmException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.UnsupportedDigestAlgorithmException.html
new file mode 100644
index 0000000..31003c6
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.auth.UnsupportedDigestAlgorithmException.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>
+org.apache.http.impl.auth.UnsupportedDigestAlgorithmException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.auth.<A HREF="../../../../reference/org/apache/http/impl/auth/UnsupportedDigestAlgorithmException.html" target="_top"><font size="+2"><code>UnsupportedDigestAlgorithmException</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/22/changes/org.apache.http.impl.client.AbstractAuthenticationHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.AbstractAuthenticationHandler.html
new file mode 100644
index 0000000..35cec7b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.AbstractAuthenticationHandler.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>
+org.apache.http.impl.client.AbstractAuthenticationHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/AbstractAuthenticationHandler.html" target="_top"><font size="+2"><code>AbstractAuthenticationHandler</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/22/changes/org.apache.http.impl.client.AbstractHttpClient.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.AbstractHttpClient.html
new file mode 100644
index 0000000..ccac2da
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.AbstractHttpClient.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>
+org.apache.http.impl.client.AbstractHttpClient
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/AbstractHttpClient.html" target="_top"><font size="+2"><code>AbstractHttpClient</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/22/changes/org.apache.http.impl.client.BasicCookieStore.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.BasicCookieStore.html
new file mode 100644
index 0000000..fbc423e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.BasicCookieStore.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>
+org.apache.http.impl.client.BasicCookieStore
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/BasicCookieStore.html" target="_top"><font size="+2"><code>BasicCookieStore</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/22/changes/org.apache.http.impl.client.BasicCredentialsProvider.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.BasicCredentialsProvider.html
new file mode 100644
index 0000000..e3aea97
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.BasicCredentialsProvider.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>
+org.apache.http.impl.client.BasicCredentialsProvider
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/BasicCredentialsProvider.html" target="_top"><font size="+2"><code>BasicCredentialsProvider</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/22/changes/org.apache.http.impl.client.BasicResponseHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.BasicResponseHandler.html
new file mode 100644
index 0000000..8d94911
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.BasicResponseHandler.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>
+org.apache.http.impl.client.BasicResponseHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/BasicResponseHandler.html" target="_top"><font size="+2"><code>BasicResponseHandler</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/22/changes/org.apache.http.impl.client.ClientParamsStack.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.ClientParamsStack.html
new file mode 100644
index 0000000..99303ae
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.ClientParamsStack.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>
+org.apache.http.impl.client.ClientParamsStack
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/ClientParamsStack.html" target="_top"><font size="+2"><code>ClientParamsStack</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/22/changes/org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy.html
new file mode 100644
index 0000000..02b0517
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy.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>
+org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/DefaultConnectionKeepAliveStrategy.html" target="_top"><font size="+2"><code>DefaultConnectionKeepAliveStrategy</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/22/changes/org.apache.http.impl.client.DefaultHttpClient.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.DefaultHttpClient.html
new file mode 100644
index 0000000..2fbb8f2
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.DefaultHttpClient.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>
+org.apache.http.impl.client.DefaultHttpClient
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/DefaultHttpClient.html" target="_top"><font size="+2"><code>DefaultHttpClient</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/22/changes/org.apache.http.impl.client.DefaultHttpRequestRetryHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.DefaultHttpRequestRetryHandler.html
new file mode 100644
index 0000000..78ecef0
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.DefaultHttpRequestRetryHandler.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>
+org.apache.http.impl.client.DefaultHttpRequestRetryHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/DefaultHttpRequestRetryHandler.html" target="_top"><font size="+2"><code>DefaultHttpRequestRetryHandler</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/22/changes/org.apache.http.impl.client.DefaultProxyAuthenticationHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.DefaultProxyAuthenticationHandler.html
new file mode 100644
index 0000000..ab2886f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.DefaultProxyAuthenticationHandler.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>
+org.apache.http.impl.client.DefaultProxyAuthenticationHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/DefaultProxyAuthenticationHandler.html" target="_top"><font size="+2"><code>DefaultProxyAuthenticationHandler</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/22/changes/org.apache.http.impl.client.DefaultRedirectHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.DefaultRedirectHandler.html
new file mode 100644
index 0000000..61b7707
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.DefaultRedirectHandler.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>
+org.apache.http.impl.client.DefaultRedirectHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/DefaultRedirectHandler.html" target="_top"><font size="+2"><code>DefaultRedirectHandler</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/22/changes/org.apache.http.impl.client.DefaultRequestDirector.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.DefaultRequestDirector.html
new file mode 100644
index 0000000..cc3e36e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.DefaultRequestDirector.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>
+org.apache.http.impl.client.DefaultRequestDirector
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/DefaultRequestDirector.html" target="_top"><font size="+2"><code>DefaultRequestDirector</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/22/changes/org.apache.http.impl.client.DefaultTargetAuthenticationHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.DefaultTargetAuthenticationHandler.html
new file mode 100644
index 0000000..e14bf5d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.DefaultTargetAuthenticationHandler.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>
+org.apache.http.impl.client.DefaultTargetAuthenticationHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/DefaultTargetAuthenticationHandler.html" target="_top"><font size="+2"><code>DefaultTargetAuthenticationHandler</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/22/changes/org.apache.http.impl.client.DefaultUserTokenHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.DefaultUserTokenHandler.html
new file mode 100644
index 0000000..933309f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.DefaultUserTokenHandler.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>
+org.apache.http.impl.client.DefaultUserTokenHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/DefaultUserTokenHandler.html" target="_top"><font size="+2"><code>DefaultUserTokenHandler</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/22/changes/org.apache.http.impl.client.EntityEnclosingRequestWrapper.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.EntityEnclosingRequestWrapper.html
new file mode 100644
index 0000000..4a58dbc
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.EntityEnclosingRequestWrapper.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>
+org.apache.http.impl.client.EntityEnclosingRequestWrapper
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/EntityEnclosingRequestWrapper.html" target="_top"><font size="+2"><code>EntityEnclosingRequestWrapper</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/22/changes/org.apache.http.impl.client.RedirectLocations.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.RedirectLocations.html
new file mode 100644
index 0000000..3cbb28a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.RedirectLocations.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>
+org.apache.http.impl.client.RedirectLocations
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/RedirectLocations.html" target="_top"><font size="+2"><code>RedirectLocations</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/22/changes/org.apache.http.impl.client.RequestWrapper.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.RequestWrapper.html
new file mode 100644
index 0000000..b4fd112
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.RequestWrapper.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>
+org.apache.http.impl.client.RequestWrapper
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/RequestWrapper.html" target="_top"><font size="+2"><code>RequestWrapper</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/22/changes/org.apache.http.impl.client.RoutedRequest.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.RoutedRequest.html
new file mode 100644
index 0000000..a5e2b92
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.RoutedRequest.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>
+org.apache.http.impl.client.RoutedRequest
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/RoutedRequest.html" target="_top"><font size="+2"><code>RoutedRequest</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/22/changes/org.apache.http.impl.client.TunnelRefusedException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.TunnelRefusedException.html
new file mode 100644
index 0000000..ecee413
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.client.TunnelRefusedException.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>
+org.apache.http.impl.client.TunnelRefusedException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.client.<A HREF="../../../../reference/org/apache/http/impl/client/TunnelRefusedException.html" target="_top"><font size="+2"><code>TunnelRefusedException</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/22/changes/org.apache.http.impl.conn.AbstractClientConnAdapter.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.AbstractClientConnAdapter.html
new file mode 100644
index 0000000..d7eb1ee
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.AbstractClientConnAdapter.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>
+org.apache.http.impl.conn.AbstractClientConnAdapter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.<A HREF="../../../../reference/org/apache/http/impl/conn/AbstractClientConnAdapter.html" target="_top"><font size="+2"><code>AbstractClientConnAdapter</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/22/changes/org.apache.http.impl.conn.AbstractPoolEntry.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.AbstractPoolEntry.html
new file mode 100644
index 0000000..a45a9c3
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.AbstractPoolEntry.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>
+org.apache.http.impl.conn.AbstractPoolEntry
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.<A HREF="../../../../reference/org/apache/http/impl/conn/AbstractPoolEntry.html" target="_top"><font size="+2"><code>AbstractPoolEntry</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/22/changes/org.apache.http.impl.conn.AbstractPooledConnAdapter.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.AbstractPooledConnAdapter.html
new file mode 100644
index 0000000..795811e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.AbstractPooledConnAdapter.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>
+org.apache.http.impl.conn.AbstractPooledConnAdapter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.<A HREF="../../../../reference/org/apache/http/impl/conn/AbstractPooledConnAdapter.html" target="_top"><font size="+2"><code>AbstractPooledConnAdapter</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/22/changes/org.apache.http.impl.conn.DefaultClientConnection.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.DefaultClientConnection.html
new file mode 100644
index 0000000..50d72fe
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.DefaultClientConnection.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>
+org.apache.http.impl.conn.DefaultClientConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.<A HREF="../../../../reference/org/apache/http/impl/conn/DefaultClientConnection.html" target="_top"><font size="+2"><code>DefaultClientConnection</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/22/changes/org.apache.http.impl.conn.DefaultClientConnectionOperator.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.DefaultClientConnectionOperator.html
new file mode 100644
index 0000000..a961ee7
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.DefaultClientConnectionOperator.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>
+org.apache.http.impl.conn.DefaultClientConnectionOperator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.<A HREF="../../../../reference/org/apache/http/impl/conn/DefaultClientConnectionOperator.html" target="_top"><font size="+2"><code>DefaultClientConnectionOperator</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/22/changes/org.apache.http.impl.conn.DefaultHttpRoutePlanner.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.DefaultHttpRoutePlanner.html
new file mode 100644
index 0000000..afb4f8a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.DefaultHttpRoutePlanner.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>
+org.apache.http.impl.conn.DefaultHttpRoutePlanner
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.<A HREF="../../../../reference/org/apache/http/impl/conn/DefaultHttpRoutePlanner.html" target="_top"><font size="+2"><code>DefaultHttpRoutePlanner</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/22/changes/org.apache.http.impl.conn.DefaultResponseParser.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.DefaultResponseParser.html
new file mode 100644
index 0000000..3a690c8
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.DefaultResponseParser.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>
+org.apache.http.impl.conn.DefaultResponseParser
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.<A HREF="../../../../reference/org/apache/http/impl/conn/DefaultResponseParser.html" target="_top"><font size="+2"><code>DefaultResponseParser</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/22/changes/org.apache.http.impl.conn.IdleConnectionHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.IdleConnectionHandler.html
new file mode 100644
index 0000000..a57ba32
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.IdleConnectionHandler.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>
+org.apache.http.impl.conn.IdleConnectionHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.<A HREF="../../../../reference/org/apache/http/impl/conn/IdleConnectionHandler.html" target="_top"><font size="+2"><code>IdleConnectionHandler</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/22/changes/org.apache.http.impl.conn.LoggingSessionInputBuffer.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.LoggingSessionInputBuffer.html
new file mode 100644
index 0000000..9dfe295
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.LoggingSessionInputBuffer.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>
+org.apache.http.impl.conn.LoggingSessionInputBuffer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.<A HREF="../../../../reference/org/apache/http/impl/conn/LoggingSessionInputBuffer.html" target="_top"><font size="+2"><code>LoggingSessionInputBuffer</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/22/changes/org.apache.http.impl.conn.LoggingSessionOutputBuffer.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.LoggingSessionOutputBuffer.html
new file mode 100644
index 0000000..2cb11c9
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.LoggingSessionOutputBuffer.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>
+org.apache.http.impl.conn.LoggingSessionOutputBuffer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.<A HREF="../../../../reference/org/apache/http/impl/conn/LoggingSessionOutputBuffer.html" target="_top"><font size="+2"><code>LoggingSessionOutputBuffer</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/22/changes/org.apache.http.impl.conn.ProxySelectorRoutePlanner.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.ProxySelectorRoutePlanner.html
new file mode 100644
index 0000000..81dd70d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.ProxySelectorRoutePlanner.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>
+org.apache.http.impl.conn.ProxySelectorRoutePlanner
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.<A HREF="../../../../reference/org/apache/http/impl/conn/ProxySelectorRoutePlanner.html" target="_top"><font size="+2"><code>ProxySelectorRoutePlanner</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/22/changes/org.apache.http.impl.conn.SingleClientConnManager.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.SingleClientConnManager.html
new file mode 100644
index 0000000..609b4b5
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.SingleClientConnManager.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>
+org.apache.http.impl.conn.SingleClientConnManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.<A HREF="../../../../reference/org/apache/http/impl/conn/SingleClientConnManager.html" target="_top"><font size="+2"><code>SingleClientConnManager</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/22/changes/org.apache.http.impl.conn.Wire.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.Wire.html
new file mode 100644
index 0000000..a268e59
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.Wire.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>
+org.apache.http.impl.conn.Wire
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.<A HREF="../../../../reference/org/apache/http/impl/conn/Wire.html" target="_top"><font size="+2"><code>Wire</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/22/changes/org.apache.http.impl.conn.tsccm.AbstractConnPool.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.AbstractConnPool.html
new file mode 100644
index 0000000..e28e4f0
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.AbstractConnPool.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>
+org.apache.http.impl.conn.tsccm.AbstractConnPool
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.tsccm.<A HREF="../../../../reference/org/apache/http/impl/conn/tsccm/AbstractConnPool.html" target="_top"><font size="+2"><code>AbstractConnPool</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/22/changes/org.apache.http.impl.conn.tsccm.BasicPoolEntry.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.BasicPoolEntry.html
new file mode 100644
index 0000000..8c455d1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.BasicPoolEntry.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>
+org.apache.http.impl.conn.tsccm.BasicPoolEntry
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.tsccm.<A HREF="../../../../reference/org/apache/http/impl/conn/tsccm/BasicPoolEntry.html" target="_top"><font size="+2"><code>BasicPoolEntry</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/22/changes/org.apache.http.impl.conn.tsccm.BasicPoolEntryRef.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.BasicPoolEntryRef.html
new file mode 100644
index 0000000..3278caf
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.BasicPoolEntryRef.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>
+org.apache.http.impl.conn.tsccm.BasicPoolEntryRef
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.tsccm.<A HREF="../../../../reference/org/apache/http/impl/conn/tsccm/BasicPoolEntryRef.html" target="_top"><font size="+2"><code>BasicPoolEntryRef</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/22/changes/org.apache.http.impl.conn.tsccm.BasicPooledConnAdapter.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.BasicPooledConnAdapter.html
new file mode 100644
index 0000000..c9fe6a2
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.BasicPooledConnAdapter.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>
+org.apache.http.impl.conn.tsccm.BasicPooledConnAdapter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.tsccm.<A HREF="../../../../reference/org/apache/http/impl/conn/tsccm/BasicPooledConnAdapter.html" target="_top"><font size="+2"><code>BasicPooledConnAdapter</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/22/changes/org.apache.http.impl.conn.tsccm.ConnPoolByRoute.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.ConnPoolByRoute.html
new file mode 100644
index 0000000..4b197cb
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.ConnPoolByRoute.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>
+org.apache.http.impl.conn.tsccm.ConnPoolByRoute
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.tsccm.<A HREF="../../../../reference/org/apache/http/impl/conn/tsccm/ConnPoolByRoute.html" target="_top"><font size="+2"><code>ConnPoolByRoute</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/22/changes/org.apache.http.impl.conn.tsccm.PoolEntryRequest.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.PoolEntryRequest.html
new file mode 100644
index 0000000..0046991
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.PoolEntryRequest.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>
+org.apache.http.impl.conn.tsccm.PoolEntryRequest
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.impl.conn.tsccm.<A HREF="../../../../reference/org/apache/http/impl/conn/tsccm/PoolEntryRequest.html" target="_top"><font size="+2"><code>PoolEntryRequest</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/22/changes/org.apache.http.impl.conn.tsccm.RefQueueHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.RefQueueHandler.html
new file mode 100644
index 0000000..0c4a460
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.RefQueueHandler.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>
+org.apache.http.impl.conn.tsccm.RefQueueHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.impl.conn.tsccm.<A HREF="../../../../reference/org/apache/http/impl/conn/tsccm/RefQueueHandler.html" target="_top"><font size="+2"><code>RefQueueHandler</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/22/changes/org.apache.http.impl.conn.tsccm.RefQueueWorker.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.RefQueueWorker.html
new file mode 100644
index 0000000..7ae3729
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.RefQueueWorker.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>
+org.apache.http.impl.conn.tsccm.RefQueueWorker
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.tsccm.<A HREF="../../../../reference/org/apache/http/impl/conn/tsccm/RefQueueWorker.html" target="_top"><font size="+2"><code>RefQueueWorker</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/22/changes/org.apache.http.impl.conn.tsccm.RouteSpecificPool.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.RouteSpecificPool.html
new file mode 100644
index 0000000..e5d6530
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.RouteSpecificPool.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>
+org.apache.http.impl.conn.tsccm.RouteSpecificPool
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.tsccm.<A HREF="../../../../reference/org/apache/http/impl/conn/tsccm/RouteSpecificPool.html" target="_top"><font size="+2"><code>RouteSpecificPool</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/22/changes/org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager.html
new file mode 100644
index 0000000..6b08da0
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager.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>
+org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.tsccm.<A HREF="../../../../reference/org/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager.html" target="_top"><font size="+2"><code>ThreadSafeClientConnManager</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/22/changes/org.apache.http.impl.conn.tsccm.WaitingThread.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.WaitingThread.html
new file mode 100644
index 0000000..9e06e77
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.WaitingThread.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>
+org.apache.http.impl.conn.tsccm.WaitingThread
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.tsccm.<A HREF="../../../../reference/org/apache/http/impl/conn/tsccm/WaitingThread.html" target="_top"><font size="+2"><code>WaitingThread</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/22/changes/org.apache.http.impl.conn.tsccm.WaitingThreadAborter.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.WaitingThreadAborter.html
new file mode 100644
index 0000000..37d236b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.conn.tsccm.WaitingThreadAborter.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>
+org.apache.http.impl.conn.tsccm.WaitingThreadAborter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.conn.tsccm.<A HREF="../../../../reference/org/apache/http/impl/conn/tsccm/WaitingThreadAborter.html" target="_top"><font size="+2"><code>WaitingThreadAborter</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/22/changes/org.apache.http.impl.cookie.AbstractCookieAttributeHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.AbstractCookieAttributeHandler.html
new file mode 100644
index 0000000..2fba819
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.AbstractCookieAttributeHandler.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>
+org.apache.http.impl.cookie.AbstractCookieAttributeHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/AbstractCookieAttributeHandler.html" target="_top"><font size="+2"><code>AbstractCookieAttributeHandler</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/22/changes/org.apache.http.impl.cookie.AbstractCookieSpec.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.AbstractCookieSpec.html
new file mode 100644
index 0000000..fe03e17
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.AbstractCookieSpec.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>
+org.apache.http.impl.cookie.AbstractCookieSpec
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/AbstractCookieSpec.html" target="_top"><font size="+2"><code>AbstractCookieSpec</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/22/changes/org.apache.http.impl.cookie.BasicClientCookie.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BasicClientCookie.html
new file mode 100644
index 0000000..40532ef
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BasicClientCookie.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>
+org.apache.http.impl.cookie.BasicClientCookie
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/BasicClientCookie.html" target="_top"><font size="+2"><code>BasicClientCookie</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/22/changes/org.apache.http.impl.cookie.BasicClientCookie2.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BasicClientCookie2.html
new file mode 100644
index 0000000..8671162
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BasicClientCookie2.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>
+org.apache.http.impl.cookie.BasicClientCookie2
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/BasicClientCookie2.html" target="_top"><font size="+2"><code>BasicClientCookie2</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/22/changes/org.apache.http.impl.cookie.BasicCommentHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BasicCommentHandler.html
new file mode 100644
index 0000000..de090cb
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BasicCommentHandler.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>
+org.apache.http.impl.cookie.BasicCommentHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/BasicCommentHandler.html" target="_top"><font size="+2"><code>BasicCommentHandler</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/22/changes/org.apache.http.impl.cookie.BasicDomainHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BasicDomainHandler.html
new file mode 100644
index 0000000..5659677
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BasicDomainHandler.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>
+org.apache.http.impl.cookie.BasicDomainHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/BasicDomainHandler.html" target="_top"><font size="+2"><code>BasicDomainHandler</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/22/changes/org.apache.http.impl.cookie.BasicExpiresHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BasicExpiresHandler.html
new file mode 100644
index 0000000..eb3414b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BasicExpiresHandler.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>
+org.apache.http.impl.cookie.BasicExpiresHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/BasicExpiresHandler.html" target="_top"><font size="+2"><code>BasicExpiresHandler</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/22/changes/org.apache.http.impl.cookie.BasicMaxAgeHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BasicMaxAgeHandler.html
new file mode 100644
index 0000000..bcac42a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BasicMaxAgeHandler.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>
+org.apache.http.impl.cookie.BasicMaxAgeHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/BasicMaxAgeHandler.html" target="_top"><font size="+2"><code>BasicMaxAgeHandler</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/22/changes/org.apache.http.impl.cookie.BasicPathHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BasicPathHandler.html
new file mode 100644
index 0000000..88b457b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BasicPathHandler.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>
+org.apache.http.impl.cookie.BasicPathHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/BasicPathHandler.html" target="_top"><font size="+2"><code>BasicPathHandler</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/22/changes/org.apache.http.impl.cookie.BasicSecureHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BasicSecureHandler.html
new file mode 100644
index 0000000..d797b17
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BasicSecureHandler.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>
+org.apache.http.impl.cookie.BasicSecureHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/BasicSecureHandler.html" target="_top"><font size="+2"><code>BasicSecureHandler</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/22/changes/org.apache.http.impl.cookie.BestMatchSpec.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BestMatchSpec.html
new file mode 100644
index 0000000..4ab9f0d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BestMatchSpec.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>
+org.apache.http.impl.cookie.BestMatchSpec
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/BestMatchSpec.html" target="_top"><font size="+2"><code>BestMatchSpec</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/22/changes/org.apache.http.impl.cookie.BestMatchSpecFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BestMatchSpecFactory.html
new file mode 100644
index 0000000..9f953cc
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BestMatchSpecFactory.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>
+org.apache.http.impl.cookie.BestMatchSpecFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/BestMatchSpecFactory.html" target="_top"><font size="+2"><code>BestMatchSpecFactory</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/22/changes/org.apache.http.impl.cookie.BrowserCompatSpec.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BrowserCompatSpec.html
new file mode 100644
index 0000000..8813b8e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BrowserCompatSpec.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>
+org.apache.http.impl.cookie.BrowserCompatSpec
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/BrowserCompatSpec.html" target="_top"><font size="+2"><code>BrowserCompatSpec</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/22/changes/org.apache.http.impl.cookie.BrowserCompatSpecFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BrowserCompatSpecFactory.html
new file mode 100644
index 0000000..c7d153c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.BrowserCompatSpecFactory.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>
+org.apache.http.impl.cookie.BrowserCompatSpecFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/BrowserCompatSpecFactory.html" target="_top"><font size="+2"><code>BrowserCompatSpecFactory</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/22/changes/org.apache.http.impl.cookie.CookieSpecBase.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.CookieSpecBase.html
new file mode 100644
index 0000000..fbedb43
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.CookieSpecBase.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>
+org.apache.http.impl.cookie.CookieSpecBase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/CookieSpecBase.html" target="_top"><font size="+2"><code>CookieSpecBase</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/22/changes/org.apache.http.impl.cookie.DateParseException.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.DateParseException.html
new file mode 100644
index 0000000..3cc8f24
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.DateParseException.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>
+org.apache.http.impl.cookie.DateParseException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/DateParseException.html" target="_top"><font size="+2"><code>DateParseException</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/22/changes/org.apache.http.impl.cookie.DateUtils.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.DateUtils.html
new file mode 100644
index 0000000..8acd2d3
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.DateUtils.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>
+org.apache.http.impl.cookie.DateUtils
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/DateUtils.html" target="_top"><font size="+2"><code>DateUtils</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/22/changes/org.apache.http.impl.cookie.NetscapeDomainHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.NetscapeDomainHandler.html
new file mode 100644
index 0000000..d828403
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.NetscapeDomainHandler.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>
+org.apache.http.impl.cookie.NetscapeDomainHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/NetscapeDomainHandler.html" target="_top"><font size="+2"><code>NetscapeDomainHandler</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/22/changes/org.apache.http.impl.cookie.NetscapeDraftHeaderParser.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.NetscapeDraftHeaderParser.html
new file mode 100644
index 0000000..42959e2
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.NetscapeDraftHeaderParser.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>
+org.apache.http.impl.cookie.NetscapeDraftHeaderParser
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/NetscapeDraftHeaderParser.html" target="_top"><font size="+2"><code>NetscapeDraftHeaderParser</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/22/changes/org.apache.http.impl.cookie.NetscapeDraftSpec.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.NetscapeDraftSpec.html
new file mode 100644
index 0000000..ccf4fde
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.NetscapeDraftSpec.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>
+org.apache.http.impl.cookie.NetscapeDraftSpec
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/NetscapeDraftSpec.html" target="_top"><font size="+2"><code>NetscapeDraftSpec</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/22/changes/org.apache.http.impl.cookie.NetscapeDraftSpecFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.NetscapeDraftSpecFactory.html
new file mode 100644
index 0000000..8da0ea5
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.NetscapeDraftSpecFactory.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>
+org.apache.http.impl.cookie.NetscapeDraftSpecFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/NetscapeDraftSpecFactory.html" target="_top"><font size="+2"><code>NetscapeDraftSpecFactory</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/22/changes/org.apache.http.impl.cookie.RFC2109DomainHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2109DomainHandler.html
new file mode 100644
index 0000000..04d78e5
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2109DomainHandler.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>
+org.apache.http.impl.cookie.RFC2109DomainHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/RFC2109DomainHandler.html" target="_top"><font size="+2"><code>RFC2109DomainHandler</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/22/changes/org.apache.http.impl.cookie.RFC2109Spec.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2109Spec.html
new file mode 100644
index 0000000..0d904809
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2109Spec.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>
+org.apache.http.impl.cookie.RFC2109Spec
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/RFC2109Spec.html" target="_top"><font size="+2"><code>RFC2109Spec</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/22/changes/org.apache.http.impl.cookie.RFC2109SpecFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2109SpecFactory.html
new file mode 100644
index 0000000..a7d6a6d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2109SpecFactory.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>
+org.apache.http.impl.cookie.RFC2109SpecFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/RFC2109SpecFactory.html" target="_top"><font size="+2"><code>RFC2109SpecFactory</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/22/changes/org.apache.http.impl.cookie.RFC2109VersionHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2109VersionHandler.html
new file mode 100644
index 0000000..da5aab5
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2109VersionHandler.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>
+org.apache.http.impl.cookie.RFC2109VersionHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/RFC2109VersionHandler.html" target="_top"><font size="+2"><code>RFC2109VersionHandler</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/22/changes/org.apache.http.impl.cookie.RFC2965CommentUrlAttributeHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2965CommentUrlAttributeHandler.html
new file mode 100644
index 0000000..f916936
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2965CommentUrlAttributeHandler.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>
+org.apache.http.impl.cookie.RFC2965CommentUrlAttributeHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/RFC2965CommentUrlAttributeHandler.html" target="_top"><font size="+2"><code>RFC2965CommentUrlAttributeHandler</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/22/changes/org.apache.http.impl.cookie.RFC2965DiscardAttributeHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2965DiscardAttributeHandler.html
new file mode 100644
index 0000000..6ff60e0
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2965DiscardAttributeHandler.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>
+org.apache.http.impl.cookie.RFC2965DiscardAttributeHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/RFC2965DiscardAttributeHandler.html" target="_top"><font size="+2"><code>RFC2965DiscardAttributeHandler</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/22/changes/org.apache.http.impl.cookie.RFC2965DomainAttributeHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2965DomainAttributeHandler.html
new file mode 100644
index 0000000..592b96e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2965DomainAttributeHandler.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>
+org.apache.http.impl.cookie.RFC2965DomainAttributeHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/RFC2965DomainAttributeHandler.html" target="_top"><font size="+2"><code>RFC2965DomainAttributeHandler</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/22/changes/org.apache.http.impl.cookie.RFC2965PortAttributeHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2965PortAttributeHandler.html
new file mode 100644
index 0000000..c936dc8
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2965PortAttributeHandler.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>
+org.apache.http.impl.cookie.RFC2965PortAttributeHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/RFC2965PortAttributeHandler.html" target="_top"><font size="+2"><code>RFC2965PortAttributeHandler</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/22/changes/org.apache.http.impl.cookie.RFC2965Spec.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2965Spec.html
new file mode 100644
index 0000000..1369ecc
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2965Spec.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>
+org.apache.http.impl.cookie.RFC2965Spec
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/RFC2965Spec.html" target="_top"><font size="+2"><code>RFC2965Spec</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/22/changes/org.apache.http.impl.cookie.RFC2965SpecFactory.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2965SpecFactory.html
new file mode 100644
index 0000000..a368e17
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2965SpecFactory.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>
+org.apache.http.impl.cookie.RFC2965SpecFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/RFC2965SpecFactory.html" target="_top"><font size="+2"><code>RFC2965SpecFactory</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/22/changes/org.apache.http.impl.cookie.RFC2965VersionAttributeHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2965VersionAttributeHandler.html
new file mode 100644
index 0000000..61e4539
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.cookie.RFC2965VersionAttributeHandler.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>
+org.apache.http.impl.cookie.RFC2965VersionAttributeHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.cookie.<A HREF="../../../../reference/org/apache/http/impl/cookie/RFC2965VersionAttributeHandler.html" target="_top"><font size="+2"><code>RFC2965VersionAttributeHandler</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/22/changes/org.apache.http.impl.entity.EntityDeserializer.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.entity.EntityDeserializer.html
new file mode 100644
index 0000000..1744d29
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.entity.EntityDeserializer.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>
+org.apache.http.impl.entity.EntityDeserializer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.entity.<A HREF="../../../../reference/org/apache/http/impl/entity/EntityDeserializer.html" target="_top"><font size="+2"><code>EntityDeserializer</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/22/changes/org.apache.http.impl.entity.EntitySerializer.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.entity.EntitySerializer.html
new file mode 100644
index 0000000..cef8568
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.entity.EntitySerializer.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>
+org.apache.http.impl.entity.EntitySerializer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.entity.<A HREF="../../../../reference/org/apache/http/impl/entity/EntitySerializer.html" target="_top"><font size="+2"><code>EntitySerializer</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/22/changes/org.apache.http.impl.entity.LaxContentLengthStrategy.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.entity.LaxContentLengthStrategy.html
new file mode 100644
index 0000000..28ba6e1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.entity.LaxContentLengthStrategy.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>
+org.apache.http.impl.entity.LaxContentLengthStrategy
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.entity.<A HREF="../../../../reference/org/apache/http/impl/entity/LaxContentLengthStrategy.html" target="_top"><font size="+2"><code>LaxContentLengthStrategy</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/22/changes/org.apache.http.impl.entity.StrictContentLengthStrategy.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.entity.StrictContentLengthStrategy.html
new file mode 100644
index 0000000..a308b9a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.entity.StrictContentLengthStrategy.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>
+org.apache.http.impl.entity.StrictContentLengthStrategy
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.entity.<A HREF="../../../../reference/org/apache/http/impl/entity/StrictContentLengthStrategy.html" target="_top"><font size="+2"><code>StrictContentLengthStrategy</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/22/changes/org.apache.http.impl.io.AbstractMessageParser.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.AbstractMessageParser.html
new file mode 100644
index 0000000..670263f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.AbstractMessageParser.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>
+org.apache.http.impl.io.AbstractMessageParser
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/AbstractMessageParser.html" target="_top"><font size="+2"><code>AbstractMessageParser</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/22/changes/org.apache.http.impl.io.AbstractMessageWriter.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.AbstractMessageWriter.html
new file mode 100644
index 0000000..47b09dab
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.AbstractMessageWriter.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>
+org.apache.http.impl.io.AbstractMessageWriter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/AbstractMessageWriter.html" target="_top"><font size="+2"><code>AbstractMessageWriter</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/22/changes/org.apache.http.impl.io.AbstractSessionInputBuffer.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.AbstractSessionInputBuffer.html
new file mode 100644
index 0000000..035f2ad
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.AbstractSessionInputBuffer.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>
+org.apache.http.impl.io.AbstractSessionInputBuffer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/AbstractSessionInputBuffer.html" target="_top"><font size="+2"><code>AbstractSessionInputBuffer</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/22/changes/org.apache.http.impl.io.AbstractSessionOutputBuffer.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.AbstractSessionOutputBuffer.html
new file mode 100644
index 0000000..e843b36
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.AbstractSessionOutputBuffer.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>
+org.apache.http.impl.io.AbstractSessionOutputBuffer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/AbstractSessionOutputBuffer.html" target="_top"><font size="+2"><code>AbstractSessionOutputBuffer</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/22/changes/org.apache.http.impl.io.ChunkedInputStream.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.ChunkedInputStream.html
new file mode 100644
index 0000000..42c6e24
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.ChunkedInputStream.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>
+org.apache.http.impl.io.ChunkedInputStream
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/ChunkedInputStream.html" target="_top"><font size="+2"><code>ChunkedInputStream</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/22/changes/org.apache.http.impl.io.ChunkedOutputStream.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.ChunkedOutputStream.html
new file mode 100644
index 0000000..e49f00e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.ChunkedOutputStream.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>
+org.apache.http.impl.io.ChunkedOutputStream
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/ChunkedOutputStream.html" target="_top"><font size="+2"><code>ChunkedOutputStream</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/22/changes/org.apache.http.impl.io.ContentLengthInputStream.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.ContentLengthInputStream.html
new file mode 100644
index 0000000..3bde8c9
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.ContentLengthInputStream.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>
+org.apache.http.impl.io.ContentLengthInputStream
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/ContentLengthInputStream.html" target="_top"><font size="+2"><code>ContentLengthInputStream</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/22/changes/org.apache.http.impl.io.ContentLengthOutputStream.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.ContentLengthOutputStream.html
new file mode 100644
index 0000000..1cabad0
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.ContentLengthOutputStream.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>
+org.apache.http.impl.io.ContentLengthOutputStream
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/ContentLengthOutputStream.html" target="_top"><font size="+2"><code>ContentLengthOutputStream</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/22/changes/org.apache.http.impl.io.HttpRequestParser.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.HttpRequestParser.html
new file mode 100644
index 0000000..d2cc0f1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.HttpRequestParser.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>
+org.apache.http.impl.io.HttpRequestParser
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/HttpRequestParser.html" target="_top"><font size="+2"><code>HttpRequestParser</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/22/changes/org.apache.http.impl.io.HttpRequestWriter.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.HttpRequestWriter.html
new file mode 100644
index 0000000..ca85156
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.HttpRequestWriter.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>
+org.apache.http.impl.io.HttpRequestWriter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/HttpRequestWriter.html" target="_top"><font size="+2"><code>HttpRequestWriter</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/22/changes/org.apache.http.impl.io.HttpResponseParser.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.HttpResponseParser.html
new file mode 100644
index 0000000..e296d9e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.HttpResponseParser.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>
+org.apache.http.impl.io.HttpResponseParser
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/HttpResponseParser.html" target="_top"><font size="+2"><code>HttpResponseParser</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/22/changes/org.apache.http.impl.io.HttpResponseWriter.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.HttpResponseWriter.html
new file mode 100644
index 0000000..63bd929
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.HttpResponseWriter.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>
+org.apache.http.impl.io.HttpResponseWriter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/HttpResponseWriter.html" target="_top"><font size="+2"><code>HttpResponseWriter</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/22/changes/org.apache.http.impl.io.HttpTransportMetricsImpl.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.HttpTransportMetricsImpl.html
new file mode 100644
index 0000000..e711422
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.HttpTransportMetricsImpl.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>
+org.apache.http.impl.io.HttpTransportMetricsImpl
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/HttpTransportMetricsImpl.html" target="_top"><font size="+2"><code>HttpTransportMetricsImpl</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/22/changes/org.apache.http.impl.io.IdentityInputStream.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.IdentityInputStream.html
new file mode 100644
index 0000000..6803d8b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.IdentityInputStream.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>
+org.apache.http.impl.io.IdentityInputStream
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/IdentityInputStream.html" target="_top"><font size="+2"><code>IdentityInputStream</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/22/changes/org.apache.http.impl.io.IdentityOutputStream.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.IdentityOutputStream.html
new file mode 100644
index 0000000..6f4116f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.IdentityOutputStream.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>
+org.apache.http.impl.io.IdentityOutputStream
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/IdentityOutputStream.html" target="_top"><font size="+2"><code>IdentityOutputStream</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/22/changes/org.apache.http.impl.io.SocketInputBuffer.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.SocketInputBuffer.html
new file mode 100644
index 0000000..b08835a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.SocketInputBuffer.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>
+org.apache.http.impl.io.SocketInputBuffer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/SocketInputBuffer.html" target="_top"><font size="+2"><code>SocketInputBuffer</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/22/changes/org.apache.http.impl.io.SocketOutputBuffer.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.SocketOutputBuffer.html
new file mode 100644
index 0000000..976d7ab
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.impl.io.SocketOutputBuffer.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>
+org.apache.http.impl.io.SocketOutputBuffer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.impl.io.<A HREF="../../../../reference/org/apache/http/impl/io/SocketOutputBuffer.html" target="_top"><font size="+2"><code>SocketOutputBuffer</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/22/changes/org.apache.http.io.HttpMessageParser.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.io.HttpMessageParser.html
new file mode 100644
index 0000000..2152ba9
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.io.HttpMessageParser.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>
+org.apache.http.io.HttpMessageParser
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.io.<A HREF="../../../../reference/org/apache/http/io/HttpMessageParser.html" target="_top"><font size="+2"><code>HttpMessageParser</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/22/changes/org.apache.http.io.HttpMessageWriter.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.io.HttpMessageWriter.html
new file mode 100644
index 0000000..30dc082
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.io.HttpMessageWriter.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>
+org.apache.http.io.HttpMessageWriter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.io.<A HREF="../../../../reference/org/apache/http/io/HttpMessageWriter.html" target="_top"><font size="+2"><code>HttpMessageWriter</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/22/changes/org.apache.http.io.HttpTransportMetrics.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.io.HttpTransportMetrics.html
new file mode 100644
index 0000000..7eac348
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.io.HttpTransportMetrics.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>
+org.apache.http.io.HttpTransportMetrics
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.io.<A HREF="../../../../reference/org/apache/http/io/HttpTransportMetrics.html" target="_top"><font size="+2"><code>HttpTransportMetrics</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/22/changes/org.apache.http.io.SessionInputBuffer.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.io.SessionInputBuffer.html
new file mode 100644
index 0000000..6eb70bc
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.io.SessionInputBuffer.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>
+org.apache.http.io.SessionInputBuffer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.io.<A HREF="../../../../reference/org/apache/http/io/SessionInputBuffer.html" target="_top"><font size="+2"><code>SessionInputBuffer</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/22/changes/org.apache.http.io.SessionOutputBuffer.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.io.SessionOutputBuffer.html
new file mode 100644
index 0000000..8c34f63
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.io.SessionOutputBuffer.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>
+org.apache.http.io.SessionOutputBuffer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.io.<A HREF="../../../../reference/org/apache/http/io/SessionOutputBuffer.html" target="_top"><font size="+2"><code>SessionOutputBuffer</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/22/changes/org.apache.http.message.AbstractHttpMessage.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.AbstractHttpMessage.html
new file mode 100644
index 0000000..b5cfb84
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.AbstractHttpMessage.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>
+org.apache.http.message.AbstractHttpMessage
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/AbstractHttpMessage.html" target="_top"><font size="+2"><code>AbstractHttpMessage</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/22/changes/org.apache.http.message.BasicHeader.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHeader.html
new file mode 100644
index 0000000..a315037
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHeader.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>
+org.apache.http.message.BasicHeader
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BasicHeader.html" target="_top"><font size="+2"><code>BasicHeader</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/22/changes/org.apache.http.message.BasicHeaderElement.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHeaderElement.html
new file mode 100644
index 0000000..86e1ef6
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHeaderElement.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>
+org.apache.http.message.BasicHeaderElement
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BasicHeaderElement.html" target="_top"><font size="+2"><code>BasicHeaderElement</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/22/changes/org.apache.http.message.BasicHeaderElementIterator.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHeaderElementIterator.html
new file mode 100644
index 0000000..9cce918
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHeaderElementIterator.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>
+org.apache.http.message.BasicHeaderElementIterator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BasicHeaderElementIterator.html" target="_top"><font size="+2"><code>BasicHeaderElementIterator</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/22/changes/org.apache.http.message.BasicHeaderIterator.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHeaderIterator.html
new file mode 100644
index 0000000..ff5f7fb
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHeaderIterator.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>
+org.apache.http.message.BasicHeaderIterator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BasicHeaderIterator.html" target="_top"><font size="+2"><code>BasicHeaderIterator</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/22/changes/org.apache.http.message.BasicHeaderValueFormatter.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHeaderValueFormatter.html
new file mode 100644
index 0000000..fcd7bf1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHeaderValueFormatter.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>
+org.apache.http.message.BasicHeaderValueFormatter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BasicHeaderValueFormatter.html" target="_top"><font size="+2"><code>BasicHeaderValueFormatter</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/22/changes/org.apache.http.message.BasicHeaderValueParser.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHeaderValueParser.html
new file mode 100644
index 0000000..98b4c0f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHeaderValueParser.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>
+org.apache.http.message.BasicHeaderValueParser
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BasicHeaderValueParser.html" target="_top"><font size="+2"><code>BasicHeaderValueParser</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/22/changes/org.apache.http.message.BasicHttpEntityEnclosingRequest.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHttpEntityEnclosingRequest.html
new file mode 100644
index 0000000..92dbeb4
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHttpEntityEnclosingRequest.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>
+org.apache.http.message.BasicHttpEntityEnclosingRequest
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BasicHttpEntityEnclosingRequest.html" target="_top"><font size="+2"><code>BasicHttpEntityEnclosingRequest</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/22/changes/org.apache.http.message.BasicHttpRequest.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHttpRequest.html
new file mode 100644
index 0000000..7aa969a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHttpRequest.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>
+org.apache.http.message.BasicHttpRequest
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BasicHttpRequest.html" target="_top"><font size="+2"><code>BasicHttpRequest</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/22/changes/org.apache.http.message.BasicHttpResponse.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHttpResponse.html
new file mode 100644
index 0000000..61ce5bd
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicHttpResponse.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>
+org.apache.http.message.BasicHttpResponse
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BasicHttpResponse.html" target="_top"><font size="+2"><code>BasicHttpResponse</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/22/changes/org.apache.http.message.BasicLineFormatter.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicLineFormatter.html
new file mode 100644
index 0000000..411a44f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicLineFormatter.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>
+org.apache.http.message.BasicLineFormatter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BasicLineFormatter.html" target="_top"><font size="+2"><code>BasicLineFormatter</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/22/changes/org.apache.http.message.BasicLineParser.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicLineParser.html
new file mode 100644
index 0000000..2626074
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicLineParser.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>
+org.apache.http.message.BasicLineParser
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BasicLineParser.html" target="_top"><font size="+2"><code>BasicLineParser</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/22/changes/org.apache.http.message.BasicListHeaderIterator.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicListHeaderIterator.html
new file mode 100644
index 0000000..b33e6ea
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicListHeaderIterator.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>
+org.apache.http.message.BasicListHeaderIterator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BasicListHeaderIterator.html" target="_top"><font size="+2"><code>BasicListHeaderIterator</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/22/changes/org.apache.http.message.BasicNameValuePair.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicNameValuePair.html
new file mode 100644
index 0000000..e0bc9ae
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicNameValuePair.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>
+org.apache.http.message.BasicNameValuePair
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BasicNameValuePair.html" target="_top"><font size="+2"><code>BasicNameValuePair</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/22/changes/org.apache.http.message.BasicRequestLine.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicRequestLine.html
new file mode 100644
index 0000000..4dabfff
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicRequestLine.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>
+org.apache.http.message.BasicRequestLine
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BasicRequestLine.html" target="_top"><font size="+2"><code>BasicRequestLine</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/22/changes/org.apache.http.message.BasicStatusLine.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicStatusLine.html
new file mode 100644
index 0000000..ebf2ab5
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicStatusLine.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>
+org.apache.http.message.BasicStatusLine
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BasicStatusLine.html" target="_top"><font size="+2"><code>BasicStatusLine</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/22/changes/org.apache.http.message.BasicTokenIterator.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicTokenIterator.html
new file mode 100644
index 0000000..8e0d108
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BasicTokenIterator.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>
+org.apache.http.message.BasicTokenIterator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BasicTokenIterator.html" target="_top"><font size="+2"><code>BasicTokenIterator</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/22/changes/org.apache.http.message.BufferedHeader.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BufferedHeader.html
new file mode 100644
index 0000000..4541c83
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.BufferedHeader.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>
+org.apache.http.message.BufferedHeader
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/BufferedHeader.html" target="_top"><font size="+2"><code>BufferedHeader</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/22/changes/org.apache.http.message.HeaderGroup.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.HeaderGroup.html
new file mode 100644
index 0000000..54e099e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.HeaderGroup.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>
+org.apache.http.message.HeaderGroup
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/HeaderGroup.html" target="_top"><font size="+2"><code>HeaderGroup</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/22/changes/org.apache.http.message.HeaderValueFormatter.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.HeaderValueFormatter.html
new file mode 100644
index 0000000..510a3b9
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.HeaderValueFormatter.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>
+org.apache.http.message.HeaderValueFormatter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/HeaderValueFormatter.html" target="_top"><font size="+2"><code>HeaderValueFormatter</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/22/changes/org.apache.http.message.HeaderValueParser.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.HeaderValueParser.html
new file mode 100644
index 0000000..566298f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.HeaderValueParser.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>
+org.apache.http.message.HeaderValueParser
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/HeaderValueParser.html" target="_top"><font size="+2"><code>HeaderValueParser</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/22/changes/org.apache.http.message.LineFormatter.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.LineFormatter.html
new file mode 100644
index 0000000..b38e67a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.LineFormatter.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>
+org.apache.http.message.LineFormatter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/LineFormatter.html" target="_top"><font size="+2"><code>LineFormatter</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/22/changes/org.apache.http.message.LineParser.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.LineParser.html
new file mode 100644
index 0000000..077eb67
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.LineParser.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>
+org.apache.http.message.LineParser
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/LineParser.html" target="_top"><font size="+2"><code>LineParser</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/22/changes/org.apache.http.message.ParserCursor.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.ParserCursor.html
new file mode 100644
index 0000000..0da7502
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.message.ParserCursor.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>
+org.apache.http.message.ParserCursor
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.message.<A HREF="../../../../reference/org/apache/http/message/ParserCursor.html" target="_top"><font size="+2"><code>ParserCursor</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/22/changes/org.apache.http.params.AbstractHttpParams.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.AbstractHttpParams.html
new file mode 100644
index 0000000..e1bcf42
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.AbstractHttpParams.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>
+org.apache.http.params.AbstractHttpParams
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.params.<A HREF="../../../../reference/org/apache/http/params/AbstractHttpParams.html" target="_top"><font size="+2"><code>AbstractHttpParams</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/22/changes/org.apache.http.params.BasicHttpParams.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.BasicHttpParams.html
new file mode 100644
index 0000000..4bcafc1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.BasicHttpParams.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>
+org.apache.http.params.BasicHttpParams
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.params.<A HREF="../../../../reference/org/apache/http/params/BasicHttpParams.html" target="_top"><font size="+2"><code>BasicHttpParams</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/22/changes/org.apache.http.params.CoreConnectionPNames.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.CoreConnectionPNames.html
new file mode 100644
index 0000000..2c241fc
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.CoreConnectionPNames.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>
+org.apache.http.params.CoreConnectionPNames
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.params.<A HREF="../../../../reference/org/apache/http/params/CoreConnectionPNames.html" target="_top"><font size="+2"><code>CoreConnectionPNames</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/22/changes/org.apache.http.params.CoreProtocolPNames.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.CoreProtocolPNames.html
new file mode 100644
index 0000000..f265c71
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.CoreProtocolPNames.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>
+org.apache.http.params.CoreProtocolPNames
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.params.<A HREF="../../../../reference/org/apache/http/params/CoreProtocolPNames.html" target="_top"><font size="+2"><code>CoreProtocolPNames</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/22/changes/org.apache.http.params.DefaultedHttpParams.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.DefaultedHttpParams.html
new file mode 100644
index 0000000..84a2007
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.DefaultedHttpParams.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>
+org.apache.http.params.DefaultedHttpParams
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.params.<A HREF="../../../../reference/org/apache/http/params/DefaultedHttpParams.html" target="_top"><font size="+2"><code>DefaultedHttpParams</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/22/changes/org.apache.http.params.HttpAbstractParamBean.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.HttpAbstractParamBean.html
new file mode 100644
index 0000000..43a5ffd
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.HttpAbstractParamBean.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>
+org.apache.http.params.HttpAbstractParamBean
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.params.<A HREF="../../../../reference/org/apache/http/params/HttpAbstractParamBean.html" target="_top"><font size="+2"><code>HttpAbstractParamBean</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/22/changes/org.apache.http.params.HttpConnectionParamBean.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.HttpConnectionParamBean.html
new file mode 100644
index 0000000..c64e29e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.HttpConnectionParamBean.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>
+org.apache.http.params.HttpConnectionParamBean
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.params.<A HREF="../../../../reference/org/apache/http/params/HttpConnectionParamBean.html" target="_top"><font size="+2"><code>HttpConnectionParamBean</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/22/changes/org.apache.http.params.HttpConnectionParams.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.HttpConnectionParams.html
new file mode 100644
index 0000000..4340755
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.HttpConnectionParams.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>
+org.apache.http.params.HttpConnectionParams
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.params.<A HREF="../../../../reference/org/apache/http/params/HttpConnectionParams.html" target="_top"><font size="+2"><code>HttpConnectionParams</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/22/changes/org.apache.http.params.HttpParams.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.HttpParams.html
new file mode 100644
index 0000000..34ea7e3
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.HttpParams.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>
+org.apache.http.params.HttpParams
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.params.<A HREF="../../../../reference/org/apache/http/params/HttpParams.html" target="_top"><font size="+2"><code>HttpParams</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/22/changes/org.apache.http.params.HttpProtocolParamBean.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.HttpProtocolParamBean.html
new file mode 100644
index 0000000..dee1d08
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.HttpProtocolParamBean.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>
+org.apache.http.params.HttpProtocolParamBean
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.params.<A HREF="../../../../reference/org/apache/http/params/HttpProtocolParamBean.html" target="_top"><font size="+2"><code>HttpProtocolParamBean</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/22/changes/org.apache.http.params.HttpProtocolParams.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.HttpProtocolParams.html
new file mode 100644
index 0000000..41b6e26
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.params.HttpProtocolParams.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>
+org.apache.http.params.HttpProtocolParams
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.params.<A HREF="../../../../reference/org/apache/http/params/HttpProtocolParams.html" target="_top"><font size="+2"><code>HttpProtocolParams</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/22/changes/org.apache.http.protocol.BasicHttpContext.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.BasicHttpContext.html
new file mode 100644
index 0000000..1986d59
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.BasicHttpContext.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>
+org.apache.http.protocol.BasicHttpContext
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/BasicHttpContext.html" target="_top"><font size="+2"><code>BasicHttpContext</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/22/changes/org.apache.http.protocol.BasicHttpProcessor.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.BasicHttpProcessor.html
new file mode 100644
index 0000000..67fd796
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.BasicHttpProcessor.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>
+org.apache.http.protocol.BasicHttpProcessor
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/BasicHttpProcessor.html" target="_top"><font size="+2"><code>BasicHttpProcessor</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/22/changes/org.apache.http.protocol.DefaultedHttpContext.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.DefaultedHttpContext.html
new file mode 100644
index 0000000..81578c9
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.DefaultedHttpContext.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>
+org.apache.http.protocol.DefaultedHttpContext
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/DefaultedHttpContext.html" target="_top"><font size="+2"><code>DefaultedHttpContext</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/22/changes/org.apache.http.protocol.ExecutionContext.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.ExecutionContext.html
new file mode 100644
index 0000000..b9f5537
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.ExecutionContext.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>
+org.apache.http.protocol.ExecutionContext
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/ExecutionContext.html" target="_top"><font size="+2"><code>ExecutionContext</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/22/changes/org.apache.http.protocol.HTTP.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HTTP.html
new file mode 100644
index 0000000..718e196
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HTTP.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>
+org.apache.http.protocol.HTTP
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/HTTP.html" target="_top"><font size="+2"><code>HTTP</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/22/changes/org.apache.http.protocol.HttpContext.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpContext.html
new file mode 100644
index 0000000..0835549a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpContext.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>
+org.apache.http.protocol.HttpContext
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/HttpContext.html" target="_top"><font size="+2"><code>HttpContext</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/22/changes/org.apache.http.protocol.HttpDateGenerator.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpDateGenerator.html
new file mode 100644
index 0000000..69d126a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpDateGenerator.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>
+org.apache.http.protocol.HttpDateGenerator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/HttpDateGenerator.html" target="_top"><font size="+2"><code>HttpDateGenerator</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/22/changes/org.apache.http.protocol.HttpExpectationVerifier.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpExpectationVerifier.html
new file mode 100644
index 0000000..2243b3d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpExpectationVerifier.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>
+org.apache.http.protocol.HttpExpectationVerifier
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/HttpExpectationVerifier.html" target="_top"><font size="+2"><code>HttpExpectationVerifier</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/22/changes/org.apache.http.protocol.HttpProcessor.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpProcessor.html
new file mode 100644
index 0000000..14c8760
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpProcessor.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>
+org.apache.http.protocol.HttpProcessor
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/HttpProcessor.html" target="_top"><font size="+2"><code>HttpProcessor</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/22/changes/org.apache.http.protocol.HttpRequestExecutor.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpRequestExecutor.html
new file mode 100644
index 0000000..69f4fe9
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpRequestExecutor.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>
+org.apache.http.protocol.HttpRequestExecutor
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/HttpRequestExecutor.html" target="_top"><font size="+2"><code>HttpRequestExecutor</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/22/changes/org.apache.http.protocol.HttpRequestHandler.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpRequestHandler.html
new file mode 100644
index 0000000..1015049
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpRequestHandler.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>
+org.apache.http.protocol.HttpRequestHandler
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/HttpRequestHandler.html" target="_top"><font size="+2"><code>HttpRequestHandler</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/22/changes/org.apache.http.protocol.HttpRequestHandlerRegistry.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpRequestHandlerRegistry.html
new file mode 100644
index 0000000..3a65001
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpRequestHandlerRegistry.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>
+org.apache.http.protocol.HttpRequestHandlerRegistry
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/HttpRequestHandlerRegistry.html" target="_top"><font size="+2"><code>HttpRequestHandlerRegistry</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/22/changes/org.apache.http.protocol.HttpRequestHandlerResolver.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpRequestHandlerResolver.html
new file mode 100644
index 0000000..6218b55
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpRequestHandlerResolver.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>
+org.apache.http.protocol.HttpRequestHandlerResolver
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/HttpRequestHandlerResolver.html" target="_top"><font size="+2"><code>HttpRequestHandlerResolver</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/22/changes/org.apache.http.protocol.HttpRequestInterceptorList.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpRequestInterceptorList.html
new file mode 100644
index 0000000..6084f40
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpRequestInterceptorList.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>
+org.apache.http.protocol.HttpRequestInterceptorList
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/HttpRequestInterceptorList.html" target="_top"><font size="+2"><code>HttpRequestInterceptorList</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/22/changes/org.apache.http.protocol.HttpResponseInterceptorList.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpResponseInterceptorList.html
new file mode 100644
index 0000000..f543df9
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpResponseInterceptorList.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>
+org.apache.http.protocol.HttpResponseInterceptorList
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/HttpResponseInterceptorList.html" target="_top"><font size="+2"><code>HttpResponseInterceptorList</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/22/changes/org.apache.http.protocol.HttpService.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpService.html
new file mode 100644
index 0000000..0bdb008
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.HttpService.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>
+org.apache.http.protocol.HttpService
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/HttpService.html" target="_top"><font size="+2"><code>HttpService</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/22/changes/org.apache.http.protocol.RequestConnControl.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.RequestConnControl.html
new file mode 100644
index 0000000..cc67d54
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.RequestConnControl.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>
+org.apache.http.protocol.RequestConnControl
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/RequestConnControl.html" target="_top"><font size="+2"><code>RequestConnControl</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/22/changes/org.apache.http.protocol.RequestContent.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.RequestContent.html
new file mode 100644
index 0000000..b39ff1d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.RequestContent.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>
+org.apache.http.protocol.RequestContent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/RequestContent.html" target="_top"><font size="+2"><code>RequestContent</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/22/changes/org.apache.http.protocol.RequestDate.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.RequestDate.html
new file mode 100644
index 0000000..80f3edd
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.RequestDate.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>
+org.apache.http.protocol.RequestDate
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/RequestDate.html" target="_top"><font size="+2"><code>RequestDate</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/22/changes/org.apache.http.protocol.RequestExpectContinue.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.RequestExpectContinue.html
new file mode 100644
index 0000000..2233bc4
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.RequestExpectContinue.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>
+org.apache.http.protocol.RequestExpectContinue
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/RequestExpectContinue.html" target="_top"><font size="+2"><code>RequestExpectContinue</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/22/changes/org.apache.http.protocol.RequestTargetHost.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.RequestTargetHost.html
new file mode 100644
index 0000000..0c23514
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.RequestTargetHost.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>
+org.apache.http.protocol.RequestTargetHost
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/RequestTargetHost.html" target="_top"><font size="+2"><code>RequestTargetHost</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/22/changes/org.apache.http.protocol.RequestUserAgent.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.RequestUserAgent.html
new file mode 100644
index 0000000..92b683e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.RequestUserAgent.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>
+org.apache.http.protocol.RequestUserAgent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/RequestUserAgent.html" target="_top"><font size="+2"><code>RequestUserAgent</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/22/changes/org.apache.http.protocol.ResponseConnControl.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.ResponseConnControl.html
new file mode 100644
index 0000000..ab3aff0
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.ResponseConnControl.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>
+org.apache.http.protocol.ResponseConnControl
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/ResponseConnControl.html" target="_top"><font size="+2"><code>ResponseConnControl</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/22/changes/org.apache.http.protocol.ResponseContent.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.ResponseContent.html
new file mode 100644
index 0000000..1fc401d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.ResponseContent.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>
+org.apache.http.protocol.ResponseContent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/ResponseContent.html" target="_top"><font size="+2"><code>ResponseContent</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/22/changes/org.apache.http.protocol.ResponseDate.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.ResponseDate.html
new file mode 100644
index 0000000..89e9181
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.ResponseDate.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>
+org.apache.http.protocol.ResponseDate
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/ResponseDate.html" target="_top"><font size="+2"><code>ResponseDate</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/22/changes/org.apache.http.protocol.ResponseServer.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.ResponseServer.html
new file mode 100644
index 0000000..2cdb1ee
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.ResponseServer.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>
+org.apache.http.protocol.ResponseServer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/ResponseServer.html" target="_top"><font size="+2"><code>ResponseServer</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/22/changes/org.apache.http.protocol.SyncBasicHttpContext.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.SyncBasicHttpContext.html
new file mode 100644
index 0000000..f931fec
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.SyncBasicHttpContext.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>
+org.apache.http.protocol.SyncBasicHttpContext
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/SyncBasicHttpContext.html" target="_top"><font size="+2"><code>SyncBasicHttpContext</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/22/changes/org.apache.http.protocol.UriPatternMatcher.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.UriPatternMatcher.html
new file mode 100644
index 0000000..1bcce80
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.protocol.UriPatternMatcher.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>
+org.apache.http.protocol.UriPatternMatcher
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.protocol.<A HREF="../../../../reference/org/apache/http/protocol/UriPatternMatcher.html" target="_top"><font size="+2"><code>UriPatternMatcher</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/22/changes/org.apache.http.util.ByteArrayBuffer.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.util.ByteArrayBuffer.html
new file mode 100644
index 0000000..1baa3ea
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.util.ByteArrayBuffer.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>
+org.apache.http.util.ByteArrayBuffer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.util.<A HREF="../../../../reference/org/apache/http/util/ByteArrayBuffer.html" target="_top"><font size="+2"><code>ByteArrayBuffer</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/22/changes/org.apache.http.util.CharArrayBuffer.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.util.CharArrayBuffer.html
new file mode 100644
index 0000000..f6e8324
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.util.CharArrayBuffer.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>
+org.apache.http.util.CharArrayBuffer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.util.<A HREF="../../../../reference/org/apache/http/util/CharArrayBuffer.html" target="_top"><font size="+2"><code>CharArrayBuffer</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/22/changes/org.apache.http.util.EncodingUtils.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.util.EncodingUtils.html
new file mode 100644
index 0000000..5c0fe91
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.util.EncodingUtils.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>
+org.apache.http.util.EncodingUtils
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.util.<A HREF="../../../../reference/org/apache/http/util/EncodingUtils.html" target="_top"><font size="+2"><code>EncodingUtils</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/22/changes/org.apache.http.util.EntityUtils.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.util.EntityUtils.html
new file mode 100644
index 0000000..122345a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.util.EntityUtils.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>
+org.apache.http.util.EntityUtils
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.util.<A HREF="../../../../reference/org/apache/http/util/EntityUtils.html" target="_top"><font size="+2"><code>EntityUtils</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/22/changes/org.apache.http.util.ExceptionUtils.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.util.ExceptionUtils.html
new file mode 100644
index 0000000..bd94b9d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.util.ExceptionUtils.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>
+org.apache.http.util.ExceptionUtils
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.util.<A HREF="../../../../reference/org/apache/http/util/ExceptionUtils.html" target="_top"><font size="+2"><code>ExceptionUtils</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/22/changes/org.apache.http.util.LangUtils.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.util.LangUtils.html
new file mode 100644
index 0000000..75bc03d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.util.LangUtils.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>
+org.apache.http.util.LangUtils
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.util.<A HREF="../../../../reference/org/apache/http/util/LangUtils.html" target="_top"><font size="+2"><code>LangUtils</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/22/changes/org.apache.http.util.VersionInfo.html b/docs/html/sdk/api_diff/22/changes/org.apache.http.util.VersionInfo.html
new file mode 100644
index 0000000..e790bbd
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/org.apache.http.util.VersionInfo.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>
+org.apache.http.util.VersionInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.apache.http.util.<A HREF="../../../../reference/org/apache/http/util/VersionInfo.html" target="_top"><font size="+2"><code>VersionInfo</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/22/changes/packages_index_additions.html b/docs/html/sdk/api_diff/22/changes/packages_index_additions.html
new file mode 100644
index 0000000..4d4005e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/packages_index_additions.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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.service.carrier" class="hiddenlink" target="rightframe"><b>android.service.carrier</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/22/changes/packages_index_all.html b/docs/html/sdk/api_diff/22/changes/packages_index_all.html
new file mode 100644
index 0000000..d948560
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/packages_index_all.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>
+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.accounts.html" class="hiddenlink" target="rightframe">android.accounts</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.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.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<A HREF="pkg_android.hardware.camera2.html" class="hiddenlink" target="rightframe">android.hardware.camera2</A><br>
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</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.net.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<A HREF="pkg_android.net.http.html" class="hiddenlink" target="rightframe">android.net.http</A><br>
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<A HREF="changes-summary.html#android.service.carrier" class="hiddenlink" target="rightframe"><b>android.service.carrier</b></A><br>
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<A HREF="pkg_android.text.format.html" class="hiddenlink" target="rightframe">android.text.format</A><br>
+<A HREF="pkg_android.transition.html" class="hiddenlink" target="rightframe">android.transition</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.animation.html" class="hiddenlink" target="rightframe">android.view.animation</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="O"></A>
+<A HREF="pkg_org.apache.commons.logging.html" class="hiddenlink" target="rightframe">org.apache.commons.logging</A><br>
+<A HREF="pkg_org.apache.http.html" class="hiddenlink" target="rightframe">org.apache.http</A><br>
+<A HREF="pkg_org.apache.http.auth.html" class="hiddenlink" target="rightframe">org.apache.http.auth</A><br>
+<A HREF="pkg_org.apache.http.auth.params.html" class="hiddenlink" target="rightframe">org.apache.http.auth.params</A><br>
+<A HREF="pkg_org.apache.http.client.html" class="hiddenlink" target="rightframe">org.apache.http.client</A><br>
+<A HREF="pkg_org.apache.http.client.entity.html" class="hiddenlink" target="rightframe">org.apache.http.client.entity</A><br>
+<A HREF="pkg_org.apache.http.client.methods.html" class="hiddenlink" target="rightframe">org.apache.http.client.methods</A><br>
+<A HREF="pkg_org.apache.http.client.params.html" class="hiddenlink" target="rightframe">org.apache.http.client.params</A><br>
+<A HREF="pkg_org.apache.http.client.protocol.html" class="hiddenlink" target="rightframe">org.apache.http.client.protocol</A><br>
+<A HREF="pkg_org.apache.http.client.utils.html" class="hiddenlink" target="rightframe">org.apache.http.client.utils</A><br>
+<A HREF="pkg_org.apache.http.conn.html" class="hiddenlink" target="rightframe">org.apache.http.conn</A><br>
+<A HREF="pkg_org.apache.http.conn.params.html" class="hiddenlink" target="rightframe">org.apache.http.conn.params</A><br>
+<A HREF="pkg_org.apache.http.conn.routing.html" class="hiddenlink" target="rightframe">org.apache.http.conn.routing</A><br>
+<A HREF="pkg_org.apache.http.conn.scheme.html" class="hiddenlink" target="rightframe">org.apache.http.conn.scheme</A><br>
+<A HREF="pkg_org.apache.http.conn.ssl.html" class="hiddenlink" target="rightframe">org.apache.http.conn.ssl</A><br>
+<A HREF="pkg_org.apache.http.conn.util.html" class="hiddenlink" target="rightframe">org.apache.http.conn.util</A><br>
+<A HREF="pkg_org.apache.http.cookie.html" class="hiddenlink" target="rightframe">org.apache.http.cookie</A><br>
+<A HREF="pkg_org.apache.http.cookie.params.html" class="hiddenlink" target="rightframe">org.apache.http.cookie.params</A><br>
+<A HREF="pkg_org.apache.http.entity.html" class="hiddenlink" target="rightframe">org.apache.http.entity</A><br>
+<A HREF="pkg_org.apache.http.impl.html" class="hiddenlink" target="rightframe">org.apache.http.impl</A><br>
+<A HREF="pkg_org.apache.http.impl.auth.html" class="hiddenlink" target="rightframe">org.apache.http.impl.auth</A><br>
+<A HREF="pkg_org.apache.http.impl.client.html" class="hiddenlink" target="rightframe">org.apache.http.impl.client</A><br>
+<A HREF="pkg_org.apache.http.impl.conn.html" class="hiddenlink" target="rightframe">org.apache.http.impl.conn</A><br>
+<A HREF="pkg_org.apache.http.impl.conn.tsccm.html" class="hiddenlink" target="rightframe">org.apache.http.impl.conn.tsccm</A><br>
+<A HREF="pkg_org.apache.http.impl.cookie.html" class="hiddenlink" target="rightframe">org.apache.http.impl.cookie</A><br>
+<A HREF="pkg_org.apache.http.impl.entity.html" class="hiddenlink" target="rightframe">org.apache.http.impl.entity</A><br>
+<A HREF="pkg_org.apache.http.impl.io.html" class="hiddenlink" target="rightframe">org.apache.http.impl.io</A><br>
+<A HREF="pkg_org.apache.http.io.html" class="hiddenlink" target="rightframe">org.apache.http.io</A><br>
+<A HREF="pkg_org.apache.http.message.html" class="hiddenlink" target="rightframe">org.apache.http.message</A><br>
+<A HREF="pkg_org.apache.http.params.html" class="hiddenlink" target="rightframe">org.apache.http.params</A><br>
+<A HREF="pkg_org.apache.http.protocol.html" class="hiddenlink" target="rightframe">org.apache.http.protocol</A><br>
+<A HREF="pkg_org.apache.http.util.html" class="hiddenlink" target="rightframe">org.apache.http.util</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/22/changes/packages_index_changes.html b/docs/html/sdk/api_diff/22/changes/packages_index_changes.html
new file mode 100644
index 0000000..f13c6a8
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/packages_index_changes.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>
+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.accounts.html" class="hiddenlink" target="rightframe">android.accounts</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.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.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<A HREF="pkg_android.hardware.camera2.html" class="hiddenlink" target="rightframe">android.hardware.camera2</A><br>
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</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.net.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<A HREF="pkg_android.net.http.html" class="hiddenlink" target="rightframe">android.net.http</A><br>
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<A HREF="pkg_android.text.format.html" class="hiddenlink" target="rightframe">android.text.format</A><br>
+<A HREF="pkg_android.transition.html" class="hiddenlink" target="rightframe">android.transition</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.animation.html" class="hiddenlink" target="rightframe">android.view.animation</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="O"></A>
+<A HREF="pkg_org.apache.commons.logging.html" class="hiddenlink" target="rightframe">org.apache.commons.logging</A><br>
+<A HREF="pkg_org.apache.http.html" class="hiddenlink" target="rightframe">org.apache.http</A><br>
+<A HREF="pkg_org.apache.http.auth.html" class="hiddenlink" target="rightframe">org.apache.http.auth</A><br>
+<A HREF="pkg_org.apache.http.auth.params.html" class="hiddenlink" target="rightframe">org.apache.http.auth.params</A><br>
+<A HREF="pkg_org.apache.http.client.html" class="hiddenlink" target="rightframe">org.apache.http.client</A><br>
+<A HREF="pkg_org.apache.http.client.entity.html" class="hiddenlink" target="rightframe">org.apache.http.client.entity</A><br>
+<A HREF="pkg_org.apache.http.client.methods.html" class="hiddenlink" target="rightframe">org.apache.http.client.methods</A><br>
+<A HREF="pkg_org.apache.http.client.params.html" class="hiddenlink" target="rightframe">org.apache.http.client.params</A><br>
+<A HREF="pkg_org.apache.http.client.protocol.html" class="hiddenlink" target="rightframe">org.apache.http.client.protocol</A><br>
+<A HREF="pkg_org.apache.http.client.utils.html" class="hiddenlink" target="rightframe">org.apache.http.client.utils</A><br>
+<A HREF="pkg_org.apache.http.conn.html" class="hiddenlink" target="rightframe">org.apache.http.conn</A><br>
+<A HREF="pkg_org.apache.http.conn.params.html" class="hiddenlink" target="rightframe">org.apache.http.conn.params</A><br>
+<A HREF="pkg_org.apache.http.conn.routing.html" class="hiddenlink" target="rightframe">org.apache.http.conn.routing</A><br>
+<A HREF="pkg_org.apache.http.conn.scheme.html" class="hiddenlink" target="rightframe">org.apache.http.conn.scheme</A><br>
+<A HREF="pkg_org.apache.http.conn.ssl.html" class="hiddenlink" target="rightframe">org.apache.http.conn.ssl</A><br>
+<A HREF="pkg_org.apache.http.conn.util.html" class="hiddenlink" target="rightframe">org.apache.http.conn.util</A><br>
+<A HREF="pkg_org.apache.http.cookie.html" class="hiddenlink" target="rightframe">org.apache.http.cookie</A><br>
+<A HREF="pkg_org.apache.http.cookie.params.html" class="hiddenlink" target="rightframe">org.apache.http.cookie.params</A><br>
+<A HREF="pkg_org.apache.http.entity.html" class="hiddenlink" target="rightframe">org.apache.http.entity</A><br>
+<A HREF="pkg_org.apache.http.impl.html" class="hiddenlink" target="rightframe">org.apache.http.impl</A><br>
+<A HREF="pkg_org.apache.http.impl.auth.html" class="hiddenlink" target="rightframe">org.apache.http.impl.auth</A><br>
+<A HREF="pkg_org.apache.http.impl.client.html" class="hiddenlink" target="rightframe">org.apache.http.impl.client</A><br>
+<A HREF="pkg_org.apache.http.impl.conn.html" class="hiddenlink" target="rightframe">org.apache.http.impl.conn</A><br>
+<A HREF="pkg_org.apache.http.impl.conn.tsccm.html" class="hiddenlink" target="rightframe">org.apache.http.impl.conn.tsccm</A><br>
+<A HREF="pkg_org.apache.http.impl.cookie.html" class="hiddenlink" target="rightframe">org.apache.http.impl.cookie</A><br>
+<A HREF="pkg_org.apache.http.impl.entity.html" class="hiddenlink" target="rightframe">org.apache.http.impl.entity</A><br>
+<A HREF="pkg_org.apache.http.impl.io.html" class="hiddenlink" target="rightframe">org.apache.http.impl.io</A><br>
+<A HREF="pkg_org.apache.http.io.html" class="hiddenlink" target="rightframe">org.apache.http.io</A><br>
+<A HREF="pkg_org.apache.http.message.html" class="hiddenlink" target="rightframe">org.apache.http.message</A><br>
+<A HREF="pkg_org.apache.http.params.html" class="hiddenlink" target="rightframe">org.apache.http.params</A><br>
+<A HREF="pkg_org.apache.http.protocol.html" class="hiddenlink" target="rightframe">org.apache.http.protocol</A><br>
+<A HREF="pkg_org.apache.http.util.html" class="hiddenlink" target="rightframe">org.apache.http.util</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/22/changes/packages_index_removals.html b/docs/html/sdk/api_diff/22/changes/packages_index_removals.html
new file mode 100644
index 0000000..1d3daa7
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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/22/changes/pkg_android.accounts.html b/docs/html/sdk/api_diff/22/changes/pkg_android.accounts.html
new file mode 100644
index 0000000..e407e6c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.accounts.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.accounts
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/accounts/package-summary.html" target="_top"><font size="+1"><code>android.accounts</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="AccountManager"></A>
+  <nobr><A HREF="android.accounts.AccountManager.html">AccountManager</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/22/changes/pkg_android.animation.html b/docs/html/sdk/api_diff/22/changes/pkg_android.animation.html
new file mode 100644
index 0000000..a4bbf23
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.animation.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="StateListAnimator"></A>
+  <nobr><A HREF="android.animation.StateListAnimator.html">StateListAnimator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ValueAnimator"></A>
+  <nobr><A HREF="android.animation.ValueAnimator.html">ValueAnimator</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/22/changes/pkg_android.app.admin.html b/docs/html/sdk/api_diff/22/changes/pkg_android.app.admin.html
new file mode 100644
index 0000000..9d27166
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/22/changes/pkg_android.app.html b/docs/html/sdk/api_diff/22/changes/pkg_android.app.html
new file mode 100644
index 0000000..09f64cc
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.app.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="KeyguardManager"></A>
+  <nobr><A HREF="android.app.KeyguardManager.html">KeyguardManager</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.WearableExtender"></A>
+  <nobr><A HREF="android.app.Notification.WearableExtender.html">Notification.WearableExtender</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/22/changes/pkg_android.bluetooth.html b/docs/html/sdk/api_diff/22/changes/pkg_android.bluetooth.html
new file mode 100644
index 0000000..441e9e1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.bluetooth.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="BluetoothGattServerCallback"></A>
+  <nobr><A HREF="android.bluetooth.BluetoothGattServerCallback.html">BluetoothGattServerCallback</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/22/changes/pkg_android.content.html b/docs/html/sdk/api_diff/22/changes/pkg_android.content.html
new file mode 100644
index 0000000..edde4cd
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.content.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
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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>
+<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>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="//creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="//www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="//www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="//www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="//www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/22/changes/pkg_android.content.pm.html b/docs/html/sdk/api_diff/22/changes/pkg_android.content.pm.html
new file mode 100644
index 0000000..a62665d
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.content.pm.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="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="PackageInfo"></A>
+  <nobr><A HREF="android.content.pm.PackageInfo.html">PackageInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PackageItemInfo"></A>
+  <nobr><A HREF="android.content.pm.PackageItemInfo.html">PackageItemInfo</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/22/changes/pkg_android.content.res.html b/docs/html/sdk/api_diff/22/changes/pkg_android.content.res.html
new file mode 100644
index 0000000..3b949d8
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="Resources"></A>
+  <nobr><A HREF="android.content.res.Resources.html">Resources</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TypedArray"></A>
+  <nobr><A HREF="android.content.res.TypedArray.html">TypedArray</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/22/changes/pkg_android.graphics.html b/docs/html/sdk/api_diff/22/changes/pkg_android.graphics.html
new file mode 100644
index 0000000..1159618
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="Outline"></A>
+  <nobr><A HREF="android.graphics.Outline.html">Outline</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/22/changes/pkg_android.hardware.camera2.html b/docs/html/sdk/api_diff/22/changes/pkg_android.hardware.camera2.html
new file mode 100644
index 0000000..0959fbe
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.hardware.camera2.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
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="CameraMetadata"></A>
+  <nobr><A HREF="android.hardware.camera2.CameraMetadata.html">CameraMetadata</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/22/changes/pkg_android.html b/docs/html/sdk/api_diff/22/changes/pkg_android.html
new file mode 100644
index 0000000..7058e7e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.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
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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.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/22/changes/pkg_android.media.html b/docs/html/sdk/api_diff/22/changes/pkg_android.media.html
new file mode 100644
index 0000000..c940b4e
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.media.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
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="MediaDrm"></A>
+  <nobr><A HREF="android.media.MediaDrm.html">MediaDrm</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/22/changes/pkg_android.media.session.html b/docs/html/sdk/api_diff/22/changes/pkg_android.media.session.html
new file mode 100644
index 0000000..19e4040
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="MediaSession"></A>
+  <nobr><A HREF="android.media.session.MediaSession.html">MediaSession</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>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PlaybackState.Builder"></A>
+  <nobr><A HREF="android.media.session.PlaybackState.Builder.html">PlaybackState.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/22/changes/pkg_android.media.tv.html b/docs/html/sdk/api_diff/22/changes/pkg_android.media.tv.html
new file mode 100644
index 0000000..5a62609
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="TvContract.Programs.Genres"></A>
+  <nobr><A HREF="android.media.tv.TvContract.Programs.Genres.html">TvContract.Programs.Genres</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/22/changes/pkg_android.net.html b/docs/html/sdk/api_diff/22/changes/pkg_android.net.html
new file mode 100644
index 0000000..35b0649
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.net.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="Network"></A>
+  <nobr><A HREF="android.net.Network.html">Network</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ProxyInfo"></A>
+  <nobr><A HREF="android.net.ProxyInfo.html">ProxyInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SSLCertificateSocketFactory"></A>
+  <nobr><A HREF="android.net.SSLCertificateSocketFactory.html">SSLCertificateSocketFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VpnService"></A>
+  <nobr><A HREF="android.net.VpnService.html">VpnService</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VpnService.Builder"></A>
+  <nobr><A HREF="android.net.VpnService.Builder.html">VpnService.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/22/changes/pkg_android.net.http.html b/docs/html/sdk/api_diff/22/changes/pkg_android.net.http.html
new file mode 100644
index 0000000..c7dea34
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.net.http.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.net.http
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/http/package-summary.html" target="_top"><font size="+1"><code>android.net.http</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="AndroidHttpClient"></A>
+  <nobr><A HREF="android.net.http.AndroidHttpClient.html">AndroidHttpClient</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/22/changes/pkg_android.os.html b/docs/html/sdk/api_diff/22/changes/pkg_android.os.html
new file mode 100644
index 0000000..fe9a9c9
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.os.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="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="BaseBundle"></A>
+  <nobr><A HREF="android.os.BaseBundle.html">BaseBundle</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<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="Bundle"></A>
+  <nobr><A HREF="android.os.Bundle.html">Bundle</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Message"></A>
+  <nobr><A HREF="android.os.Message.html">Message</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/22/changes/pkg_android.provider.html b/docs/html/sdk/api_diff/22/changes/pkg_android.provider.html
new file mode 100644
index 0000000..3dc9aef
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 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="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="Telephony.BaseMmsColumns"></A>
+  <nobr><A HREF="android.provider.Telephony.BaseMmsColumns.html"><I>Telephony.BaseMmsColumns</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Telephony.Carriers"></A>
+  <nobr><A HREF="android.provider.Telephony.Carriers.html">Telephony.Carriers</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Telephony.MmsSms.PendingMessages"></A>
+  <nobr><A HREF="android.provider.Telephony.MmsSms.PendingMessages.html">Telephony.MmsSms.PendingMessages</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Telephony.TextBasedSmsColumns"></A>
+  <nobr><A HREF="android.provider.Telephony.TextBasedSmsColumns.html"><I>Telephony.TextBasedSmsColumns</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/22/changes/pkg_android.telephony.html b/docs/html/sdk/api_diff/22/changes/pkg_android.telephony.html
new file mode 100644
index 0000000..9025d7b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.telephony.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="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="SubscriptionInfo"></A>
+  <nobr><A HREF="../../../../reference/android/telephony/SubscriptionInfo.html" target="_top"><code>SubscriptionInfo</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SubscriptionManager"></A>
+  <nobr><A HREF="../../../../reference/android/telephony/SubscriptionManager.html" target="_top"><code>SubscriptionManager</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SubscriptionManager.OnSubscriptionsChangedListener"></A>
+  <nobr><A HREF="../../../../reference/android/telephony/SubscriptionManager.OnSubscriptionsChangedListener.html" target="_top"><code>SubscriptionManager.OnSubscriptionsChangedListener</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="SmsManager"></A>
+  <nobr><A HREF="android.telephony.SmsManager.html">SmsManager</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/22/changes/pkg_android.text.format.html b/docs/html/sdk/api_diff/22/changes/pkg_android.text.format.html
new file mode 100644
index 0000000..4555e50
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.text.format.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.format
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/format/package-summary.html" target="_top"><font size="+1"><code>android.text.format</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="DateFormat"></A>
+  <nobr><A HREF="android.text.format.DateFormat.html">DateFormat</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Time"></A>
+  <nobr><A HREF="android.text.format.Time.html">Time</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/22/changes/pkg_android.transition.html b/docs/html/sdk/api_diff/22/changes/pkg_android.transition.html
new file mode 100644
index 0000000..2a48320
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.transition.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.transition
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/transition/package-summary.html" target="_top"><font size="+1"><code>android.transition</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="ChangeBounds"></A>
+  <nobr><A HREF="android.transition.ChangeBounds.html">ChangeBounds</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/22/changes/pkg_android.util.html b/docs/html/sdk/api_diff/22/changes/pkg_android.util.html
new file mode 100644
index 0000000..d12f8fd
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.util.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="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="FloatMath"></A>
+  <nobr><A HREF="android.util.FloatMath.html">FloatMath</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TypedValue"></A>
+  <nobr><A HREF="android.util.TypedValue.html">TypedValue</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/22/changes/pkg_android.view.accessibility.html b/docs/html/sdk/api_diff/22/changes/pkg_android.view.accessibility.html
new file mode 100644
index 0000000..1e8ce52
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.view.accessibility.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="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/22/changes/pkg_android.view.animation.html b/docs/html/sdk/api_diff/22/changes/pkg_android.view.animation.html
new file mode 100644
index 0000000..69ee5ee
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.view.animation.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.view.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/animation/package-summary.html" target="_top"><font size="+1"><code>android.view.animation</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="BaseInterpolator"></A>
+  <nobr><A HREF="../../../../reference/android/view/animation/BaseInterpolator.html" target="_top"><code>BaseInterpolator</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="AccelerateDecelerateInterpolator"></A>
+  <nobr><A HREF="android.view.animation.AccelerateDecelerateInterpolator.html">AccelerateDecelerateInterpolator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccelerateInterpolator"></A>
+  <nobr><A HREF="android.view.animation.AccelerateInterpolator.html">AccelerateInterpolator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AnticipateInterpolator"></A>
+  <nobr><A HREF="android.view.animation.AnticipateInterpolator.html">AnticipateInterpolator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AnticipateOvershootInterpolator"></A>
+  <nobr><A HREF="android.view.animation.AnticipateOvershootInterpolator.html">AnticipateOvershootInterpolator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BounceInterpolator"></A>
+  <nobr><A HREF="android.view.animation.BounceInterpolator.html">BounceInterpolator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CycleInterpolator"></A>
+  <nobr><A HREF="android.view.animation.CycleInterpolator.html">CycleInterpolator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DecelerateInterpolator"></A>
+  <nobr><A HREF="android.view.animation.DecelerateInterpolator.html">DecelerateInterpolator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LinearInterpolator"></A>
+  <nobr><A HREF="android.view.animation.LinearInterpolator.html">LinearInterpolator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="OvershootInterpolator"></A>
+  <nobr><A HREF="android.view.animation.OvershootInterpolator.html">OvershootInterpolator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PathInterpolator"></A>
+  <nobr><A HREF="android.view.animation.PathInterpolator.html">PathInterpolator</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/22/changes/pkg_android.view.html b/docs/html/sdk/api_diff/22/changes/pkg_android.view.html
new file mode 100644
index 0000000..c5fbb07
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.view.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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 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="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="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="WindowManager.LayoutParams"></A>
+  <nobr><A HREF="android.view.WindowManager.LayoutParams.html">WindowManager.LayoutParams</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/22/changes/pkg_android.webkit.html b/docs/html/sdk/api_diff/22/changes/pkg_android.webkit.html
new file mode 100644
index 0000000..b1834fc
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.webkit.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="CookieManager"></A>
+  <nobr><A HREF="android.webkit.CookieManager.html">CookieManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WebBackForwardList"></A>
+  <nobr><A HREF="android.webkit.WebBackForwardList.html">WebBackForwardList</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WebHistoryItem"></A>
+  <nobr><A HREF="android.webkit.WebHistoryItem.html">WebHistoryItem</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WebIconDatabase"></A>
+  <nobr><A HREF="android.webkit.WebIconDatabase.html">WebIconDatabase</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="WebViewDatabase"></A>
+  <nobr><A HREF="android.webkit.WebViewDatabase.html">WebViewDatabase</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/22/changes/pkg_android.widget.html b/docs/html/sdk/api_diff/22/changes/pkg_android.widget.html
new file mode 100644
index 0000000..52072d5
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_android.widget.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.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="PopupMenu"></A>
+  <nobr><A HREF="android.widget.PopupMenu.html">PopupMenu</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="RemoteViews"></A>
+  <nobr><A HREF="android.widget.RemoteViews.html">RemoteViews</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/22/changes/pkg_org.apache.commons.logging.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.commons.logging.html
new file mode 100644
index 0000000..d575418
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.commons.logging.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>
+org.apache.commons.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/commons/logging/package-summary.html" target="_top"><font size="+1"><code>org.apache.commons.logging</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="Log"></A>
+  <nobr><A HREF="org.apache.commons.logging.Log.html"><I>Log</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/22/changes/pkg_org.apache.http.auth.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.auth.html
new file mode 100644
index 0000000..4cd6e25
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.auth.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+org.apache.http.auth
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/auth/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.auth</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="AUTH"></A>
+  <nobr><A HREF="org.apache.http.auth.AUTH.html">AUTH</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AuthScheme"></A>
+  <nobr><A HREF="org.apache.http.auth.AuthScheme.html"><I>AuthScheme</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AuthSchemeFactory"></A>
+  <nobr><A HREF="org.apache.http.auth.AuthSchemeFactory.html"><I>AuthSchemeFactory</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AuthSchemeRegistry"></A>
+  <nobr><A HREF="org.apache.http.auth.AuthSchemeRegistry.html">AuthSchemeRegistry</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AuthScope"></A>
+  <nobr><A HREF="org.apache.http.auth.AuthScope.html">AuthScope</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AuthState"></A>
+  <nobr><A HREF="org.apache.http.auth.AuthState.html">AuthState</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AuthenticationException"></A>
+  <nobr><A HREF="org.apache.http.auth.AuthenticationException.html">AuthenticationException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicUserPrincipal"></A>
+  <nobr><A HREF="org.apache.http.auth.BasicUserPrincipal.html">BasicUserPrincipal</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Credentials"></A>
+  <nobr><A HREF="org.apache.http.auth.Credentials.html"><I>Credentials</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InvalidCredentialsException"></A>
+  <nobr><A HREF="org.apache.http.auth.InvalidCredentialsException.html">InvalidCredentialsException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MalformedChallengeException"></A>
+  <nobr><A HREF="org.apache.http.auth.MalformedChallengeException.html">MalformedChallengeException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NTCredentials"></A>
+  <nobr><A HREF="org.apache.http.auth.NTCredentials.html">NTCredentials</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NTUserPrincipal"></A>
+  <nobr><A HREF="org.apache.http.auth.NTUserPrincipal.html">NTUserPrincipal</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="UsernamePasswordCredentials"></A>
+  <nobr><A HREF="org.apache.http.auth.UsernamePasswordCredentials.html">UsernamePasswordCredentials</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/22/changes/pkg_org.apache.http.auth.params.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.auth.params.html
new file mode 100644
index 0000000..381a11f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.auth.params.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>
+org.apache.http.auth.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/auth/params/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.auth.params</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="AuthPNames"></A>
+  <nobr><A HREF="org.apache.http.auth.params.AuthPNames.html"><I>AuthPNames</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AuthParamBean"></A>
+  <nobr><A HREF="org.apache.http.auth.params.AuthParamBean.html">AuthParamBean</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AuthParams"></A>
+  <nobr><A HREF="org.apache.http.auth.params.AuthParams.html">AuthParams</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/22/changes/pkg_org.apache.http.client.entity.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.client.entity.html
new file mode 100644
index 0000000..ed207fa
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.client.entity.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>
+org.apache.http.client.entity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/client/entity/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.client.entity</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="UrlEncodedFormEntity"></A>
+  <nobr><A HREF="org.apache.http.client.entity.UrlEncodedFormEntity.html">UrlEncodedFormEntity</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/22/changes/pkg_org.apache.http.client.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.client.html
new file mode 100644
index 0000000..650c580
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.client.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+org.apache.http.client
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/client/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.client</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="AuthenticationHandler"></A>
+  <nobr><A HREF="org.apache.http.client.AuthenticationHandler.html"><I>AuthenticationHandler</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CircularRedirectException"></A>
+  <nobr><A HREF="org.apache.http.client.CircularRedirectException.html">CircularRedirectException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ClientProtocolException"></A>
+  <nobr><A HREF="org.apache.http.client.ClientProtocolException.html">ClientProtocolException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CookieStore"></A>
+  <nobr><A HREF="org.apache.http.client.CookieStore.html"><I>CookieStore</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CredentialsProvider"></A>
+  <nobr><A HREF="org.apache.http.client.CredentialsProvider.html"><I>CredentialsProvider</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpClient"></A>
+  <nobr><A HREF="org.apache.http.client.HttpClient.html"><I>HttpClient</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpRequestRetryHandler"></A>
+  <nobr><A HREF="org.apache.http.client.HttpRequestRetryHandler.html"><I>HttpRequestRetryHandler</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpResponseException"></A>
+  <nobr><A HREF="org.apache.http.client.HttpResponseException.html">HttpResponseException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NonRepeatableRequestException"></A>
+  <nobr><A HREF="org.apache.http.client.NonRepeatableRequestException.html">NonRepeatableRequestException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RedirectException"></A>
+  <nobr><A HREF="org.apache.http.client.RedirectException.html">RedirectException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RedirectHandler"></A>
+  <nobr><A HREF="org.apache.http.client.RedirectHandler.html"><I>RedirectHandler</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RequestDirector"></A>
+  <nobr><A HREF="org.apache.http.client.RequestDirector.html"><I>RequestDirector</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ResponseHandler"></A>
+  <nobr><A HREF="org.apache.http.client.ResponseHandler.html"><I>ResponseHandler</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="UserTokenHandler"></A>
+  <nobr><A HREF="org.apache.http.client.UserTokenHandler.html"><I>UserTokenHandler</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/22/changes/pkg_org.apache.http.client.methods.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.client.methods.html
new file mode 100644
index 0000000..dba989b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.client.methods.html
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+org.apache.http.client.methods
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/client/methods/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.client.methods</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="AbortableHttpRequest"></A>
+  <nobr><A HREF="org.apache.http.client.methods.AbortableHttpRequest.html"><I>AbortableHttpRequest</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpDelete"></A>
+  <nobr><A HREF="org.apache.http.client.methods.HttpDelete.html">HttpDelete</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpEntityEnclosingRequestBase"></A>
+  <nobr><A HREF="org.apache.http.client.methods.HttpEntityEnclosingRequestBase.html">HttpEntityEnclosingRequestBase</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpGet"></A>
+  <nobr><A HREF="org.apache.http.client.methods.HttpGet.html">HttpGet</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpHead"></A>
+  <nobr><A HREF="org.apache.http.client.methods.HttpHead.html">HttpHead</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpOptions"></A>
+  <nobr><A HREF="org.apache.http.client.methods.HttpOptions.html">HttpOptions</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpPost"></A>
+  <nobr><A HREF="org.apache.http.client.methods.HttpPost.html">HttpPost</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpPut"></A>
+  <nobr><A HREF="org.apache.http.client.methods.HttpPut.html">HttpPut</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpRequestBase"></A>
+  <nobr><A HREF="org.apache.http.client.methods.HttpRequestBase.html">HttpRequestBase</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpTrace"></A>
+  <nobr><A HREF="org.apache.http.client.methods.HttpTrace.html">HttpTrace</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpUriRequest"></A>
+  <nobr><A HREF="org.apache.http.client.methods.HttpUriRequest.html"><I>HttpUriRequest</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/22/changes/pkg_org.apache.http.client.params.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.client.params.html
new file mode 100644
index 0000000..6f2286a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.client.params.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>
+org.apache.http.client.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/client/params/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.client.params</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="AllClientPNames"></A>
+  <nobr><A HREF="org.apache.http.client.params.AllClientPNames.html"><I>AllClientPNames</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AuthPolicy"></A>
+  <nobr><A HREF="org.apache.http.client.params.AuthPolicy.html">AuthPolicy</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ClientPNames"></A>
+  <nobr><A HREF="org.apache.http.client.params.ClientPNames.html"><I>ClientPNames</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ClientParamBean"></A>
+  <nobr><A HREF="org.apache.http.client.params.ClientParamBean.html">ClientParamBean</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CookiePolicy"></A>
+  <nobr><A HREF="org.apache.http.client.params.CookiePolicy.html">CookiePolicy</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpClientParams"></A>
+  <nobr><A HREF="org.apache.http.client.params.HttpClientParams.html">HttpClientParams</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/22/changes/pkg_org.apache.http.client.protocol.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.client.protocol.html
new file mode 100644
index 0000000..b2ede42
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.client.protocol.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>
+org.apache.http.client.protocol
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/client/protocol/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.client.protocol</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="ClientContext"></A>
+  <nobr><A HREF="org.apache.http.client.protocol.ClientContext.html"><I>ClientContext</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ClientContextConfigurer"></A>
+  <nobr><A HREF="org.apache.http.client.protocol.ClientContextConfigurer.html">ClientContextConfigurer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RequestAddCookies"></A>
+  <nobr><A HREF="org.apache.http.client.protocol.RequestAddCookies.html">RequestAddCookies</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RequestDefaultHeaders"></A>
+  <nobr><A HREF="org.apache.http.client.protocol.RequestDefaultHeaders.html">RequestDefaultHeaders</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RequestProxyAuthentication"></A>
+  <nobr><A HREF="org.apache.http.client.protocol.RequestProxyAuthentication.html">RequestProxyAuthentication</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RequestTargetAuthentication"></A>
+  <nobr><A HREF="org.apache.http.client.protocol.RequestTargetAuthentication.html">RequestTargetAuthentication</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ResponseProcessCookies"></A>
+  <nobr><A HREF="org.apache.http.client.protocol.ResponseProcessCookies.html">ResponseProcessCookies</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/22/changes/pkg_org.apache.http.client.utils.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.client.utils.html
new file mode 100644
index 0000000..044cb56
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.client.utils.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>
+org.apache.http.client.utils
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/client/utils/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.client.utils</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="CloneUtils"></A>
+  <nobr><A HREF="org.apache.http.client.utils.CloneUtils.html">CloneUtils</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="URIUtils"></A>
+  <nobr><A HREF="org.apache.http.client.utils.URIUtils.html">URIUtils</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="URLEncodedUtils"></A>
+  <nobr><A HREF="org.apache.http.client.utils.URLEncodedUtils.html">URLEncodedUtils</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/22/changes/pkg_org.apache.http.conn.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.conn.html
new file mode 100644
index 0000000..b12f79f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.conn.html
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+org.apache.http.conn
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/conn/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.conn</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="BasicEofSensorWatcher"></A>
+  <nobr><A HREF="org.apache.http.conn.BasicEofSensorWatcher.html">BasicEofSensorWatcher</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicManagedEntity"></A>
+  <nobr><A HREF="org.apache.http.conn.BasicManagedEntity.html">BasicManagedEntity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ClientConnectionManager"></A>
+  <nobr><A HREF="org.apache.http.conn.ClientConnectionManager.html"><I>ClientConnectionManager</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ClientConnectionManagerFactory"></A>
+  <nobr><A HREF="org.apache.http.conn.ClientConnectionManagerFactory.html"><I>ClientConnectionManagerFactory</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ClientConnectionOperator"></A>
+  <nobr><A HREF="org.apache.http.conn.ClientConnectionOperator.html"><I>ClientConnectionOperator</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ClientConnectionRequest"></A>
+  <nobr><A HREF="org.apache.http.conn.ClientConnectionRequest.html"><I>ClientConnectionRequest</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnectTimeoutException"></A>
+  <nobr><A HREF="org.apache.http.conn.ConnectTimeoutException.html">ConnectTimeoutException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnectionKeepAliveStrategy"></A>
+  <nobr><A HREF="org.apache.http.conn.ConnectionKeepAliveStrategy.html"><I>ConnectionKeepAliveStrategy</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnectionPoolTimeoutException"></A>
+  <nobr><A HREF="org.apache.http.conn.ConnectionPoolTimeoutException.html">ConnectionPoolTimeoutException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnectionReleaseTrigger"></A>
+  <nobr><A HREF="org.apache.http.conn.ConnectionReleaseTrigger.html"><I>ConnectionReleaseTrigger</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="EofSensorInputStream"></A>
+  <nobr><A HREF="org.apache.http.conn.EofSensorInputStream.html">EofSensorInputStream</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="EofSensorWatcher"></A>
+  <nobr><A HREF="org.apache.http.conn.EofSensorWatcher.html"><I>EofSensorWatcher</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpHostConnectException"></A>
+  <nobr><A HREF="org.apache.http.conn.HttpHostConnectException.html">HttpHostConnectException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ManagedClientConnection"></A>
+  <nobr><A HREF="org.apache.http.conn.ManagedClientConnection.html"><I>ManagedClientConnection</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MultihomePlainSocketFactory"></A>
+  <nobr><A HREF="org.apache.http.conn.MultihomePlainSocketFactory.html">MultihomePlainSocketFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="OperatedClientConnection"></A>
+  <nobr><A HREF="org.apache.http.conn.OperatedClientConnection.html"><I>OperatedClientConnection</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/22/changes/pkg_org.apache.http.conn.params.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.conn.params.html
new file mode 100644
index 0000000..3b2776c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.conn.params.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+org.apache.http.conn.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/conn/params/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.conn.params</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="ConnConnectionPNames"></A>
+  <nobr><A HREF="org.apache.http.conn.params.ConnConnectionPNames.html"><I>ConnConnectionPNames</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnConnectionParamBean"></A>
+  <nobr><A HREF="org.apache.http.conn.params.ConnConnectionParamBean.html">ConnConnectionParamBean</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnManagerPNames"></A>
+  <nobr><A HREF="org.apache.http.conn.params.ConnManagerPNames.html"><I>ConnManagerPNames</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnManagerParamBean"></A>
+  <nobr><A HREF="org.apache.http.conn.params.ConnManagerParamBean.html">ConnManagerParamBean</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnManagerParams"></A>
+  <nobr><A HREF="org.apache.http.conn.params.ConnManagerParams.html">ConnManagerParams</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnPerRoute"></A>
+  <nobr><A HREF="org.apache.http.conn.params.ConnPerRoute.html"><I>ConnPerRoute</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnPerRouteBean"></A>
+  <nobr><A HREF="org.apache.http.conn.params.ConnPerRouteBean.html">ConnPerRouteBean</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnRoutePNames"></A>
+  <nobr><A HREF="org.apache.http.conn.params.ConnRoutePNames.html"><I>ConnRoutePNames</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnRouteParamBean"></A>
+  <nobr><A HREF="org.apache.http.conn.params.ConnRouteParamBean.html">ConnRouteParamBean</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnRouteParams"></A>
+  <nobr><A HREF="org.apache.http.conn.params.ConnRouteParams.html">ConnRouteParams</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/22/changes/pkg_org.apache.http.conn.routing.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.conn.routing.html
new file mode 100644
index 0000000..489997b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.conn.routing.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>
+org.apache.http.conn.routing
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/conn/routing/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.conn.routing</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="BasicRouteDirector"></A>
+  <nobr><A HREF="org.apache.http.conn.routing.BasicRouteDirector.html">BasicRouteDirector</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpRoute"></A>
+  <nobr><A HREF="org.apache.http.conn.routing.HttpRoute.html">HttpRoute</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpRouteDirector"></A>
+  <nobr><A HREF="org.apache.http.conn.routing.HttpRouteDirector.html"><I>HttpRouteDirector</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpRoutePlanner"></A>
+  <nobr><A HREF="org.apache.http.conn.routing.HttpRoutePlanner.html"><I>HttpRoutePlanner</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RouteInfo"></A>
+  <nobr><A HREF="org.apache.http.conn.routing.RouteInfo.html"><I>RouteInfo</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RouteTracker"></A>
+  <nobr><A HREF="org.apache.http.conn.routing.RouteTracker.html">RouteTracker</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/22/changes/pkg_org.apache.http.conn.scheme.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.conn.scheme.html
new file mode 100644
index 0000000..1f7a8d0
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.conn.scheme.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>
+org.apache.http.conn.scheme
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/conn/scheme/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.conn.scheme</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="HostNameResolver"></A>
+  <nobr><A HREF="org.apache.http.conn.scheme.HostNameResolver.html"><I>HostNameResolver</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LayeredSocketFactory"></A>
+  <nobr><A HREF="org.apache.http.conn.scheme.LayeredSocketFactory.html"><I>LayeredSocketFactory</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PlainSocketFactory"></A>
+  <nobr><A HREF="org.apache.http.conn.scheme.PlainSocketFactory.html">PlainSocketFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Scheme"></A>
+  <nobr><A HREF="org.apache.http.conn.scheme.Scheme.html">Scheme</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SchemeRegistry"></A>
+  <nobr><A HREF="org.apache.http.conn.scheme.SchemeRegistry.html">SchemeRegistry</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SocketFactory"></A>
+  <nobr><A HREF="org.apache.http.conn.scheme.SocketFactory.html"><I>SocketFactory</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/22/changes/pkg_org.apache.http.conn.ssl.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.conn.ssl.html
new file mode 100644
index 0000000..26af933
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.conn.ssl.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>
+org.apache.http.conn.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/conn/ssl/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.conn.ssl</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="AbstractVerifier"></A>
+  <nobr><A HREF="org.apache.http.conn.ssl.AbstractVerifier.html">AbstractVerifier</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AllowAllHostnameVerifier"></A>
+  <nobr><A HREF="org.apache.http.conn.ssl.AllowAllHostnameVerifier.html">AllowAllHostnameVerifier</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BrowserCompatHostnameVerifier"></A>
+  <nobr><A HREF="org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.html">BrowserCompatHostnameVerifier</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SSLSocketFactory"></A>
+  <nobr><A HREF="org.apache.http.conn.ssl.SSLSocketFactory.html">SSLSocketFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StrictHostnameVerifier"></A>
+  <nobr><A HREF="org.apache.http.conn.ssl.StrictHostnameVerifier.html">StrictHostnameVerifier</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="X509HostnameVerifier"></A>
+  <nobr><A HREF="org.apache.http.conn.ssl.X509HostnameVerifier.html"><I>X509HostnameVerifier</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/22/changes/pkg_org.apache.http.conn.util.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.conn.util.html
new file mode 100644
index 0000000..90149c1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.conn.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>
+org.apache.http.conn.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/conn/util/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.conn.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="InetAddressUtils"></A>
+  <nobr><A HREF="org.apache.http.conn.util.InetAddressUtils.html">InetAddressUtils</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/22/changes/pkg_org.apache.http.cookie.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.cookie.html
new file mode 100644
index 0000000..f33f438
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.cookie.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>
+org.apache.http.cookie
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/cookie/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.cookie</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="ClientCookie"></A>
+  <nobr><A HREF="org.apache.http.cookie.ClientCookie.html"><I>ClientCookie</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Cookie"></A>
+  <nobr><A HREF="org.apache.http.cookie.Cookie.html"><I>Cookie</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CookieAttributeHandler"></A>
+  <nobr><A HREF="org.apache.http.cookie.CookieAttributeHandler.html"><I>CookieAttributeHandler</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CookieIdentityComparator"></A>
+  <nobr><A HREF="org.apache.http.cookie.CookieIdentityComparator.html">CookieIdentityComparator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CookieOrigin"></A>
+  <nobr><A HREF="org.apache.http.cookie.CookieOrigin.html">CookieOrigin</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CookiePathComparator"></A>
+  <nobr><A HREF="org.apache.http.cookie.CookiePathComparator.html">CookiePathComparator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CookieSpec"></A>
+  <nobr><A HREF="org.apache.http.cookie.CookieSpec.html"><I>CookieSpec</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CookieSpecFactory"></A>
+  <nobr><A HREF="org.apache.http.cookie.CookieSpecFactory.html"><I>CookieSpecFactory</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CookieSpecRegistry"></A>
+  <nobr><A HREF="org.apache.http.cookie.CookieSpecRegistry.html">CookieSpecRegistry</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MalformedCookieException"></A>
+  <nobr><A HREF="org.apache.http.cookie.MalformedCookieException.html">MalformedCookieException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SM"></A>
+  <nobr><A HREF="org.apache.http.cookie.SM.html"><I>SM</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SetCookie"></A>
+  <nobr><A HREF="org.apache.http.cookie.SetCookie.html"><I>SetCookie</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SetCookie2"></A>
+  <nobr><A HREF="org.apache.http.cookie.SetCookie2.html"><I>SetCookie2</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/22/changes/pkg_org.apache.http.cookie.params.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.cookie.params.html
new file mode 100644
index 0000000..6b68953
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.cookie.params.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>
+org.apache.http.cookie.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/cookie/params/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.cookie.params</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="CookieSpecPNames"></A>
+  <nobr><A HREF="org.apache.http.cookie.params.CookieSpecPNames.html"><I>CookieSpecPNames</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CookieSpecParamBean"></A>
+  <nobr><A HREF="org.apache.http.cookie.params.CookieSpecParamBean.html">CookieSpecParamBean</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/22/changes/pkg_org.apache.http.entity.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.entity.html
new file mode 100644
index 0000000..0ba66e1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.entity.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+org.apache.http.entity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/entity/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.entity</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="AbstractHttpEntity"></A>
+  <nobr><A HREF="org.apache.http.entity.AbstractHttpEntity.html">AbstractHttpEntity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicHttpEntity"></A>
+  <nobr><A HREF="org.apache.http.entity.BasicHttpEntity.html">BasicHttpEntity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BufferedHttpEntity"></A>
+  <nobr><A HREF="org.apache.http.entity.BufferedHttpEntity.html">BufferedHttpEntity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ByteArrayEntity"></A>
+  <nobr><A HREF="org.apache.http.entity.ByteArrayEntity.html">ByteArrayEntity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContentLengthStrategy"></A>
+  <nobr><A HREF="org.apache.http.entity.ContentLengthStrategy.html"><I>ContentLengthStrategy</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContentProducer"></A>
+  <nobr><A HREF="org.apache.http.entity.ContentProducer.html"><I>ContentProducer</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="EntityTemplate"></A>
+  <nobr><A HREF="org.apache.http.entity.EntityTemplate.html">EntityTemplate</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FileEntity"></A>
+  <nobr><A HREF="org.apache.http.entity.FileEntity.html">FileEntity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpEntityWrapper"></A>
+  <nobr><A HREF="org.apache.http.entity.HttpEntityWrapper.html">HttpEntityWrapper</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InputStreamEntity"></A>
+  <nobr><A HREF="org.apache.http.entity.InputStreamEntity.html">InputStreamEntity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SerializableEntity"></A>
+  <nobr><A HREF="org.apache.http.entity.SerializableEntity.html">SerializableEntity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StringEntity"></A>
+  <nobr><A HREF="org.apache.http.entity.StringEntity.html">StringEntity</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/22/changes/pkg_org.apache.http.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.html
new file mode 100644
index 0000000..56eda86
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.html
@@ -0,0 +1,371 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+org.apache.http
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/package-summary.html" target="_top"><font size="+1"><code>org.apache.http</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="ConnectionClosedException"></A>
+  <nobr><A HREF="org.apache.http.ConnectionClosedException.html">ConnectionClosedException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnectionReuseStrategy"></A>
+  <nobr><A HREF="org.apache.http.ConnectionReuseStrategy.html"><I>ConnectionReuseStrategy</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FormattedHeader"></A>
+  <nobr><A HREF="org.apache.http.FormattedHeader.html"><I>FormattedHeader</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Header"></A>
+  <nobr><A HREF="org.apache.http.Header.html"><I>Header</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HeaderElement"></A>
+  <nobr><A HREF="org.apache.http.HeaderElement.html"><I>HeaderElement</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HeaderElementIterator"></A>
+  <nobr><A HREF="org.apache.http.HeaderElementIterator.html"><I>HeaderElementIterator</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HeaderIterator"></A>
+  <nobr><A HREF="org.apache.http.HeaderIterator.html"><I>HeaderIterator</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpClientConnection"></A>
+  <nobr><A HREF="org.apache.http.HttpClientConnection.html"><I>HttpClientConnection</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpConnection"></A>
+  <nobr><A HREF="org.apache.http.HttpConnection.html"><I>HttpConnection</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpConnectionMetrics"></A>
+  <nobr><A HREF="org.apache.http.HttpConnectionMetrics.html"><I>HttpConnectionMetrics</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpEntity"></A>
+  <nobr><A HREF="org.apache.http.HttpEntity.html"><I>HttpEntity</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpEntityEnclosingRequest"></A>
+  <nobr><A HREF="org.apache.http.HttpEntityEnclosingRequest.html"><I>HttpEntityEnclosingRequest</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpException"></A>
+  <nobr><A HREF="org.apache.http.HttpException.html">HttpException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpHost"></A>
+  <nobr><A HREF="org.apache.http.HttpHost.html">HttpHost</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpInetConnection"></A>
+  <nobr><A HREF="org.apache.http.HttpInetConnection.html"><I>HttpInetConnection</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpMessage"></A>
+  <nobr><A HREF="org.apache.http.HttpMessage.html"><I>HttpMessage</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpRequest"></A>
+  <nobr><A HREF="org.apache.http.HttpRequest.html"><I>HttpRequest</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpRequestFactory"></A>
+  <nobr><A HREF="org.apache.http.HttpRequestFactory.html"><I>HttpRequestFactory</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpRequestInterceptor"></A>
+  <nobr><A HREF="org.apache.http.HttpRequestInterceptor.html"><I>HttpRequestInterceptor</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpResponse"></A>
+  <nobr><A HREF="org.apache.http.HttpResponse.html"><I>HttpResponse</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpResponseFactory"></A>
+  <nobr><A HREF="org.apache.http.HttpResponseFactory.html"><I>HttpResponseFactory</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpResponseInterceptor"></A>
+  <nobr><A HREF="org.apache.http.HttpResponseInterceptor.html"><I>HttpResponseInterceptor</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpServerConnection"></A>
+  <nobr><A HREF="org.apache.http.HttpServerConnection.html"><I>HttpServerConnection</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpStatus"></A>
+  <nobr><A HREF="org.apache.http.HttpStatus.html"><I>HttpStatus</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpVersion"></A>
+  <nobr><A HREF="org.apache.http.HttpVersion.html">HttpVersion</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MalformedChunkCodingException"></A>
+  <nobr><A HREF="org.apache.http.MalformedChunkCodingException.html">MalformedChunkCodingException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MethodNotSupportedException"></A>
+  <nobr><A HREF="org.apache.http.MethodNotSupportedException.html">MethodNotSupportedException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NameValuePair"></A>
+  <nobr><A HREF="org.apache.http.NameValuePair.html"><I>NameValuePair</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NoHttpResponseException"></A>
+  <nobr><A HREF="org.apache.http.NoHttpResponseException.html">NoHttpResponseException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ParseException"></A>
+  <nobr><A HREF="org.apache.http.ParseException.html">ParseException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ProtocolException"></A>
+  <nobr><A HREF="org.apache.http.ProtocolException.html">ProtocolException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ProtocolVersion"></A>
+  <nobr><A HREF="org.apache.http.ProtocolVersion.html">ProtocolVersion</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ReasonPhraseCatalog"></A>
+  <nobr><A HREF="org.apache.http.ReasonPhraseCatalog.html"><I>ReasonPhraseCatalog</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RequestLine"></A>
+  <nobr><A HREF="org.apache.http.RequestLine.html"><I>RequestLine</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StatusLine"></A>
+  <nobr><A HREF="org.apache.http.StatusLine.html"><I>StatusLine</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TokenIterator"></A>
+  <nobr><A HREF="org.apache.http.TokenIterator.html"><I>TokenIterator</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="UnsupportedHttpVersionException"></A>
+  <nobr><A HREF="org.apache.http.UnsupportedHttpVersionException.html">UnsupportedHttpVersionException</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/22/changes/pkg_org.apache.http.impl.auth.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.impl.auth.html
new file mode 100644
index 0000000..d07f3bf
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.impl.auth.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+org.apache.http.impl.auth
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/impl/auth/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.impl.auth</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="AuthSchemeBase"></A>
+  <nobr><A HREF="org.apache.http.impl.auth.AuthSchemeBase.html">AuthSchemeBase</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicScheme"></A>
+  <nobr><A HREF="org.apache.http.impl.auth.BasicScheme.html">BasicScheme</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicSchemeFactory"></A>
+  <nobr><A HREF="org.apache.http.impl.auth.BasicSchemeFactory.html">BasicSchemeFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DigestScheme"></A>
+  <nobr><A HREF="org.apache.http.impl.auth.DigestScheme.html">DigestScheme</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DigestSchemeFactory"></A>
+  <nobr><A HREF="org.apache.http.impl.auth.DigestSchemeFactory.html">DigestSchemeFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NTLMEngine"></A>
+  <nobr><A HREF="org.apache.http.impl.auth.NTLMEngine.html"><I>NTLMEngine</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NTLMEngineException"></A>
+  <nobr><A HREF="org.apache.http.impl.auth.NTLMEngineException.html">NTLMEngineException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NTLMScheme"></A>
+  <nobr><A HREF="org.apache.http.impl.auth.NTLMScheme.html">NTLMScheme</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RFC2617Scheme"></A>
+  <nobr><A HREF="org.apache.http.impl.auth.RFC2617Scheme.html">RFC2617Scheme</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="UnsupportedDigestAlgorithmException"></A>
+  <nobr><A HREF="org.apache.http.impl.auth.UnsupportedDigestAlgorithmException.html">UnsupportedDigestAlgorithmException</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/22/changes/pkg_org.apache.http.impl.client.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.impl.client.html
new file mode 100644
index 0000000..ddcc78c
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.impl.client.html
@@ -0,0 +1,245 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+org.apache.http.impl.client
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/impl/client/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.impl.client</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="AbstractAuthenticationHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.client.AbstractAuthenticationHandler.html">AbstractAuthenticationHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AbstractHttpClient"></A>
+  <nobr><A HREF="org.apache.http.impl.client.AbstractHttpClient.html">AbstractHttpClient</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicCookieStore"></A>
+  <nobr><A HREF="org.apache.http.impl.client.BasicCookieStore.html">BasicCookieStore</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicCredentialsProvider"></A>
+  <nobr><A HREF="org.apache.http.impl.client.BasicCredentialsProvider.html">BasicCredentialsProvider</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicResponseHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.client.BasicResponseHandler.html">BasicResponseHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ClientParamsStack"></A>
+  <nobr><A HREF="org.apache.http.impl.client.ClientParamsStack.html">ClientParamsStack</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultConnectionKeepAliveStrategy"></A>
+  <nobr><A HREF="org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy.html">DefaultConnectionKeepAliveStrategy</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultHttpClient"></A>
+  <nobr><A HREF="org.apache.http.impl.client.DefaultHttpClient.html">DefaultHttpClient</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultHttpRequestRetryHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.client.DefaultHttpRequestRetryHandler.html">DefaultHttpRequestRetryHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultProxyAuthenticationHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.client.DefaultProxyAuthenticationHandler.html">DefaultProxyAuthenticationHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultRedirectHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.client.DefaultRedirectHandler.html">DefaultRedirectHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultRequestDirector"></A>
+  <nobr><A HREF="org.apache.http.impl.client.DefaultRequestDirector.html">DefaultRequestDirector</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultTargetAuthenticationHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.client.DefaultTargetAuthenticationHandler.html">DefaultTargetAuthenticationHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultUserTokenHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.client.DefaultUserTokenHandler.html">DefaultUserTokenHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="EntityEnclosingRequestWrapper"></A>
+  <nobr><A HREF="org.apache.http.impl.client.EntityEnclosingRequestWrapper.html">EntityEnclosingRequestWrapper</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RedirectLocations"></A>
+  <nobr><A HREF="org.apache.http.impl.client.RedirectLocations.html">RedirectLocations</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RequestWrapper"></A>
+  <nobr><A HREF="org.apache.http.impl.client.RequestWrapper.html">RequestWrapper</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RoutedRequest"></A>
+  <nobr><A HREF="org.apache.http.impl.client.RoutedRequest.html">RoutedRequest</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TunnelRefusedException"></A>
+  <nobr><A HREF="org.apache.http.impl.client.TunnelRefusedException.html">TunnelRefusedException</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/22/changes/pkg_org.apache.http.impl.conn.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.impl.conn.html
new file mode 100644
index 0000000..e07c77a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.impl.conn.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>
+org.apache.http.impl.conn
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/impl/conn/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.impl.conn</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="AbstractClientConnAdapter"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.AbstractClientConnAdapter.html">AbstractClientConnAdapter</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AbstractPoolEntry"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.AbstractPoolEntry.html">AbstractPoolEntry</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AbstractPooledConnAdapter"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.AbstractPooledConnAdapter.html">AbstractPooledConnAdapter</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultClientConnection"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.DefaultClientConnection.html">DefaultClientConnection</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultClientConnectionOperator"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.DefaultClientConnectionOperator.html">DefaultClientConnectionOperator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultHttpRoutePlanner"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.DefaultHttpRoutePlanner.html">DefaultHttpRoutePlanner</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultResponseParser"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.DefaultResponseParser.html">DefaultResponseParser</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IdleConnectionHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.IdleConnectionHandler.html">IdleConnectionHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LoggingSessionInputBuffer"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.LoggingSessionInputBuffer.html">LoggingSessionInputBuffer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LoggingSessionOutputBuffer"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.LoggingSessionOutputBuffer.html">LoggingSessionOutputBuffer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ProxySelectorRoutePlanner"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.ProxySelectorRoutePlanner.html">ProxySelectorRoutePlanner</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SingleClientConnManager"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.SingleClientConnManager.html">SingleClientConnManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Wire"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.Wire.html">Wire</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/22/changes/pkg_org.apache.http.impl.conn.tsccm.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.impl.conn.tsccm.html
new file mode 100644
index 0000000..c918fd1
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.impl.conn.tsccm.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+org.apache.http.impl.conn.tsccm
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/impl/conn/tsccm/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.impl.conn.tsccm</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="AbstractConnPool"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.tsccm.AbstractConnPool.html">AbstractConnPool</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicPoolEntry"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.tsccm.BasicPoolEntry.html">BasicPoolEntry</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicPoolEntryRef"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.tsccm.BasicPoolEntryRef.html">BasicPoolEntryRef</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicPooledConnAdapter"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.tsccm.BasicPooledConnAdapter.html">BasicPooledConnAdapter</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnPoolByRoute"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.tsccm.ConnPoolByRoute.html">ConnPoolByRoute</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PoolEntryRequest"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.tsccm.PoolEntryRequest.html"><I>PoolEntryRequest</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RefQueueHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.tsccm.RefQueueHandler.html"><I>RefQueueHandler</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RefQueueWorker"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.tsccm.RefQueueWorker.html">RefQueueWorker</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RouteSpecificPool"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.tsccm.RouteSpecificPool.html">RouteSpecificPool</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ThreadSafeClientConnManager"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager.html">ThreadSafeClientConnManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WaitingThread"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.tsccm.WaitingThread.html">WaitingThread</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WaitingThreadAborter"></A>
+  <nobr><A HREF="org.apache.http.impl.conn.tsccm.WaitingThreadAborter.html">WaitingThreadAborter</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/22/changes/pkg_org.apache.http.impl.cookie.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.impl.cookie.html
new file mode 100644
index 0000000..9ab8e1a
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.impl.cookie.html
@@ -0,0 +1,336 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+org.apache.http.impl.cookie
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/impl/cookie/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.impl.cookie</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="AbstractCookieAttributeHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.AbstractCookieAttributeHandler.html">AbstractCookieAttributeHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AbstractCookieSpec"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.AbstractCookieSpec.html">AbstractCookieSpec</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicClientCookie"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.BasicClientCookie.html">BasicClientCookie</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicClientCookie2"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.BasicClientCookie2.html">BasicClientCookie2</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicCommentHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.BasicCommentHandler.html">BasicCommentHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicDomainHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.BasicDomainHandler.html">BasicDomainHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicExpiresHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.BasicExpiresHandler.html">BasicExpiresHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicMaxAgeHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.BasicMaxAgeHandler.html">BasicMaxAgeHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicPathHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.BasicPathHandler.html">BasicPathHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicSecureHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.BasicSecureHandler.html">BasicSecureHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BestMatchSpec"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.BestMatchSpec.html">BestMatchSpec</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BestMatchSpecFactory"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.BestMatchSpecFactory.html">BestMatchSpecFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BrowserCompatSpec"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.BrowserCompatSpec.html">BrowserCompatSpec</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BrowserCompatSpecFactory"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.BrowserCompatSpecFactory.html">BrowserCompatSpecFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CookieSpecBase"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.CookieSpecBase.html">CookieSpecBase</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DateParseException"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.DateParseException.html">DateParseException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DateUtils"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.DateUtils.html">DateUtils</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NetscapeDomainHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.NetscapeDomainHandler.html">NetscapeDomainHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NetscapeDraftHeaderParser"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.NetscapeDraftHeaderParser.html">NetscapeDraftHeaderParser</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NetscapeDraftSpec"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.NetscapeDraftSpec.html">NetscapeDraftSpec</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NetscapeDraftSpecFactory"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.NetscapeDraftSpecFactory.html">NetscapeDraftSpecFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RFC2109DomainHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.RFC2109DomainHandler.html">RFC2109DomainHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RFC2109Spec"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.RFC2109Spec.html">RFC2109Spec</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RFC2109SpecFactory"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.RFC2109SpecFactory.html">RFC2109SpecFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RFC2109VersionHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.RFC2109VersionHandler.html">RFC2109VersionHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RFC2965CommentUrlAttributeHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.RFC2965CommentUrlAttributeHandler.html">RFC2965CommentUrlAttributeHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RFC2965DiscardAttributeHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.RFC2965DiscardAttributeHandler.html">RFC2965DiscardAttributeHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RFC2965DomainAttributeHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.RFC2965DomainAttributeHandler.html">RFC2965DomainAttributeHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RFC2965PortAttributeHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.RFC2965PortAttributeHandler.html">RFC2965PortAttributeHandler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RFC2965Spec"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.RFC2965Spec.html">RFC2965Spec</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RFC2965SpecFactory"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.RFC2965SpecFactory.html">RFC2965SpecFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RFC2965VersionAttributeHandler"></A>
+  <nobr><A HREF="org.apache.http.impl.cookie.RFC2965VersionAttributeHandler.html">RFC2965VersionAttributeHandler</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/22/changes/pkg_org.apache.http.impl.entity.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.impl.entity.html
new file mode 100644
index 0000000..85d67f6
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.impl.entity.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>
+org.apache.http.impl.entity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/impl/entity/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.impl.entity</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="EntityDeserializer"></A>
+  <nobr><A HREF="org.apache.http.impl.entity.EntityDeserializer.html">EntityDeserializer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="EntitySerializer"></A>
+  <nobr><A HREF="org.apache.http.impl.entity.EntitySerializer.html">EntitySerializer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LaxContentLengthStrategy"></A>
+  <nobr><A HREF="org.apache.http.impl.entity.LaxContentLengthStrategy.html">LaxContentLengthStrategy</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StrictContentLengthStrategy"></A>
+  <nobr><A HREF="org.apache.http.impl.entity.StrictContentLengthStrategy.html">StrictContentLengthStrategy</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/22/changes/pkg_org.apache.http.impl.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.impl.html
new file mode 100644
index 0000000..1c2c59b
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.impl.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+org.apache.http.impl
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/impl/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.impl</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="AbstractHttpClientConnection"></A>
+  <nobr><A HREF="org.apache.http.impl.AbstractHttpClientConnection.html">AbstractHttpClientConnection</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AbstractHttpServerConnection"></A>
+  <nobr><A HREF="org.apache.http.impl.AbstractHttpServerConnection.html">AbstractHttpServerConnection</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultConnectionReuseStrategy"></A>
+  <nobr><A HREF="org.apache.http.impl.DefaultConnectionReuseStrategy.html">DefaultConnectionReuseStrategy</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultHttpClientConnection"></A>
+  <nobr><A HREF="org.apache.http.impl.DefaultHttpClientConnection.html">DefaultHttpClientConnection</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultHttpRequestFactory"></A>
+  <nobr><A HREF="org.apache.http.impl.DefaultHttpRequestFactory.html">DefaultHttpRequestFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultHttpResponseFactory"></A>
+  <nobr><A HREF="org.apache.http.impl.DefaultHttpResponseFactory.html">DefaultHttpResponseFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultHttpServerConnection"></A>
+  <nobr><A HREF="org.apache.http.impl.DefaultHttpServerConnection.html">DefaultHttpServerConnection</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="EnglishReasonPhraseCatalog"></A>
+  <nobr><A HREF="org.apache.http.impl.EnglishReasonPhraseCatalog.html">EnglishReasonPhraseCatalog</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpConnectionMetricsImpl"></A>
+  <nobr><A HREF="org.apache.http.impl.HttpConnectionMetricsImpl.html">HttpConnectionMetricsImpl</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NoConnectionReuseStrategy"></A>
+  <nobr><A HREF="org.apache.http.impl.NoConnectionReuseStrategy.html">NoConnectionReuseStrategy</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SocketHttpClientConnection"></A>
+  <nobr><A HREF="org.apache.http.impl.SocketHttpClientConnection.html">SocketHttpClientConnection</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SocketHttpServerConnection"></A>
+  <nobr><A HREF="org.apache.http.impl.SocketHttpServerConnection.html">SocketHttpServerConnection</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/22/changes/pkg_org.apache.http.impl.io.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.impl.io.html
new file mode 100644
index 0000000..76bd004
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.impl.io.html
@@ -0,0 +1,231 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+org.apache.http.impl.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/impl/io/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.impl.io</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="AbstractMessageParser"></A>
+  <nobr><A HREF="org.apache.http.impl.io.AbstractMessageParser.html">AbstractMessageParser</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AbstractMessageWriter"></A>
+  <nobr><A HREF="org.apache.http.impl.io.AbstractMessageWriter.html">AbstractMessageWriter</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AbstractSessionInputBuffer"></A>
+  <nobr><A HREF="org.apache.http.impl.io.AbstractSessionInputBuffer.html">AbstractSessionInputBuffer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AbstractSessionOutputBuffer"></A>
+  <nobr><A HREF="org.apache.http.impl.io.AbstractSessionOutputBuffer.html">AbstractSessionOutputBuffer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ChunkedInputStream"></A>
+  <nobr><A HREF="org.apache.http.impl.io.ChunkedInputStream.html">ChunkedInputStream</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ChunkedOutputStream"></A>
+  <nobr><A HREF="org.apache.http.impl.io.ChunkedOutputStream.html">ChunkedOutputStream</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContentLengthInputStream"></A>
+  <nobr><A HREF="org.apache.http.impl.io.ContentLengthInputStream.html">ContentLengthInputStream</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContentLengthOutputStream"></A>
+  <nobr><A HREF="org.apache.http.impl.io.ContentLengthOutputStream.html">ContentLengthOutputStream</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpRequestParser"></A>
+  <nobr><A HREF="org.apache.http.impl.io.HttpRequestParser.html">HttpRequestParser</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpRequestWriter"></A>
+  <nobr><A HREF="org.apache.http.impl.io.HttpRequestWriter.html">HttpRequestWriter</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpResponseParser"></A>
+  <nobr><A HREF="org.apache.http.impl.io.HttpResponseParser.html">HttpResponseParser</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpResponseWriter"></A>
+  <nobr><A HREF="org.apache.http.impl.io.HttpResponseWriter.html">HttpResponseWriter</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpTransportMetricsImpl"></A>
+  <nobr><A HREF="org.apache.http.impl.io.HttpTransportMetricsImpl.html">HttpTransportMetricsImpl</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IdentityInputStream"></A>
+  <nobr><A HREF="org.apache.http.impl.io.IdentityInputStream.html">IdentityInputStream</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IdentityOutputStream"></A>
+  <nobr><A HREF="org.apache.http.impl.io.IdentityOutputStream.html">IdentityOutputStream</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SocketInputBuffer"></A>
+  <nobr><A HREF="org.apache.http.impl.io.SocketInputBuffer.html">SocketInputBuffer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SocketOutputBuffer"></A>
+  <nobr><A HREF="org.apache.http.impl.io.SocketOutputBuffer.html">SocketOutputBuffer</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/22/changes/pkg_org.apache.http.io.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.io.html
new file mode 100644
index 0000000..8d1a591
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.io.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>
+org.apache.http.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/io/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.io</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="HttpMessageParser"></A>
+  <nobr><A HREF="org.apache.http.io.HttpMessageParser.html"><I>HttpMessageParser</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpMessageWriter"></A>
+  <nobr><A HREF="org.apache.http.io.HttpMessageWriter.html"><I>HttpMessageWriter</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpTransportMetrics"></A>
+  <nobr><A HREF="org.apache.http.io.HttpTransportMetrics.html"><I>HttpTransportMetrics</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SessionInputBuffer"></A>
+  <nobr><A HREF="org.apache.http.io.SessionInputBuffer.html"><I>SessionInputBuffer</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SessionOutputBuffer"></A>
+  <nobr><A HREF="org.apache.http.io.SessionOutputBuffer.html"><I>SessionOutputBuffer</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/22/changes/pkg_org.apache.http.message.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.message.html
new file mode 100644
index 0000000..6055678
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.message.html
@@ -0,0 +1,280 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+org.apache.http.message
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/message/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.message</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="AbstractHttpMessage"></A>
+  <nobr><A HREF="org.apache.http.message.AbstractHttpMessage.html">AbstractHttpMessage</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicHeader"></A>
+  <nobr><A HREF="org.apache.http.message.BasicHeader.html">BasicHeader</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicHeaderElement"></A>
+  <nobr><A HREF="org.apache.http.message.BasicHeaderElement.html">BasicHeaderElement</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicHeaderElementIterator"></A>
+  <nobr><A HREF="org.apache.http.message.BasicHeaderElementIterator.html">BasicHeaderElementIterator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicHeaderIterator"></A>
+  <nobr><A HREF="org.apache.http.message.BasicHeaderIterator.html">BasicHeaderIterator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicHeaderValueFormatter"></A>
+  <nobr><A HREF="org.apache.http.message.BasicHeaderValueFormatter.html">BasicHeaderValueFormatter</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicHeaderValueParser"></A>
+  <nobr><A HREF="org.apache.http.message.BasicHeaderValueParser.html">BasicHeaderValueParser</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicHttpEntityEnclosingRequest"></A>
+  <nobr><A HREF="org.apache.http.message.BasicHttpEntityEnclosingRequest.html">BasicHttpEntityEnclosingRequest</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicHttpRequest"></A>
+  <nobr><A HREF="org.apache.http.message.BasicHttpRequest.html">BasicHttpRequest</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicHttpResponse"></A>
+  <nobr><A HREF="org.apache.http.message.BasicHttpResponse.html">BasicHttpResponse</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicLineFormatter"></A>
+  <nobr><A HREF="org.apache.http.message.BasicLineFormatter.html">BasicLineFormatter</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicLineParser"></A>
+  <nobr><A HREF="org.apache.http.message.BasicLineParser.html">BasicLineParser</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicListHeaderIterator"></A>
+  <nobr><A HREF="org.apache.http.message.BasicListHeaderIterator.html">BasicListHeaderIterator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicNameValuePair"></A>
+  <nobr><A HREF="org.apache.http.message.BasicNameValuePair.html">BasicNameValuePair</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicRequestLine"></A>
+  <nobr><A HREF="org.apache.http.message.BasicRequestLine.html">BasicRequestLine</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicStatusLine"></A>
+  <nobr><A HREF="org.apache.http.message.BasicStatusLine.html">BasicStatusLine</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicTokenIterator"></A>
+  <nobr><A HREF="org.apache.http.message.BasicTokenIterator.html">BasicTokenIterator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BufferedHeader"></A>
+  <nobr><A HREF="org.apache.http.message.BufferedHeader.html">BufferedHeader</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HeaderGroup"></A>
+  <nobr><A HREF="org.apache.http.message.HeaderGroup.html">HeaderGroup</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HeaderValueFormatter"></A>
+  <nobr><A HREF="org.apache.http.message.HeaderValueFormatter.html"><I>HeaderValueFormatter</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HeaderValueParser"></A>
+  <nobr><A HREF="org.apache.http.message.HeaderValueParser.html"><I>HeaderValueParser</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LineFormatter"></A>
+  <nobr><A HREF="org.apache.http.message.LineFormatter.html"><I>LineFormatter</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LineParser"></A>
+  <nobr><A HREF="org.apache.http.message.LineParser.html"><I>LineParser</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ParserCursor"></A>
+  <nobr><A HREF="org.apache.http.message.ParserCursor.html">ParserCursor</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/22/changes/pkg_org.apache.http.params.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.params.html
new file mode 100644
index 0000000..cb1d76f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.params.html
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+org.apache.http.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/params/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.params</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="AbstractHttpParams"></A>
+  <nobr><A HREF="org.apache.http.params.AbstractHttpParams.html">AbstractHttpParams</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicHttpParams"></A>
+  <nobr><A HREF="org.apache.http.params.BasicHttpParams.html">BasicHttpParams</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CoreConnectionPNames"></A>
+  <nobr><A HREF="org.apache.http.params.CoreConnectionPNames.html"><I>CoreConnectionPNames</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CoreProtocolPNames"></A>
+  <nobr><A HREF="org.apache.http.params.CoreProtocolPNames.html"><I>CoreProtocolPNames</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultedHttpParams"></A>
+  <nobr><A HREF="org.apache.http.params.DefaultedHttpParams.html">DefaultedHttpParams</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpAbstractParamBean"></A>
+  <nobr><A HREF="org.apache.http.params.HttpAbstractParamBean.html">HttpAbstractParamBean</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpConnectionParamBean"></A>
+  <nobr><A HREF="org.apache.http.params.HttpConnectionParamBean.html">HttpConnectionParamBean</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpConnectionParams"></A>
+  <nobr><A HREF="org.apache.http.params.HttpConnectionParams.html">HttpConnectionParams</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpParams"></A>
+  <nobr><A HREF="org.apache.http.params.HttpParams.html"><I>HttpParams</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpProtocolParamBean"></A>
+  <nobr><A HREF="org.apache.http.params.HttpProtocolParamBean.html">HttpProtocolParamBean</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpProtocolParams"></A>
+  <nobr><A HREF="org.apache.http.params.HttpProtocolParams.html">HttpProtocolParams</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/22/changes/pkg_org.apache.http.protocol.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.protocol.html
new file mode 100644
index 0000000..1faba0f
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.protocol.html
@@ -0,0 +1,308 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "//www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+org.apache.http.protocol
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="//developer.android.com" target="_top">Android Developers</a> | <a href="//www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/protocol/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.protocol</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="BasicHttpContext"></A>
+  <nobr><A HREF="org.apache.http.protocol.BasicHttpContext.html">BasicHttpContext</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicHttpProcessor"></A>
+  <nobr><A HREF="org.apache.http.protocol.BasicHttpProcessor.html">BasicHttpProcessor</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DefaultedHttpContext"></A>
+  <nobr><A HREF="org.apache.http.protocol.DefaultedHttpContext.html">DefaultedHttpContext</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ExecutionContext"></A>
+  <nobr><A HREF="org.apache.http.protocol.ExecutionContext.html"><I>ExecutionContext</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HTTP"></A>
+  <nobr><A HREF="org.apache.http.protocol.HTTP.html">HTTP</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpContext"></A>
+  <nobr><A HREF="org.apache.http.protocol.HttpContext.html"><I>HttpContext</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpDateGenerator"></A>
+  <nobr><A HREF="org.apache.http.protocol.HttpDateGenerator.html">HttpDateGenerator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpExpectationVerifier"></A>
+  <nobr><A HREF="org.apache.http.protocol.HttpExpectationVerifier.html"><I>HttpExpectationVerifier</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpProcessor"></A>
+  <nobr><A HREF="org.apache.http.protocol.HttpProcessor.html"><I>HttpProcessor</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpRequestExecutor"></A>
+  <nobr><A HREF="org.apache.http.protocol.HttpRequestExecutor.html">HttpRequestExecutor</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpRequestHandler"></A>
+  <nobr><A HREF="org.apache.http.protocol.HttpRequestHandler.html"><I>HttpRequestHandler</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpRequestHandlerRegistry"></A>
+  <nobr><A HREF="org.apache.http.protocol.HttpRequestHandlerRegistry.html">HttpRequestHandlerRegistry</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpRequestHandlerResolver"></A>
+  <nobr><A HREF="org.apache.http.protocol.HttpRequestHandlerResolver.html"><I>HttpRequestHandlerResolver</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpRequestInterceptorList"></A>
+  <nobr><A HREF="org.apache.http.protocol.HttpRequestInterceptorList.html"><I>HttpRequestInterceptorList</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpResponseInterceptorList"></A>
+  <nobr><A HREF="org.apache.http.protocol.HttpResponseInterceptorList.html"><I>HttpResponseInterceptorList</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HttpService"></A>
+  <nobr><A HREF="org.apache.http.protocol.HttpService.html">HttpService</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RequestConnControl"></A>
+  <nobr><A HREF="org.apache.http.protocol.RequestConnControl.html">RequestConnControl</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RequestContent"></A>
+  <nobr><A HREF="org.apache.http.protocol.RequestContent.html">RequestContent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RequestDate"></A>
+  <nobr><A HREF="org.apache.http.protocol.RequestDate.html">RequestDate</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RequestExpectContinue"></A>
+  <nobr><A HREF="org.apache.http.protocol.RequestExpectContinue.html">RequestExpectContinue</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RequestTargetHost"></A>
+  <nobr><A HREF="org.apache.http.protocol.RequestTargetHost.html">RequestTargetHost</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RequestUserAgent"></A>
+  <nobr><A HREF="org.apache.http.protocol.RequestUserAgent.html">RequestUserAgent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ResponseConnControl"></A>
+  <nobr><A HREF="org.apache.http.protocol.ResponseConnControl.html">ResponseConnControl</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ResponseContent"></A>
+  <nobr><A HREF="org.apache.http.protocol.ResponseContent.html">ResponseContent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ResponseDate"></A>
+  <nobr><A HREF="org.apache.http.protocol.ResponseDate.html">ResponseDate</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ResponseServer"></A>
+  <nobr><A HREF="org.apache.http.protocol.ResponseServer.html">ResponseServer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SyncBasicHttpContext"></A>
+  <nobr><A HREF="org.apache.http.protocol.SyncBasicHttpContext.html">SyncBasicHttpContext</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="UriPatternMatcher"></A>
+  <nobr><A HREF="org.apache.http.protocol.UriPatternMatcher.html">UriPatternMatcher</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/22/changes/pkg_org.apache.http.util.html b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.util.html
new file mode 100644
index 0000000..832b432
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/changes/pkg_org.apache.http.util.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>
+org.apache.http.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">22</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">21</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2015.02.19 13:16</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/org/apache/http/util/package-summary.html" target="_top"><font size="+1"><code>org.apache.http.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="ByteArrayBuffer"></A>
+  <nobr><A HREF="org.apache.http.util.ByteArrayBuffer.html">ByteArrayBuffer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CharArrayBuffer"></A>
+  <nobr><A HREF="org.apache.http.util.CharArrayBuffer.html">CharArrayBuffer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="EncodingUtils"></A>
+  <nobr><A HREF="org.apache.http.util.EncodingUtils.html">EncodingUtils</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="EntityUtils"></A>
+  <nobr><A HREF="org.apache.http.util.EntityUtils.html">EntityUtils</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ExceptionUtils"></A>
+  <nobr><A HREF="org.apache.http.util.ExceptionUtils.html">ExceptionUtils</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LangUtils"></A>
+  <nobr><A HREF="org.apache.http.util.LangUtils.html">LangUtils</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VersionInfo"></A>
+  <nobr><A HREF="org.apache.http.util.VersionInfo.html">VersionInfo</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/22/stylesheet-jdiff.css b/docs/html/sdk/api_diff/22/stylesheet-jdiff.css
new file mode 100644
index 0000000..edafaa3
--- /dev/null
+++ b/docs/html/sdk/api_diff/22/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/installing/installing-adt.jd b/docs/html/sdk/installing/installing-adt.jd
index 0114848..5559d1a 100644
--- a/docs/html/sdk/installing/installing-adt.jd
+++ b/docs/html/sdk/installing/installing-adt.jd
@@ -1,8 +1,8 @@
 page.title=Installing the Eclipse Plugin
-adt.zip.version=23.0.4
-adt.zip.download=ADT-23.0.4.zip
-adt.zip.bytes=103336810
-adt.zip.checksum=91a43dcf686ab73dec2c08b77243492b
+adt.zip.version=23.0.6
+adt.zip.download=ADT-23.0.6.zip
+adt.zip.bytes=103344298
+adt.zip.checksum=f64b7e50c84799f41c642218c35f1bbe
 
 @jd:body
 
@@ -142,7 +142,7 @@
 
 <p>Note that there are features of ADT that require some optional
 Eclipse packages (for example, WST). If you encounter an error when
-installing ADT, your Eclipse installion might not include these packages.
+installing ADT, your Eclipse installation might not include these packages.
 For information about how to quickly add the necessary packages to your
 Eclipse installation, see the troubleshooting topic
 <a href="{@docRoot}resources/faq/troubleshooting.html#installeclipsecomponents">ADT
diff --git a/docs/html/tools/adk/adk.jd b/docs/html/tools/adk/adk.jd
index 7e75c11..3f45c3c 100644
--- a/docs/html/tools/adk/adk.jd
+++ b/docs/html/tools/adk/adk.jd
@@ -331,7 +331,7 @@
     <li>Install the application to your device.</li>
 
     <li>Connect the ADK board (USB-A) to your Android-powered device (micro-USB). Ensure that the
-    power cable to the accessory is plugged in or that the micro-USB port on the accesory is
+    power cable to the accessory is plugged in or that the micro-USB port on the accessory is
     connected to your computer for power (this also allows you to <a href="#monitoring">monitor the
     ADK board</a>). When connected, accept the prompt that asks for whether or not to open the
     DemoKit application to connect to the accessory. If the prompt does not show up, connect and
diff --git a/docs/html/tools/building/building-studio.jd b/docs/html/tools/building/building-studio.jd
index cb8cc50..68800da 100644
--- a/docs/html/tools/building/building-studio.jd
+++ b/docs/html/tools/building/building-studio.jd
@@ -52,10 +52,10 @@
 
 <p>Click <img src="{@docRoot}images/tools/as-gradlebutton.png" alt=""
 style="vertical-align:bottom;margin:0;"/> on the bottom
-right part of the window to show the <em>Gradle Console</em>, as shown in figure 2.</p>
+right part of the window to show the <em>Gradle Console</em>, as shown in figure 1.</p>
 
-<img src="{@docRoot}images/tools/as-gradleconsole.png" alt="" />
-<p class="img-caption"><strong>Figure 2.</strong> The Gradle Console in Android Studio.</p>
+<img src="{@docRoot}images/tools/studio-gradle-console.png" alt="" />
+<p class="img-caption"><strong>Figure 1.</strong> The Gradle Console in Android Studio.</p>
 
 <p>The Gradle Console shows the build tasks and subtasks that the build system runs for
 Android Studio. If the build fails, you can find more details on the console. To hide the Gradle
@@ -68,11 +68,11 @@
 
 <p>To view the list of all available build tasks in Android Studio, click <strong>Gradle</strong>
 on the right side of the IDE window. The <em>Gradle tasks</em> panel appears as shown in
-figure 3. Double-click any build task to run it in Android Studio. To hide the <em>Gradle tasks</em>
+figure 2. Double-click any build task to run it in Android Studio. To hide the <em>Gradle tasks</em>
 panel, click <strong>Gradle</strong> again.</p>
 
-<img src="{@docRoot}images/tools/as-gradlepanel.png" alt="" />
-<p class="img-caption"><strong>Figure 3.</strong> The list of build tasks in Android Studio.</p>
+<img src="{@docRoot}images/tools/studio-gradle-panel.png" alt="" />
+<p class="img-caption"><strong>Figure 2.</strong> The list of build tasks in Android Studio.</p>
 
 <h3 id="buildRelease">Build a release version</h3>
 
diff --git a/docs/html/tools/help/draw9patch.jd b/docs/html/tools/help/draw9patch.jd
index 859b1cf..7c26441 100644
--- a/docs/html/tools/help/draw9patch.jd
+++ b/docs/html/tools/help/draw9patch.jd
@@ -2,42 +2,50 @@
 page.tags=NinePatch
 @jd:body
 
-<p>The Draw 9-patch tool allows you to easily create a 
-   {@link android.graphics.NinePatch} graphic using a WYSIWYG editor.</p>
-<p>For an introduction to Nine-patch graphics and how they work, please read 
-the section about Nine-patch in the 
-<a href="{@docRoot}guide/topics/graphics/2d-graphics.html#nine-patch">2D Graphics</a>
+<p>The Draw 9-patch tool is a WYSIWYG editor that allows you to create bitmap images that
+automatically resize to accommodate the contents of the view and the size of the screen. Selected
+parts of the image are scaled horizontally or vertically based indicators drawn within the image. </p>
+<p>For an introduction to NinePatch graphics and how they work, please read
+the section about NinePatch Drawables in the
+<a href="{@docRoot}guide/topics/graphics/2d-graphics.html#nine-patch">Canvas and Drawables</a>
 document.</p>
 
 <img src="{@docRoot}images/draw9patch-norm.png" style="float:right" alt="" height="300" width="341"
 />
 
-<p>Here's a quick guide to create a Nine-patch graphic using the Draw 9-patch tool.
-You'll need the PNG image with which you'd like to create a NinePatch.</p>
+<p>Here's a quick guide to create a NinePatch graphic using the Draw 9-patch tool.
+You'll need the PNG image with which you'd like to create a NinePatch image.</p>
 
 <ol>
-  <li>From a terminal, launch the <code>draw9patch</code> application from your SDK 
-    <code>/tools</code> directory.
+  <li>From a terminal, run the <code>draw9patch</code> command from your SDK
+    <code>sdk/tools</code> directory to launch the Draw 9-patch tool. 
     </li>
-  <li>Drag your PNG image into the Draw 9-patch window 
+  <li>Drag your PNG image into the Draw 9-patch window
     (or <strong>File</strong> > <strong>Open 9-patch...</strong> to locate the file).
     Your workspace will now open.
     <p>The left pane is your drawing area, in which you can edit the lines for the
-     stretchable patches and content area. The right 
+     stretchable patches and content area. The right
      pane is the preview area, where you can preview your graphic when stretched.</p>
     </li>
-  <li>Click within the 1-pixel perimeter to draw the lines that define the stretchable 
-    patches and (optional) content area. Right-click (or hold Shift and click, on Mac) to erase 
+  <li>Click within the 1-pixel perimeter to draw the lines that define the stretchable
+    patches and (optional) content area. Right-click (or hold Shift and click, on Mac) to erase
     previously drawn lines.
     </li>
   <li>When done, select <strong>File</strong> > <strong>Save 9-patch...</strong>
     <p>Your image will be saved with the <code>.9.png</code> file name.</p>
     </li>
 </ol>
-    <p class="note"><strong>Note:</strong> A normal PNG file (<code>*.png</code>) will be 
-     loaded with an empty one-pixel border added around the image, in which you can draw 
+
+   <p>To make sure that your NinePatch graphics scale down properly, verify that any
+   stretchable regions are at least 2x2 pixels in size.
+   Otherwise, they may disappear when scaled down. Also, provide one pixel of extra safe space in
+   the graphics before and after stretchable regions to avoid interpolation during scaling that may
+   cause the color at the boundaries to change. </p>
+
+    <p class="note"><strong>Note:</strong> A normal PNG file (<code>*.png</code>) will be
+     loaded with an empty one-pixel border added around the image, in which you can draw
      the stretchable patches and content area.
-     A previously saved 9-patch file (<code>*.9.png</code>) will be loaded as-is, 
+     A previously saved NinePatch file (<code>*.9.png</code>) will be loaded as-is,
      with no drawing area added, because it already exists.</p>
 
 <img src="{@docRoot}images/draw9patch-bad.png" style="float:right;clear:both" alt="" height="300" width="341"
diff --git a/docs/html/tools/help/index.jd b/docs/html/tools/help/index.jd
index 75324b7..4c97d0c 100644
--- a/docs/html/tools/help/index.jd
+++ b/docs/html/tools/help/index.jd
@@ -70,11 +70,6 @@
         an emulator instance or connected Android-powered device. It also provides access to the
         device shell for advanced command-line operations.</dd>
 
-  <dt><a href="{@docRoot}tools/help/uiautomator/index.html">uiautomator</a></dt>
-    <dd>The {@code uiautomator} testing framework lets you test your user interface (UI) efficiently
-        by creating automated functional UI testcases that can be run against your app on one or
-        more devices.</dd>
-
   <dt><a href="{@docRoot}tools/debugging/ddms.html">Dalvik Debug Monitor
 Server (ddms)</a></dt>
     <dd>Lets you debug Android applications.</dd>
@@ -95,25 +90,6 @@
     <dd>Converts the HPROF file that is generated by the Android SDK tools to a standard format so
 you can view the file in a profiling tool of your choice.</dd>
 
-
-  <dt><a href="{@docRoot}tools/help/monkey.html">Monkey</a></dt>
-    <dd>Runs on your emulator or device and generates pseudo-random streams of user events such
-as clicks, touches, or gestures, as well as a number of  system-level events. You can use the Monkey
-to stress-test applications that you are developing, in a random yet repeatable manner.
-		<ul>
-          <li><a href="{@docRoot}tools/help/MonkeyDevice.html"><span
-class="en">MonkeyDevice</span></a></li>
-          <li><a href="{@docRoot}tools/help/MonkeyImage.html"><span
-class="en">MonkeyImage</span></a></li>
-          <li><a href="{@docRoot}tools/help/MonkeyRunner.html"><span
-class="en">MonkeyRunner</span></a></li>
-     </ul>
-     </dd>
-
-  <dt><a href="{@docRoot}tools/help/monkeyrunner_concepts.html">monkeyrunner</a></dt>
-    <dd>Provides an API for writing programs that control an Android device or emulator from
-outside of Android code.</dd>
-
   <dt><a href="{@docRoot}tools/help/systrace.html">Systrace</a></dt>
     <dd>Lets you analyze the execution of your application in the context of system processes,
     to help diagnose display and performance issues.</dd>
diff --git a/docs/html/tools/revisions/build-tools.jd b/docs/html/tools/revisions/build-tools.jd
index 593770a..b08fbcf 100644
--- a/docs/html/tools/revisions/build-tools.jd
+++ b/docs/html/tools/revisions/build-tools.jd
@@ -78,6 +78,28 @@
 <div class="toggle-content opened">
   <p><a href="#" onclick="return toggleContent(this)">
     <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img"
+      alt=""/>Build Tools, Revision 22.0.0</a> <em>(March 2015)</em>
+  </p>
+  <div class="toggle-content-toggleme">
+    <p>Added support for Android 5.1 (API level 22).</p>
+  </div>
+</div>
+
+
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>Build Tools, Revision 21.1.2</a> <em>(February 2015)</em>
+  </p>
+  <div class="toggle-content-toggleme">
+    <p>Fixed problem with building data layouts in 32-bit mode.</p>
+  </div>
+</div>
+
+
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
       alt=""/>Build Tools, Revision 21.1.1</a> <em>(November 2014)</em>
   </p>
   <div class="toggle-content-toggleme">
@@ -92,7 +114,7 @@
       alt=""/>Build Tools, Revision 21.1</a> <em>(October 2014)</em>
   </p>
   <div class="toggle-content-toggleme">
-    <p>Added multidex file support for APKs and Jack suppport to address the 64K method reference
+    <p>Added multidex file support for APKs and Jack support to address the 64K method reference
     limit.</p>
   </div>
 </div>
diff --git a/docs/html/tools/revisions/gradle-plugin.jd b/docs/html/tools/revisions/gradle-plugin.jd
index ebca5c7..fd294d2 100644
--- a/docs/html/tools/revisions/gradle-plugin.jd
+++ b/docs/html/tools/revisions/gradle-plugin.jd
@@ -36,10 +36,108 @@
 <p>For a summary of known issues in Android Plugin for Gradle, see <a
 href="http://tools.android.com/knownissues">http://tools.android.com/knownissues</a>.</p>
 
-
 <div class="toggle-content opened">
   <p><a href="#" onclick="return toggleContent(this)">
     <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img"
+      alt=""/>Android Plugin for Gradle, Revision 1.1.3</a> <em>(March 2015)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
+
+    <dl>
+    <dt>Dependencies:</dt>
+
+    <dd>
+      <ul>
+        <li>Gradle 2.2.1 or higher.</li>
+        <li>Build Tools 21.1.1 or higher.</li>
+      </ul>
+    </dd>
+
+    <dt>General Notes:</dt>
+    <dd>
+    <ul>
+      <li>Fixed issue with duplicated dependencies on a test app that triggered a ProGuard failure. </li>
+      <li>Fixed Comparator implementation which did not comply with the JDK Comparator contract and
+      generated a JDK 7 error.</li>
+    </ul>
+    </dd>
+  </div>
+</div>
+
+
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>Android Plugin for Gradle, Revision 1.1.2</a> <em>(February 2015)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
+
+    <dl>
+    <dt>Dependencies:</dt>
+
+    <dd>
+      <ul>
+        <li>Gradle 2.2.1 or higher.</li>
+        <li>Build Tools 21.1.1 or higher.</li>
+      </ul>
+    </dd>
+
+    <dt>General Notes:</dt>
+    <dd>
+    <ul>
+      <li>Normalized path when creating a mockable JAR for unit testing. </li>
+      <li>Fixed the <code>archivesBaseName</code> setting in the <code>build.gradle</code> file. </li>
+      <li>Fixed the unresolved placeholder failure in manifest merger when building a library
+      test application.</li>
+    </ul>
+    </dd>
+  </div>
+</div>
+
+
+
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>Android Plugin for Gradle, Revision 1.1.1</a> <em>(February 2015)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
+
+    <dl>
+    <dt>Dependencies:</dt>
+
+    <dd>
+      <ul>
+        <li>Gradle 2.2.1 or higher.</li>
+        <li>Build Tools 21.1.1 or higher.</li>
+      </ul>
+    </dd>
+
+    <dt>General Notes:</dt>
+    <dd>
+    <ul>
+      <li>Modified build variants so only variants that package a
+      <a href="{@docRoot}training/wearables/apps/index.html">Wear</a> app trigger Wear-specific
+      build tasks. </li>
+      <li>Changed dependency related issues to fail at build time rather than at debug time.
+      This behavior allows you to run diagnostic diagnostic tasks (such as 'dependencies') to help
+      resolve the conflict. </li>
+      <li>Fixed the <code>android.getBootClasspath()</code> method to return a value. </li>
+    </ul>
+    </dd>
+  </div>
+</div>
+
+
+
+
+
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
       alt=""/>Android Plugin for Gradle, Revision 1.1.0</a> <em>(February 2015)</em>
   </p>
 
@@ -185,11 +283,11 @@
 <p>The Android Plugin for Gradle version is specified in the
 <strong>File &gt; Project Structure</strong> menu or the project-level
 <code>build.gradle</code> file. The plugin version applies to all modules built in that
-Android Studio project. This example updates the Android Plugin for Gradle to version 1.1:
+Android Studio project. This example updates the Android Plugin for Gradle to version 1.1.0:
 <pre>
 ...
      dependencies {
-         classpath 'com.android.tools.build:gradle:1.1'
+         classpath 'com.android.tools.build:gradle:1.1.0'
      }
 ...
 </pre>
@@ -197,8 +295,7 @@
 
 <p class="caution"><strong>Caution:</strong> You should not use dynamic dependencies (+) in
 version numbers. Using this feature can cause unexpected version updates and difficulty
-resolving version differences.
-</p>
+resolving version differences. </p>
 
 <p>If you're building with Gradle but using not Android Studio, the build process downloads the
 latest Android Plugin for Gradle plugin when it runs. </p>
diff --git a/docs/html/tools/revisions/platforms.jd b/docs/html/tools/revisions/platforms.jd
index a73be5e..8a31beb 100644
--- a/docs/html/tools/revisions/platforms.jd
+++ b/docs/html/tools/revisions/platforms.jd
@@ -54,11 +54,35 @@
 packages may not be available for download.</p>
 
 
-<h2 id="5.0">Android 5.0</h2>
+<h2 id="5.1">Android 5.1</h2>
 
 <div class="toggle-content opened">
   <p><a href="#" onclick="return toggleContent(this)">
     <img src="{@docRoot}assets/images/triangle-opened.png"
+class="toggle-content-img" alt="" />Revision 1</a> <em>(March 2015)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
+
+    <p>Initial release for Android 5.1 (API level 22).</p>
+    <p>Also see the
+    <a href="{@docRoot}about/versions/android-5.1.html">Android 5.1 APIs overview</a>.</p>
+    <p>Dependencies:</p>
+    <ul>
+      <li>Android SDK Platform-tools r22 or higher is required.</li>
+      <li>Android SDK Tools 23.0.5 or higher is required.</li>
+    </ul>
+  </div>
+
+</div>
+
+
+
+<h2 id="5.0">Android 5.0</h2>
+
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png"
 class="toggle-content-img" alt="" />Revision 2</a> <em>(December 2014)</em>
   </p>
 
@@ -94,7 +118,7 @@
 
   <p>The platform includes the following new device definitions for use in creating
   Android Virtual Devices in the <a href="{@docRoot}tools/help/avd-manager.html">AVD Manager</a>:</p>
- 
+
   <ul>
   <li>Nexus 6 (5.96", 1440 x 2560, Normal 560dpi screen) </li>
   <li>Nexus 9 (8.9", 2048 x 1536, X-Large xhdpi screen) </li>
diff --git a/docs/html/tools/revisions/studio.jd b/docs/html/tools/revisions/studio.jd
index af25d9c..3982f2e 100644
--- a/docs/html/tools/revisions/studio.jd
+++ b/docs/html/tools/revisions/studio.jd
@@ -43,7 +43,7 @@
 <div class="toggle-content opened">
   <p><a href="#" onclick="return toggleContent(this)">
     <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img"
-      alt=""/>Android Studio v1.1</a> <em>(February 2015)</em>
+      alt=""/>Android Studio v1.1.0</a> <em>(February 2015)</em>
   </p>
 
   <div class="toggle-content-toggleme">
diff --git a/docs/html/tools/sdk/eclipse-adt.jd b/docs/html/tools/sdk/eclipse-adt.jd
index c3a4dea..08634da 100644
--- a/docs/html/tools/sdk/eclipse-adt.jd
+++ b/docs/html/tools/sdk/eclipse-adt.jd
@@ -53,6 +53,40 @@
 <div class="toggle-content opened">
   <p><a href="#" onclick="return toggleContent(this)">
     <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img"
+      alt=""/>ADT 23.0.6</a> <em>(March 2015)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
+<dl>
+  <dt>Dependencies:</dt>
+
+  <dd>
+    <ul>
+      <li>Java 7 or higher is required if you are targeting Android 5.0 and higher.</li>
+      <li>Java 1.6 or higher is required if you are targeting other releases.</li>
+      <li>Eclipse Indigo (Version 3.7.2) or higher is required.</li>
+      <li>This version of ADT is designed for use with
+        <a href="{@docRoot}tools/sdk/tools-notes.html">SDK Tools r24.1.2</a>.
+        If you haven't already installed SDK Tools r24.1.2 into your SDK, use the
+        Android SDK Manager to do so.</li>
+    </ul>
+  </dd>
+
+  <dt>General Notes:</dt>
+  <dd>
+    <ul>
+        <li>Fixed issues with the rendering library.</li>
+    </ul>
+  </dd>
+</dl>
+</div>
+</div>
+
+
+
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
       alt=""/>ADT 23.0.4</a> <em>(October 2014)</em>
   </p>
 
@@ -62,12 +96,12 @@
 
   <dd>
     <ul>
-      <li>Java 7 or higher is required if you are targeting the L Developer Preview.</li>
+      <li>Java 7 or higher is required if you are targeting Android 5.0 and higher.</li>
       <li>Java 1.6 or higher is required if you are targeting other releases.</li>
       <li>Eclipse Indigo (Version 3.7.2) or higher is required.</li>
       <li>This version of ADT is designed for use with
-        <a href="{@docRoot}tools/sdk/tools-notes.html">SDK Tools r23.0.2</a>.
-        If you haven't already installed SDK Tools r23.0.2 into your SDK, use the
+        <a href="{@docRoot}tools/sdk/tools-notes.html">SDK Tools r23.0.4</a>.
+        If you haven't already installed SDK Tools r23.0.4 into your SDK, use the
         Android SDK Manager to do so.</li>
     </ul>
   </dd>
@@ -96,7 +130,7 @@
 
   <dd>
     <ul>
-      <li>Java 7 or higher is required if you are targeting the L Developer Preview.</li>
+      <li>Java 7 or higher is required if you are targeting Android 5.0 and higher.</li>
       <li>Java 1.6 or higher is required if you are targeting other releases.</li>
       <li>Eclipse Indigo (Version 3.7.2) or higher is required.</li>
       <li>This version of ADT is designed for use with
@@ -132,7 +166,7 @@
 
   <dd>
     <ul>
-      <li>Java 7 or higher is required if you are targeting the L Developer Preview.</li>
+      <li>Java 7 or higher is required if you are targeting Android 5.0 and higher.</li>
       <li>Java 1.6 or higher is required if you are targeting other releases.</li>
       <li>Eclipse Indigo (Version 3.7.2) or higher is required.</li>
       <li>This version of ADT is designed for use with
@@ -167,7 +201,7 @@
 
   <dd>
     <ul>
-      <li>Java 7 or higher is required if you are targeting the L Developer Preview.</li>
+      <li>Java 7 or higher is required if you are targeting Android 5.0 and higher.</li>
       <li>Java 1.6 or higher is required if you are targeting other releases.</li>
       <li>Eclipse Indigo (Version 3.7.2) or higher is required.</li>
       <li>This version of ADT is designed for use with
@@ -2274,7 +2308,7 @@
 <dt>DDMS integration:</dt>
 <dd>
 <ul>
-<li>Includes the improvements from the standlone DDMS, revision 3.</li>
+<li>Includes the improvements from the standalone DDMS, revision 3.</li>
 <li>Adds an option to open HPROF files into eclipse instead of writing them on
 disk. If a profiler such as MAT (<a href="http://eclipse.org/mat">Memory Analyzer
 Tool</a>) is installed, it'll open the file.</li>
diff --git a/docs/html/tools/sdk/tools-notes.jd b/docs/html/tools/sdk/tools-notes.jd
index e50b7ac..47b603a 100644
--- a/docs/html/tools/sdk/tools-notes.jd
+++ b/docs/html/tools/sdk/tools-notes.jd
@@ -21,10 +21,38 @@
 <p>For a summary of all known issues in SDK Tools, see <a
 href="http://tools.android.com/knownissues">http://tools.android.com/knownissues</a>.</p>
 
-
 <div class="toggle-content opened">
   <p><a href="#" onclick="return toggleContent(this)">
     <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img"
+      alt=""/>SDK Tools, Revision 24.1.2</a> <em>(February 2015)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
+
+    <dl>
+    <dt>Dependencies:</dt>
+
+    <dd>
+      <ul>
+        <li>Android SDK Platform-tools revision 19 or later.</li>
+      </ul>
+    </dd>
+
+    <dt>General Notes:</dt>
+    <dd>
+      <ul>
+        <li>Fixed boot failures of MIPS system images on Mac OS X.</li>
+        <li>Fixed AVD screen capture issues when using GPU emulation.</li>
+        <li>Fixed memory leaks in emulator system.</li>
+      </ul>
+    </dd>
+  </div>
+</div>
+
+
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
       alt=""/>SDK Tools, Revision 24.0.2</a> <em>(December 2014)</em>
   </p>
 
@@ -96,7 +124,7 @@
     <dt>General Notes:</dt>
     <dd>
       <ul>
-        <li>Added support for Andriod Studio 1.0 and emulator enhancements.</li>
+        <li>Added support for Android Studio 1.0 and emulator enhancements.</li>
       </ul>
     </dd>
   </div>
diff --git a/docs/html/tools/support-library/index.jd b/docs/html/tools/support-library/index.jd
index 8a43696..56a3954 100644
--- a/docs/html/tools/support-library/index.jd
+++ b/docs/html/tools/support-library/index.jd
@@ -62,6 +62,108 @@
 <div class="toggle-content opened">
   <p id="rev21"><a href="#" onclick="return toggleContent(this)">
     <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img" alt=""
+/>Android Support Library, revision 22</a> <em>(March 2015)</em>
+  </p>
+  <div class="toggle-content-toggleme">
+    <dl>
+      <dt>Changes for <a href="features.html#v4">v4 support library:</a></dt>
+      <dd>
+        <ul>
+          <li>Updated the {@link android.support.v4.content.res.ResourcesCompat#getDrawable
+            getDrawable()} method to return a drawable object for a specified specific resource ID,
+            screen density, and theme.
+          </li>
+          <li>Added the {@link android.support.v4.view.ViewCompat#setImportantForAccessibility
+            setImportantForAccessibility()} method so you can indicate if a view should trigger
+            accessibility events.
+          </li>
+          <li>Added the {@link android.support.v4.widget.DrawerLayout#getStatusBarBackgroundDrawable
+            getStatusBarBackgroundDrawable()} method so you can get the status bar background
+            drawable.
+          </li>
+          <li>Added methods to the
+            {@link android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation}
+            class so Android Auto messaging apps can retrieve additional notification data.
+          </li>
+          <li>Added the {@link android.support.v4.widget.SwipeRefreshLayout#getProgressCircleDiameter
+            getProgressCircleDiameter()} method to return the diameter of a circle layout.
+          </li>
+          <li>Changed the default {@link android.support.v4.widget.DrawerLayout DrawerLayout}
+            status bar color to {@link android.R.attr#colorPrimaryDark}.
+          </li>
+        </ul>
+      </dd>
+
+      <dt>Changes for <a href="features.html#v7-appcompat">v7 appcompat library</a>:</dt>
+      <dd>
+        <ul>
+          <li>Added the spinner style
+            {@link android.support.v7.appcompat.R.style#Base_Widget_AppCompat_Spinner_Underlined}.</li>
+          <li>Added tinted widgets styles with
+            {@link android.support.v7.appcompat.R.style#Widget_AppCompat_AutoCompleteTextView},
+            {@link android.widget.MultiAutoCompleteTextView},
+            {@link android.support.v7.appcompat.R.style#TextAppearance_AppCompat_Button}, and
+            {@link android.support.v7.appcompat.R.style#Base_Widget_AppCompat_RatingBar}.</li>
+        </ul>
+      </dd>
+
+      <dt>Changes for <a href="features.html#v17-leanback">v17 leanback library</a>:</dt>
+      <dd>
+        <ul>
+          <li>Added the {@link android.support.v17.leanback.widget.ListRowPresenter#getRecycledPoolSize
+            getRecycledPoolSize()} and
+            {@link android.support.v17.leanback.widget.ListRowPresenter#setRecycledPoolSize
+            setRecycledPoolSize()} methods to allow customized recycled pool sizes.</li>
+          <li>Added the {@link android.view.ViewGroup.LayoutParams#WRAP_CONTENT} attribute to the
+            layout width setting to support wrapped content for title icons.</li>
+          <li>Defined {@link android.support.v17.leanback.R.transition} in XML to
+            improve transition updates.  </li>
+          <li>Enabled support for right to left layouts.</li>
+          <li>Added the play and pause media key events support to the
+            {@link android.support.v17.leanback.app.PlaybackOverlayFragment} class.</li>
+          <li>Added enter and return transitions to the
+            {@link android.support.v17.leanback.app.BrowseFragment} class and the
+            {@link android.support.v17.leanback.app.DetailsFragment} class.</li>
+          <li>Added the {@link android.support.v17.leanback.widget.ArrayObjectAdapter#replace
+            replace()} method to replace items in an object’s adapter array. </li>
+        </ul>
+      </dd>
+
+
+      <dt>Changes for <a href="features.html#v7-mediarouter">v7 mediarouter library</a>:</dt>
+      <dd>
+        <ul>
+          <li>Updated Google Cast icons to use the
+            <a href="{@docRoot}training/material/index.html">material design</a> style.</li>
+          <li>Updated all the icons used in the {@link android.media.MediaRouter} dialogs to use the
+            <a href="{@docRoot}training/material/index.html">material design</a> style.</li>
+        </ul>
+      </dd>
+
+
+      <dt>Changes for <a href="features.html#v7-recyclerview">v7 recyclerview library</a>:</dt>
+      <dd>
+        <ul>
+          <li>Added the {@link android.support.v7.widget.RecyclerView.ViewHolder#getLayoutPosition
+            getlayoutPosition()}
+            and {@link android.support.v7.widget.RecyclerView.ViewHolder#getAdapterPosition
+            getadapterPosition()} methods to the {@link android.support.v7.widget.RecyclerView}
+            class.</li>
+          <li>Deprecated the <code>classgetChildPosition()</code> and
+            <code>findViewHolderForPosition()</code> methods in the
+            {@link android.support.v7.widget.RecyclerView} class. </li>
+          <li>Deprecated the <code>getPosition()</code> method in the
+            {@link android.support.v7.widget.RecyclerView.ViewHolder} class. </li>
+          <li>Deprecated the <code>getViewPosition()</code> method in the
+            {@link android.support.v7.widget.RecyclerView.LayoutParams} class. </li>
+        </ul>
+      </dd>
+
+
+
+<div class="toggle-content closed">
+  <p id="rev21"><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
 />Android Support Library, revision 21.0.3</a> <em>(December 2014)</em>
   </p>
   <div class="toggle-content-toggleme">
@@ -203,7 +305,7 @@
           <li>Updated common user interface widgets to allow tinting via theme
               attributes when running on pre-Android 5.0 devices</li>
           <li>Added {@link android.support.v7.widget.SwitchCompat}, a backport
-              of the {@link android.widget.Switch} widget that was added in 
+              of the {@link android.widget.Switch} widget that was added in
               Android 4.0 (API level 14).</li>
         </ul>
       </dd>
diff --git a/docs/html/tools/testing-support-library/index.jd b/docs/html/tools/testing-support-library/index.jd
new file mode 100644
index 0000000..aeace8e
--- /dev/null
+++ b/docs/html/tools/testing-support-library/index.jd
@@ -0,0 +1,625 @@
+page.title=Testing Support Library
+
+@jd:body
+
+  <div id="qv-wrapper">
+    <div id="qv">
+    <h2>
+      In this document
+    </h2>
+
+    <ol>
+      <li>
+      <a href="#features">Testing Support Library Features</a>
+      <ol>
+        <li>
+        <a href="#AndroidJUnitRunner">AndroidJUnitRunner</a>
+        </li>
+
+        <li>
+        <a href="#Espresso">Espresso</a>
+        </li>
+
+        <li>
+        <a href="#UIAutomator">UI Automator</a>
+        </li>
+      </ol>
+      </li>
+
+      <li>
+      <a href="#setup">Testing Support Library Setup</a>
+      </li>
+    </ol>
+
+    <h2>See also</h2>
+  <ol>
+    <li><a href="{@docRoot}reference/android/support/test/package-summary.html">
+      Testing Support Library API Reference</a></li>
+    <li><a href="https://github.com/googlesamples/android-testing" class="external-link">
+      Code Samples</a></li>
+  </ol>
+    </div>
+  </div>
+
+  <p>
+    The Android Testing Support Library provides an extensive framework for testing Android apps.
+    This library provides a set of APIs that allow you to quickly build and run test code for
+    your apps, including JUnit 4 and functional user interface (UI) tests. You can run tests
+    created using these APIs from the <a href=
+    "{@docRoot}tools/studio/index.html">Android Studio IDE</a> or from the command line.
+  </p>
+
+  <p>The Android Testing Support library is available through the Android SDK Manager.
+    For more information, see <a href="#setup">Testing Support Library Setup</a>
+  </p>
+
+  <p>
+    This page provides information about what tools are provided in the Android Testing Support
+    Library, how to use them in your testing environment, and information about library releases.
+  </p>
+
+  <h2 id="features">
+    Testing Support Library Features
+  </h2>
+
+  <p>
+    The Android Testing Support Library includes the following test automation tools:
+  </p>
+
+  <ul>
+    <li>
+    <strong><a href="#AndroidJUnitRunner">AndroidJUnitRunner</a></strong>: JUnit 4-compatible
+    test runner for Android
+    </li>
+
+    <li>
+    <strong><a href="#Espresso">Espresso</a></strong>: UI testing framework; suitable for
+    functional UI testing within an app
+    </li>
+
+    <li>
+    <strong><a href="#UIAutomator">UI Automator</a></strong>: UI testing framework; suitable
+    for cross-app functional UI testing across system and installed apps
+    </li>
+  </ul>
+
+  <h3 id="AndroidJUnitRunner">
+    AndroidJUnitRunner
+  </h3>
+
+  <p>
+    The
+    <a href="{@docRoot}reference/android/support/test/runner/AndroidJUnitRunner.html">{@code AndroidJUnitRunner}</a>
+    class is a <a href="http://junit.org/" class="external-link">JUnit</a> test runner that lets you
+    run JUnit 3 or JUnit 4-style test classes on Android devices, including those using the
+    <a href="#Espresso">Espresso</a> and <a href="#UIAutomator">UI Automator</a> testing frameworks.
+    The test runner handles loading your test package and the app under test
+    to a device, running your tests, and reporting test results. This class replaces the {@link
+    android.test.InstrumentationTestRunner} class, which only supports JUnit 3 tests.
+  </p>
+
+  <p>
+    The key features of this test runner include:
+  </p>
+
+  <ul>
+    <li><a href="#ajur-junit">JUnit support</a>
+    </li>
+
+    <li><a href="#ajur-instrumentation">Access to instrumentation information</a>
+    </li>
+
+    <li><a href="#ajur-filtering">Test filtering</a>
+    </li>
+
+    <li><a href="#ajur-sharding">Test sharding</a>
+    </li>
+  </ul>
+
+  <p>Requires Android 2.2 (API level 8) or higher.</p>
+
+  <h4 id="ajur-junit">
+    JUnit support
+  </h4>
+
+  <p>
+    The test runner is compatible with your JUnit 3 and JUnit 4 (up to JUnit
+    4.10) tests. However, you should avoid mixing JUnit 3 and and JUnit 4 test code in the same
+    package, as this might cause unexpected results. If you are creating an instrumented JUnit 4
+    test class to run on a device or emulator, your test class must be prefixed with the
+    {@code &#64;RunWith(AndroidJUnit4.class)} annotation.
+  </p>
+
+  <p>The following code snippet shows how you might write an instrumented JUnit 4 test to validate
+    that the <em>add</em> operation in the {@code CalculatorActivity} class works correctly.
+</p>
+
+<pre>
+import android.support.test.runner.AndroidJUnit4;
+import android.support.test.runner.AndroidJUnitRunner;
+import android.test.ActivityInstrumentationTestCase2;
+
+&#64;RunWith(AndroidJUnit4.class)
+public class CalculatorInstrumentationTest
+        extends ActivityInstrumentationTestCase2&lt;CalculatorActivity&gt; {
+
+    &#64;Before
+    public void setUp() throws Exception {
+        super.setUp();
+
+        // Injecting the Instrumentation instance is required
+        // for your test to run with AndroidJUnitRunner.
+        injectInstrumentation(InstrumentationRegistry.getInstrumentation());
+        mActivity = getActivity();
+    }
+
+    &#64;Test
+    public void typeOperandsAndPerformAddOperation() {
+        // Call the CalculatorActivity add() method and pass in some operand values, then
+        // check that the expected value is returned.
+    }
+
+    &#64;After
+    public void tearDown() throws Exception {
+        super.tearDown();
+    }
+}
+</pre>
+
+  <h4 id="ajur-instrumentation">
+    Access to instrumentation information
+  </h4>
+
+  <p>
+    You can use the
+    <a href="{@docRoot}reference/android/support/test/InstrumentationRegistry.html">{@code InstrumentationRegistry}</a>
+    class to access information related to your
+    test run. This class includes the {@link android.app.Instrumentation} object, target app {@link
+    android.content.Context} object, test app {@link android.content.Context} object, and the
+    command line arguments passed into your test. This data is useful when you are writing tests
+    using the UI Automator framework or when writing tests that have dependencies on the {@link
+    android.app.Instrumentation} or {@link android.content.Context} objects.
+  </p>
+
+  <h4 id="ajur-filtering">
+    Test filtering
+  </h4>
+
+  <p>
+    In your JUnit 4.x tests, you can use annotations to configure the test run. This feature
+    minimizes the need to add boilerplate and conditional code in your tests. In addition to the
+    standard annotations supported by JUnit 4, the test runner  also supports Android-specific
+    annotations, including:
+  </p>
+
+  <ul>
+    <li><a href="{@docRoot}reference/android/support/test/filters/RequiresDevice.html">{@code &#64;RequiresDevice}</a>:
+    Specifies that the test should run only on physical devices, not on emulators.
+    </li>
+
+    <li><a href="{@docRoot}reference/android/support/test/filters/SdkSuppress.html">{@code &#64;SdkSupress}</a>:
+    Suppresses the test from running on a lower Android API level than the given level. For
+    example, to suppress tests on all API levels lower than 18 from running, use the annotation
+    {@code &#64;SDKSupress(minSdkVersion=18)}.
+    </li>
+
+    <li>{@link android.test.suitebuilder.annotation.SmallTest &#64;SmallTest},
+      {@link android.test.suitebuilder.annotation.MediumTest &#64;MediumTest},
+      and {@link android.test.suitebuilder.annotation.LargeTest &#64;LargeTest}: Classify how long
+      a test should take to run, and consequently, how frequently you can run the test.
+    </li>
+  </ul>
+
+  <h4 id="ajur-sharding">
+    Test sharding
+  </h4>
+
+  <p>
+    The test runner supports splitting a single test suite into multiple
+    <em>shards</em>, so you can easily run tests belonging to the same shard together as a group,
+    under the same {@link android.app.Instrumentation} instance. Each shard is identified by an
+    index number. When running tests, use the {@code -e numShards} option to specify the number
+    of separate shards to create and the {@code -e shardIndex} option to specify which shard to
+    run.
+  </p>
+
+  <p>
+    For example, to split the test suite into 10 shards and run only the tests grouped in the
+    second shard, use the following command:
+  </p>
+
+  <pre>
+adb shell am instrument -w -e numShards 10 -e shardIndex 2</pre>
+
+  <p>
+    To learn more about using this test runner, see the
+    <a href="{@docRoot}reference/android/support/test/package-summary.html">API reference</a>.
+  </p>
+
+  <h3 id="Espresso">
+    Espresso
+  </h3>
+
+  <p>
+    The Espresso testing framework provides a set of APIs to build UI tests to test user flows
+    within an app. These APIs let you write automated UI tests that are concise and that run
+    reliably. Espresso is well-suited for writing <em>white box</em>-style automated tests, where
+    the test code utilizes implementation code details from the app under test.
+  </p>
+
+  <p>
+    The key features of the Espresso testing framework include:
+  </p>
+
+  <ul>
+    <li>Flexible APIs for view and adapter matching in target apps.
+      For more information, see <a href="#espresso-matching">View matching</a>.
+
+    <li>An extensive set of action APIs to automate UI interactions.
+      For more information, see <a href="#espresso-actions">Action APIs</a>.
+    </li>
+
+    <li>UI thread synchronization to improve test reliability.
+      For more information, see <a href="#espresso-thread-sync">UI thread synchronization</a>.
+    </li>
+  </ul>
+
+  <p>Requires Android 2.2 (API level 8) or higher.</p>
+
+  <h4 id="espresso-matching">
+    View matching
+  </h4>
+
+  <p>
+    The <a href="{@docRoot}reference/android/support/test/espresso/Espresso.html#onView(org.hamcrest.Matcher<android.view.View>)">{@code Espresso.onView()}</a>
+    method lets you access a UI component in the target app and
+    interact with it. The method accepts a
+    <a href="http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matcher.html"
+    class="external-link">{@code Matcher}</a> argument and searches the view
+    hierarchy to locate a corresponding {@link android.view.View} instance that meets some given
+    criteria. You can refine searches by specifying such criteria as:
+  </p>
+
+  <ul>
+    <li>The class name of the view
+    </li>
+
+    <li>The content description of the view
+    </li>
+
+    <li>The {@code R.id} of the view
+    </li>
+
+    <li>Text displayed in the view
+    </li>
+  </ul>
+
+  <p>
+    For example, to target a button that has the ID value of {@code my_button}, you can specify
+    a matcher like this:
+  </p>
+
+  <pre>
+onView(withId(R.id.my_button));</pre>
+
+  <p>
+    If the search is successful, the
+    <a href="{@docRoot}reference/android/support/test/espresso/Espresso.html#onView(org.hamcrest.Matcher<android.view.View>)">{@code onView()}</a>
+    method returns a reference which lets you
+    perform user actions and test assertions against the target view.
+  </p>
+
+  <h4>
+    Adapter matching
+  </h4>
+
+  <p>
+    In an {@link android.widget.AdapterView} layout, the layout is dynamically populated with
+    children views at runtime. If the target view is inside a layout subclassed from {@link
+    android.widget.AdapterView} (such as a {@link android.widget.ListView} or {@link
+    android.widget.GridView}), the
+    <a href="{@docRoot}reference/android/support/test/espresso/Espresso.html#onView(org.hamcrest.Matcher<android.view.View>)">{@code onView()}</a>
+    method might not work because only a subset of
+    the layout’s views may be loaded in the current view hierarchy.
+  </p>
+
+  <p>
+    Instead, use the <a href="{@docRoot}reference/android/support/test/espresso/Espresso.html#onData(org.hamcrest.Matcher<java.lang.Object>)">{@code Espresso.onData()}</a>
+    method to access a target view element. The <a href="{@docRoot}reference/android/support/test/espresso/Espresso.html#onData(org.hamcrest.Matcher<java.lang.Object>)">{@code Espresso.onData()}</a>
+    method returns a reference which lets you perform user actions and test assertions against the
+    elements in an {@link android.widget.AdapterView}.
+  </p>
+
+  <h4 id="espresso-actions">
+    Action APIs
+  </h4>
+
+  <p>
+    Typically, you test an app by performing some user interactions against the app’s user
+    interface. You can easily automate these actions in your test by using the
+    <a href="{@docRoot}reference/android/support/test/espresso/action/ViewActions.html">{@code ViewActions}</a>
+    API. You can perform such UI interactions as:
+  </p>
+
+  <ul>
+    <li>View clicks
+    </li>
+
+    <li>Swipes
+    </li>
+
+    <li>Key and button presses
+    </li>
+
+    <li>Typing text
+    </li>
+
+    <li>Opening a link
+    </li>
+  </ul>
+
+  <p>
+    For example, to simulate entering a string value and pressing a button to submit the value,
+    you can write an automated test script like this. The
+    <a href="{@docRoot}reference/android/support/test/espresso/ViewInteraction.html#perform(android.support.test.espresso.ViewAction...)">{@code ViewInteraction.perform()}</a>
+    and <a href="{@docRoot}reference/android/support/test/espresso/DataInteraction.html#perform(android.support.test.espresso.ViewAction...)">{@code DataInteraction.perform()}</a>
+    methods take one or more
+    <a href="{@docRoot}reference/android/support/test/espresso/ViewAction.html">{@code ViewAction}</a>
+    arguments and run the actions in the order provided.
+  </p>
+
+  <pre>
+// Type text into an EditText view, then close the soft keyboard
+onView(withId(R.id.editTextUserInput))
+    .perform(typeText(STRING_TO_BE_TYPED), closeSoftKeyboard());
+
+// Press the button to submit the text change
+onView(withId(R.id.changeTextBt)).perform(click());</pre>
+
+  <h4 id="espresso-thread-sync">
+    UI thread synchronization
+  </h4>
+
+  <p>
+    Tests on Android devices can fail randomly because of timing issues. This testing issue is
+    referred to as <em>test flakiness</em>. Prior to Espresso, the workaround was to insert a
+    sufficiently long sleep or timeout period into a test or to add code to keep retrying the
+    failing operation. The Espresso testing framework handles synchronization between the
+    {@link android.app.Instrumentation} and the UI thread; this removes the need for the previous
+    timing workarounds and ensures that your test actions and assertions run more reliably.
+  </p>
+
+  <p>
+    To learn more about using Espresso, see the
+    <a href="{@docRoot}reference/android/support/test/package-summary.html">API reference</a>.
+  </p>
+
+  <h3 id="UIAutomator">
+    UI Automator
+  </h3>
+
+  <p>
+    The UI Automator testing framework provides a set of APIs to build UI tests that perform
+    interactions on user apps and system apps. The UI Automator APIs allows you to perform
+    operations such as opening the Settings menu or the app launcher in a test device. The UI
+    Automator testing framework is well-suited for writing <em>black box</em>-style automated
+    tests, where the test code does not rely on internal implementation details of the target
+    app.
+  </p>
+
+  <p>
+    The key features of the UI Automator testing framework include:
+  </p>
+
+  <ul>
+    <li>A viewer to inspect layout hierarchy.
+      For more information, see <a href="#uia-viewer">UI Automator Viewer</a>.
+    </li>
+    <li>An API to retrieve state information and perform operations on the target device.
+      For more information, see <a href="#uia-device-state">Access to device state</a>.
+    </li>
+    <li>APIs that support cross-app UI testing.
+      For more information, see <a href="#uia-apis">UI Automator APIs</a> .
+    </li>
+  </ul>
+
+  <p>Requires Android 4.3 (API level 18) or higher.</p>
+
+  <h4 id="uia-viewer">
+    UI Automator Viewer
+  </h4>
+
+  <p>
+    The {@code uiautomatorviewer} tool provides a convenient GUI to scan and analyze the UI
+    components currently displayed on an Android device. You can use this tool to inspect the
+    layout hierarchy and view the properties of UI components that are visible on the foreground
+    of the device. This information lets you create more fine-grained tests using UI Automator,
+    for example by creating a UI selector that matches a specific visible property.
+  </p>
+
+  <p>
+    The {@code uiautomatorviewer} tool is located in the {@code &lt;android-sdk&gt;/tools/}
+    directory.
+  </p>
+
+  <h4 id="uia-device-state">
+    Access to device state
+  </h4>
+
+  <p>
+    The UI Automator testing framework provides a
+    <a href="{@docRoot}reference/android/support/test/uiautomator/UiDevice.html">{@code UiDevice}</a>
+    class to access and perform operations on the device on which the target app is running. You
+    can call its methods to access device properties such as current orientation or display size.
+    The <a href="{@docRoot}reference/android/support/test/uiautomator/UiDevice.html">{@code UiDevice}</a>
+    class also let you perform actions such as:
+  </p>
+
+  <ul>
+    <li>Change the device rotation
+    </li>
+
+    <li>Press a D-pad button
+    </li>
+
+    <li>Press the Back, Home, or Menu buttons
+    </li>
+
+    <li>Open the notification shade
+    </li>
+
+    <li>Take a screenshot of the current window
+    </li>
+  </ul>
+
+  <p>
+    For example, to simulate a Home button press, call the {@code UiDevice.pressHome()} method.
+  </p>
+
+  <h4 id="uia-apis">
+    UI Automator APIs
+  </h4>
+
+  <p>
+    The UI Automator APIs allow you to write robust tests without needing to know about the
+    implementation details of the app that you are targeting. You can use these APIs to capture
+    and manipulate UI components across multiple apps:
+  </p>
+
+  <ul>
+    <li><a href="{@docRoot}reference/android/support/test/uiautomator/UiCollection.html">{@code UiCollection}</a>:
+      Enumerates a container's UI elements for the purpose of counting,
+    or targeting sub-elements by their visible text or content-description property.
+    </li>
+
+    <li><a href="{@docRoot}reference/android/support/test/uiautomator/UiObject.html">{@code UiObject}</a>:
+      Represents a UI element that is visible on the device.
+    </li>
+
+    <li><a href="{@docRoot}reference/android/support/test/uiautomator/UiScrollable.html">{@code UiScrollable}</a>:
+      Provides support for searching for items in a scrollable UI container.
+    </li>
+
+    <li><a href="{@docRoot}reference/android/support/test/uiautomator/UiSelector.html">{@code UiSelector}</a>:
+      Represents a query for one or more target UI elements on a device.
+    </li>
+
+    <li><a href="{@docRoot}reference/android/support/test/uiautomator/Configurator.html">{@code Configurator}</a>:
+      Allows you to set key parameters for running UI Automator tests.
+    </li>
+  </ul>
+
+  <p>
+    For example, the following code shows how you can write a test script that brings up the
+    default app launcher in the device:
+  </p>
+
+  <pre>
+// Initialize UiDevice instance
+mDevice = UiDevice.getInstance(getInstrumentation());
+
+// Perform a short press on the HOME button
+mDevice().pressHome();
+
+// Bring up the default launcher by searching for
+// a UI component that matches the content-description for the launcher button
+UiObject allAppsButton = mDevice
+        .findObject(new UiSelector().description("Apps"));
+
+// Perform a click on the button to bring up the launcher
+allAppsButton.clickAndWaitForNewWindow();</pre>
+
+  <p>
+    To learn more about using UI Automator, see the
+    <a href="{@docRoot}reference/android/support/test/package-summary.html">API reference</a>.
+  </p>
+
+  <h2 id="setup">
+    Testing Support Library Setup
+  </h2>
+
+  <p>
+    The Android Testing Support Library package is included with the latest version of the
+    Android Support Repository, which you can obtain as a supplemental download through the
+    Android SDK Manager.
+  </p>
+
+  <p>
+    To download the Android Support Repository through the SDK Manager:
+  </p>
+
+  <ol>
+    <li>Start the <a href="{@docRoot}tools/help/sdk-manager.html">Android SDK Manager</a>.
+    </li>
+
+    <li>In the SDK Manager window, scroll to the end of the <i>Packages</i> list, find the
+    <em>Extras</em> folder and, if necessary, expand to show its contents.
+    </li>
+
+    <li>Select the <strong>Android Support Repository</strong> item.
+    </li>
+
+    <li>Click the <strong>Install packages...</strong> button.
+    </li>
+  </ol>
+
+  <p>
+    After downloading, the tool installs the Support Repository files to your existing Android
+    SDK directory. The library files are located in the following subdirectory of your SDK:
+    {@code &lt;sdk&gt;/extras/android/m2repository} directory.
+  </p>
+
+  <p>
+    The Android Testing Support Library classes are located under the
+    {@code android.support.test} package.
+  </p>
+
+  <p>
+    To use the Android Testing Support Library in your Gradle project, add these dependencies in
+    your {@code build.gradle} file:
+  </p>
+
+  <pre>
+dependencies {
+  androidTestCompile 'com.android.support.test:testing-support-lib:0.1'
+  // Set this dependency to build and run Espresso tests
+  androidTestCompile 'com.android.support.test.espresso:espresso-core:2.0'
+  // Set this dependency to build and run UI Automator tests
+  androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.0.0'
+}</pre>
+
+  <p>To set
+<a href="{@docRoot}reference/android/support/test/runner/AndroidJUnitRunner.html">{@code AndroidJUnitRunner}</a>
+  as the default test instrumentation runner in your Gradle project, specify this dependency in
+  your {@code build.gradle} file:</p>
+
+  <pre>
+android {
+    defaultConfig {
+        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+    }
+}</pre>
+
+  <p>
+    It is strongly recommended that you use the Android Testing Support Library together with the
+    Android Studio IDE. Android Studio offers capabilities that support test
+    development, such as:
+  </p>
+
+  <ul>
+    <li>Flexible Gradle-based build system that supports dependency management for your test code
+    </li>
+
+    <li>Single project structure to contain your unit and instrumented test code together with
+    your app source code
+    </li>
+
+    <li>Support for deploying and running tests on virtual or physical devices, from a
+    command line or graphical user interface
+    </li>
+  </ul>
+
+  <p>
+  For more information about Android Studio and to download it, see
+  <a href="{@docRoot}sdk/index.html">Download Android Studio and SDK Tools</a>.
+  </p>
\ No newline at end of file
diff --git a/docs/html/tools/testing/testing-tools.jd b/docs/html/tools/testing/testing-tools.jd
new file mode 100644
index 0000000..5e0a5bc
--- /dev/null
+++ b/docs/html/tools/testing/testing-tools.jd
@@ -0,0 +1,56 @@
+page.title=Android Testing Tools
+@jd:body
+
+<div id="qv-wrapper">
+<div id="qv">
+  <h2>See also</h2>
+  <ol>
+    <li><a href="{@docRoot}training/testing.html">Best Practices for Testing</a></li>
+  </ol>
+</div>
+</div>
+
+  <p>
+    Testing is a critical software development activity because it helps you
+    improve the quality of your apps, ensure better user satisfaction, and
+    reduce overall development time spent on fixing defects.
+  </p>
+
+  <p>The following sections describe tools that help
+  you test your mobile apps for the Android platform.</a>
+
+<dl>
+  <dt><strong><a href="{@docRoot}tools/testing-support-library/index.html">Android
+  Testing Support Library</a></strong></dt>
+    <dd>This library provides a set of APIs that allow
+    you to quickly build and run test code for your apps, including JUnit 4 and functional user
+    interface (UI) tests. The Android Testing Support Library includes the following test automation
+    tools:
+
+  <ul>
+    <li><a href="{@docRoot}tools/testing-support-library/index.html#AndroidJUnitRunner">AndroidJUnitRunner</a>:
+      JUnit 4-compatible test runner for Android
+    </li>
+
+    <li><a href="{@docRoot}tools/testing-support-library/index.html#Espresso">Espresso</a>:
+    UI testing framework; suitable for functional UI testing within an app
+    </li>
+
+    <li><a href="{@docRoot}tools/testing-support-library/index.html#UIAutomator">UI Automator</a>:
+    UI testing framework; suitable for cross-app functional UI testing across system and installed apps
+    </li>
+  </ul>
+    </dd>
+
+    <dt><strong><a href="{@docRoot}tools/help/monkey.html">Monkey</a></strong></dt>
+    <dd>This tool runs on your emulator or device and generates pseudo-random streams of user
+events such as clicks, touches, or gestures, as well as a number of  system-level events. You can
+use the Monkey tool to stress-test applications that you are developing, in a random yet
+repeatable manner.
+     </dd>
+
+  <dt><strong><a href="{@docRoot}tools/help/monkeyrunner_concepts.html">monkeyrunner</a></strong></dt>
+    <dd>This testing system provides an API for writing programs that control an Android device or
+emulator from outside of Android code.</dd>
+
+</dl>
\ No newline at end of file
diff --git a/docs/html/tools/tools_toc.cs b/docs/html/tools/tools_toc.cs
index fa6328e..3f4b111 100644
--- a/docs/html/tools/tools_toc.cs
+++ b/docs/html/tools/tools_toc.cs
@@ -166,37 +166,11 @@
       <li><a href="<?cs var:toroot ?>tools/help/lint.html">lint</span></a></li>
       <li><a href="<?cs var:toroot ?>tools/help/logcat.html">logcat</a></li>
       <li><a href="<?cs var:toroot ?>tools/help/mksdcard.html">mksdcard</a></li>
-      <li><a href="<?cs var:toroot ?>tools/help/monkey.html">monkey</a></li>
-      <li class="nav-section">
-        <div class="nav-section-header"><a href="<?cs var:toroot?>tools/help/monkeyrunner_concepts.html">
-<span class="en">monkeyrunner</span></a></div>
-        <ul>
-          <li><a href="<?cs var:toroot ?>tools/help/MonkeyDevice.html"><span class="en">MonkeyDevice</span></a></li>
-          <li><a href="<?cs var:toroot ?>tools/help/MonkeyImage.html"><span class="en">MonkeyImage</span></a></li>
-          <li><a href="<?cs var:toroot ?>tools/help/MonkeyRunner.html"><span class="en">MonkeyRunner</span></a></li>
-        </ul>
-      </li>
        <li><a href="<?cs var:toroot ?>tools/help/proguard.html" zh-cn-lang="ProGuard">ProGuard</a></li>
        <li><a href="<?cs var:toroot ?>tools/help/sdk-manager.html">SDK Manager</a></li>
        <li><a href="<?cs var:toroot ?>tools/help/systrace.html">Systrace</a></li>
        <li><a href="<?cs var:toroot ?>tools/help/gltracer.html">Tracer for OpenGL ES</a></li>
        <li><a href="<?cs var:toroot ?>tools/help/traceview.html">Traceview</a></li>
-       <li class="nav-section">
-          <div class="nav-section-header"><a href="<?cs var:toroot ?>tools/help/uiautomator/index.html">
-<span class="en">uiautomator</span></a></div>
-          <ul>
-             <li><a href="<?cs var:toroot ?>tools/help/uiautomator/Configurator.html"><span class="en">Configurator</span></a></li>
-             <li><a href="<?cs var:toroot ?>tools/help/uiautomator/IAutomationSupport.html"><span class="en">IAutomationSupport</span></a></li>
-             <li><a href="<?cs var:toroot ?>tools/help/uiautomator/UiAutomatorTestCase.html"><span class="en">UiAutomatorTestCase</span></a></li>
-             <li><a href="<?cs var:toroot ?>tools/help/uiautomator/UiCollection.html"><span class="en">UiCollection</span></a></li>
-             <li><a href="<?cs var:toroot ?>tools/help/uiautomator/UiDevice.html"><span class="en">UiDevice</span></a></li>
-             <li><a href="<?cs var:toroot ?>tools/help/uiautomator/UiObject.html"><span class="en">UiObject</span></a></li>
-             <li><a href="<?cs var:toroot ?>tools/help/uiautomator/UiObjectNotFoundException.html"><span class="en">UiObjectNotFoundException</span></a></li>
-             <li><a href="<?cs var:toroot ?>tools/help/uiautomator/UiScrollable.html"><span class="en">UiScrollable</span></a></li>
-             <li><a href="<?cs var:toroot ?>tools/help/uiautomator/UiSelector.html"><span class="en">UiSelector</span></a></li>
-             <li><a href="<?cs var:toroot ?>tools/help/uiautomator/UiWatcher.html"><span class="en">UiWatcher</span></a></li>
-          </ul>
-       </li>
        <li><a href="<?cs var:toroot ?>tools/help/zipalign.html">zipalign</a></li>
     </ul>
   </li>
@@ -219,6 +193,34 @@
       </ul>
   </li><!-- end of build system -->
 
+  <!-- Testing Tools menu-->
+
+  <li class="nav-section">
+    <div class="nav-section-header"><a href="<?cs var:toroot ?>tools/testing/testing-tools.html""><span class="en">Testing Tools</span></a></div>
+    <ul>
+      <li class="nav-section">
+         <div class="nav-section-header"><a href="<?cs var:toroot ?>tools/testing-support-library/index.html"><span
+class="en">Testing Support Library</span></a></div>
+         <ul>
+            <li><a href="<?cs var:toroot ?>reference/android/support/test/package-summary.html">API Reference</a></li>
+         </ul>
+      </li>
+      <li><a href="<?cs var:toroot ?>tools/help/monkey.html">monkey</a></li>
+      <li class="nav-section">
+        <div class="nav-section-header"><a href="<?cs var:toroot
+?>tools/help/monkeyrunner_concepts.html"><span class="en">monkeyrunner</span></a></div>
+        <ul>
+          <li><a href="<?cs var:toroot ?>tools/help/MonkeyDevice.html"><span
+class="en">MonkeyDevice</span></a></li>
+          <li><a href="<?cs var:toroot ?>tools/help/MonkeyImage.html"><span
+class="en">MonkeyImage</span></a></li>
+          <li><a href="<?cs var:toroot ?>tools/help/MonkeyRunner.html"><span
+class="en">MonkeyRunner</span></a></li>
+        </ul>
+      </li>
+    </ul>
+  </li><!-- end of testing support library -->
+
 
 <!-- Support Library menu-->
 
diff --git a/docs/html/training/auto/messaging/index.jd b/docs/html/training/auto/messaging/index.jd
index 2405d83..70ac205 100644
--- a/docs/html/training/auto/messaging/index.jd
+++ b/docs/html/training/auto/messaging/index.jd
@@ -48,7 +48,7 @@
 </a>
 
 <p>
-  Staying connected through text messages is important to many drivers. Chat apps can let users
+  Staying connected through messages is important to many drivers. Chat apps can let users
   know if a child need to be picked up, or if a dinner location has been changed. Apps that provide
   sports information might tell the user who just won the big game, and let the user ask questions
   about other games being played. The Android framework enables messaging apps to extend their
@@ -95,6 +95,90 @@
     has read or replied to a message.
 </ul>
 
+<h3 id="#concepts">Concepts and Objects</h3>
+
+<p>Before you start designing your app, it's helpful to understand how Auto
+handles messaging.</p>
+
+<p>Each individual chunk of communication is a <em>message</em>. A message is a
+short length of text, suitable for the Auto device to read aloud. In a chat app,
+this might be a single message from one person to another: <code>"Fitzy -- Jane
+can't come to the ball, her youngest has the croup. :-( --Liz"</code> In a
+sports app, a message might be a single bit of news about a game: <code>"Granger
+scores for Harpies at 7 minutes in."</code></p>
+
+<p>A <em>conversation</em> is a group of messages that are all grouped together
+in some way. Auto uses the conversation information to group the messages
+together when presenting them to the user. In a chat app, a conversation might
+be all the messages between the user and another person (for example, all
+the messages back and forth between Darcy and Elizabeth). In a sports app, a
+conversation might be all the messages about a particular game. Every message
+belongs to a conversation, even if it's the only message in that conversation.
+Each conversation has a <em>conversation name</em>.
+The conversation name is used by Android Auto to
+present the messages; it's up to your app to choose an appropriate conversation
+name. In a chat app, the conversation name is usually the person your user is
+talking to.
+In a sports app, this might be the name of the teams playing in the game.</p>
+
+<p>The v4 support library defines an {@link
+android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation
+UnreadConversation} object. This object holds all messages in a conversation
+which have not yet been heard by the user. To give those messages to the user,
+you attach that {@link
+android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation
+UnreadConversation} to a notification. However, you do not attach messages to
+the {@link
+android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation
+UnreadConversation} directly. Instead, you must first set up an {@link
+android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation.Builder
+UnreadConversation.Builder} object for the conversation. The messages are added to the builder,
+then when you are ready to send the messages, you use the builder to create the
+actual {@link
+android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation
+UnreadConversation} and attach the {@link
+android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation
+UnreadConversation} to the notification.</p>
+
+<p class="note"><strong>Note:</strong> When Auto presents messages to the
+user, it uses the notification <em>tag</em> and <em>ID</em> to determine which conversation the
+messages belong to. It is important to use the same tag and ID for all messages in
+a conversation, and to not use that tag for other conversations.</p>
+
+<h3 id="#workflow">Workflow</h3>
+
+<p>This section describes how the mobile device interacts with Auto to present
+messages to the user.</p>
+
+<ol>
+
+<li>The app receives a message that it wants to pass on to the user. It attaches
+the message to an  {@link
+android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation
+UnreadConversation} object and attaches it to a notification. That notification
+is associated with a {@link
+android.support.v4.app.NotificationCompat.CarExtender CarExtender} object, which
+indicates that the notification can be handled by Android Auto.</li>
+
+<li>The app posts the notification. The Android notification framework passes the
+message to Auto. Auto uses the notification tag and ID to determine which conversation
+the message belongs to, and presents the message to the user in an appropriate
+way.</li>
+
+<li>When the user listens to the message, Auto triggers the app's message heard
+pending intent. The app should discard the {@link
+android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation
+UnreadConversation} object and its builder at this time, since the messages
+contained in those objects have been heard by the user.</li>
+
+<li>If the user sends a reply, Auto triggers the app's "message reply" intent and
+attaches a transcript of the user's response.  The app can take appropriate
+action, based on the app's logic. For example, a chat app might interpret the
+reply as a message to go to the other conversation participants, while a sports
+app might try to interpret the "reply" as a request for other information
+("What's the score in the Sharks game?").</li>
+
+</ol>
 
 <h2 id="#manifest">Configure Your Manifest</h2>
 
@@ -104,7 +188,6 @@
   section describes what changes to make to your manifest to support messaging for Auto devices.
 </p>
 
-
 <h3 id="manifest-messaging">Declare Auto messaging support</h3>
 
 <p>
@@ -159,26 +242,28 @@
 <pre>
 &lt;application&gt;
     ...
-    &lt;receiver android:name="<em>.MyMessageReadReceiver</em>"&gt;
+    &lt;receiver android:name=".MyMessageHeardReceiver"&gt;
         &lt;intent-filter&gt;
-          &lt;action android:name="<em>com.myapp.messagingservice.ACTION_MESSAGE_HEARD</em>"/&gt;
+          &lt;action android:name="com.myapp.messagingservice.MY_ACTION_MESSAGE_HEARD"/&gt;
         &lt;/intent-filter&gt;
     &lt;/receiver&gt;
 
-    &lt;receiver android:name="<em>.MyMessageReplyReceiver</em>"&gt;
+    &lt;receiver android:name=".MyMessageReplyReceiver"&gt;
         &lt;intent-filter&gt;
-          &lt;action android:name="<em>com.myapp.messagingservice.ACTION_MESSAGE_REPLY</em>"/&gt;
+          &lt;action android:name="com.myapp.messagingservice.MY_ACTION_MESSAGE_REPLY"/&gt;
         &lt;/intent-filter&gt;
     &lt;/receiver&gt;
     ...
 &lt;/application&gt;
 </pre>
 
-<p>
-  The definition of the {@link android.content.BroadcastReceiver} classes shown in this example
-  is discussed in <a href="#handle_actions">Handle User Actions</a>.
-</p>
-
+<p>   In this example, <code>"MyMessageReadReceiver"</code> and
+<code>"MyMessageReplyReceiver"</code> are the names of the {@link
+android.content.BroadcastReceiver} subclasses you define to handle the
+intents. You can choose whatever you like   as the action names, but it's best
+to prepend your package name to ensure that   the action names are unique. For
+more information about handling actions, see <a href="#handle_actions">Handle
+User Actions</a>. </p>
 
 <h2 id="support-lib">Import Support Library for Messaging</h3>
 
@@ -199,7 +284,7 @@
 <pre>
 dependencies {
     ...
-    compile 'com.android.support:support-v4:21.0.+'
+    compile 'com.android.support:support-v4:21.0.2'
 }
 </pre>
 
@@ -240,79 +325,6 @@
   provide the content of messages in those conversations.
 </p>
 
-
-<h3 id="build_conversation">Build message conversations</h4>
-
-<p>
-  Messaging notifications for Auto organize messages into conversations using the {@link
-  android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation} class,
-  that represents an unread or new
-  portion of a conversation from a particular sender. It contains a list of messages from the
-  sender.
-</p>
-
-<p>
-  Use the {@link android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation.Builder} class to create an unread conversation object,
-  as shown in the following example code:
-</p>
-
-<pre>
-// Build a RemoteInput for receiving voice input in a Car Notification
-RemoteInput remoteInput = new RemoteInput.Builder(EXTRA_VOICE_REPLY)
-        .setLabel(getApplicationContext().getString(R.string.notification_reply))
-        .build();
-
-// Create an unread conversation object to organize a group of messages
-// from a particular sender.
-UnreadConversation.Builder unreadConvBuilder =
-    new UnreadConversation.Builder(participantName)
-        .setReadPendingIntent(msgHeardPendingIntent)
-        .setReplyAction(replyPendingIntent, remoteInput);
-</pre>
-
-<p>
-  This conversation object includes a {@link android.app.PendingIntent}, which allows the Auto
-  device to signal your app that the conversation has been read by the Auto user. The construction
-  of this intent is discussed in the <a href="#conversation-intents">Creating conversation read and
-  reply intents</a> section.
-</p>
-
-<p>
-  If your app supports replying to a conversation, you must call the {@link android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation.Builder#setReplyAction setReplyAction()}
-  method and provide a pending intent to pass that user action back to your app. The
-  {@link android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation}
-  object you create must also include a {@link
-  android.support.v4.app.RemoteInput} object. When the Auto user
-  receiving this conversation speaks a reply, the remote input objects lets your app get a text
-  version of the voice reply.
-</p>
-
-
-<h4 id="conversation-messages">Associate messages with conversations</h4>
-
-<p>
-  Messages provided for Auto must be associated with a conversation using the
-  {@link android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation}
-  class. The following code example shows how
-  to associate individual messages with a conversation object.
-</p>
-
-<pre>
-// Note: Add messages from oldest to newest to the UnreadConversation.Builder
-for (Iterator&lt;String&gt; messages = conversation.getMessages().iterator();
-     messages.hasNext(); ) {
-    String message = messages.next();
-    unreadConvBuilder.addMessage(message);
-}
-</pre>
-
-<p>
-  When a new message arrives in a particular conversation, your app should check if there is
-  already a conversation object for that particular conversation. If there is, associate the new
-  message with the existing conversation instead of building a new one.
-</p>
-
-
 <h4 id="conversation-intents">Create conversation read and reply intents</h4>
 
 <p>
@@ -323,28 +335,27 @@
 
 <p>
   The following example code demonstrates how to define a {@link android.app.PendingIntent} to let
-  your app know if a conversation was listened to by the Auto user:
+  your app know if a conversation was read to the Auto user:
 </p>
 
 <pre>
 Intent msgHeardIntent = new Intent()
     .addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES)
-    .setAction(<em>com.myapp.messagingservice.ACTION_MESSAGE_HEARD</em>)
-    .putExtra("conversation_id", <em>conversationId</em>);
+    .setAction("com.myapp.messagingservice.MY_ACTION_MESSAGE_HEARD")
+    .putExtra("conversation_id", thisConversationId);
 
 PendingIntent msgHeardPendingIntent =
     PendingIntent.getBroadcast(getApplicationContext(),
-        <em>conversationId</em>,
+        thisConversationId,
         msgHeardIntent,
         PendingIntent.FLAG_UPDATE_CURRENT);
 </pre>
 
-<p>
-  In this example, {@code conversationId} is an integer that identifies the current conversation.
-  The value of {@link android.content.Intent#setAction setAction()} is an intent filter identifier for heard messages which is
-  defined in your app manifest, as shown in <a href="#manifest-intent">Define read and reply intent
-  filters</a>.
-</p>
+<p>In this example, {@code thisConversationId} is an integer that identifies the
+current conversation.   The value of {@link android.content.Intent#setAction
+Intent.setAction()} is the intent filter identifier for heard messages which you
+defined in your app manifest, as shown in <a href="#manifest-intent">Define read
+and reply intent filters</a>. </p>
 
 <p>
   If your app supports replying to conversations, you also create a {@link
@@ -356,22 +367,79 @@
 <pre>
 Intent msgReplyIntent = new Intent()
     .addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES)
-    .setAction(<em>com.myapp.messagingservice.ACTION_MESSAGE_REPLY</em>)
-    .putExtra("conversation_id", <em>conversationId</em>);
+    .setAction("com.myapp.messagingservice.MY_ACTION_MESSAGE_REPLY")
+    .putExtra("conversation_id", thisConversationId);
 
 PendingIntent msgReplyPendingIntent = PendingIntent.getBroadcast(
     getApplicationContext(),
-    <em>conversationId</em>,
+    thisConversationId,
     msgReplyIntent,
     PendingIntent.FLAG_UPDATE_CURRENT);
 </pre>
 
+<p>   Once again, {@code thisConversationId} is an integer that uniquely identifies
+this conversation, and    the value you pass to {@link
+android.content.Intent#setAction Intent.setAction()} is the intent filter
+identifier you defined for replies in your   app manifest. </p>
+
+<h3 id="build_conversation">Set up the conversation builder</h4>
+
 <p>
-  Once again, {@code conversationId} is an integer that uniquely identifies this conversation. The
-  value of {@link android.content.Intent#setAction setAction()} is an intent filter identifier for replies which is defined in your
-  app manifest, as shown in <a href="#manifest-intent">Define read and reply intent filters</a>.
+  Messaging notifications for Auto organize messages into conversations using the {@link
+  android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation} class,
+  that represents an unread or new
+  portion of a conversation from a particular sender. It contains a list of messages from the
+  sender.
 </p>
 
+<p>
+  You generally do not configure the {@link
+  android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation UnreadConversation}
+  directly. Instead, you configure an
+  {@link android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation.Builder
+  UnreadConversation.Builder} with the information about the conversation,
+  as shown in the following example code.
+</p>
+
+<pre>
+// Build a RemoteInput for receiving voice input in a Car Notification
+RemoteInput remoteInput = new RemoteInput.Builder(MY_VOICE_REPLY_KEY)
+        .setLabel(getApplicationContext().getString(R.string.notification_reply))
+        .build();
+
+// Create an unread conversation object to organize a group of messages
+// from a particular sender.
+UnreadConversation.Builder unreadConvBuilder =
+    new UnreadConversation.Builder(conversationName)
+        .setReadPendingIntent(msgHeardPendingIntent)
+        .setReplyAction(msgReplyPendingIntent, remoteInput);
+</pre>
+
+<p class="note">
+  <strong>Note:</strong> You won't actually create the {@link
+  android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation
+  UnreadConversation} until you are almost ready to send the message.
+</p>
+
+<p>
+  This conversation object includes a {@link android.app.PendingIntent}, which allows the Auto
+  device to signal your app that the conversation has been read by the Auto user. The construction
+  of this intent is discussed in the <a href="#conversation-intents">Creating conversation read and
+  reply intents</a> section.
+</p>
+
+<p>
+  If your app supports replying to a conversation, you must call the
+  {@link android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation.Builder#setReplyAction
+  UnreadConversation.Builder.setReplyAction()}
+  method and provide a pending intent to pass that user action back to your app. The
+  {@link android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation
+  UnreadConversation}
+  object you create must also include a {@link
+  android.support.v4.app.RemoteInput} object. When the Auto user
+  receiving this conversation speaks a reply, the remote input objects lets your app get a text
+  version of the voice reply.
+</p>
 
 <h3 id="sending_messages">Sending Messages</h4>
 
@@ -381,49 +449,99 @@
 </p>
 
 <p>First, add the message to the {@link
-android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation.Builder}
-for this conversation, and update its timestamp:</p>
+android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation.Builder
+UnreadConversation.Builder} for this conversation, and update its timestamp:</p>
 
 <pre>
-unreadConvBuilder.addMessage(<em>messageString</em>)
-    .setLatestTimestamp(<em>currentTimestamp</em>);
+unreadConvBuilder.addMessage(messageString)
+    .setLatestTimestamp(currentTimestamp);
 </pre>
 
-<p>Then create a {@link android.support.v4.app.NotificationCompat.Builder}
-object that you'll use to build the actual notification. You'll need to use the
+<p class="note"><strong>Note:</strong> If you are sending several messages at
+once, add them to the {@link
+android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation.Builder
+UnreadConversation.Builder} in order, from oldest to newest.</p>
+
+<p>Then create the {@link android.support.v4.app.NotificationCompat.Builder
+NotificationCompat.Builder}
+object that builds the actual notification. You need to use the
 pending intents you created in the previous step.</p>
 
 <pre>
 NotificationCompat.Builder notificationBuilder =
     new NotificationCompat.Builder(getApplicationContext())
-        .setSmallIcon(R.drawable.<em>notification_icon</em>)
-        .setLargeIcon(<em>icon_bitmap</em>)
-        .setContentText(<em>messageString</em>)
-        .setWhen(<em>currentTimestamp</em>)
-        .setContentTitle(<em>participant_name</em>)
-        .setContentIntent(msgHeardPendingIntent);
-
+        .setSmallIcon(smallIconResourceID)
+        .setLargeIcon(largeIconBitmap);
 </pre>
 
+<dl>
+  <dt><code>smallIconResourceID</code></dt>
+  <dd>The resource ID of a small icon to use for the conversation. This is
+    typically a generic icon for the messaging app.</dd>
+
+  <dt><code>largeIconBitmap</code></dt>
+  <dd>A {@link android.graphics.Bitmap} of a large version of the icon. This
+    is typically a conversation-specific graphic. For example, if this is a
+    chat app, the large icon would be a picture of the person the user is
+    chatting with.</dd>
+
+  <dt><code>messageString</code></dt>
+  <dd>The text of the message you want to send. (If you are sending several
+    messages at once, concatenate them into a single string, with the oldest
+    message first.)</dd>
+
+  <dt><code>currentTimestamp</code></dt>
+  <dd>The message timestamp. (If you are sending several messages at once,
+    use the timestamp of the most recent message.)</dd>
+
+  <dt><code>conversationName</code></dt>
+
+  <dd>The name you chose for this conversation (for example, the name of the
+    person the user is chatting with). This should be the same conversation
+    name you used when you created the {@link
+android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation.Builder
+    UnreadConversation.Builder}.</dd>
+
+  <dt><code>msgHeardPendingIntent</code></dt>
+  <dd>The pending intent object you created in
+    <a href="#conversation-intents">Create conversation read and reply
+      intents</a>.</dd>
+</dl>
+
+
 <p>You'll also need to extend the  {@link
-android.support.v4.app.NotificationCompat.Builder} with the {@link
-android.support.v4.app.NotificationCompat.CarExtender}. This is where you
-actually create the {@link android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation} object using the builder you
+android.support.v4.app.NotificationCompat.Builder NotificationCompat.Builder} with the {@link
+android.support.v4.app.NotificationCompat.CarExtender CarExtender}. This is where you
+actually create the
+{@link android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation
+UnreadConversation} object using the builder you
 just created, and attach it to the {@link
-android.support.v4.app.NotificationCompat.CarExtender}:</p>
+android.support.v4.app.NotificationCompat.CarExtender CarExtender}:</p>
 
 <pre>
 notificationBuilder.extend(new CarExtender()
     .setUnreadConversation(unreadConvBuilder.build());
 </pre>
 
+<p class="note"><strong>Note:</strong> If you wish, you can set an override icon
+or color for the {@link android.support.v4.app.NotificationCompat.CarExtender
+CarExtender} by calling {@link
+android.support.v4.app.NotificationCompat.CarExtender#setLargeIcon
+setLargeIcon()} or {@link
+android.support.v4.app.NotificationCompat.CarExtender#setColor setColor()}. The
+override icon or color is used when the notification is handled by a car, and
+has no effect if the notification is handled on the Android device. This is
+useful if the notification's default icon or color are not suitable for the
+car's display.</p>
+
 <p>Once you've done all this, you use your app's {@link
 android.support.v4.app.NotificationManagerCompat} to send the notification:</p>
 
 <pre>
 NotificationManagerCompat msgNotificationManager =
     NotificationManagerCompat.from(context);
-msgNotificationManager.notify(<em>notificationId</em>, notificationBuilder.build());
+msgNotificationManager.notify(notificationTag,
+    notificationId, notificationBuilder.build());
 </pre>
 
 <h2 id="handle_actions">Handle User Actions</h2>
@@ -431,7 +549,7 @@
 <p>
   When your create and dispatch a notification for messaging, you specify intents to be triggered
   when the Auto user hears the message and when the user dictates a reply. Your app indicates to
-  the Android framework that it handles these intends by registering them through it's manifest, as
+  the Android framework that it handles these intends by registering them through its manifest, as
   discussed in <a href="#manifest-intent">Define read and reply intent filters</a>.
 </p>
 
@@ -461,7 +579,7 @@
 </p>
 
 <pre>
-public class MessageHeardReceiver extends BroadcastReceiver {
+public class MyMessageHeardReceiver extends BroadcastReceiver {
 
     &#64;Override
     public void onReceive(Context context, Intent intent) {
@@ -469,7 +587,7 @@
         // If you set up the intent as described in
         // "Create conversation read and reply intents",
         // you can get the conversation ID by calling:
-        int conversationId = intent.getIntExtra("conversation_id", -1);
+        int thisConversationId = intent.getIntExtra("conversation_id", -1);
 
         // Remove the notification to indicate it has been read
         // and update the list of unread conversations in your app.
@@ -479,7 +597,8 @@
 
 <p>
   Once a notification is read, your app can remove it by calling
-  {@link android.support.v4.app.NotificationManagerCompat#cancel} with the notification ID.
+  {@link android.support.v4.app.NotificationManagerCompat#cancel
+  NotificationManagerCompat.cancel()} with the notification ID.
   Within your app, you should mark the messages provided in the notification as read.
 </p>
 
@@ -505,7 +624,7 @@
 </p>
 
 <pre>
-  public class MessageReplyReceiver extends BroadcastReceiver {
+  public class MyMessageReplyReceiver extends BroadcastReceiver {
 
 
     &#64;Override
@@ -513,7 +632,7 @@
         // If you set up the intent as described in
         // "Create conversation read and reply intents",
         // you can get the conversation ID by calling:
-        int conversationId = intent.getIntExtra("conversation_id", -1).
+        int thisConversationId = intent.getIntExtra("conversation_id", -1).
 
     }
 
@@ -527,7 +646,7 @@
         Bundle remoteInput =
             RemoteInput.getResultsFromIntent(intent);
         if (remoteInput != null) {
-            return remoteInput.getCharSequence("extra_voice_reply");
+            return remoteInput.getCharSequence(MY_VOICE_REPLY_KEY);
         }
         return null;
     }
diff --git a/docs/html/training/location/geofencing.jd b/docs/html/training/location/geofencing.jd
index 748b6ec..59fc4c6 100644
--- a/docs/html/training/location/geofencing.jd
+++ b/docs/html/training/location/geofencing.jd
@@ -9,9 +9,11 @@
 
 <h2>This lesson teaches you to</h2>
 <ol>
-    <li><a href="#RequestGeofences">Request Geofence Monitoring</a></li>
+    <li><a href="#RequestGeofences">Set up for Geofence Monitoring</a></li>
+    <li><a href="#CreateAdd">Create and Add Geofences</a></li>
     <li><a href="#HandleGeofenceTransitions">Handle Geofence Transitions</a></li>
     <li><a href="#StopGeofenceMonitoring">Stop Geofence Monitoring</a></li>
+
 </ol>
 
 <h2>You should also read</h2>
@@ -23,577 +25,148 @@
 
 <h2>Try it out</h2>
 
-<div class="download-box">
-  <a href="http://developer.android.com/shareables/training/GeofenceDetection.zip" class="button">Download the sample</a>
-  <p class="filename">GeofenceDetection.zip</p>
-</div>
+   <ul>
+      <li>
+        <a href="https://github.com/googlesamples/android-play-location/tree/master/Geofencing"
+        class="external-link">Geofencing</a>
+      </li>
+    </ul>
 
 </div>
 </div>
 <p>
-    Geofencing combines awareness of the user's current location with awareness of nearby
-    features, defined as the user's proximity to locations that may be of interest. To mark a
+    Geofencing combines awareness of the user's current location with awareness of the user's
+    proximity to locations that may be of interest. To mark a
     location of interest, you specify its latitude and longitude. To adjust the proximity for the
-    location, you add a radius. The latitude, longitude, and radius define a geofence.
-    You can have multiple active geofences at one time.
+    location, you add a radius. The latitude, longitude, and radius define a geofence, creating a
+    circular area, or fence, around the location of interest.
 </p>
 <p>
-    Location Services treats a geofences as an area rather than as a points and proximity. This
-    allows it to detect when the user enters or exits a geofence. For each geofence, you can ask
-    Location Services to send you entrance events or exit events or both. You can also limit the
-    duration of a geofence by specifying an expiration duration in milliseconds. After the geofence
-    expires, Location Services automatically removes it.
+    You can have multiple active geofences, with a limit of 100 per device user. For each geofence,
+    you can ask Location Services to send you entrance and exit events, or you can specify a
+    duration within the geofence area to wait, or <em>dwell</em>, before triggering an event. You
+    can limit the duration of any geofence by specifying an expiration duration in milliseconds.
+    After the geofence expires, Location Services automatically removes it.
 </p>
-<!--
-    Send geofences to Location Services
- -->
-<h2 id="RequestGeofences">Request Geofence Monitoring</h2>
+
+<img src="{@docRoot}images/training/geofence@2x.png"
+srcset="{@docRoot}images/training/geofence.png 1x, {@docRoot}images/training/geofence@2x.png 2x" alt=""
+  width="400" height="400"/>
+<p>
+    This lesson shows you how to add and remove geofences, and then listen for geofence transitions
+    using an {@link android.app.IntentService}.</p>
+
+<h2 id="RequestGeofences">Set up for Geofence Monitoring</h2>
 <p>
     The first step in requesting geofence monitoring is to request the necessary permission.
     To use geofencing, your app must request
     {@link android.Manifest.permission#ACCESS_FINE_LOCATION ACCESS_FINE_LOCATION}. To request this
     permission, add the following element as a child element of the
 <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code>
-    element:
+    element in your app manifest:
 </p>
 <pre>
 &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/&gt;
 </pre>
-<!-- Check for Google Play services -->
-<h3>Check for Google Play Services</h3>
-<p>
-    Location Services is part of the Google Play services APK. Since it's hard to anticipate the
-    state of the user's device, you should always check that the APK is installed before you attempt
-    to connect to Location Services. To check that the APK is installed, call
-<code><a href="{@docRoot}reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">GooglePlayServicesUtil.isGooglePlayServicesAvailable()</a></code>,
-    which returns one of the
-    integer result codes listed in the API reference documentation. If you encounter an error,
-    call
-<code><a href="{@docRoot}reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorDialog(int, android.app.Activity, int)">GooglePlayServicesUtil.getErrorDialog()</a></code>
-    to retrieve localized dialog that prompts users to take the correct action, then display
-    the dialog in a {@link android.support.v4.app.DialogFragment}. The dialog may allow the
-    user to correct the problem, in which case Google Play services may send a result back to your
-    activity. To handle this result, override the method
-    {@link android.support.v4.app.FragmentActivity#onActivityResult onActivityResult()}
 
-</p>
-<p class="note">
-    <strong>Note:</strong> To make your app compatible with
-    platform version 1.6 and later, the activity that displays the
-    {@link android.support.v4.app.DialogFragment} must subclass
-    {@link android.support.v4.app.FragmentActivity} instead of {@link android.app.Activity}. Using
-    {@link android.support.v4.app.FragmentActivity} also allows you to call
-    {@link android.support.v4.app.FragmentActivity#getSupportFragmentManager
-    getSupportFragmentManager()} to display the {@link android.support.v4.app.DialogFragment}.
-</p>
 <p>
-    Since you usually need to check for Google Play services in more than one place in your code,
-    define a method that encapsulates the check, then call the method before each connection
-    attempt. The following snippet contains all of the code required to check for Google
-    Play services:
+    If you want to use an {@link android.app.IntentService} to listen for geofence transitions,
+    add an element specifying the service name. This element must be
+    a child of the <code><a href="{@docRoot}guide/topics/manifest/application-element.html">
+    &lt;application&gt;</a></code> element:
+</p>
+
+<pre>
+&lt;application
+   android:allowBackup=&quot;true&quot;&gt;
+   ...
+   &lt;service android:name=".GeofenceTransitionsIntentService"/&gt;
+&lt;application/&gt;
+</pre>
+
+<p>To access the location APIs, you need to create an instance of the
+  Google Play services API client. To learn how to connect your client, see
+  <a href="{@docRoot}training/location/retrieve-current.html#play-services">Connect
+  to Google Play Services</a>.</p>
+
+<h2 id="CreateAdd">Create and Add Geofences</h2>
+
+<p>Your app needs to create and add geofences using the location API's builder class for
+ creating Geofence objects, and the convenience class for adding them. Also, to handle the
+ intents sent from Location Services when geofence transitions occur, you can define a
+ {@link android.app.PendingIntent} as shown in this section.
+</p>
+
+<h3>Create geofence objects</h3>
+
+<p>
+    First, use <code><a href="{@docRoot}reference/com/google/android/gms/location/Geofence.Builder.
+    html">Geofence.Builder</a></code> to create a geofence, setting the desired radius, duration, and
+    transition types for the geofence. For example, to populate a list object named
+    {@code mGeofenceList}:
+    </p>
+
+<pre>
+mGeofenceList.add(new Geofence.Builder()
+    // Set the request ID of the geofence. This is a string to identify this
+    // geofence.
+    .setRequestId(entry.getKey())
+
+    .setCircularRegion(
+            entry.getValue().latitude,
+            entry.getValue().longitude,
+            Constants.GEOFENCE_RADIUS_IN_METERS
+    )
+    .setExpirationDuration(Constants.GEOFENCE_EXPIRATION_IN_MILLISECONDS)
+    .setTransitionTypes(Geofence.GEOFENCE_TRANSITION_ENTER |
+            Geofence.GEOFENCE_TRANSITION_EXIT)
+    .build());
+</pre>
+
+<p>This example pulls data from a constants file. In actual practice, apps might
+    dynamically create geofences based on the user's location.</p>
+
+<h3>Specify geofences and initial triggers</h3>
+
+<p>
+    The following snippet uses the <code><a href="{@docRoot}reference/com/google/android/gms/location/GeofencingRequest.html">
+    GeofencingRequest</a></code> class
+    and its nested <code><a href="{@docRoot}reference/com/google/android/gms/location/GeofencingRequest.Builder.html">
+    GeofencingRequestBuilder</a></code> class to
+    specify the geofences to monitor and to set how related geofence events are triggered:
 </p>
 <pre>
-public class MainActivity extends FragmentActivity {
-    ...
-    // Global constants
-    /*
-     * Define a request code to send to Google Play services
-     * This code is returned in Activity.onActivityResult
-     */
-    private final static int
-            CONNECTION_FAILURE_RESOLUTION_REQUEST = 9000;
-    ...
-    // Define a DialogFragment that displays the error dialog
-    public static class ErrorDialogFragment extends DialogFragment {
-        // Global field to contain the error dialog
-        private Dialog mDialog;
-        ...
-        // Default constructor. Sets the dialog field to null
-        public ErrorDialogFragment() {
-            super();
-            mDialog = null;
-        }
-        ...
-        // Set the dialog to display
-        public void setDialog(Dialog dialog) {
-            mDialog = dialog;
-        }
-        ...
-        // Return a Dialog to the DialogFragment.
-        &#64;Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            return mDialog;
-        }
-        ...
-    }
-    ...
-    /*
-     * Handle results returned to the FragmentActivity
-     * by Google Play services
-     */
-     &#64;Override
-    protected void onActivityResult(
-            int requestCode, int resultCode, Intent data) {
-        // Decide what to do based on the original request code
-        switch (requestCode) {
-            ...
-            case CONNECTION_FAILURE_RESOLUTION_REQUEST :
-            /*
-             * If the result code is Activity.RESULT_OK, try
-             * to connect again
-             */
-                switch (resultCode) {
-                    ...
-                    case Activity.RESULT_OK :
-                    /*
-                     * Try the request again
-                     */
-                    ...
-                    break;
-                }
-            ...
-        }
-        ...
-    }
-    ...
-    private boolean servicesConnected() {
-        // Check that Google Play services is available
-        int resultCode =
-                GooglePlayServicesUtil.
-                        isGooglePlayServicesAvailable(this);
-        // If Google Play services is available
-        if (ConnectionResult.SUCCESS == resultCode) {
-            // In debug mode, log the status
-            Log.d("Geofence Detection",
-                    "Google Play services is available.");
-            // Continue
-            return true;
-        // Google Play services was not available for some reason
-        } else {
-            // Get the error code
-            int errorCode = connectionResult.getErrorCode();
-            // Get the error dialog from Google Play services
-            Dialog errorDialog = GooglePlayServicesUtil.getErrorDialog(
-                    errorCode,
-                    this,
-                    CONNECTION_FAILURE_RESOLUTION_REQUEST);
-
-            // If Google Play services can provide an error dialog
-            if (errorDialog != null) {
-                // Create a new DialogFragment for the error dialog
-                ErrorDialogFragment errorFragment =
-                        new ErrorDialogFragment();
-                // Set the dialog in the DialogFragment
-                errorFragment.setDialog(errorDialog);
-                // Show the error dialog in the DialogFragment
-                errorFragment.show(
-                        getSupportFragmentManager(),
-                        "Geofence Detection");
-            }
-        }
-    }
-    ...
+private GeofencingRequest getGeofencingRequest() {
+    GeofencingRequest.Builder builder = new GeofencingRequest.Builder();
+    builder.setInitialTrigger(GeofencingRequest.INITIAL_TRIGGER_ENTER);
+    builder.addGeofences(mGeofenceList);
+    return builder.build();
 }
 </pre>
-<p>
-    Snippets in the following sections call this method to verify that Google Play services is
-    available.
-</p>
-<p>
-    To use geofencing, start by defining the geofences you want to monitor. Although you usually
-    store geofence data in a local database or download it from the network, you need to send
-    a geofence to Location Services as an instance of
-<code><a href="{@docRoot}reference/com/google/android/gms/location/Geofence.html">Geofence</a></code>,
-    which you create with
-<code><a href="{@docRoot}reference/com/google/android/gms/location/Geofence.Builder.html">Geofence.Builder</a></code>.
-    Each
-<code><a href="{@docRoot}reference/com/google/android/gms/location/Geofence.html">Geofence</a></code>
-    object contains the following information:
-</p>
-<dl>
-    <dt>Latitude, longitude, and radius</dt>
-    <dd>
-        Define a circular area for the geofence. Use the latitude and longitude to mark a location
-        of interest, and then use the radius to adjust how close the user needs to approach the
-        location before the geofence is detected. The larger the radius, the more likely the
-        user will trigger a geofence transition alert by approaching the geofence. For example,
-        providing a large radius for a geofencing app that turns on lights in the user's house as
-        the user returns home might cause the lights to go on even if the user is simply passing by.
-    </dd>
-    <dt>Expiration time</dt>
-    <dd>
-        How long the geofence should remain active. Once the expiration time is reached, Location
-        Services deletes the geofence. Most of the time, you should specify an expiration time, but
-        you may want to keep permanent geofences for the user's home or place of work.
-    </dd>
-    <dt>Transition type</dt>
-    <dd>
-        Location Services can detect when the user steps within the radius of the geofence ("entry")
-        and when the user steps outside the radius of the geofence ("exit"), or both.
-    </dd>
-    <dt>Geofence ID</dt>
-    <dd>
-        A string that is stored with the geofence. You should make this unique, so that you can
-        use it to remove a geofence from Location Services tracking.
-    </dd>
-</dl>
-<h3>Define geofence storage</h3>
-<p>
-    A geofencing app needs to read and write geofence data to persistent storage. You shouldn't use
-<code><a href="{@docRoot}reference/com/google/android/gms/location/Geofence.html">Geofence</a></code>
-    objects to do this; instead, use storage techniques such as databases that can store groups of
-    related data.
-</p>
-<p>
-    As an example of storing geofence data, the following snippet defines two classes that use
-    the app's {@link android.content.SharedPreferences} instance for persistent storage. The class
-    {@code SimpleGeofence}, analogous to a database record, stores the
-    data for a single
-<code><a href="{@docRoot}reference/com/google/android/gms/location/Geofence.html">Geofence</a></code>
-    object in a "flattened" form. The class {@code SimpleGeofenceStore}, analogous to a database,
-    reads and writes {@code SimpleGeofence} data to the
-    {@link android.content.SharedPreferences} instance.
-</p>
-<pre>
-public class MainActivity extends FragmentActivity {
-    ...
-    /**
-     * A single Geofence object, defined by its center and radius.
-     */
-    public class SimpleGeofence {
-            // Instance variables
-            private final String mId;
-            private final double mLatitude;
-            private final double mLongitude;
-            private final float mRadius;
-            private long mExpirationDuration;
-            private int mTransitionType;
 
-        /**
-         * @param geofenceId The Geofence's request ID
-         * @param latitude Latitude of the Geofence's center.
-         * @param longitude Longitude of the Geofence's center.
-         * @param radius Radius of the geofence circle.
-         * @param expiration Geofence expiration duration
-         * @param transition Type of Geofence transition.
-         */
-        public SimpleGeofence(
-                String geofenceId,
-                double latitude,
-                double longitude,
-                float radius,
-                long expiration,
-                int transition) {
-            // Set the instance fields from the constructor
-            this.mId = geofenceId;
-            this.mLatitude = latitude;
-            this.mLongitude = longitude;
-            this.mRadius = radius;
-            this.mExpirationDuration = expiration;
-            this.mTransitionType = transition;
-        }
-        // Instance field getters
-        public String getId() {
-            return mId;
-        }
-        public double getLatitude() {
-            return mLatitude;
-        }
-        public double getLongitude() {
-            return mLongitude;
-        }
-        public float getRadius() {
-            return mRadius;
-        }
-        public long getExpirationDuration() {
-            return mExpirationDuration;
-        }
-        public int getTransitionType() {
-            return mTransitionType;
-        }
-        /**
-         * Creates a Location Services Geofence object from a
-         * SimpleGeofence.
-         *
-         * @return A Geofence object
-         */
-        public Geofence toGeofence() {
-            // Build a new Geofence object
-            return new Geofence.Builder()
-                    .setRequestId(getId())
-                    .setTransitionTypes(mTransitionType)
-                    .setCircularRegion(
-                            getLatitude(), getLongitude(), getRadius())
-                    .setExpirationDuration(mExpirationDuration)
-                    .build();
-        }
-    }
-    ...
-    /**
-     * Storage for geofence values, implemented in SharedPreferences.
-     */
-    public class SimpleGeofenceStore {
-        // Keys for flattened geofences stored in SharedPreferences
-        public static final String KEY_LATITUDE =
-                "com.example.android.geofence.KEY_LATITUDE";
-        public static final String KEY_LONGITUDE =
-                "com.example.android.geofence.KEY_LONGITUDE";
-        public static final String KEY_RADIUS =
-                "com.example.android.geofence.KEY_RADIUS";
-        public static final String KEY_EXPIRATION_DURATION =
-                "com.example.android.geofence.KEY_EXPIRATION_DURATION";
-        public static final String KEY_TRANSITION_TYPE =
-                "com.example.android.geofence.KEY_TRANSITION_TYPE";
-        // The prefix for flattened geofence keys
-        public static final String KEY_PREFIX =
-                "com.example.android.geofence.KEY";
-        /*
-         * Invalid values, used to test geofence storage when
-         * retrieving geofences
-         */
-        public static final long INVALID_LONG_VALUE = -999l;
-        public static final float INVALID_FLOAT_VALUE = -999.0f;
-        public static final int INVALID_INT_VALUE = -999;
-        // The SharedPreferences object in which geofences are stored
-        private final SharedPreferences mPrefs;
-        // The name of the SharedPreferences
-        private static final String SHARED_PREFERENCES =
-                "SharedPreferences";
-        // Create the SharedPreferences storage with private access only
-        public SimpleGeofenceStore(Context context) {
-            mPrefs =
-                    context.getSharedPreferences(
-                            SHARED_PREFERENCES,
-                            Context.MODE_PRIVATE);
-        }
-        /**
-         * Returns a stored geofence by its id, or returns {@code null}
-         * if it's not found.
-         *
-         * @param id The ID of a stored geofence
-         * @return A geofence defined by its center and radius. See
-         */
-        public SimpleGeofence getGeofence(String id) {
-            /*
-             * Get the latitude for the geofence identified by id, or
-             * INVALID_FLOAT_VALUE if it doesn't exist
-             */
-            double lat = mPrefs.getFloat(
-                    getGeofenceFieldKey(id, KEY_LATITUDE),
-                    INVALID_FLOAT_VALUE);
-            /*
-             * Get the longitude for the geofence identified by id, or
-             * INVALID_FLOAT_VALUE if it doesn't exist
-             */
-            double lng = mPrefs.getFloat(
-                    getGeofenceFieldKey(id, KEY_LONGITUDE),
-                    INVALID_FLOAT_VALUE);
-            /*
-             * Get the radius for the geofence identified by id, or
-             * INVALID_FLOAT_VALUE if it doesn't exist
-             */
-            float radius = mPrefs.getFloat(
-                    getGeofenceFieldKey(id, KEY_RADIUS),
-                    INVALID_FLOAT_VALUE);
-            /*
-             * Get the expiration duration for the geofence identified
-             * by id, or INVALID_LONG_VALUE if it doesn't exist
-             */
-            long expirationDuration = mPrefs.getLong(
-                    getGeofenceFieldKey(id, KEY_EXPIRATION_DURATION),
-                    INVALID_LONG_VALUE);
-            /*
-             * Get the transition type for the geofence identified by
-             * id, or INVALID_INT_VALUE if it doesn't exist
-             */
-            int transitionType = mPrefs.getInt(
-                    getGeofenceFieldKey(id, KEY_TRANSITION_TYPE),
-                    INVALID_INT_VALUE);
-            // If none of the values is incorrect, return the object
-            if (
-                lat != GeofenceUtils.INVALID_FLOAT_VALUE &amp;&amp;
-                lng != GeofenceUtils.INVALID_FLOAT_VALUE &amp;&amp;
-                radius != GeofenceUtils.INVALID_FLOAT_VALUE &amp;&amp;
-                expirationDuration !=
-                        GeofenceUtils.INVALID_LONG_VALUE &amp;&amp;
-                transitionType != GeofenceUtils.INVALID_INT_VALUE) {
-
-                // Return a true Geofence object
-                return new SimpleGeofence(
-                        id, lat, lng, radius, expirationDuration,
-                        transitionType);
-            // Otherwise, return null.
-            } else {
-                return null;
-            }
-        }
-        /**
-         * Save a geofence.
-         * @param geofence The SimpleGeofence containing the
-         * values you want to save in SharedPreferences
-         */
-        public void setGeofence(String id, SimpleGeofence geofence) {
-            /*
-             * Get a SharedPreferences editor instance. Among other
-             * things, SharedPreferences ensures that updates are atomic
-             * and non-concurrent
-             */
-            Editor editor = mPrefs.edit();
-            // Write the Geofence values to SharedPreferences
-            editor.putFloat(
-                    getGeofenceFieldKey(id, KEY_LATITUDE),
-                    (float) geofence.getLatitude());
-            editor.putFloat(
-                    getGeofenceFieldKey(id, KEY_LONGITUDE),
-                    (float) geofence.getLongitude());
-            editor.putFloat(
-                    getGeofenceFieldKey(id, KEY_RADIUS),
-                    geofence.getRadius());
-            editor.putLong(
-                    getGeofenceFieldKey(id, KEY_EXPIRATION_DURATION),
-                    geofence.getExpirationDuration());
-            editor.putInt(
-                    getGeofenceFieldKey(id, KEY_TRANSITION_TYPE),
-                    geofence.getTransitionType());
-            // Commit the changes
-            editor.commit();
-        }
-        public void clearGeofence(String id) {
-            /*
-             * Remove a flattened geofence object from storage by
-             * removing all of its keys
-             */
-            Editor editor = mPrefs.edit();
-            editor.remove(getGeofenceFieldKey(id, KEY_LATITUDE));
-            editor.remove(getGeofenceFieldKey(id, KEY_LONGITUDE));
-            editor.remove(getGeofenceFieldKey(id, KEY_RADIUS));
-            editor.remove(getGeofenceFieldKey(id,
-                    KEY_EXPIRATION_DURATION));
-            editor.remove(getGeofenceFieldKey(id, KEY_TRANSITION_TYPE));
-            editor.commit();
-        }
-        /**
-         * Given a Geofence object's ID and the name of a field
-         * (for example, KEY_LATITUDE), return the key name of the
-         * object's values in SharedPreferences.
-         *
-         * @param id The ID of a Geofence object
-         * @param fieldName The field represented by the key
-         * @return The full key name of a value in SharedPreferences
-         */
-        private String getGeofenceFieldKey(String id,
-                String fieldName) {
-            return KEY_PREFIX + "_" + id + "_" + fieldName;
-        }
-    }
-    ...
-}
-</pre>
-<h3>Create Geofence objects</h3>
 <p>
-    The following snippet uses the {@code SimpleGeofence} and {@code SimpleGeofenceStore} classes
-    gets geofence data from the UI, stores it in {@code SimpleGeofence} objects, stores these
-    objects in a {@code SimpleGeofenceStore} object, and then creates
-<code><a href="{@docRoot}reference/com/google/android/gms/location/Geofence.html">Geofence</a></code>
-    objects:
+    This example shows the use of two geofence triggers. The <code><a href="{@docRoot}reference/com/google/android/gms/location/Geofence.html#GEOFENCE_TRANSITION_ENTER">
+    GEOFENCE_TRANSITION_ENTER</a></code>
+    transition triggers when a device enters a geofence, and the <code><a href="{@docRoot}reference/com/google/android/gms/location/Geofence.html#GEOFENCE_TRANSITION_EXIT">
+    GEOFENCE_TRANSITION_EXIT</a></code>
+    transition triggers when a device exits a geofence. Specifying
+    <code><a href="{@docRoot}reference/com/google/android/gms/location/GeofencingRequest.html#INITIAL_TRIGGER_ENTER">
+        INITIAL_TRIGGER_ENTER</a></code> tells Location services that
+    <code><a href="{@docRoot}reference/com/google/android/gms/location/Geofence.html#GEOFENCE_TRANSITION_ENTER">
+        GEOFENCE_TRANSITION_ENTER</a></code>
+    should be triggered if the the device is already inside the geofence.</p>
 </p>
-<pre>
-public class MainActivity extends FragmentActivity {
-    ...
-    /*
-     * Use to set an expiration time for a geofence. After this amount
-     * of time Location Services will stop tracking the geofence.
-     */
-    private static final long SECONDS_PER_HOUR = 60;
-    private static final long MILLISECONDS_PER_SECOND = 1000;
-    private static final long GEOFENCE_EXPIRATION_IN_HOURS = 12;
-    private static final long GEOFENCE_EXPIRATION_TIME =
-            GEOFENCE_EXPIRATION_IN_HOURS *
-            SECONDS_PER_HOUR *
-            MILLISECONDS_PER_SECOND;
-    ...
-    /*
-     * Handles to UI views containing geofence data
-     */
-    // Handle to geofence 1 latitude in the UI
-    private EditText mLatitude1;
-    // Handle to geofence 1 longitude in the UI
-    private EditText mLongitude1;
-    // Handle to geofence 1 radius in the UI
-    private EditText mRadius1;
-    // Handle to geofence 2 latitude in the UI
-    private EditText mLatitude2;
-    // Handle to geofence 2 longitude in the UI
-    private EditText mLongitude2;
-    // Handle to geofence 2 radius in the UI
-    private EditText mRadius2;
-    /*
-     * Internal geofence objects for geofence 1 and 2
-     */
-    private SimpleGeofence mUIGeofence1;
-    private SimpleGeofence mUIGeofence2;
-    ...
-    // Internal List of Geofence objects
-    List&lt;Geofence&gt; mGeofenceList;
-    // Persistent storage for geofences
-    private SimpleGeofenceStore mGeofenceStorage;
-    ...
-    &#64;Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        ...
-        // Instantiate a new geofence storage area
-        mGeofenceStorage = new SimpleGeofenceStore(this);
 
-        // Instantiate the current List of geofences
-        mCurrentGeofences = new ArrayList&lt;Geofence&gt;();
-    }
-    ...
-    /**
-     * Get the geofence parameters for each geofence from the UI
-     * and add them to a List.
-     */
-    public void createGeofences() {
-        /*
-         * Create an internal object to store the data. Set its
-         * ID to "1". This is a "flattened" object that contains
-         * a set of strings
-         */
-        mUIGeofence1 = new SimpleGeofence(
-                "1",
-                Double.valueOf(mLatitude1.getText().toString()),
-                Double.valueOf(mLongitude1.getText().toString()),
-                Float.valueOf(mRadius1.getText().toString()),
-                GEOFENCE_EXPIRATION_TIME,
-                // This geofence records only entry transitions
-                Geofence.GEOFENCE_TRANSITION_ENTER);
-        // Store this flat version
-        mGeofenceStorage.setGeofence("1", mUIGeofence1);
-        // Create another internal object. Set its ID to "2"
-        mUIGeofence2 = new SimpleGeofence(
-                "2",
-                Double.valueOf(mLatitude2.getText().toString()),
-                Double.valueOf(mLongitude2.getText().toString()),
-                Float.valueOf(mRadius2.getText().toString()),
-                GEOFENCE_EXPIRATION_TIME,
-                // This geofence records both entry and exit transitions
-                Geofence.GEOFENCE_TRANSITION_ENTER |
-                Geofence.GEOFENCE_TRANSITION_EXIT);
-        // Store this flat version
-        mGeofenceStorage.setGeofence(2, mUIGeofence2);
-        mGeofenceList.add(mUIGeofence1.toGeofence());
-        mGeofenceList.add(mUIGeofence2.toGeofence());
-    }
-    ...
-}
-</pre>
-<p>
-    In addition to the {@link java.util.List} of
-<code><a href="{@docRoot}reference/com/google/android/gms/location/Geofence.html">Geofence</a></code>
-    objects you want to monitor, you need to provide Location Services with the
-    {@link android.content.Intent} that it sends to your app when it detects geofence
-    transitions.
-<h4>Define a Intent for geofence transitions</h4>
+<p>In many cases, it may be preferable to use instead <code><a href="{@docRoot}reference/com/google/android/gms/location/GeofencingRequest.html#INITIAL_TRIGGER_DWELL">
+    INITIAL_TRIGGER_DWELL</a></code>,
+    which triggers events only when the user stops for a defined duration within a geofence.
+    This approach can help reduce "alert spam" resulting from large numbers notifications when a
+    device briefly enters and exits geofences. Another strategy for getting best results from your
+    geofences is to set a minimum radius of 100 meters. This helps account for the location accuracy
+    of typical WiFi networks, and also helps reduce device power consumption.
+</p>
+
+<h3>Define an Intent for geofence transitions</h3>
 <p>
     The {@link android.content.Intent} sent from Location Services can trigger various actions in
     your app, but you should <i>not</i> have it start an activity or fragment, because components
@@ -601,807 +174,133 @@
     {@link android.app.IntentService} is a good way to handle the intent. An
     {@link android.app.IntentService} can post a notification, do long-running background work,
     send intents to other services, or send a broadcast intent. The following snippet shows how
-    how to define a {@link android.app.PendingIntent} that starts an
-    {@link android.app.IntentService}:
+    to define a {@link android.app.PendingIntent} that starts an {@link android.app.IntentService}:
 </p>
 <pre>
 public class MainActivity extends FragmentActivity {
     ...
-    /*
-     * Create a PendingIntent that triggers an IntentService in your
-     * app when a geofence transition occurs.
-     */
-    private PendingIntent getTransitionPendingIntent() {
-        // Create an explicit Intent
-        Intent intent = new Intent(this,
-                ReceiveTransitionsIntentService.class);
-        /*
-         * Return the PendingIntent
-         */
-        return PendingIntent.getService(
-                this,
-                0,
-                intent,
-                PendingIntent.FLAG_UPDATE_CURRENT);
-    }
-    ...
-}
-</pre>
-<p>
-    Now you have all the code you need to send a request to monitor geofences to Location
-    Services.
-</p>
-<!-- Send the monitoring request -->
-<h3 id="requestmonitoring">Send the monitoring request</h3>
-<p>
-    Sending the monitoring request requires two asynchronous operations. The first operation gets a
-    location client for the request, and the second makes the request using the client. In both
-    cases, Location Services invokes a callback method when it finishes the operation. The best way
-    to handle these operations is to chain together the method calls. The following snippets
-    demonstrate how to set up an activity, define the methods, and call them in the proper order.
-</p>
-<p>
-     First, modify the activity's class definition to implement the necessary callback interfaces.
-     Add the following interfaces:
-</p>
-<dl>
-    <dt>
-<code><a href="{@docRoot}reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">ConnectionCallbacks</a></code>
-    </dt>
-    <dd>
-        Specifies methods that Location Services calls when a location client is connected or
-        disconnected.
-    </dd>
-    <dt>
-<code><a href="{@docRoot}reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">OnConnectionFailedListener</a></code>
-    </dt>
-    <dd>
-        Specifies a method that Location Services calls if an error occurs while attempting to
-        connect the location client.
-    </dd>
-    <dt>
-<code><a href="{@docRoot}reference/com/google/android/gms/location/LocationClient.OnAddGeofencesResultListener.html">OnAddGeofencesResultListener</a></code>
-    </dt>
-    <dd>
-        Specifies a method that Location Services calls once it has added the geofences.
-    </dd>
-</dl>
-<p>
-    For example:
-</p>
-<pre>
-public class MainActivity extends FragmentActivity implements
-        ConnectionCallbacks,
-        OnConnectionFailedListener,
-        OnAddGeofencesResultListener {
-    ...
-}
-</pre>
-<h4>Start the request process</h4>
-<p>
-    Next, define a method that starts the request process by connecting to Location Services.
-    Mark this as a request to add a geofence by setting a global variable. This allows you to
-    use the callback
-<code><a href="{@docRoot}reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)">ConnectionCallbacks.onConnected()</a></code>
-    to add geofences and to remove them, as described in succeeding sections.
-</p>
-<p>
-<p>
-    To guard against race conditions that might arise if your app tries to start another request
-    before the first one finishes, define a boolean flag that tracks the state of the current
-    request:
-</p>
-<pre>
-public class MainActivity extends FragmentActivity implements
-        ConnectionCallbacks,
-        OnConnectionFailedListener,
-        OnAddGeofencesResultListener {
-    ...
-    // Holds the location client
-    private LocationClient mLocationClient;
-    // Stores the PendingIntent used to request geofence monitoring
-    private PendingIntent mGeofenceRequestIntent;
-    // Defines the allowable request types.
-    public enum REQUEST_TYPE = {ADD}
-    private REQUEST_TYPE mRequestType;
-    // Flag that indicates if a request is underway.
-    private boolean mInProgress;
-    ...
-    &#64;Override
-    protected void onCreate(Bundle savedInstanceState) {
-        ...
-        // Start with the request flag set to false
-        mInProgress = false;
-        ...
-    }
-    ...
-    /**
-     * Start a request for geofence monitoring by calling
-     * LocationClient.connect().
-     */
-    public void addGeofences() {
-        // Start a request to add geofences
-        mRequestType = ADD;
-        /*
-         * Test for Google Play services after setting the request type.
-         * If Google Play services isn't present, the proper request
-         * can be restarted.
-         */
-        if (!servicesConnected()) {
-            return;
+    private PendingIntent getGeofencePendingIntent() {
+        // Reuse the PendingIntent if we already have it.
+        if (mGeofencePendingIntent != null) {
+            return mGeofencePendingIntent;
         }
-        /*
-         * Create a new location client object. Since the current
-         * activity class implements ConnectionCallbacks and
-         * OnConnectionFailedListener, pass the current activity object
-         * as the listener for both parameters
-         */
-        mLocationClient = new LocationClient(this, this, this)
-        // If a request is not already underway
-        if (!mInProgress) {
-            // Indicate that a request is underway
-            mInProgress = true;
-            // Request a connection from the client to Location Services
-            mLocationClient.connect();
-        } else {
-            /*
-             * A request is already underway. You can handle
-             * this situation by disconnecting the client,
-             * re-setting the flag, and then re-trying the
-             * request.
-             */
-        }
+        Intent intent = new Intent(this, GeofenceTransitionsIntentService.class);
+        // We use FLAG_UPDATE_CURRENT so that we get the same pending intent back when
+        // calling addGeofences() and removeGeofences().
+        return PendingIntent.getService(this, 0, intent, PendingIntent.
+                FLAG_UPDATE_CURRENT);
     }
-    ...
-}
 </pre>
-<h4>Send a request to add the geofences</h4>
+
+<h3>Add geofences</h3>
+
 <p>
-    In your implementation of
-<code><a href="{@docRoot}reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)">ConnectionCallbacks.onConnected()</a></code>,
-    call
-<code><a href="{@docRoot}reference/com/google/android/gms/location/LocationClient.html#addGeofences(java.util.List<com.google.android.gms.location.Geofence>, android.app.PendingIntent, com.google.android.gms.location.LocationClient.OnAddGeofencesResultListener)">LocationClient.addGeofences()</a></code>.
-    Notice that if the connection fails,
-<code><a href="{@docRoot}reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)">onConnected()</a></code>
-    isn't called, and the request stops.
+    To add geofences, use the <code><a href="{@docRoot}reference/com/google/android/gms/location/GeofencingApi.html#addGeofences(com.google.android.gms.common.api.GoogleApiClient, com.google.android.gms.location.GeofencingRequest, android.app.PendingIntent)">{@code GeoencingApi.addGeofences()}</a></code> method.
+    Provide the Google API client, the <code><a href="{@docRoot}reference/com/google/android/gms/location/GeofencingRequest">
+    GeofencingRequest</a></code> object, and the {@link android.app.PendingIntent}.
+    The following snippet, which processes the results in <code><a href="{@docRoot}reference/com/google/android/gms/common/api/ResultCallback.html#onResult(R)">
+    onResult()</a></code>, assumes that the main activity implements <code><a href="{@docRoot}reference/com/google/android/gms/common/api/ResultCallback.html">
+    ResultCallback</a></code>:
 </p>
 <pre>
-public class MainActivity extends FragmentActivity implements
-        ConnectionCallbacks,
-        OnConnectionFailedListener,
-        OnAddGeofencesResultListener {
+public class MainActivity extends FragmentActivity {
     ...
-    /*
-     * Provide the implementation of ConnectionCallbacks.onConnected()
-     * Once the connection is available, send a request to add the
-     * Geofences
-     */
-    &#64;Override
-    private void onConnected(Bundle dataBundle) {
-        ...
-        switch (mRequestType) {
-            case ADD :
-                // Get the PendingIntent for the request
-                mTransitionPendingIntent =
-                        getTransitionPendingIntent();
-                // Send a request to add the current geofences
-                mLocationClient.addGeofences(
-                        mCurrentGeofences, pendingIntent, this);
-            ...
-        }
-    }
-    ...
-}
+    LocationServices.GeofencingApi.addGeofences(
+                mGoogleApiClient,
+                getGeofencingRequest(),
+                getGeofencePendingIntent()
+        ).setResultCallback(this);
 </pre>
-<p>
-    Notice that
-<code><a href="{@docRoot}reference/com/google/android/gms/location/LocationClient.html#addGeofences(java.util.List<com.google.android.gms.location.Geofence>, android.app.PendingIntent, com.google.android.gms.location.LocationClient.OnAddGeofencesResultListener)">addGeofences()</a></code>
-    returns immediately, but the status of the request is indeterminate until Location Services
-    calls
-<code><a href="{@docRoot}reference/com/google/android/gms/location/LocationClient.OnAddGeofencesResultListener.html#onAddGeofencesResult(int, java.lang.String[])">onAddGeofencesResult()</a></code>
-    Once this method is called, you can determine if the request was successful or not.
-</p>
-<h4>Check the result returned by Location Services</h4>
-<p>
-    When Location Services invokes your implementation of the callback method
-<code><a href="{@docRoot}reference/com/google/android/gms/location/LocationClient.OnAddGeofencesResultListener.html#onAddGeofencesResult(int, java.lang.String[])">onAddGeofencesResult()</a></code>,
-    indicating that the request is complete, examine the incoming status code. If the request
-    was successful, the geofences you requested are active. If the request was unsuccessful,
-    the geofences aren't active, and you need to re-try the request or report an error. For example:
-</p>
-<pre>
-public class MainActivity extends FragmentActivity implements
-        ConnectionCallbacks,
-        OnConnectionFailedListener,
-        OnAddGeofencesResultListener {
-        ...
-    /*
-     * Provide the implementation of
-     * OnAddGeofencesResultListener.onAddGeofencesResult.
-     * Handle the result of adding the geofences
-     *
-     */
-    &#64;Override
-    public void onAddGeofencesResult(
-            int statusCode, String[] geofenceRequestIds) {
-        // If adding the geofences was successful
-        if (LocationStatusCodes.SUCCESS == statusCode) {
-            /*
-             * Handle successful addition of geofences here.
-             * You can send out a broadcast intent or update the UI.
-             * geofences into the Intent's extended data.
-             */
-        } else {
-        // If adding the geofences failed
-            /*
-             * Report errors here.
-             * You can log the error using Log.e() or update
-             * the UI.
-             */
-        }
-        // Turn off the in progress flag and disconnect the client
-        mInProgress = false;
-        mLocationClient.disconnect();
-    }
-    ...
-}
-</pre>
-<!-- Handle disconnections -->
-<h3>Handle disconnections</h3>
-<p>
-    In some cases, Location Services may disconnect from the activity recognition client before
-    you call
-<code><a href="{@docRoot}reference/com/google/android/gms/location/LocationClient.html#disconnect()">disconnect()</a></code>.
-    To handle this situation, implement <code>
-<a href="{@docRoot}reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html#onDisconnected()">onDisconnected()</a></code>.
-    In this method, set the request flag to indicate that a request is not in progress, and
-    delete the client:
-</p>
-<pre>
-public class MainActivity extends FragmentActivity implements
-        ConnectionCallbacks,
-        OnConnectionFailedListener,
-        OnAddGeofencesResultListener {
-    ...
-    /*
-     * Implement ConnectionCallbacks.onDisconnected()
-     * Called by Location Services once the location client is
-     * disconnected.
-     */
-    &#64;Override
-    public void onDisconnected() {
-        // Turn off the request flag
-        mInProgress = false;
-        // Destroy the current location client
-        mLocationClient = null;
-    }
-    ...
-}
-</pre>
-<!-- Handle connection errors -->
-<h3>Handle connection errors</h3>
-<p>
-    Besides handling the normal callbacks from Location Services, you have to provide a callback
-    method that Location Services calls if a connection error occurs. This callback method
-    can re-use the {@link android.support.v4.app.DialogFragment} class that you defined to
-    handle the check for Google Play services. It can also re-use the override you defined
-    for {@link android.support.v4.app.FragmentActivity#onActivityResult onActivityResult()} that
-    receives any Google Play services results that occur when the user interacts with the
-    error dialog. The following snippet shows you a sample implementation of the callback method:
-</p>
-<pre>
-public class MainActivity extends FragmentActivity implements
-        ConnectionCallbacks,
-        OnConnectionFailedListener,
-        OnAddGeofencesResultListener {
-    ...
-    // Implementation of OnConnectionFailedListener.onConnectionFailed
-    &#64;Override
-    public void onConnectionFailed(ConnectionResult connectionResult) {
-        // Turn off the request flag
-        mInProgress = false;
-        /*
-         * If the error has a resolution, start a Google Play services
-         * activity to resolve it.
-         */
-        if (connectionResult.hasResolution()) {
-            try {
-                connectionResult.startResolutionForResult(
-                        this,
-                        CONNECTION_FAILURE_RESOLUTION_REQUEST);
-            } catch (SendIntentException e) {
-                // Log the error
-                e.printStackTrace();
-            }
-        // If no resolution is available, display an error dialog
-        } else {
-            // Get the error code
-            int errorCode = connectionResult.getErrorCode();
-            // Get the error dialog from Google Play services
-            Dialog errorDialog = GooglePlayServicesUtil.getErrorDialog(
-                    errorCode,
-                    this,
-                    CONNECTION_FAILURE_RESOLUTION_REQUEST);
-            // If Google Play services can provide an error dialog
-            if (errorDialog != null) {
-                // Create a new DialogFragment for the error dialog
-                ErrorDialogFragment errorFragment =
-                        new ErrorDialogFragment();
-                // Set the dialog in the DialogFragment
-                errorFragment.setDialog(errorDialog);
-                // Show the error dialog in the DialogFragment
-                errorFragment.show(
-                        getSupportFragmentManager(),
-                        "Geofence Detection");
-            }
-        }
-    }
-    ...
-}
-</pre>
-<!--
-    Handle Geofence Transitions
- -->
+
+
 <h2 id="HandleGeofenceTransitions">Handle Geofence Transitions</h2>
 <p>
     When Location Services detects that the user has entered or exited a geofence, it
     sends out the {@link android.content.Intent} contained in the {@link android.app.PendingIntent}
-    you included in the request to add geofences. This {@link android.content.Intent} is
+    you included in the request to add geofences. This {@link android.content.Intent} is received
+    by a service like <code>GeofenceTransitionsIntentService</code>,
+    which obtains the geofencing event from the intent, determines the type of Geofence transition(s),
+    and determines which of the defined geofences was triggered. It then sends a notification as
+    the output.
 </p>
-<h3>Define an IntentService</h3>
 <p>
     The following snippet shows how to define an {@link android.app.IntentService} that posts a
     notification when a geofence transition occurs. When the user clicks the notification, the
     app's main activity appears:
 </p>
 <pre>
-public class ReceiveTransitionsIntentService extends IntentService {
-    ...
-    /**
-     * Sets an identifier for the service
-     */
-    public ReceiveTransitionsIntentService() {
-        super("ReceiveTransitionsIntentService");
-    }
-    /**
-     * Handles incoming intents
-     *&#64;param intent The Intent sent by Location Services. This
-     * Intent is provided
-     * to Location Services (inside a PendingIntent) when you call
-     * addGeofences()
-     */
-    &#64;Override
+public class GeofenceTransitionsIntentService extends IntentService {
+   ...
     protected void onHandleIntent(Intent intent) {
-        // First check for errors
-        if (LocationClient.hasError(intent)) {
-            // Get the error code with a static method
-            int errorCode = LocationClient.getErrorCode(intent);
-            // Log the error
-            Log.e("ReceiveTransitionsIntentService",
-                    "Location Services error: " +
-                    Integer.toString(errorCode));
-            /*
-             * You can also send the error code to an Activity or
-             * Fragment with a broadcast Intent
-             */
-        /*
-         * If there's no error, get the transition type and the IDs
-         * of the geofence or geofences that triggered the transition
-         */
-        } else {
-            // Get the type of transition (entry or exit)
-            int transitionType =
-                    LocationClient.getGeofenceTransition(intent);
-            // Test that a valid transition was reported
-            if (
-                (transitionType == Geofence.GEOFENCE_TRANSITION_ENTER)
-                 ||
-                (transitionType == Geofence.GEOFENCE_TRANSITION_EXIT)
-               ) {
-                List &lt;Geofence&gt; triggerList =
-                        getTriggeringGeofences(intent);
+        GeofencingEvent geofencingEvent = GeofencingEvent.fromIntent(intent);
+        if (geofencingEvent.hasError()) {
+            String errorMessage = GeofenceErrorMessages.getErrorString(this,
+                    geofencingEvent.getErrorCode());
+            Log.e(TAG, errorMessage);
+            return;
+        }
 
-                String[] triggerIds = new String[geofenceList.size()];
+        // Get the transition type.
+        int geofenceTransition = geofencingEvent.getGeofenceTransition();
 
-                for (int i = 0; i &lt; triggerIds.length; i++) {
-                    // Store the Id of each geofence
-                    triggerIds[i] = triggerList.get(i).getRequestId();
-                }
-                /*
-                 * At this point, you can store the IDs for further use
-                 * display them, or display the details associated with
-                 * them.
-                 */
-            }
-        // An invalid transition was reported
+        // Test that the reported transition was of interest.
+        if (geofenceTransition == Geofence.GEOFENCE_TRANSITION_ENTER ||
+                geofenceTransition == Geofence.GEOFENCE_TRANSITION_EXIT) {
+
+            // Get the geofences that were triggered. A single event can trigger
+            // multiple geofences.
+            List<Geofence> triggeringGeofences = geofencingEvent.getTriggeringGeofences();
+
+            // Get the transition details as a String.
+            String geofenceTransitionDetails = getGeofenceTransitionDetails(
+                    this,
+                    geofenceTransition,
+                    triggeringGeofences
+            );
+
+            // Send notification and log the transition details.
+            sendNotification(geofenceTransitionDetails);
+            Log.i(TAG, geofenceTransitionDetails);
         } else {
-            Log.e("ReceiveTransitionsIntentService",
-                    "Geofence transition error: " +
-                    Integer.toString()transitionType));
+            // Log the error.
+            Log.e(TAG, getString(R.string.geofence_transition_invalid_type,
+                    geofenceTransition));
         }
     }
-    ...
-}
 </pre>
-<!-- Specify the IntentService in the manifest -->
-<h3>Specify the IntentService in the manifest</h3>
-<p>
-    To identify the {@link android.app.IntentService} to the system, add a
-    <code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>
-    element to the app manifest. For example:
-</p>
-<pre>
-&lt;service
-    android:name="com.example.android.location.ReceiveTransitionsIntentService"
-    android:label="&#64;string/app_name"
-    android:exported="false"&gt;
-&lt;/service&gt;
-</pre>
-<p>
-    Notice that you don't have to specify intent filters for the service, because it only receives
-    explicit intents. How the incoming geofence transition intents are created is described in the
-    section <a href="#requestmonitoring">Send the monitoring request</a>.
-</p>
+
+<p>After detecting the transition event via the {@link android.app.PendingIntent},
+    this {@link android.app.IntentService} gets the geofence transition type and tests whether
+    it is one of the events the app uses to trigger notifications -- either
+    <code><a href="{@docRoot}reference/com/google/android/gms/location/Geofence.html#GEOFENCE_TRANSITION_ENTER">GEOFENCE_TRANSITION_ENTER</a></code>
+     or <code><a href="{@docRoot}reference/com/google/android/gms/location/Geofence.html#GEOFENCE_TRANSITION_EXIT">GEOFENCE_TRANSITION_EXIT</a></code>
+    in this case. The service then sends a notification and logs the transition details.</p>
 <!--
     Remove Geofences
  -->
 <h2 id="StopGeofenceMonitoring">Stop Geofence Monitoring</h2>
-<p>
-    To stop geofence monitoring, you remove the geofences themselves. You can remove a specific
-    set of geofences or all the geofences associated with a {@link android.app.PendingIntent}. The
-    procedure is similar to adding geofences. The first operation gets a location
-    client for the removal request, and the second makes the request using the client.
+
+<p>Stopping geofence monitoring when it is no longer needed or desired can help save battery
+    power and CPU cycles on the device. You can stop geofence monitoring
+    in the main activity used to add and remove geofences; removing a geofence stops it
+    immediately. The API provides methods to
+    remove geofences either by request IDs, or by removing geofences associated with a given
+    {@link android.app.PendingIntent}.
 </p>
 <p>
-    The callback methods that Location Services invokes when it has finished removing geofences
-    are defined in the interface
-<code><a href="{@docRoot}reference/com/google/android/gms/location/LocationClient.OnRemoveGeofencesResultListener.html">LocationClient.OnRemoveGeofencesResultListener</a></code>. Declare
-    this interface as part of your class definition, and then add definitions for its two methods:
-</p>
-<dl>
-    <dt>
-<code><a href="{@docRoot}reference/com/google/android/gms/location/LocationClient.OnRemoveGeofencesResultListener.html#onRemoveGeofencesByPendingIntentResult(int, android.app.PendingIntent)">onRemoveGeofencesByPendingIntentResult()</a></code>
-    </dt>
-    <dd>
-        Callback invoked when Location Services finishes a request to remove all geofences made
-        by the method
-<code><a href="{@docRoot}reference/com/google/android/gms/location/LocationClient.html#removeGeofences(android.app.PendingIntent, com.google.android.gms.location.LocationClient.OnRemoveGeofencesResultListener)">removeGeofences(PendingIntent, LocationClient.OnRemoveGeofencesResultListener)</a></code>.
-    </dd>
-    <dt>
-<code><a href="{@docRoot}reference/com/google/android/gms/location/LocationClient.OnRemoveGeofencesResultListener.html#onRemoveGeofencesByRequestIdsResult(int, java.lang.String[])">onRemoveGeofencesByRequestIdsResult(List&lt;String&gt;, LocationClient.OnRemoveGeofencesResultListener)</a></code>
-    </dt>
-    <dd>
-        Callback invoked when Location Services finished a request to remove a set of geofences,
-        specified by their geofence IDs, by the method
-<code><a href="{@docRoot}reference/com/google/android/gms/location/LocationClient.html#removeGeofences(java.util.List<java.lang.String>, com.google.android.gms.location.LocationClient.OnRemoveGeofencesResultListener)">removeGeofences(List&lt;String&gt;, LocationClient.OnRemoveGeofencesResultListener)</a></code>.
-    </dd>
-</dl>
-<p>
-    Examples of implementing these methods are shown in the next snippets.
-</p>
-<h3>Remove all geofences</h3>
-<p>
-    Since removing geofences uses some of the methods you use to add geofences, start by defining
-    another request type:
+    The following snippet removes geofences by {@link android.app.PendingIntent}, stopping all
+    further notification when the device enters or exits previously added geofences:
 </p>
 <pre>
-public class MainActivity extends FragmentActivity implements
-        ConnectionCallbacks,
-        OnConnectionFailedListener,
-        OnAddGeofencesResultListener {
-    ...
-    // Enum type for controlling the type of removal requested
-    public enum REQUEST_TYPE = {ADD, REMOVE_INTENT}
-    ...
+LocationServices.GeofencingApi.removeGeofences(
+            mGoogleApiClient,
+            // This is the same pending intent that was used in addGeofences().
+            getGeofencePendingIntent()
+    ).setResultCallback(this); // Result processed in onResult().
 }
 </pre>
+
 <p>
-    Start the removal request by getting a connection to Location Services. If the connection fails,
-<code><a href="{@docRoot}reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)">onConnected()</a></code> isn't called,
-    and the request stops. The following snippet shows how to start the request:
-</p>
-<pre>
-public class MainActivity extends FragmentActivity implements
-        ConnectionCallbacks,
-        OnConnectionFailedListener,
-        OnAddGeofencesResultListener {
-    ...
-    /**
-     * Start a request to remove geofences by calling
-     * LocationClient.connect()
-     */
-    public void removeGeofences(PendingIntent requestIntent) {
-        // Record the type of removal request
-        mRequestType = REMOVE_INTENT;
-        /*
-         * Test for Google Play services after setting the request type.
-         * If Google Play services isn't present, the request can be
-         * restarted.
-         */
-        if (!servicesConnected()) {
-            return;
-        }
-        // Store the PendingIntent
-        mGeofenceRequestIntent = requestIntent;
-        /*
-         * Create a new location client object. Since the current
-         * activity class implements ConnectionCallbacks and
-         * OnConnectionFailedListener, pass the current activity object
-         * as the listener for both parameters
-         */
-        mLocationClient = new LocationClient(this, this, this);
-        // If a request is not already underway
-        if (!mInProgress) {
-            // Indicate that a request is underway
-            mInProgress = true;
-            // Request a connection from the client to Location Services
-            mLocationClient.connect();
-        } else {
-            /*
-             * A request is already underway. You can handle
-             * this situation by disconnecting the client,
-             * re-setting the flag, and then re-trying the
-             * request.
-             */
-        }
-    }
-    ...
-}
-</pre>
-<p>
-   When Location Services invokes the callback method indicating that the connection is open,
-   make the request to remove all geofences. Disconnect the client after making the request.
-   For example:
-</p>
-<pre>
-public class MainActivity extends FragmentActivity implements
-        ConnectionCallbacks,
-        OnConnectionFailedListener,
-        OnAddGeofencesResultListener {
-    ...
-    /**
-     * Once the connection is available, send a request to remove the
-     * Geofences. The method signature used depends on which type of
-     * remove request was originally received.
-     */
-    private void onConnected(Bundle dataBundle) {
-        /*
-         * Choose what to do based on the request type set in
-         * removeGeofences
-         */
-        switch (mRequestType) {
-            ...
-            case REMOVE_INTENT :
-                mLocationClient.removeGeofences(
-                        mGeofenceRequestIntent, this);
-                break;
-            ...
-        }
-    }
-    ...
-}
-</pre>
-<p>
-    Although the call to
-<code><a href="{@docRoot}reference/com/google/android/gms/location/LocationClient.html#removeGeofences(android.app.PendingIntent, com.google.android.gms.location.LocationClient.OnRemoveGeofencesResultListener)">removeGeofences(PendingIntent, LocationClient.OnRemoveGeofencesResultListener)</a></code>    Services calls
-    returns immediately, the result of the removal request is indeterminate until Location Services
-    calls
-<code><a href="{@docRoot}reference/com/google/android/gms/location/LocationClient.OnRemoveGeofencesResultListener.html#onRemoveGeofencesByPendingIntentResult(int, android.app.PendingIntent)">onRemoveGeofencesByPendingIntentResult()</a></code>.
-    The following snippet shows how to define this method:
-</p>
-<pre>
-public class MainActivity extends FragmentActivity implements
-        ConnectionCallbacks,
-        OnConnectionFailedListener,
-        OnAddGeofencesResultListener {
-    ...
-    /**
-     * When the request to remove geofences by PendingIntent returns,
-     * handle the result.
-     *
-     *&#64;param statusCode the code returned by Location Services
-     *&#64;param requestIntent The Intent used to request the removal.
-     */
-    &#64;Override
-    public void onRemoveGeofencesByPendingIntentResult(int statusCode,
-            PendingIntent requestIntent) {
-        // If removing the geofences was successful
-        if (statusCode == LocationStatusCodes.SUCCESS) {
-            /*
-             * Handle successful removal of geofences here.
-             * You can send out a broadcast intent or update the UI.
-             * geofences into the Intent's extended data.
-             */
-        } else {
-        // If adding the geocodes failed
-            /*
-             * Report errors here.
-             * You can log the error using Log.e() or update
-             * the UI.
-             */
-        }
-        /*
-         * Disconnect the location client regardless of the
-         * request status, and indicate that a request is no
-         * longer in progress
-         */
-        mInProgress = false;
-        mLocationClient.disconnect();
-    }
-    ...
-}
-</pre>
-<h3>Remove individual geofences</h3>
-<p>
-    The procedure for removing an individual geofence or set of geofences is similar to the
-    removal of all geofences. To specify the geofences you want remove, add their geofence ID
-    values to a {@link java.util.List} of String objects. Pass this {@link java.util.List} to a
-    different definition of {@code removeGeofences} with the appropriate signature. This method
-    then starts the removal process.
-</p>
-<p>
-    Start by adding a request type for removing geofences by a list, and also add a global variable
-    for storing the list of geofences:
-</p>
-<pre>
-    ...
-    // Enum type for controlling the type of removal requested
-    public enum REQUEST_TYPE = {ADD, REMOVE_INTENT, REMOVE_LIST}
-    // Store the list of geofence Ids to remove
-    String&lt;List&gt; mGeofencesToRemove;
-</pre>
-<p>
-    Next, define a list of geofences you want to remove. For example, this snippet removes the
-<code><a href="{@docRoot}reference/com/google/android/gms/location/Geofence.html">Geofence</a></code>
-    defined by the geofence ID "1":
-</p>
-<pre>
-public class MainActivity extends FragmentActivity implements
-        ConnectionCallbacks,
-        OnConnectionFailedListener,
-        OnAddGeofencesResultListener {
-    ...
-        List&lt;String&gt; listOfGeofences =
-                Collections.singletonList("1");
-        removeGeofences(listOfGeofences);
-    ...
-}
-</pre>
-<p>
-    The following snippet defines the {@code removeGeofences()} method:
-</p>
-<pre>
-public class MainActivity extends FragmentActivity implements
-        ConnectionCallbacks,
-        OnConnectionFailedListener,
-        OnAddGeofencesResultListener {
-    ...
-    /**
-     * Start a request to remove monitoring by
-     * calling LocationClient.connect()
-     *
-     */
-    public void removeGeofences(List&lt;String&gt; geofenceIds) {
-        // If Google Play services is unavailable, exit
-        // Record the type of removal request
-        mRequestType = REMOVE_LIST;
-        /*
-         * Test for Google Play services after setting the request type.
-         * If Google Play services isn't present, the request can be
-         * restarted.
-         */
-        if (!servicesConnected()) {
-            return;
-        }
-        // Store the list of geofences to remove
-        mGeofencesToRemove = geofenceIds;
-        /*
-         * Create a new location client object. Since the current
-         * activity class implements ConnectionCallbacks and
-         * OnConnectionFailedListener, pass the current activity object
-         * as the listener for both parameters
-         */
-        mLocationClient = new LocationClient(this, this, this);
-        // If a request is not already underway
-        if (!mInProgress) {
-            // Indicate that a request is underway
-            mInProgress = true;
-            // Request a connection from the client to Location Services
-            mLocationClient.connect();
-        } else {
-            /*
-             * A request is already underway. You can handle
-             * this situation by disconnecting the client,
-             * re-setting the flag, and then re-trying the
-             * request.
-             */
-        }
-    }
-    ...
-}
-</pre>
-<p>
-   When Location Services invokes the callback method indicating that the connection is open,
-   make the request to remove the list of geofences. Disconnect the client after making the request.
-   For example:
-</p>
-<pre>
-public class MainActivity extends FragmentActivity implements
-        ConnectionCallbacks,
-        OnConnectionFailedListener,
-        OnAddGeofencesResultListener {
-    ...
-    private void onConnected(Bundle dataBundle) {
-        ...
-        switch (mRequestType) {
-        ...
-        // If removeGeofencesById was called
-            case REMOVE_LIST :
-                mLocationClient.removeGeofences(
-                        mGeofencesToRemove, this);
-                break;
-        ...
-        }
-        ...
-    }
-    ...
-}
-</pre>
-<p>
-    Define an implementation of
-<code><a href="{@docRoot}reference/com/google/android/gms/location/LocationClient.OnRemoveGeofencesResultListener.html#onRemoveGeofencesByRequestIdsResult(int, java.lang.String[])">onRemoveGeofencesByRequestIdsResult()</a></code>.
-    Location Services invokes this callback method to indicate that the request to remove a list of
-    geofences is complete. In this method, examine the incoming status code and take the
-    appropriate action:
-</p>
-<pre>
-public class MainActivity extends FragmentActivity implements
-        ConnectionCallbacks,
-        OnConnectionFailedListener,
-        OnAddGeofencesResultListener {
-    ...
-    /**
-     * When the request to remove geofences by IDs returns, handle the
-     * result.
-     *
-     * &#64;param statusCode The code returned by Location Services
-     * &#64;param geofenceRequestIds The IDs removed
-     */
-    &#64;Override
-    public void onRemoveGeofencesByRequestIdsResult(
-            int statusCode, String[] geofenceRequestIds) {
-        // If removing the geocodes was successful
-        if (LocationStatusCodes.SUCCESS == statusCode) {
-            /*
-             * Handle successful removal of geofences here.
-             * You can send out a broadcast intent or update the UI.
-             * geofences into the Intent's extended data.
-             */
-        } else {
-        // If removing the geofences failed
-            /*
-             * Report errors here.
-             * You can log the error using Log.e() or update
-             * the UI.
-             */
-        }
-        // Indicate that a request is no longer in progress
-        mInProgress = false;
-        // Disconnect the location client
-        mLocationClient.disconnect();
-    }
-    ...
-}
-</pre>
-<p>
-    You can combine geofencing with other location-aware features, such as periodic location updates
-    or activity recognition, which are described in other lessons in this class.
-</p>
-<p>
-    The next lesson,
-    <a href="activity-recognition.html">Recognizing the User's Current Activity</a>, shows you how
-    to request and receive activity updates. At regular intervals, Location Services can send you
-    information about the user's current physical activity. Based on this information, you can
-    change your app's behavior; for example, you can switch to a longer update interval if you
-    detect that the user is walking instead of driving.
+    You can combine geofencing with other location-aware features, such as periodic location updates.
+    For more information, see the other lessons in this class.
 </p>
diff --git a/docs/html/training/location/index.jd b/docs/html/training/location/index.jd
index 35e177f..c4dec99 100644
--- a/docs/html/training/location/index.jd
+++ b/docs/html/training/location/index.jd
@@ -81,4 +81,10 @@
     Learn how to convert a location's latitude and longitude into an address
     (reverse geocoding).
   </dd>
+  <dt>
+    <b><a href="geofencing.html">Creating and Monitoring Geofences</a></b>
+  </dt> <dd>
+    Learn how to define one or more geographic areas as locations of interest,
+    called geofences, and detect when the user is close to or inside a geofence.
+  </dd>
 </dl>
diff --git a/docs/html/training/scheduling/index.jd b/docs/html/training/scheduling/index.jd
index 4d2db60..4239ffb 100644
--- a/docs/html/training/scheduling/index.jd
+++ b/docs/html/training/scheduling/index.jd
@@ -1,5 +1,5 @@
 page.title=Managing Device Awake State
-page.tags=
+page.tags=wakelock, AlarmManager, WakefulBroadcastReceiver
 
 trainingnavtop=true
 startpage=true
diff --git a/docs/html/training/training_toc.cs b/docs/html/training/training_toc.cs
index 89e72f1..11ae1a6 100644
--- a/docs/html/training/training_toc.cs
+++ b/docs/html/training/training_toc.cs
@@ -736,6 +736,10 @@
             Displaying a Location Address
           </a>
           </li>
+          <li><a href="<?cs var:toroot ?>training/location/geofencing.html">
+            Creating and Monitoring Geofences
+          </a>
+          </li>
         </ul>
       </li>
     </ul>
diff --git a/docs/html/training/wearables/apps/creating.jd b/docs/html/training/wearables/apps/creating.jd
index c12ffa7..487615b 100644
--- a/docs/html/training/wearables/apps/creating.jd
+++ b/docs/html/training/wearables/apps/creating.jd
@@ -106,6 +106,15 @@
   <li>Follow the app's instructions to pair your handheld with your wearable.
   This allows you to test out synced handheld notifications, if you're building them.</li>
   <li>Leave the Android Wear app open on your phone.</li>
+  <li>Enable adb debugging on the Android Wear device.</li>
+  <ol>
+    <li>Go to <strong>Settings > About</strong>.</li>
+    <li>Tap <strong>Build number</strong> seven times.</li>
+    <li>Swipe right to return to the Settings menu.</li>
+    <li>Go to <strong>Developer options</strong> at the bottom of the screen.
+    </li>
+    <li>Tap <strong>ADB Debugging</strong> to enable adb.</li>
+  </ol>
   <li>Connect the wearable to your machine through USB, so you can install apps directly to it
   as you develop. A message appears on both the wearable and the Android Wear app prompting you to allow debugging.</li>
   <p class="note"><strong>Note:</strong> If you can not connect your wearable to your machine via USB,
diff --git a/docs/html/wear/images/partners/acer.png b/docs/html/wear/images/partners/acer.png
new file mode 100644
index 0000000..439de80
--- /dev/null
+++ b/docs/html/wear/images/partners/acer.png
Binary files differ
diff --git a/docs/html/wear/images/partners/arm.png b/docs/html/wear/images/partners/arm.png
new file mode 100644
index 0000000..3e2f642
--- /dev/null
+++ b/docs/html/wear/images/partners/arm.png
Binary files differ
diff --git a/docs/html/wear/images/partners/huawei.png b/docs/html/wear/images/partners/huawei.png
new file mode 100644
index 0000000..9099ed4
--- /dev/null
+++ b/docs/html/wear/images/partners/huawei.png
Binary files differ
diff --git a/docs/html/wear/index.jd b/docs/html/wear/index.jd
index 27e8098..316f5ca 100644
--- a/docs/html/wear/index.jd
+++ b/docs/html/wear/index.jd
@@ -202,6 +202,12 @@
 
           <div class="landing-partners cols">
             <div class="col-4">
+              <img src="/wear/images/partners/acer.png" alt="Acer">
+            </div>
+            <div class="col-4">
+              <img src="/wear/images/partners/arm.png" alt="ARM">
+            </div>
+            <div class="col-4">
               <img src="/wear/images/partners/asus.png" alt="Asus">
             </div>
             <div class="col-4">
@@ -214,6 +220,9 @@
               <img src="/wear/images/partners/htc.png" alt="HTC">
             </div>
             <div class="col-4">
+              <img src="/wear/images/partners/huawei.png" alt="Huawei">
+            </div>
+            <div class="col-4">
               <img src="/wear/images/partners/intel.png" alt="Intel">
             </div>
             <div class="col-4">
diff --git a/graphics/java/android/graphics/Bitmap.java b/graphics/java/android/graphics/Bitmap.java
index 132c6ef..e2f7799 100644
--- a/graphics/java/android/graphics/Bitmap.java
+++ b/graphics/java/android/graphics/Bitmap.java
@@ -16,11 +16,14 @@
 
 package android.graphics;
 
+import android.annotation.CheckResult;
+import android.annotation.ColorInt;
 import android.annotation.NonNull;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.os.Trace;
 import android.util.DisplayMetrics;
+
 import dalvik.system.VMRuntime;
 
 import java.io.OutputStream;
@@ -37,21 +40,14 @@
      * @see Bitmap#setDensity(int)
      */
     public static final int DENSITY_NONE = 0;
-    
-    /**
-     * Note:  mNativeBitmap is used by FaceDetector_jni.cpp
-     * Don't change/rename without updating FaceDetector_jni.cpp
-     * 
-     * @hide
-     */
-    public final long mNativeBitmap;
+
+    private final long mSkBitmapPtr;
 
     /**
      * Backing buffer for the Bitmap.
      */
     private byte[] mBuffer;
 
-    @SuppressWarnings({"FieldCanBeLocal", "UnusedDeclaration"}) // Keep to finalize native resources
     private final BitmapFinalizer mFinalizer;
 
     private final boolean mIsMutable;
@@ -92,11 +88,11 @@
         sDefaultDensity = density;
     }
 
+    @SuppressWarnings("deprecation")
     static int getDefaultDensity() {
         if (sDefaultDensity >= 0) {
             return sDefaultDensity;
         }
-        //noinspection deprecation
         sDefaultDensity = DisplayMetrics.DENSITY_DEVICE;
         return sDefaultDensity;
     }
@@ -105,7 +101,7 @@
      * Private constructor that must received an already allocated native bitmap
      * int (pointer).
      */
-    @SuppressWarnings({"UnusedDeclaration"}) // called from JNI
+    // called from JNI
     Bitmap(long nativeBitmap, byte[] buffer, int width, int height, int density,
             boolean isMutable, boolean requestPremultiplied,
             byte[] ninePatchChunk, NinePatch.InsetStruct ninePatchInsets) {
@@ -120,7 +116,7 @@
         mBuffer = buffer;
 
         // we delete this in our finalizer
-        mNativeBitmap = nativeBitmap;
+        mSkBitmapPtr = nativeBitmap;
 
         mNinePatchChunk = ninePatchChunk;
         mNinePatchInsets = ninePatchInsets;
@@ -136,7 +132,7 @@
      * Native bitmap has been reconfigured, so set premult and cached
      * width/height values
      */
-    @SuppressWarnings({"UnusedDeclaration"}) // called from JNI
+    // called from JNI
     void reinit(int width, int height, boolean requestPremultiplied) {
         mWidth = width;
         mHeight = height;
@@ -227,7 +223,7 @@
             throw new IllegalStateException("native-backed bitmaps may not be reconfigured");
         }
 
-        nativeReconfigure(mNativeBitmap, width, height, config.nativeInt, mBuffer.length,
+        nativeReconfigure(mSkBitmapPtr, width, height, config.nativeInt, mBuffer.length,
                 mRequestPremultiplied);
         mWidth = width;
         mHeight = height;
@@ -305,7 +301,7 @@
      */
     public void recycle() {
         if (!mRecycled && mFinalizer.mNativeBitmap != 0) {
-            if (nativeRecycle(mNativeBitmap)) {
+            if (nativeRecycle(mSkBitmapPtr)) {
                 // return value indicates whether native pixel object was actually recycled.
                 // false indicates that it is still in use at the native level and these
                 // objects should not be collected now. They will be collected later when the
@@ -331,13 +327,13 @@
      * Returns the generation ID of this bitmap. The generation ID changes
      * whenever the bitmap is modified. This can be used as an efficient way to
      * check if a bitmap has changed.
-     * 
+     *
      * @return The current generation ID for this bitmap.
      */
     public int getGenerationId() {
-        return nativeGenerationId(mNativeBitmap);
+        return nativeGenerationId(mSkBitmapPtr);
     }
-    
+
     /**
      * This is called by methods that want to throw an exception if the bitmap
      * has already been recycled.
@@ -399,12 +395,12 @@
          * encoded: red is stored with 5 bits of precision (32 possible
          * values), green is stored with 6 bits of precision (64 possible
          * values) and blue is stored with 5 bits of precision.
-         * 
+         *
          * This configuration can produce slight visual artifacts depending
          * on the configuration of the source. For instance, without
          * dithering, the result might show a greenish tint. To get better
          * results dithering should be applied.
-         * 
+         *
          * This configuration may be useful when using opaque bitmaps
          * that do not require high color fidelity.
          */
@@ -414,18 +410,18 @@
          * Each pixel is stored on 2 bytes. The three RGB color channels
          * and the alpha channel (translucency) are stored with a 4 bits
          * precision (16 possible values.)
-         * 
+         *
          * This configuration is mostly useful if the application needs
          * to store translucency information but also needs to save
          * memory.
-         * 
+         *
          * It is recommended to use {@link #ARGB_8888} instead of this
          * configuration.
          *
          * Note: as of {@link android.os.Build.VERSION_CODES#KITKAT},
          * any bitmap created with this configuration will be created
          * using {@link #ARGB_8888} instead.
-         * 
+         *
          * @deprecated Because of the poor quality of this configuration,
          *             it is advised to use {@link #ARGB_8888} instead.
          */
@@ -436,7 +432,7 @@
          * Each pixel is stored on 4 bytes. Each channel (RGB and alpha
          * for translucency) is stored with 8 bits of precision (256
          * possible values.)
-         * 
+         *
          * This configuration is very flexible and offers the best
          * quality. It should be used whenever possible.
          */
@@ -444,11 +440,10 @@
 
         final int nativeInt;
 
-        @SuppressWarnings({"deprecation"})
         private static Config sConfigs[] = {
             null, ALPHA_8, null, RGB_565, ARGB_4444, ARGB_8888
         };
-        
+
         Config(int ni) {
             this.nativeInt = ni;
         }
@@ -492,7 +487,7 @@
             throw new RuntimeException("Buffer not large enough for pixels");
         }
 
-        nativeCopyPixelsToBuffer(mNativeBitmap, dst);
+        nativeCopyPixelsToBuffer(mSkBitmapPtr, dst);
 
         // now update the buffer's position
         int position = dst.position();
@@ -532,7 +527,7 @@
             throw new RuntimeException("Buffer not large enough for pixels");
         }
 
-        nativeCopyPixelsFromBuffer(mNativeBitmap, src);
+        nativeCopyPixelsFromBuffer(mSkBitmapPtr, src);
 
         // now update the buffer's position
         int position = src.position();
@@ -554,7 +549,7 @@
      */
     public Bitmap copy(Config config, boolean isMutable) {
         checkRecycled("Can't copy a recycled bitmap");
-        Bitmap b = nativeCopy(mNativeBitmap, config.nativeInt, isMutable);
+        Bitmap b = nativeCopy(mSkBitmapPtr, config.nativeInt, isMutable);
         if (b != null) {
             b.setPremultiplied(mRequestPremultiplied);
             b.mDensity = mDensity;
@@ -564,7 +559,7 @@
 
     /**
      * Creates a new bitmap, scaled from an existing bitmap, when possible. If the
-     * specified width and height are the same as the current width and height of 
+     * specified width and height are the same as the current width and height of
      * the source bitmap, the source bitmap is returned and no new bitmap is
      * created.
      *
@@ -639,7 +634,7 @@
      * transformed by the optional matrix. The new bitmap may be the
      * same object as source, or a copy may have been made. It is
      * initialized with the same density as the original bitmap.
-     * 
+     *
      * If the source bitmap is immutable and the requested subset is the
      * same as the source bitmap itself, then the source bitmap is
      * returned and no new bitmap is created.
@@ -781,8 +776,8 @@
      * @param config   The bitmap config to create.
      * @param hasAlpha If the bitmap is ARGB_8888 this flag can be used to mark the
      *                 bitmap as opaque. Doing so will clear the bitmap in black
-     *                 instead of transparent.  
-     * 
+     *                 instead of transparent.
+     *
      * @throws IllegalArgumentException if the width or height are <= 0
      */
     private static Bitmap createBitmap(int width, int height, Config config, boolean hasAlpha) {
@@ -800,8 +795,8 @@
      * @param config   The bitmap config to create.
      * @param hasAlpha If the bitmap is ARGB_8888 this flag can be used to mark the
      *                 bitmap as opaque. Doing so will clear the bitmap in black
-     *                 instead of transparent.  
-     * 
+     *                 instead of transparent.
+     *
      * @throws IllegalArgumentException if the width or height are <= 0
      */
     private static Bitmap createBitmap(DisplayMetrics display, int width, int height,
@@ -815,7 +810,7 @@
         }
         bm.setHasAlpha(hasAlpha);
         if (config == Config.ARGB_8888 && !hasAlpha) {
-            nativeErase(bm.mNativeBitmap, 0xff000000);
+            nativeErase(bm.mSkBitmapPtr, 0xff000000);
         }
         // No need to initialize the bitmap to zeroes with other configs;
         // it is backed by a VM byte array which is by definition preinitialized
@@ -1005,7 +1000,7 @@
             throw new IllegalArgumentException("quality must be 0..100");
         }
         Trace.traceBegin(Trace.TRACE_TAG_RESOURCES, "Bitmap.compress");
-        boolean result = nativeCompress(mNativeBitmap, format.nativeInt, quality,
+        boolean result = nativeCompress(mSkBitmapPtr, format.nativeInt, quality,
                               stream, new byte[WORKING_COMPRESS_STORAGE]);
         Trace.traceEnd(Trace.TRACE_TAG_RESOURCES);
         return result;
@@ -1022,12 +1017,12 @@
      * <p>Indicates whether pixels stored in this bitmaps are stored pre-multiplied.
      * When a pixel is pre-multiplied, the RGB components have been multiplied by
      * the alpha component. For instance, if the original color is a 50%
-     * translucent red <code>(128, 255, 0, 0)</code>, the pre-multiplied form is 
+     * translucent red <code>(128, 255, 0, 0)</code>, the pre-multiplied form is
      * <code>(128, 128, 0, 0)</code>.</p>
-     * 
+     *
      * <p>This method always returns false if {@link #getConfig()} is
      * {@link Bitmap.Config#RGB_565}.</p>
-     * 
+     *
      * <p>The return value is undefined if {@link #getConfig()} is
      * {@link Bitmap.Config#ALPHA_8}.</p>
      *
@@ -1046,7 +1041,7 @@
      * @see BitmapFactory.Options#inPremultiplied
      */
     public final boolean isPremultiplied() {
-        return nativeIsPremultiplied(mNativeBitmap);
+        return nativeIsPremultiplied(mSkBitmapPtr);
     }
 
     /**
@@ -1071,7 +1066,7 @@
      */
     public final void setPremultiplied(boolean premultiplied) {
         mRequestPremultiplied = premultiplied;
-        nativeSetPremultiplied(mNativeBitmap, premultiplied);
+        nativeSetPremultiplied(mSkBitmapPtr, premultiplied);
     }
 
     /** Returns the bitmap's width */
@@ -1137,7 +1132,7 @@
     public int getScaledHeight(int targetDensity) {
         return scaleFromDensity(getHeight(), mDensity, targetDensity);
     }
-    
+
     /**
      * @hide
      */
@@ -1145,11 +1140,11 @@
         if (sdensity == DENSITY_NONE || tdensity == DENSITY_NONE || sdensity == tdensity) {
             return size;
         }
-        
+
         // Scale by tdensity / sdensity, rounding up.
         return ((size * tdensity) + (sdensity >> 1)) / sdensity;
     }
-    
+
     /**
      * Return the number of bytes between rows in the bitmap's pixels. Note that
      * this refers to the pixels as stored natively by the bitmap. If you call
@@ -1163,7 +1158,7 @@
      * @return number of bytes between rows of the native bitmap pixels.
      */
     public final int getRowBytes() {
-        return nativeRowBytes(mNativeBitmap);
+        return nativeRowBytes(mSkBitmapPtr);
     }
 
     /**
@@ -1206,7 +1201,7 @@
      * that config, otherwise return null.
      */
     public final Config getConfig() {
-        return Config.nativeToConfig(nativeConfig(mNativeBitmap));
+        return Config.nativeToConfig(nativeConfig(mSkBitmapPtr));
     }
 
     /** Returns true if the bitmap's config supports per-pixel alpha, and
@@ -1218,7 +1213,7 @@
      * it will return true by default.
      */
     public final boolean hasAlpha() {
-        return nativeHasAlpha(mNativeBitmap);
+        return nativeHasAlpha(mSkBitmapPtr);
     }
 
     /**
@@ -1232,28 +1227,28 @@
      * non-opaque per-pixel alpha values.
      */
     public void setHasAlpha(boolean hasAlpha) {
-        nativeSetHasAlpha(mNativeBitmap, hasAlpha, mRequestPremultiplied);
+        nativeSetHasAlpha(mSkBitmapPtr, hasAlpha, mRequestPremultiplied);
     }
 
     /**
      * Indicates whether the renderer responsible for drawing this
      * bitmap should attempt to use mipmaps when this bitmap is drawn
      * scaled down.
-     * 
+     *
      * If you know that you are going to draw this bitmap at less than
      * 50% of its original size, you may be able to obtain a higher
      * quality
-     * 
+     *
      * This property is only a suggestion that can be ignored by the
      * renderer. It is not guaranteed to have any effect.
-     * 
+     *
      * @return true if the renderer should attempt to use mipmaps,
      *         false otherwise
-     * 
+     *
      * @see #setHasMipMap(boolean)
      */
     public final boolean hasMipMap() {
-        return nativeHasMipMap(mNativeBitmap);
+        return nativeHasMipMap(mSkBitmapPtr);
     }
 
     /**
@@ -1264,7 +1259,7 @@
      * If you know that you are going to draw this bitmap at less than
      * 50% of its original size, you may be able to obtain a higher
      * quality by turning this property on.
-     * 
+     *
      * Note that if the renderer respects this hint it might have to
      * allocate extra memory to hold the mipmap levels for this bitmap.
      *
@@ -1277,7 +1272,7 @@
      * @see #hasMipMap()
      */
     public final void setHasMipMap(boolean hasMipMap) {
-        nativeSetHasMipMap(mNativeBitmap, hasMipMap);
+        nativeSetHasMipMap(mSkBitmapPtr, hasMipMap);
     }
 
     /**
@@ -1285,12 +1280,12 @@
      *
      * @throws IllegalStateException if the bitmap is not mutable.
      */
-    public void eraseColor(int c) {
+    public void eraseColor(@ColorInt int c) {
         checkRecycled("Can't erase a recycled bitmap");
         if (!isMutable()) {
             throw new IllegalStateException("cannot erase immutable bitmaps");
         }
-        nativeErase(mNativeBitmap, c);
+        nativeErase(mSkBitmapPtr, c);
     }
 
     /**
@@ -1303,10 +1298,11 @@
      * @return     The argb {@link Color} at the specified coordinate
      * @throws IllegalArgumentException if x, y exceed the bitmap's bounds
      */
+    @ColorInt
     public int getPixel(int x, int y) {
         checkRecycled("Can't call getPixel() on a recycled bitmap");
         checkPixelAccess(x, y);
-        return nativeGetPixel(mNativeBitmap, x, y);
+        return nativeGetPixel(mSkBitmapPtr, x, y);
     }
 
     /**
@@ -1332,21 +1328,21 @@
      * @throws ArrayIndexOutOfBoundsException if the pixels array is too small
      *         to receive the specified number of pixels.
      */
-    public void getPixels(int[] pixels, int offset, int stride,
+    public void getPixels(@ColorInt int[] pixels, int offset, int stride,
                           int x, int y, int width, int height) {
         checkRecycled("Can't call getPixels() on a recycled bitmap");
         if (width == 0 || height == 0) {
             return; // nothing to do
         }
         checkPixelsAccess(x, y, width, height, offset, stride, pixels);
-        nativeGetPixels(mNativeBitmap, pixels, offset, stride,
+        nativeGetPixels(mSkBitmapPtr, pixels, offset, stride,
                         x, y, width, height);
     }
 
     /**
      * Shared code to check for illegal arguments passed to getPixel()
      * or setPixel()
-     * 
+     *
      * @param x x coordinate of the pixel
      * @param y y coordinate of the pixel
      */
@@ -1414,13 +1410,13 @@
      * @throws IllegalArgumentException if x, y are outside of the bitmap's
      *         bounds.
      */
-    public void setPixel(int x, int y, int color) {
+    public void setPixel(int x, int y, @ColorInt int color) {
         checkRecycled("Can't call setPixel() on a recycled bitmap");
         if (!isMutable()) {
             throw new IllegalStateException();
         }
         checkPixelAccess(x, y);
-        nativeSetPixel(mNativeBitmap, x, y, color);
+        nativeSetPixel(mSkBitmapPtr, x, y, color);
     }
 
     /**
@@ -1446,7 +1442,7 @@
      * @throws ArrayIndexOutOfBoundsException if the pixels array is too small
      *         to receive the specified number of pixels.
      */
-    public void setPixels(int[] pixels, int offset, int stride,
+    public void setPixels(@ColorInt int[] pixels, int offset, int stride,
             int x, int y, int width, int height) {
         checkRecycled("Can't call setPixels() on a recycled bitmap");
         if (!isMutable()) {
@@ -1456,7 +1452,7 @@
             return; // nothing to do
         }
         checkPixelsAccess(x, y, width, height, offset, stride, pixels);
-        nativeSetPixels(mNativeBitmap, pixels, offset, stride,
+        nativeSetPixels(mSkBitmapPtr, pixels, offset, stride,
                         x, y, width, height);
     }
 
@@ -1494,7 +1490,7 @@
      */
     public void writeToParcel(Parcel p, int flags) {
         checkRecycled("Can't parcel a recycled bitmap");
-        if (!nativeWriteToParcel(mNativeBitmap, mIsMutable, mDensity, p)) {
+        if (!nativeWriteToParcel(mSkBitmapPtr, mIsMutable, mDensity, p)) {
             throw new RuntimeException("native writeToParcel failed");
         }
     }
@@ -1506,6 +1502,7 @@
      *
      * @return new bitmap containing the alpha channel of the original bitmap.
      */
+    @CheckResult
     public Bitmap extractAlpha() {
         return extractAlpha(null, null);
     }
@@ -1522,9 +1519,9 @@
      * -2, -2, so that drawing the alpha bitmap offset by (-2, -2) and then
      * drawing the original would result in the blur visually aligning with
      * the original.
-     * 
+     *
      * <p>The initial density of the returned bitmap is the same as the original's.
-     * 
+     *
      * @param paint Optional paint used to modify the alpha values in the
      *              resulting bitmap. Pass null for default behavior.
      * @param offsetXY Optional array that returns the X (index 0) and Y
@@ -1535,10 +1532,11 @@
      *         Canvas.drawBitmap(), where the color(s) will be taken from the
      *         paint that is passed to the draw call.
      */
+    @CheckResult
     public Bitmap extractAlpha(Paint paint, int[] offsetXY) {
         checkRecycled("Can't extractAlpha on a recycled bitmap");
         long nativePaint = paint != null ? paint.getNativeInstance() : 0;
-        Bitmap bm = nativeExtractAlpha(mNativeBitmap, nativePaint, offsetXY);
+        Bitmap bm = nativeExtractAlpha(mSkBitmapPtr, nativePaint, offsetXY);
         if (bm == null) {
             throw new RuntimeException("Failed to extractAlpha on Bitmap");
         }
@@ -1552,7 +1550,7 @@
      *  If other is null, return false.
      */
     public boolean sameAs(Bitmap other) {
-        return this == other || (other != null && nativeSameAs(mNativeBitmap, other.mNativeBitmap));
+        return this == other || (other != null && nativeSameAs(mSkBitmapPtr, other.mSkBitmapPtr));
     }
 
     /**
@@ -1567,7 +1565,12 @@
      * and therefore is harmless.
      */
     public void prepareToDraw() {
-        nativePrepareToDraw(mNativeBitmap);
+        nativePrepareToDraw(mSkBitmapPtr);
+    }
+
+    /** @hide */
+    public final long getSkBitmap() {
+        return mSkBitmapPtr;
     }
 
     private static class BitmapFinalizer {
@@ -1658,8 +1661,4 @@
     private static native boolean nativeHasMipMap(long nativeBitmap);
     private static native void nativeSetHasMipMap(long nativeBitmap, boolean hasMipMap);
     private static native boolean nativeSameAs(long nativeBitmap0, long nativeBitmap1);
-
-    /* package */ final long ni() {
-        return mNativeBitmap;
-    }
 }
diff --git a/graphics/java/android/graphics/BitmapShader.java b/graphics/java/android/graphics/BitmapShader.java
index 5e004a3..f2f890e 100644
--- a/graphics/java/android/graphics/BitmapShader.java
+++ b/graphics/java/android/graphics/BitmapShader.java
@@ -42,7 +42,7 @@
         mBitmap = bitmap;
         mTileX = tileX;
         mTileY = tileY;
-        final long b = bitmap.ni();
+        final long b = bitmap.getSkBitmap();
         init(nativeCreate(b, tileX.nativeInt, tileY.nativeInt));
     }
 
diff --git a/graphics/java/android/graphics/Canvas.java b/graphics/java/android/graphics/Canvas.java
index e4c2f0e..150f195 100644
--- a/graphics/java/android/graphics/Canvas.java
+++ b/graphics/java/android/graphics/Canvas.java
@@ -16,9 +16,11 @@
 
 package android.graphics;
 
+import android.annotation.ColorInt;
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.Size;
 import android.text.GraphicsOperations;
 import android.text.SpannableString;
 import android.text.SpannedString;
@@ -154,7 +156,7 @@
             throw new IllegalStateException("Immutable bitmap passed to Canvas constructor");
         }
         throwIfCannotDraw(bitmap);
-        mNativeCanvasWrapper = initRaster(bitmap.ni());
+        mNativeCanvasWrapper = initRaster(bitmap.getSkBitmap());
         mFinalizer = new CanvasFinalizer(mNativeCanvasWrapper);
         mBitmap = bitmap;
         mDensity = bitmap.mDensity;
@@ -219,7 +221,7 @@
             }
             throwIfCannotDraw(bitmap);
 
-            native_setBitmap(mNativeCanvasWrapper, bitmap.ni(), true);
+            native_setBitmap(mNativeCanvasWrapper, bitmap.getSkBitmap(), true);
             mDensity = bitmap.mDensity;
         }
 
@@ -1012,7 +1014,7 @@
      *
      * @param color the color to draw onto the canvas
      */
-    public void drawColor(int color) {
+    public void drawColor(@ColorInt int color) {
         native_drawColor(mNativeCanvasWrapper, color, PorterDuff.Mode.SRC_OVER.nativeInt);
     }
 
@@ -1023,7 +1025,7 @@
      * @param color the color to draw with
      * @param mode  the porter-duff mode to apply to the color
      */
-    public void drawColor(int color, @NonNull PorterDuff.Mode mode) {
+    public void drawColor(@ColorInt int color, @NonNull PorterDuff.Mode mode) {
         native_drawColor(mNativeCanvasWrapper, color, mode.nativeInt);
     }
 
@@ -1054,14 +1056,15 @@
      *                 "points" that are drawn is really (count >> 1).
      * @param paint    The paint used to draw the points
      */
-    public void drawPoints(float[] pts, int offset, int count, @NonNull Paint paint) {
+    public void drawPoints(@Size(multiple=2) float[] pts, int offset, int count,
+            @NonNull Paint paint) {
         native_drawPoints(mNativeCanvasWrapper, pts, offset, count, paint.getNativeInstance());
     }
 
     /**
      * Helper for drawPoints() that assumes you want to draw the entire array
      */
-    public void drawPoints(@NonNull float[] pts, @NonNull Paint paint) {
+    public void drawPoints(@Size(multiple=2) @NonNull float[] pts, @NonNull Paint paint) {
         drawPoints(pts, 0, pts.length, paint);
     }
 
@@ -1104,11 +1107,11 @@
      *                 (count >> 2).
      * @param paint    The paint used to draw the points
      */
-    public void drawLines(float[] pts, int offset, int count, Paint paint) {
+    public void drawLines(@Size(min=4,multiple=2) float[] pts, int offset, int count, Paint paint) {
         native_drawLines(mNativeCanvasWrapper, pts, offset, count, paint.getNativeInstance());
     }
 
-    public void drawLines(@NonNull float[] pts, @NonNull Paint paint) {
+    public void drawLines(@Size(min=4,multiple=2) @NonNull float[] pts, @NonNull Paint paint) {
         drawLines(pts, 0, pts.length, paint);
     }
 
@@ -1339,7 +1342,7 @@
      */
     public void drawBitmap(@NonNull Bitmap bitmap, float left, float top, @Nullable Paint paint) {
         throwIfCannotDraw(bitmap);
-        native_drawBitmap(mNativeCanvasWrapper, bitmap.ni(), left, top,
+        native_drawBitmap(mNativeCanvasWrapper, bitmap.getSkBitmap(), left, top,
                 paint != null ? paint.getNativeInstance() : 0, mDensity, mScreenDensity, bitmap.mDensity);
     }
 
@@ -1385,7 +1388,7 @@
           bottom = src.bottom;
       }
 
-      native_drawBitmap(mNativeCanvasWrapper, bitmap.ni(), left, top, right, bottom,
+      native_drawBitmap(mNativeCanvasWrapper, bitmap.getSkBitmap(), left, top, right, bottom,
               dst.left, dst.top, dst.right, dst.bottom, nativePaint, mScreenDensity,
               bitmap.mDensity);
   }
@@ -1432,7 +1435,7 @@
             bottom = src.bottom;
         }
 
-        native_drawBitmap(mNativeCanvasWrapper, bitmap.ni(), left, top, right, bottom,
+        native_drawBitmap(mNativeCanvasWrapper, bitmap.getSkBitmap(), left, top, right, bottom,
             dst.left, dst.top, dst.right, dst.bottom, nativePaint, mScreenDensity,
             bitmap.mDensity);
     }
@@ -1513,7 +1516,7 @@
      * @param paint  May be null. The paint used to draw the bitmap
      */
     public void drawBitmap(@NonNull Bitmap bitmap, @NonNull Matrix matrix, @Nullable Paint paint) {
-        nativeDrawBitmapMatrix(mNativeCanvasWrapper, bitmap.ni(), matrix.ni(),
+        nativeDrawBitmapMatrix(mNativeCanvasWrapper, bitmap.getSkBitmap(), matrix.ni(),
                 paint != null ? paint.getNativeInstance() : 0);
     }
 
@@ -1568,7 +1571,7 @@
             // no mul by 2, since we need only 1 color per vertex
             checkRange(colors.length, colorOffset, count);
         }
-        nativeDrawBitmapMesh(mNativeCanvasWrapper, bitmap.ni(), meshWidth, meshHeight,
+        nativeDrawBitmapMesh(mNativeCanvasWrapper, bitmap.getSkBitmap(), meshWidth, meshHeight,
                 verts, vertOffset, colors, colorOffset,
                 paint != null ? paint.getNativeInstance() : 0);
     }
@@ -1828,7 +1831,8 @@
      * @param paint    The paint used for the text (e.g. color, size, style)
      */
     @Deprecated
-    public void drawPosText(@NonNull char[] text, int index, int count, @NonNull float[] pos,
+    public void drawPosText(@NonNull char[] text, int index, int count,
+            @NonNull @Size(multiple=2) float[] pos,
             @NonNull Paint paint) {
         if (index < 0 || index + count > text.length || count*2 > pos.length) {
             throw new IndexOutOfBoundsException();
@@ -1851,7 +1855,8 @@
      * @param paint The paint used for the text (e.g. color, size, style)
      */
     @Deprecated
-    public void drawPosText(@NonNull String text, @NonNull float[] pos, @NonNull Paint paint) {
+    public void drawPosText(@NonNull String text, @NonNull @Size(multiple=2) float[] pos,
+            @NonNull Paint paint) {
         drawPosText(text.toCharArray(), 0, text.length(), pos, paint);
     }
 
diff --git a/graphics/java/android/graphics/Color.java b/graphics/java/android/graphics/Color.java
index 3fe5672..666dbd8 100644
--- a/graphics/java/android/graphics/Color.java
+++ b/graphics/java/android/graphics/Color.java
@@ -16,6 +16,8 @@
 
 package android.graphics;
 
+import android.annotation.ColorInt;
+import android.annotation.Size;
 import android.util.MathUtils;
 import com.android.internal.util.XmlUtils;
 
@@ -35,23 +37,24 @@
  * 0xFFFFFFFF
  */
 public class Color {
-    public static final int BLACK       = 0xFF000000;
-    public static final int DKGRAY      = 0xFF444444;
-    public static final int GRAY        = 0xFF888888;
-    public static final int LTGRAY      = 0xFFCCCCCC;
-    public static final int WHITE       = 0xFFFFFFFF;
-    public static final int RED         = 0xFFFF0000;
-    public static final int GREEN       = 0xFF00FF00;
-    public static final int BLUE        = 0xFF0000FF;
-    public static final int YELLOW      = 0xFFFFFF00;
-    public static final int CYAN        = 0xFF00FFFF;
-    public static final int MAGENTA     = 0xFFFF00FF;
-    public static final int TRANSPARENT = 0;
+    @ColorInt public static final int BLACK       = 0xFF000000;
+    @ColorInt public static final int DKGRAY      = 0xFF444444;
+    @ColorInt public static final int GRAY        = 0xFF888888;
+    @ColorInt public static final int LTGRAY      = 0xFFCCCCCC;
+    @ColorInt public static final int WHITE       = 0xFFFFFFFF;
+    @ColorInt public static final int RED         = 0xFFFF0000;
+    @ColorInt public static final int GREEN       = 0xFF00FF00;
+    @ColorInt public static final int BLUE        = 0xFF0000FF;
+    @ColorInt public static final int YELLOW      = 0xFFFFFF00;
+    @ColorInt public static final int CYAN        = 0xFF00FFFF;
+    @ColorInt public static final int MAGENTA     = 0xFFFF00FF;
+    @ColorInt public static final int TRANSPARENT = 0;
 
     /**
      * Return the alpha component of a color int. This is the same as saying
      * color >>> 24
      */
+    @ColorInt
     public static int alpha(int color) {
         return color >>> 24;
     }
@@ -60,6 +63,7 @@
      * Return the red component of a color int. This is the same as saying
      * (color >> 16) & 0xFF
      */
+    @ColorInt
     public static int red(int color) {
         return (color >> 16) & 0xFF;
     }
@@ -68,6 +72,7 @@
      * Return the green component of a color int. This is the same as saying
      * (color >> 8) & 0xFF
      */
+    @ColorInt
     public static int green(int color) {
         return (color >> 8) & 0xFF;
     }
@@ -76,6 +81,7 @@
      * Return the blue component of a color int. This is the same as saying
      * color & 0xFF
      */
+    @ColorInt
     public static int blue(int color) {
         return color & 0xFF;
     }
@@ -90,6 +96,7 @@
      * @param green Green component [0..255] of the color
      * @param blue  Blue component [0..255] of the color
      */
+    @ColorInt
     public static int rgb(int red, int green, int blue) {
         return (0xFF << 24) | (red << 16) | (green << 8) | blue;
     }
@@ -104,6 +111,7 @@
      * @param green Green component [0..255] of the color
      * @param blue  Blue component [0..255] of the color
      */
+    @ColorInt
     public static int argb(int alpha, int red, int green, int blue) {
         return (alpha << 24) | (red << 16) | (green << 8) | blue;
     }
@@ -115,7 +123,7 @@
      * 
      * @hide Pending API council
      */
-    public static float hue(int color) {
+    public static float hue(@ColorInt int color) {
         int r = (color >> 16) & 0xFF;
         int g = (color >> 8) & 0xFF;
         int b = color & 0xFF;
@@ -157,7 +165,7 @@
      * 
      * @hide Pending API council
      */
-    public static float saturation(int color) {
+    public static float saturation(@ColorInt int color) {
         int r = (color >> 16) & 0xFF;
         int g = (color >> 8) & 0xFF;
         int b = color & 0xFF;
@@ -184,7 +192,7 @@
      *
      * @hide Pending API council
      */
-    public static float brightness(int color) {
+    public static float brightness(@ColorInt int color) {
         int r = (color >> 16) & 0xFF;
         int g = (color >> 8) & 0xFF;
         int b = color & 0xFF;
@@ -206,7 +214,8 @@
      * 'aqua', 'fuchsia', 'lime', 'maroon', 'navy', 'olive', 'purple',
      * 'silver', 'teal'.
      */
-    public static int parseColor(String colorString) {
+    @ColorInt
+    public static int parseColor(@Size(min=1) String colorString) {
         if (colorString.charAt(0) == '#') {
             // Use a long to avoid rollovers on #ffXXXXXX
             long color = Long.parseLong(colorString.substring(1), 16);
@@ -237,7 +246,8 @@
      * 
      * @hide Pending API council
      */
-    public static int HSBtoColor(float[] hsb) {
+    @ColorInt
+    public static int HSBtoColor(@Size(3) float[] hsb) {
         return HSBtoColor(hsb[0], hsb[1], hsb[2]);
     }
     
@@ -254,6 +264,7 @@
      * 
      * @hide Pending API council
      */
+    @ColorInt
     public static int HSBtoColor(float h, float s, float b) {
         h = MathUtils.constrain(h, 0.0f, 1.0f);
         s = MathUtils.constrain(s, 0.0f, 1.0f);
@@ -317,7 +328,7 @@
      * @param blue  blue component value [0..255]
      * @param hsv  3 element array which holds the resulting HSV components.
      */
-    public static void RGBToHSV(int red, int green, int blue, float hsv[]) {
+    public static void RGBToHSV(int red, int green, int blue, @Size(3) float hsv[]) {
         if (hsv.length < 3) {
             throw new RuntimeException("3 components required for hsv");
         }
@@ -332,7 +343,7 @@
      * @param color the argb color to convert. The alpha component is ignored.
      * @param hsv  3 element array which holds the resulting HSV components.
      */
-    public static void colorToHSV(int color, float hsv[]) {
+    public static void colorToHSV(@ColorInt int color, @Size(3) float hsv[]) {
         RGBToHSV((color >> 16) & 0xFF, (color >> 8) & 0xFF, color & 0xFF, hsv);
     }
 
@@ -345,7 +356,7 @@
      * @param hsv  3 element array which holds the input HSV components.
      * @return the resulting argb color
     */
-    public static int HSVToColor(float hsv[]) {
+    public static int HSVToColor(@Size(3) float hsv[]) {
         return HSVToColor(0xFF, hsv);
     }
 
@@ -360,7 +371,7 @@
      * @param hsv  3 element array which holds the input HSV components.
      * @return the resulting argb color
     */
-    public static int HSVToColor(int alpha, float hsv[]) {
+    public static int HSVToColor(int alpha, @Size(3) float hsv[]) {
         if (hsv.length < 3) {
             throw new RuntimeException("3 components required for hsv");
         }
@@ -379,6 +390,7 @@
      *
      * @hide
      */
+    @ColorInt
     public static int getHtmlColor(String color) {
         Integer i = sColorNameMap.get(color.toLowerCase(Locale.ROOT));
         if (i != null) {
diff --git a/graphics/java/android/graphics/ImageFormat.java b/graphics/java/android/graphics/ImageFormat.java
index 3efb9c0..49c4247 100644
--- a/graphics/java/android/graphics/ImageFormat.java
+++ b/graphics/java/android/graphics/ImageFormat.java
@@ -356,6 +356,38 @@
     public static final int RAW10 = 0x25;
 
     /**
+     * Android dense depth image format.
+     *
+     * Each pixel is 16 bits, representing a depth ranging measurement from
+     * a depth camera or similar sensor.
+     *
+     * <p>This format assumes
+     * <ul>
+     * <li>an even width</li>
+     * <li>an even height</li>
+     * <li>a horizontal stride multiple of 16 pixels</li>
+     * </ul>
+     * </p>
+     *
+     * <pre> y_size = stride * height </pre>
+     *
+     * When produced by a camera, the units are millimeters.
+     */
+    public static final int DEPTH16 = 0x44363159;
+
+    /**
+     * Android sparse depth point cloud format.
+     *
+     * <p>A variable-length list of 3D points, with each point represented
+     * by a triple of floats.</p>
+     *
+     * <p>The number of points is {@code (size of the buffer in bytes) / 12}.
+     *
+     * The coordinate system and units depend on the source of the point cloud data.
+     */
+    public static final int DEPTH_POINT_CLOUD = 0x101;
+
+    /**
      * Use this function to retrieve the number of bits per pixel of an
      * ImageFormat.
      *
@@ -376,6 +408,7 @@
             case Y8:
                 return 8;
             case Y16:
+            case DEPTH16:
                 return 16;
             case NV21:
                 return 12;
@@ -412,6 +445,8 @@
             case YUV_420_888:
             case RAW_SENSOR:
             case RAW10:
+            case DEPTH16:
+            case DEPTH_POINT_CLOUD:
                 return true;
         }
 
diff --git a/graphics/java/android/graphics/NinePatch.java b/graphics/java/android/graphics/NinePatch.java
index ebc86aa..9c4299a 100644
--- a/graphics/java/android/graphics/NinePatch.java
+++ b/graphics/java/android/graphics/NinePatch.java
@@ -98,7 +98,7 @@
     public NinePatch(Bitmap bitmap, byte[] chunk, String srcName) {
         mBitmap = bitmap;
         mSrcName = srcName;
-        mNativeChunk = validateNinePatchChunk(mBitmap.ni(), chunk);
+        mNativeChunk = validateNinePatchChunk(mBitmap.getSkBitmap(), chunk);
     }
 
     /**
@@ -199,12 +199,12 @@
     }
 
     void drawSoftware(Canvas canvas, RectF location, Paint paint) {
-        nativeDraw(canvas.getNativeCanvasWrapper(), location, mBitmap.ni(), mNativeChunk,
+        nativeDraw(canvas.getNativeCanvasWrapper(), location, mBitmap.getSkBitmap(), mNativeChunk,
                 paint != null ? paint.getNativeInstance() : 0, canvas.mDensity, mBitmap.mDensity);
     }
 
     void drawSoftware(Canvas canvas, Rect location, Paint paint) {
-        nativeDraw(canvas.getNativeCanvasWrapper(), location, mBitmap.ni(), mNativeChunk,
+        nativeDraw(canvas.getNativeCanvasWrapper(), location, mBitmap.getSkBitmap(), mNativeChunk,
                 paint != null ? paint.getNativeInstance() : 0, canvas.mDensity, mBitmap.mDensity);
     }
 
@@ -252,7 +252,7 @@
      * that are transparent.
      */
     public final Region getTransparentRegion(Rect bounds) {
-        long r = nativeGetTransparentRegion(mBitmap.ni(), mNativeChunk, bounds);
+        long r = nativeGetTransparentRegion(mBitmap.getSkBitmap(), mNativeChunk, bounds);
         return r != 0 ? new Region(r) : null;
     }
 
diff --git a/graphics/java/android/graphics/Outline.java b/graphics/java/android/graphics/Outline.java
index f76184f..aa40408 100644
--- a/graphics/java/android/graphics/Outline.java
+++ b/graphics/java/android/graphics/Outline.java
@@ -16,6 +16,7 @@
 
 package android.graphics;
 
+import android.annotation.FloatRange;
 import android.annotation.NonNull;
 import android.graphics.drawable.Drawable;
 
@@ -101,7 +102,7 @@
      * assumed by the drawing system to fully cover content beneath it,
      * meaning content beneath may be optimized away.
      */
-    public void setAlpha(float alpha) {
+    public void setAlpha(@FloatRange(from=0.0, to=1.0) float alpha) {
         mAlpha = alpha;
     }
 
diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java
index 91c8dba..1da198c 100644
--- a/graphics/java/android/graphics/Paint.java
+++ b/graphics/java/android/graphics/Paint.java
@@ -16,6 +16,7 @@
 
 package android.graphics;
 
+import android.annotation.ColorInt;
 import android.text.GraphicsOperations;
 import android.text.SpannableString;
 import android.text.SpannedString;
@@ -534,8 +535,9 @@
      * @hide
      */
     public long getNativeInstance() {
-        if (mShader != null && mShader.getNativeInstance() != mNativeShader) {
-            mNativeShader = mShader.getNativeInstance();
+        long newNativeShader = mShader == null ? 0 : mShader.getNativeInstance();
+        if (newNativeShader != mNativeShader) {
+            mNativeShader = newNativeShader;
             native_setShader(mNativePaint, mNativeShader);
         }
         return mNativePaint;
@@ -776,6 +778,7 @@
      *
      * @return the paint's color (and alpha).
      */
+    @ColorInt
     public native int getColor();
 
     /**
@@ -786,7 +789,7 @@
      *
      * @param color The new color (including alpha) to set in the paint.
      */
-    public native void setColor(int color);
+    public native void setColor(@ColorInt int color);
 
     /**
      * Helper to getColor() that just returns the color's alpha value. This is
@@ -1328,6 +1331,29 @@
     }
 
     /**
+     * Get the current value of hyphen edit.
+     *
+     * @return the current hyphen edit value
+     *
+     * @hide
+     */
+    public int getHyphenEdit() {
+        return native_getHyphenEdit(mNativePaint);
+    }
+
+    /**
+     * Set a hyphen edit on the paint (causes a hyphen to be added to text when
+     * measured or drawn).
+     *
+     * @param hyphen 0 for no edit, 1 for adding a hyphen (other values in future)
+     *
+     * @hide
+     */
+    public void setHyphenEdit(int hyphen) {
+        native_setHyphenEdit(mNativePaint, hyphen);
+    }
+
+    /**
      * Return the distance above (negative) the baseline (ascent) based on the
      * current typeface and text size.
      *
@@ -2306,4 +2332,6 @@
                                                        float letterSpacing);
     private static native void native_setFontFeatureSettings(long native_object,
                                                              String settings);
+    private static native int native_getHyphenEdit(long native_object);
+    private static native void native_setHyphenEdit(long native_object, int hyphen);
 }
diff --git a/graphics/java/android/graphics/PorterDuff.java b/graphics/java/android/graphics/PorterDuff.java
index 2ef1662..dcccf35 100644
--- a/graphics/java/android/graphics/PorterDuff.java
+++ b/graphics/java/android/graphics/PorterDuff.java
@@ -18,7 +18,7 @@
 
 public class PorterDuff {
 
-    // these value must match their native equivalents. See SkPorterDuff.h
+    // these value must match their native equivalents. See SkXfermode.h
     public enum Mode {
         /** [0, 0] */
         CLEAR       (0),
@@ -46,17 +46,17 @@
         XOR         (11),
         /** [Sa + Da - Sa*Da,
              Sc*(1 - Da) + Dc*(1 - Sa) + min(Sc, Dc)] */
-        DARKEN      (12),
+        DARKEN      (16),
         /** [Sa + Da - Sa*Da,
              Sc*(1 - Da) + Dc*(1 - Sa) + max(Sc, Dc)] */
-        LIGHTEN     (13),
+        LIGHTEN     (17),
         /** [Sa * Da, Sc * Dc] */
-        MULTIPLY    (14),
+        MULTIPLY    (13),
         /** [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] */
-        SCREEN      (15),
+        SCREEN      (14),
         /** Saturate(S + D) */
-        ADD         (16),
-        OVERLAY     (17);
+        ADD         (12),
+        OVERLAY     (15);
 
         Mode(int nativeInt) {
             this.nativeInt = nativeInt;
diff --git a/graphics/java/android/graphics/PorterDuffColorFilter.java b/graphics/java/android/graphics/PorterDuffColorFilter.java
index fe4f8b8..bddd224 100644
--- a/graphics/java/android/graphics/PorterDuffColorFilter.java
+++ b/graphics/java/android/graphics/PorterDuffColorFilter.java
@@ -16,6 +16,8 @@
 
 package android.graphics;
 
+import android.annotation.NonNull;
+
 /**
  * A color filter that can be used to tint the source pixels using a single
  * color and a specific {@link PorterDuff Porter-Duff composite mode}.
@@ -34,7 +36,7 @@
      * @see #setColor(int)
      * @see #setMode(android.graphics.PorterDuff.Mode)
      */
-    public PorterDuffColorFilter(int color, PorterDuff.Mode mode) {
+    public PorterDuffColorFilter(int color, @NonNull PorterDuff.Mode mode) {
         mColor = color;
         mMode = mode;
         update();
@@ -93,7 +95,7 @@
      *
      * @hide
      */
-    public void setMode(PorterDuff.Mode mode) {
+    public void setMode(@NonNull PorterDuff.Mode mode) {
         mMode = mode;
         update();
     }
diff --git a/graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java b/graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java
index 4af5946..2c603e2 100644
--- a/graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java
+++ b/graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java
@@ -594,7 +594,7 @@
                 mTransitions.append(keyToFrom, pos | REVERSED_BIT | reversibleBit);
             }
 
-            return addChild(anim);
+            return pos;
         }
 
         int addStateSet(@NonNull int[] stateSet, @NonNull Drawable drawable, int id) {
diff --git a/graphics/java/android/graphics/drawable/AnimationDrawable.java b/graphics/java/android/graphics/drawable/AnimationDrawable.java
index 74ff1b0..5ccb165 100644
--- a/graphics/java/android/graphics/drawable/AnimationDrawable.java
+++ b/graphics/java/android/graphics/drawable/AnimationDrawable.java
@@ -31,20 +31,23 @@
 import android.util.AttributeSet;
 
 /**
- * An object used to create frame-by-frame animations, defined by a series of Drawable objects,
- * which can be used as a View object's background.
+ * An object used to create frame-by-frame animations, defined by a series of
+ * Drawable objects, which can be used as a View object's background.
  * <p>
- * The simplest way to create a frame-by-frame animation is to define the animation in an XML
- * file, placed in the res/drawable/ folder, and set it as the background to a View object. Then, call
- * {@link #start()} to run the animation.
+ * The simplest way to create a frame-by-frame animation is to define the
+ * animation in an XML file, placed in the res/drawable/ folder, and set it as
+ * the background to a View object. Then, call {@link #start()} to run the
+ * animation.
  * <p>
- * An AnimationDrawable defined in XML consists of a single <code>&lt;animation-list></code> element,
- * and a series of nested <code>&lt;item></code> tags. Each item defines a frame of the animation.
- * See the example below.
- * </p>
- * <p>spin_animation.xml file in res/drawable/ folder:</p>
- * <pre>&lt;!-- Animation frames are wheel0.png -- wheel5.png files inside the
- * res/drawable/ folder --&gt;
+ * An AnimationDrawable defined in XML consists of a single
+ * {@code &lt;animation-list&gt;} element and a series of nested
+ * {@code &lt;item&gt;} tags. Each item defines a frame of the animation. See
+ * the example below.
+ * <p>
+ * spin_animation.xml file in res/drawable/ folder:
+ * <pre>
+ * &lt;!-- Animation frames are wheel0.png through wheel5.png
+ *     files inside the res/drawable/ folder --&gt;
  * &lt;animation-list android:id=&quot;@+id/selected&quot; android:oneshot=&quot;false&quot;&gt;
  *    &lt;item android:drawable=&quot;@drawable/wheel0&quot; android:duration=&quot;50&quot; /&gt;
  *    &lt;item android:drawable=&quot;@drawable/wheel1&quot; android:duration=&quot;50&quot; /&gt;
@@ -53,8 +56,8 @@
  *    &lt;item android:drawable=&quot;@drawable/wheel4&quot; android:duration=&quot;50&quot; /&gt;
  *    &lt;item android:drawable=&quot;@drawable/wheel5&quot; android:duration=&quot;50&quot; /&gt;
  * &lt;/animation-list&gt;</pre>
- *
- * <p>Here is the code to load and play this animation.</p>
+ * <p>
+ * Here is the code to load and play this animation.
  * <pre>
  * // Load the ImageView that will host the animation and
  * // set its background to our AnimationDrawable XML resource.
@@ -128,13 +131,17 @@
     }
 
     /**
-     * <p>Starts the animation, looping if necessary. This method has no effect
-     * if the animation is running. Do not call this in the {@link android.app.Activity#onCreate}
-     * method of your activity, because the {@link android.graphics.drawable.AnimationDrawable} is
-     * not yet fully attached to the window. If you want to play
-     * the animation immediately, without requiring interaction, then you might want to call it
-     * from the {@link android.app.Activity#onWindowFocusChanged} method in your activity,
-     * which will get called when Android brings your window into focus.</p>
+     * Starts the animation, looping if necessary. This method has no effect
+     * if the animation is running.
+     * <p>
+     * <strong>Note:</strong> Do not call this in the
+     * {@link android.app.Activity#onCreate} method of your activity, because
+     * the {@link AnimationDrawable} is not yet fully attached to the window.
+     * If you want to play the animation immediately without requiring
+     * interaction, then you might want to call it from the
+     * {@link android.app.Activity#onWindowFocusChanged} method in your
+     * activity, which will get called when Android brings your window into
+     * focus.
      *
      * @see #isRunning()
      * @see #stop()
@@ -149,8 +156,8 @@
     }
 
     /**
-     * <p>Stops the animation. This method has no effect if the animation is
-     * not running.</p>
+     * Stops the animation. This method has no effect if the animation is not
+     * running.
      *
      * @see #isRunning()
      * @see #start()
@@ -165,7 +172,7 @@
     }
 
     /**
-     * <p>Indicates whether the animation is currently running or not.</p>
+     * Indicates whether the animation is currently running or not.
      *
      * @return true if the animation is running, false otherwise
      */
@@ -175,8 +182,8 @@
     }
 
     /**
-     * <p>This method exists for implementation purpose only and should not be
-     * called directly. Invoke {@link #start()} instead.</p>
+     * This method exists for implementation purpose only and should not be
+     * called directly. Invoke {@link #start()} instead.
      *
      * @see #start()
      */
@@ -208,7 +215,7 @@
 
     /**
      * @return The duration in milliseconds of the frame at the
-     * specified index
+     *         specified index
      */
     public int getDuration(int i) {
         return mAnimationState.mDurations[i];
@@ -231,12 +238,12 @@
     }
 
     /**
-     * Add a frame to the animation
+     * Adds a frame to the animation
      *
      * @param frame The frame to add
      * @param duration How long in milliseconds the frame should appear
      */
-    public void addFrame(Drawable frame, int duration) {
+    public void addFrame(@NonNull Drawable frame, int duration) {
         mAnimationState.addFrame(frame, duration);
         if (mCurFrame < 0) {
             setFrame(0, true, false);
@@ -244,13 +251,16 @@
     }
 
     private void nextFrame(boolean unschedule) {
-        int next = mCurFrame+1;
-        final int N = mAnimationState.getChildCount();
-        if (next >= N) {
-            next = 0;
+        int nextFrame = mCurFrame + 1;
+        final int numFrames = mAnimationState.getChildCount();
+        final boolean isLastFrame = mAnimationState.mOneShot && nextFrame >= (numFrames - 1);
+
+        // Loop if necessary. One-shot animations should never hit this case.
+        if (!mAnimationState.mOneShot && nextFrame >= numFrames) {
+            nextFrame = 0;
         }
 
-        setFrame(next, unschedule, !mAnimationState.mOneShot || next < (N - 1));
+        setFrame(nextFrame, unschedule, !isLastFrame);
     }
 
     private void setFrame(int frame, boolean unschedule, boolean animate) {
@@ -262,6 +272,7 @@
         selectDrawable(frame);
         if (unschedule || animate) {
             unscheduleSelf(this);
+            mRunning = false;
         }
         if (animate) {
             // Unscheduling may have clobbered these values; restore them
@@ -341,6 +352,7 @@
     }
 
     @Override
+    @NonNull
     public Drawable mutate() {
         if (!mMutated && super.mutate() == this) {
             mAnimationState.mutate();
@@ -366,8 +378,7 @@
         private int[] mDurations;
         private boolean mOneShot = false;
 
-        AnimationState(AnimationState orig, AnimationDrawable owner,
-                Resources res) {
+        AnimationState(AnimationState orig, AnimationDrawable owner, Resources res) {
             super(orig, owner, res);
 
             if (orig != null) {
diff --git a/graphics/java/android/graphics/drawable/BitmapDrawable.java b/graphics/java/android/graphics/drawable/BitmapDrawable.java
index 945ae2e..68ffed6 100644
--- a/graphics/java/android/graphics/drawable/BitmapDrawable.java
+++ b/graphics/java/android/graphics/drawable/BitmapDrawable.java
@@ -628,8 +628,8 @@
     }
 
     @Override
-    public void setColorFilter(ColorFilter cf) {
-        mBitmapState.mPaint.setColorFilter(cf);
+    public void setColorFilter(ColorFilter colorFilter) {
+        mBitmapState.mPaint.setColorFilter(colorFilter);
         invalidateSelf();
     }
 
diff --git a/graphics/java/android/graphics/drawable/ClipDrawable.java b/graphics/java/android/graphics/drawable/ClipDrawable.java
index f3574e8..2acf602 100644
--- a/graphics/java/android/graphics/drawable/ClipDrawable.java
+++ b/graphics/java/android/graphics/drawable/ClipDrawable.java
@@ -21,12 +21,10 @@
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
 
-import android.content.res.ColorStateList;
 import android.content.res.Resources;
 import android.content.res.TypedArray;
 import android.content.res.Resources.Theme;
 import android.graphics.*;
-import android.graphics.PorterDuff.Mode;
 import android.view.Gravity;
 import android.util.AttributeSet;
 
diff --git a/graphics/java/android/graphics/drawable/ColorDrawable.java b/graphics/java/android/graphics/drawable/ColorDrawable.java
index 85e02b7..f75ab36 100644
--- a/graphics/java/android/graphics/drawable/ColorDrawable.java
+++ b/graphics/java/android/graphics/drawable/ColorDrawable.java
@@ -16,6 +16,7 @@
 
 package android.graphics.drawable;
 
+import android.annotation.ColorInt;
 import android.annotation.NonNull;
 import android.graphics.*;
 import android.graphics.PorterDuff.Mode;
@@ -62,7 +63,7 @@
      *
      * @param color The color to draw.
      */
-    public ColorDrawable(int color) {
+    public ColorDrawable(@ColorInt int color) {
         mColorState = new ColorState();
 
         setColor(color);
@@ -117,6 +118,7 @@
      *
      * @return int The color to draw.
      */
+    @ColorInt
     public int getColor() {
         return mColorState.mUseColor;
     }
@@ -128,7 +130,7 @@
      *
      * @param color The color to draw.
      */
-    public void setColor(int color) {
+    public void setColor(@ColorInt int color) {
         if (mColorState.mBaseColor != color || mColorState.mUseColor != color) {
             mColorState.mBaseColor = mColorState.mUseColor = color;
             invalidateSelf();
diff --git a/graphics/java/android/graphics/drawable/Drawable.java b/graphics/java/android/graphics/drawable/Drawable.java
index 98767a7..16760c7 100644
--- a/graphics/java/android/graphics/drawable/Drawable.java
+++ b/graphics/java/android/graphics/drawable/Drawable.java
@@ -16,7 +16,9 @@
 
 package android.graphics.drawable;
 
+import android.annotation.ColorInt;
 import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.content.res.ColorStateList;
 import android.content.res.Resources;
 import android.content.res.Resources.Theme;
@@ -39,7 +41,6 @@
 import android.os.Trace;
 import android.util.AttributeSet;
 import android.util.DisplayMetrics;
-import android.util.IntProperty;
 import android.util.StateSet;
 import android.util.TypedValue;
 import android.util.Xml;
@@ -478,67 +479,111 @@
     }
 
     /**
-     * @hide Consider for future API inclusion
+     * @hide
+     *
+     * Internal-only method for setting xfermode on certain supported drawables.
+     *
+     * Should not be made public since the layers and drawing area with which
+     * Drawables draw is private implementation detail, and not something apps
+     * should rely upon.
      */
     public void setXfermode(Xfermode mode) {
         // Base implementation drops it on the floor for compatibility. Whee!
-        // TODO: For this to be included in the API proper, all framework drawables need impls.
-        // For right now only BitmapDrawable has it.
     }
 
     /**
-     * Specify an optional color filter for the drawable. Pass {@code null} to
-     * remove any existing color filter.
+     * Specify an optional color filter for the drawable.
+     * <p>
+     * If a Drawable has a ColorFilter, each output pixel of the Drawable's
+     * drawing contents will be modified by the color filter before it is
+     * blended onto the render target of a Canvas.
+     * </p>
+     * <p>
+     * Pass {@code null} to remove any existing color filter.
+     * </p>
+     * <p class="note"><strong>Note:</strong> Setting a non-{@code null} color
+     * filter disables {@link #setTintList(ColorStateList) tint}.
+     * </p>
      *
-     * @param cf the color filter to apply, or {@code null} to remove the
+     * @param colorFilter The color filter to apply, or {@code null} to remove the
      *            existing color filter
      */
-    public abstract void setColorFilter(ColorFilter cf);
+    public abstract void setColorFilter(@Nullable ColorFilter colorFilter);
 
     /**
      * Specify a color and Porter-Duff mode to be the color filter for this
      * drawable.
+     * <p>
+     * Convenience for {@link #setColorFilter(ColorFilter)} which constructs a
+     * {@link PorterDuffColorFilter}.
+     * </p>
+     * <p class="note"><strong>Note:</strong> Setting a color filter disables
+     * {@link #setTintList(ColorStateList) tint}.
+     * </p>
      */
-    public void setColorFilter(int color, PorterDuff.Mode mode) {
+    public void setColorFilter(int color, @NonNull PorterDuff.Mode mode) {
         setColorFilter(new PorterDuffColorFilter(color, mode));
     }
 
     /**
-     * Specifies a tint for this drawable.
+     * Specifies tint color for this drawable.
      * <p>
-     * Setting a color filter via {@link #setColorFilter(ColorFilter)} overrides
-     * tint.
+     * A Drawable's drawing content will be blended together with its tint
+     * before it is drawn to the screen. This functions similarly to
+     * {@link #setColorFilter(int, PorterDuff.Mode)}.
+     * </p>
+     * <p>
+     * To clear the tint, pass {@code null} to
+     * {@link #setTintList(ColorStateList)}.
+     * </p>
+     * <p class="note"><strong>Note:</strong> Setting a color filter via
+     * {@link #setColorFilter(ColorFilter)} or
+     * {@link #setColorFilter(int, PorterDuff.Mode)} overrides tint.
+     * </p>
      *
-     * @param tint Color to use for tinting this drawable
+     * @param tintColor Color to use for tinting this drawable
+     * @see #setTintList(ColorStateList)
      * @see #setTintMode(PorterDuff.Mode)
      */
-    public void setTint(int tint) {
-        setTintList(ColorStateList.valueOf(tint));
+    public void setTint(@ColorInt int tintColor) {
+        setTintList(ColorStateList.valueOf(tintColor));
     }
 
     /**
-     * Specifies a tint for this drawable as a color state list.
+     * Specifies tint color for this drawable as a color state list.
      * <p>
-     * Setting a color filter via {@link #setColorFilter(ColorFilter)} overrides
-     * tint.
+     * A Drawable's drawing content will be blended together with its tint
+     * before it is drawn to the screen. This functions similarly to
+     * {@link #setColorFilter(int, PorterDuff.Mode)}.
+     * </p>
+     * <p class="note"><strong>Note:</strong> Setting a color filter via
+     * {@link #setColorFilter(ColorFilter)} or
+     * {@link #setColorFilter(int, PorterDuff.Mode)} overrides tint.
+     * </p>
      *
-     * @param tint Color state list to use for tinting this drawable, or null to
-     *            clear the tint
+     * @param tint Color state list to use for tinting this drawable, or
+     *            {@code null} to clear the tint
+     * @see #setTint(int)
      * @see #setTintMode(PorterDuff.Mode)
      */
-    public void setTintList(ColorStateList tint) {}
+    public void setTintList(@Nullable ColorStateList tint) {}
 
     /**
      * Specifies a tint blending mode for this drawable.
      * <p>
-     * Setting a color filter via {@link #setColorFilter(ColorFilter)} overrides
-     * tint.
+     * Defines how this drawable's tint color should be blended into the drawable
+     * before it is drawn to screen. Default tint mode is {@link PorterDuff.Mode#MULTIPLY}.
+     * </p>
+     * <p class="note"><strong>Note:</strong> Setting a color filter via
+     * {@link #setColorFilter(ColorFilter)} or
+     * {@link #setColorFilter(int, PorterDuff.Mode)} overrides tint.
+     * </p>
      *
-     * @param tintMode Color state list to use for tinting this drawable, or null to
-     *            clear the tint
      * @param tintMode A Porter-Duff blending mode
+     * @see #setTint(int)
+     * @see #setTintList(ColorStateList)
      */
-    public void setTintMode(PorterDuff.Mode tintMode) {}
+    public void setTintMode(@NonNull PorterDuff.Mode tintMode) {}
 
     /**
      * Returns the current color filter, or {@code null} if none set.
@@ -1372,20 +1417,5 @@
             default: return defaultMode;
         }
     }
-
-    /** @hide */
-    public static final IntProperty<Drawable> ALPHA = new IntProperty<Drawable>("alpha") {
-        @Override
-        public void setValue(Drawable object, int value) {
-            object.mutate();
-            object.setAlpha(value);
-            object.invalidateSelf();
-        }
-
-        @Override
-        public Integer get(Drawable object) {
-            return object.getAlpha();
-        }
-    };
 }
 
diff --git a/graphics/java/android/graphics/drawable/DrawableContainer.java b/graphics/java/android/graphics/drawable/DrawableContainer.java
index c4794d9..ddcb48b 100644
--- a/graphics/java/android/graphics/drawable/DrawableContainer.java
+++ b/graphics/java/android/graphics/drawable/DrawableContainer.java
@@ -172,14 +172,14 @@
     }
 
     @Override
-    public void setColorFilter(ColorFilter cf) {
+    public void setColorFilter(ColorFilter colorFilter) {
         mDrawableContainerState.mHasColorFilter = true;
 
-        if (mDrawableContainerState.mColorFilter != cf) {
-            mDrawableContainerState.mColorFilter = cf;
+        if (mDrawableContainerState.mColorFilter != colorFilter) {
+            mDrawableContainerState.mColorFilter = colorFilter;
 
             if (mCurrDrawable != null) {
-                mCurrDrawable.mutate().setColorFilter(cf);
+                mCurrDrawable.mutate().setColorFilter(colorFilter);
             }
         }
     }
@@ -685,7 +685,7 @@
         DrawableContainerState(DrawableContainerState orig, DrawableContainer owner,
                 Resources res) {
             mOwner = owner;
-            mRes = res;
+            mRes = res != null ? res : orig != null ? orig.mRes : null;
 
             if (orig != null) {
                 mChangingConfigurations = orig.mChangingConfigurations;
diff --git a/graphics/java/android/graphics/drawable/DrawableWrapper.java b/graphics/java/android/graphics/drawable/DrawableWrapper.java
index b17bab0..a213af8 100644
--- a/graphics/java/android/graphics/drawable/DrawableWrapper.java
+++ b/graphics/java/android/graphics/drawable/DrawableWrapper.java
@@ -238,9 +238,9 @@
     }
 
     @Override
-    public void setColorFilter(@Nullable ColorFilter cf) {
+    public void setColorFilter(@Nullable ColorFilter colorFilter) {
         if (mDrawable != null) {
-            mDrawable.setColorFilter(cf);
+            mDrawable.setColorFilter(colorFilter);
         }
     }
 
diff --git a/graphics/java/android/graphics/drawable/GradientDrawable.java b/graphics/java/android/graphics/drawable/GradientDrawable.java
index cc2de22..eff152c 100644
--- a/graphics/java/android/graphics/drawable/GradientDrawable.java
+++ b/graphics/java/android/graphics/drawable/GradientDrawable.java
@@ -16,6 +16,7 @@
 
 package android.graphics.drawable;
 
+import android.annotation.ColorInt;
 import android.content.res.ColorStateList;
 import android.content.res.Resources;
 import android.content.res.TypedArray;
@@ -181,7 +182,7 @@
      * Create a new gradient drawable given an orientation and an array
      * of colors for the gradient.
      */
-    public GradientDrawable(Orientation orientation, int[] colors) {
+    public GradientDrawable(Orientation orientation, @ColorInt int[] colors) {
         this(new GradientState(orientation, colors), null);
     }
 
@@ -250,7 +251,7 @@
      * @see #mutate()
      * @see #setStroke(int, int, float, float)
      */
-    public void setStroke(int width, int color) {
+    public void setStroke(int width, @ColorInt int color) {
         setStroke(width, color, 0, 0);
     }
 
@@ -286,7 +287,7 @@
      * @see #mutate()
      * @see #setStroke(int, int)
      */
-    public void setStroke(int width, int color, float dashWidth, float dashGap) {
+    public void setStroke(int width, @ColorInt int color, float dashWidth, float dashGap) {
         mGradientState.setStroke(width, ColorStateList.valueOf(color), dashWidth, dashGap);
         setStrokeInternal(width, color, dashWidth, dashGap);
     }
@@ -501,7 +502,7 @@
      * @see #mutate()
      * @see #setColor(int)
      */
-    public void setColors(int[] colors) {
+    public void setColors(@ColorInt int[] colors) {
         mGradientState.setColors(colors);
         mGradientIsDirty = true;
         invalidateSelf();
@@ -713,7 +714,7 @@
      * @see #mutate()
      * @see #setColors(int[])
      */
-    public void setColor(int argb) {
+    public void setColor(@ColorInt int argb) {
         mGradientState.setColorStateList(ColorStateList.valueOf(argb));
         mFillPaint.setColor(argb);
         invalidateSelf();
@@ -832,9 +833,9 @@
     }
 
     @Override
-    public void setColorFilter(ColorFilter cf) {
-        if (cf != mColorFilter) {
-            mColorFilter = cf;
+    public void setColorFilter(ColorFilter colorFilter) {
+        if (colorFilter != mColorFilter) {
+            mColorFilter = colorFilter;
             invalidateSelf();
         }
     }
diff --git a/graphics/java/android/graphics/drawable/LayerDrawable.java b/graphics/java/android/graphics/drawable/LayerDrawable.java
index f5353d4..74f62be 100644
--- a/graphics/java/android/graphics/drawable/LayerDrawable.java
+++ b/graphics/java/android/graphics/drawable/LayerDrawable.java
@@ -1035,11 +1035,11 @@
     }
 
     @Override
-    public void setColorFilter(ColorFilter cf) {
+    public void setColorFilter(ColorFilter colorFilter) {
         final ChildDrawable[] array = mLayerState.mChildren;
         final int N = mLayerState.mNum;
         for (int i = 0; i < N; i++) {
-            array[i].mDrawable.setColorFilter(cf);
+            array[i].mDrawable.setColorFilter(colorFilter);
         }
     }
 
diff --git a/graphics/java/android/graphics/drawable/NinePatchDrawable.java b/graphics/java/android/graphics/drawable/NinePatchDrawable.java
index 617bf7c..487162e 100644
--- a/graphics/java/android/graphics/drawable/NinePatchDrawable.java
+++ b/graphics/java/android/graphics/drawable/NinePatchDrawable.java
@@ -338,12 +338,12 @@
     }
 
     @Override
-    public void setColorFilter(ColorFilter cf) {
-        if (mPaint == null && cf == null) {
+    public void setColorFilter(ColorFilter colorFilter) {
+        if (mPaint == null && colorFilter == null) {
             // Fast common case -- leave at no color filter.
             return;
         }
-        getPaint().setColorFilter(cf);
+        getPaint().setColorFilter(colorFilter);
         invalidateSelf();
     }
 
diff --git a/graphics/java/android/graphics/drawable/Ripple.java b/graphics/java/android/graphics/drawable/Ripple.java
deleted file mode 100644
index 138d73a..0000000
--- a/graphics/java/android/graphics/drawable/Ripple.java
+++ /dev/null
@@ -1,578 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.graphics.drawable;
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.animation.ObjectAnimator;
-import android.animation.TimeInterpolator;
-import android.graphics.Canvas;
-import android.graphics.CanvasProperty;
-import android.graphics.Paint;
-import android.graphics.Rect;
-import android.util.MathUtils;
-import android.view.HardwareCanvas;
-import android.view.RenderNodeAnimator;
-import android.view.animation.LinearInterpolator;
-
-import java.util.ArrayList;
-
-/**
- * Draws a Material ripple.
- */
-class Ripple {
-    private static final TimeInterpolator LINEAR_INTERPOLATOR = new LinearInterpolator();
-    private static final TimeInterpolator DECEL_INTERPOLATOR = new LogInterpolator();
-
-    private static final float GLOBAL_SPEED = 1.0f;
-    private static final float WAVE_TOUCH_DOWN_ACCELERATION = 1024.0f * GLOBAL_SPEED;
-    private static final float WAVE_TOUCH_UP_ACCELERATION = 3400.0f * GLOBAL_SPEED;
-    private static final float WAVE_OPACITY_DECAY_VELOCITY = 3.0f / GLOBAL_SPEED;
-
-    private static final long RIPPLE_ENTER_DELAY = 80;
-
-    // Hardware animators.
-    private final ArrayList<RenderNodeAnimator> mRunningAnimations = new ArrayList<>();
-
-    private final RippleDrawable mOwner;
-
-    /** Bounds used for computing max radius. */
-    private final Rect mBounds;
-
-    /** Maximum ripple radius. */
-    private float mOuterRadius;
-
-    /** Screen density used to adjust pixel-based velocities. */
-    private float mDensity;
-
-    private float mStartingX;
-    private float mStartingY;
-    private float mClampedStartingX;
-    private float mClampedStartingY;
-
-    // Hardware rendering properties.
-    private CanvasProperty<Paint> mPropPaint;
-    private CanvasProperty<Float> mPropRadius;
-    private CanvasProperty<Float> mPropX;
-    private CanvasProperty<Float> mPropY;
-
-    // Software animators.
-    private ObjectAnimator mAnimRadius;
-    private ObjectAnimator mAnimOpacity;
-    private ObjectAnimator mAnimX;
-    private ObjectAnimator mAnimY;
-
-    // Temporary paint used for creating canvas properties.
-    private Paint mTempPaint;
-
-    // Software rendering properties.
-    private float mOpacity = 1;
-    private float mOuterX;
-    private float mOuterY;
-
-    // Values used to tween between the start and end positions.
-    private float mTweenRadius = 0;
-    private float mTweenX = 0;
-    private float mTweenY = 0;
-
-    /** Whether we should be drawing hardware animations. */
-    private boolean mHardwareAnimating;
-
-    /** Whether we can use hardware acceleration for the exit animation. */
-    private boolean mCanUseHardware;
-
-    /** Whether we have an explicit maximum radius. */
-    private boolean mHasMaxRadius;
-
-    /** Whether we were canceled externally and should avoid self-removal. */
-    private boolean mCanceled;
-
-    private boolean mHasPendingHardwareExit;
-    private int mPendingRadiusDuration;
-    private int mPendingOpacityDuration;
-
-    /**
-     * Creates a new ripple.
-     */
-    public Ripple(RippleDrawable owner, Rect bounds, float startingX, float startingY) {
-        mOwner = owner;
-        mBounds = bounds;
-
-        mStartingX = startingX;
-        mStartingY = startingY;
-    }
-
-    public void setup(float maxRadius, float density) {
-        if (maxRadius >= 0) {
-            mHasMaxRadius = true;
-            mOuterRadius = maxRadius;
-        } else {
-            final float halfWidth = mBounds.width() / 2.0f;
-            final float halfHeight = mBounds.height() / 2.0f;
-            mOuterRadius = (float) Math.sqrt(halfWidth * halfWidth + halfHeight * halfHeight);
-        }
-
-        mOuterX = 0;
-        mOuterY = 0;
-        mDensity = density;
-
-        clampStartingPosition();
-    }
-
-    public boolean isHardwareAnimating() {
-        return mHardwareAnimating;
-    }
-
-    private void clampStartingPosition() {
-        final float cX = mBounds.exactCenterX();
-        final float cY = mBounds.exactCenterY();
-        final float dX = mStartingX - cX;
-        final float dY = mStartingY - cY;
-        final float r = mOuterRadius;
-        if (dX * dX + dY * dY > r * r) {
-            // Point is outside the circle, clamp to the circumference.
-            final double angle = Math.atan2(dY, dX);
-            mClampedStartingX = cX + (float) (Math.cos(angle) * r);
-            mClampedStartingY = cY + (float) (Math.sin(angle) * r);
-        } else {
-            mClampedStartingX = mStartingX;
-            mClampedStartingY = mStartingY;
-        }
-    }
-
-    public void onHotspotBoundsChanged() {
-        if (!mHasMaxRadius) {
-            final float halfWidth = mBounds.width() / 2.0f;
-            final float halfHeight = mBounds.height() / 2.0f;
-            mOuterRadius = (float) Math.sqrt(halfWidth * halfWidth + halfHeight * halfHeight);
-
-            clampStartingPosition();
-        }
-    }
-
-    public void setOpacity(float a) {
-        mOpacity = a;
-        invalidateSelf();
-    }
-
-    public float getOpacity() {
-        return mOpacity;
-    }
-
-    @SuppressWarnings("unused")
-    public void setRadiusGravity(float r) {
-        mTweenRadius = r;
-        invalidateSelf();
-    }
-
-    @SuppressWarnings("unused")
-    public float getRadiusGravity() {
-        return mTweenRadius;
-    }
-
-    @SuppressWarnings("unused")
-    public void setXGravity(float x) {
-        mTweenX = x;
-        invalidateSelf();
-    }
-
-    @SuppressWarnings("unused")
-    public float getXGravity() {
-        return mTweenX;
-    }
-
-    @SuppressWarnings("unused")
-    public void setYGravity(float y) {
-        mTweenY = y;
-        invalidateSelf();
-    }
-
-    @SuppressWarnings("unused")
-    public float getYGravity() {
-        return mTweenY;
-    }
-
-    /**
-     * Draws the ripple centered at (0,0) using the specified paint.
-     */
-    public boolean draw(Canvas c, Paint p) {
-        final boolean canUseHardware = c.isHardwareAccelerated();
-        if (mCanUseHardware != canUseHardware && mCanUseHardware) {
-            // We've switched from hardware to non-hardware mode. Panic.
-            cancelHardwareAnimations(true);
-        }
-        mCanUseHardware = canUseHardware;
-
-        final boolean hasContent;
-        if (canUseHardware && (mHardwareAnimating || mHasPendingHardwareExit)) {
-            hasContent = drawHardware((HardwareCanvas) c, p);
-        } else {
-            hasContent = drawSoftware(c, p);
-        }
-
-        return hasContent;
-    }
-
-    private boolean drawHardware(HardwareCanvas c, Paint p) {
-        if (mHasPendingHardwareExit) {
-            cancelHardwareAnimations(false);
-            startPendingHardwareExit(c, p);
-        }
-
-        c.drawCircle(mPropX, mPropY, mPropRadius, mPropPaint);
-
-        return true;
-    }
-
-    private boolean drawSoftware(Canvas c, Paint p) {
-        boolean hasContent = false;
-
-        final int paintAlpha = p.getAlpha();
-        final int alpha = (int) (paintAlpha * mOpacity + 0.5f);
-        final float radius = MathUtils.lerp(0, mOuterRadius, mTweenRadius);
-        if (alpha > 0 && radius > 0) {
-            final float x = MathUtils.lerp(
-                    mClampedStartingX - mBounds.exactCenterX(), mOuterX, mTweenX);
-            final float y = MathUtils.lerp(
-                    mClampedStartingY - mBounds.exactCenterY(), mOuterY, mTweenY);
-            p.setAlpha(alpha);
-            c.drawCircle(x, y, radius, p);
-            p.setAlpha(paintAlpha);
-            hasContent = true;
-        }
-
-        return hasContent;
-    }
-
-    /**
-     * Returns the maximum bounds of the ripple relative to the ripple center.
-     */
-    public void getBounds(Rect bounds) {
-        final int outerX = (int) mOuterX;
-        final int outerY = (int) mOuterY;
-        final int r = (int) mOuterRadius + 1;
-        bounds.set(outerX - r, outerY - r, outerX + r, outerY + r);
-    }
-
-    /**
-     * Specifies the starting position relative to the drawable bounds. No-op if
-     * the ripple has already entered.
-     */
-    public void move(float x, float y) {
-        mStartingX = x;
-        mStartingY = y;
-
-        clampStartingPosition();
-    }
-
-    /**
-     * Starts the enter animation.
-     */
-    public void enter() {
-        cancel();
-
-        final int radiusDuration = (int)
-                (1000 * Math.sqrt(mOuterRadius / WAVE_TOUCH_DOWN_ACCELERATION * mDensity) + 0.5);
-
-        final ObjectAnimator radius = ObjectAnimator.ofFloat(this, "radiusGravity", 1);
-        radius.setAutoCancel(true);
-        radius.setDuration(radiusDuration);
-        radius.setInterpolator(LINEAR_INTERPOLATOR);
-        radius.setStartDelay(RIPPLE_ENTER_DELAY);
-
-        final ObjectAnimator cX = ObjectAnimator.ofFloat(this, "xGravity", 1);
-        cX.setAutoCancel(true);
-        cX.setDuration(radiusDuration);
-        cX.setInterpolator(LINEAR_INTERPOLATOR);
-        cX.setStartDelay(RIPPLE_ENTER_DELAY);
-
-        final ObjectAnimator cY = ObjectAnimator.ofFloat(this, "yGravity", 1);
-        cY.setAutoCancel(true);
-        cY.setDuration(radiusDuration);
-        cY.setInterpolator(LINEAR_INTERPOLATOR);
-        cY.setStartDelay(RIPPLE_ENTER_DELAY);
-
-        mAnimRadius = radius;
-        mAnimX = cX;
-        mAnimY = cY;
-
-        // Enter animations always run on the UI thread, since it's unlikely
-        // that anything interesting is happening until the user lifts their
-        // finger.
-        radius.start();
-        cX.start();
-        cY.start();
-    }
-
-    /**
-     * Starts the exit animation.
-     */
-    public void exit() {
-        final float radius = MathUtils.lerp(0, mOuterRadius, mTweenRadius);
-        final float remaining;
-        if (mAnimRadius != null && mAnimRadius.isRunning()) {
-            remaining = mOuterRadius - radius;
-        } else {
-            remaining = mOuterRadius;
-        }
-
-        cancel();
-
-        final int radiusDuration = (int) (1000 * Math.sqrt(remaining / (WAVE_TOUCH_UP_ACCELERATION
-                + WAVE_TOUCH_DOWN_ACCELERATION) * mDensity) + 0.5);
-        final int opacityDuration = (int) (1000 * mOpacity / WAVE_OPACITY_DECAY_VELOCITY + 0.5f);
-
-        if (mCanUseHardware) {
-            createPendingHardwareExit(radiusDuration, opacityDuration);
-        } else {
-            exitSoftware(radiusDuration, opacityDuration);
-        }
-    }
-
-    private void createPendingHardwareExit(int radiusDuration, int opacityDuration) {
-        mHasPendingHardwareExit = true;
-        mPendingRadiusDuration = radiusDuration;
-        mPendingOpacityDuration = opacityDuration;
-
-        // The animation will start on the next draw().
-        invalidateSelf();
-    }
-
-    private void startPendingHardwareExit(HardwareCanvas c, Paint p) {
-        mHasPendingHardwareExit = false;
-
-        final int radiusDuration = mPendingRadiusDuration;
-        final int opacityDuration = mPendingOpacityDuration;
-
-        final float startX = MathUtils.lerp(
-                mClampedStartingX - mBounds.exactCenterX(), mOuterX, mTweenX);
-        final float startY = MathUtils.lerp(
-                mClampedStartingY - mBounds.exactCenterY(), mOuterY, mTweenY);
-
-        final float startRadius = MathUtils.lerp(0, mOuterRadius, mTweenRadius);
-        final Paint paint = getTempPaint(p);
-        paint.setAlpha((int) (paint.getAlpha() * mOpacity + 0.5f));
-        mPropPaint = CanvasProperty.createPaint(paint);
-        mPropRadius = CanvasProperty.createFloat(startRadius);
-        mPropX = CanvasProperty.createFloat(startX);
-        mPropY = CanvasProperty.createFloat(startY);
-
-        final RenderNodeAnimator radiusAnim = new RenderNodeAnimator(mPropRadius, mOuterRadius);
-        radiusAnim.setDuration(radiusDuration);
-        radiusAnim.setInterpolator(DECEL_INTERPOLATOR);
-        radiusAnim.setTarget(c);
-        radiusAnim.start();
-
-        final RenderNodeAnimator xAnim = new RenderNodeAnimator(mPropX, mOuterX);
-        xAnim.setDuration(radiusDuration);
-        xAnim.setInterpolator(DECEL_INTERPOLATOR);
-        xAnim.setTarget(c);
-        xAnim.start();
-
-        final RenderNodeAnimator yAnim = new RenderNodeAnimator(mPropY, mOuterY);
-        yAnim.setDuration(radiusDuration);
-        yAnim.setInterpolator(DECEL_INTERPOLATOR);
-        yAnim.setTarget(c);
-        yAnim.start();
-
-        final RenderNodeAnimator opacityAnim = new RenderNodeAnimator(mPropPaint,
-                RenderNodeAnimator.PAINT_ALPHA, 0);
-        opacityAnim.setDuration(opacityDuration);
-        opacityAnim.setInterpolator(LINEAR_INTERPOLATOR);
-        opacityAnim.addListener(mAnimationListener);
-        opacityAnim.setTarget(c);
-        opacityAnim.start();
-
-        mRunningAnimations.add(radiusAnim);
-        mRunningAnimations.add(opacityAnim);
-        mRunningAnimations.add(xAnim);
-        mRunningAnimations.add(yAnim);
-
-        mHardwareAnimating = true;
-
-        // Set up the software values to match the hardware end values.
-        mOpacity = 0;
-        mTweenX = 1;
-        mTweenY = 1;
-        mTweenRadius = 1;
-    }
-
-    /**
-     * Jump all animations to their end state. The caller is responsible for
-     * removing the ripple from the list of animating ripples.
-     */
-    public void jump() {
-        mCanceled = true;
-        endSoftwareAnimations();
-        cancelHardwareAnimations(true);
-        mCanceled = false;
-    }
-
-    private void endSoftwareAnimations() {
-        if (mAnimRadius != null) {
-            mAnimRadius.end();
-            mAnimRadius = null;
-        }
-
-        if (mAnimOpacity != null) {
-            mAnimOpacity.end();
-            mAnimOpacity = null;
-        }
-
-        if (mAnimX != null) {
-            mAnimX.end();
-            mAnimX = null;
-        }
-
-        if (mAnimY != null) {
-            mAnimY.end();
-            mAnimY = null;
-        }
-    }
-
-    private Paint getTempPaint(Paint original) {
-        if (mTempPaint == null) {
-            mTempPaint = new Paint();
-        }
-        mTempPaint.set(original);
-        return mTempPaint;
-    }
-
-    private void exitSoftware(int radiusDuration, int opacityDuration) {
-        final ObjectAnimator radiusAnim = ObjectAnimator.ofFloat(this, "radiusGravity", 1);
-        radiusAnim.setAutoCancel(true);
-        radiusAnim.setDuration(radiusDuration);
-        radiusAnim.setInterpolator(DECEL_INTERPOLATOR);
-
-        final ObjectAnimator xAnim = ObjectAnimator.ofFloat(this, "xGravity", 1);
-        xAnim.setAutoCancel(true);
-        xAnim.setDuration(radiusDuration);
-        xAnim.setInterpolator(DECEL_INTERPOLATOR);
-
-        final ObjectAnimator yAnim = ObjectAnimator.ofFloat(this, "yGravity", 1);
-        yAnim.setAutoCancel(true);
-        yAnim.setDuration(radiusDuration);
-        yAnim.setInterpolator(DECEL_INTERPOLATOR);
-
-        final ObjectAnimator opacityAnim = ObjectAnimator.ofFloat(this, "opacity", 0);
-        opacityAnim.setAutoCancel(true);
-        opacityAnim.setDuration(opacityDuration);
-        opacityAnim.setInterpolator(LINEAR_INTERPOLATOR);
-        opacityAnim.addListener(mAnimationListener);
-
-        mAnimRadius = radiusAnim;
-        mAnimOpacity = opacityAnim;
-        mAnimX = xAnim;
-        mAnimY = yAnim;
-
-        radiusAnim.start();
-        opacityAnim.start();
-        xAnim.start();
-        yAnim.start();
-    }
-
-    /**
-     * Cancels all animations. The caller is responsible for removing
-     * the ripple from the list of animating ripples.
-     */
-    public void cancel() {
-        mCanceled = true;
-        cancelSoftwareAnimations();
-        cancelHardwareAnimations(false);
-        mCanceled = false;
-    }
-
-    private void cancelSoftwareAnimations() {
-        if (mAnimRadius != null) {
-            mAnimRadius.cancel();
-            mAnimRadius = null;
-        }
-
-        if (mAnimOpacity != null) {
-            mAnimOpacity.cancel();
-            mAnimOpacity = null;
-        }
-
-        if (mAnimX != null) {
-            mAnimX.cancel();
-            mAnimX = null;
-        }
-
-        if (mAnimY != null) {
-            mAnimY.cancel();
-            mAnimY = null;
-        }
-    }
-
-    /**
-     * Cancels any running hardware animations.
-     */
-    private void cancelHardwareAnimations(boolean jumpToEnd) {
-        final ArrayList<RenderNodeAnimator> runningAnimations = mRunningAnimations;
-        final int N = runningAnimations.size();
-        for (int i = 0; i < N; i++) {
-            if (jumpToEnd) {
-                runningAnimations.get(i).end();
-            } else {
-                runningAnimations.get(i).cancel();
-            }
-        }
-        runningAnimations.clear();
-
-        if (mHasPendingHardwareExit) {
-            // If we had a pending hardware exit, jump to the end state.
-            mHasPendingHardwareExit = false;
-
-            if (jumpToEnd) {
-                mOpacity = 0;
-                mTweenX = 1;
-                mTweenY = 1;
-                mTweenRadius = 1;
-            }
-        }
-
-        mHardwareAnimating = false;
-    }
-
-    private void removeSelf() {
-        // The owner will invalidate itself.
-        if (!mCanceled) {
-            mOwner.removeRipple(this);
-        }
-    }
-
-    private void invalidateSelf() {
-        mOwner.invalidateSelf();
-    }
-
-    private final AnimatorListenerAdapter mAnimationListener = new AnimatorListenerAdapter() {
-        @Override
-        public void onAnimationEnd(Animator animation) {
-            removeSelf();
-        }
-    };
-
-    /**
-    * Interpolator with a smooth log deceleration
-    */
-    private static final class LogInterpolator implements TimeInterpolator {
-        @Override
-        public float getInterpolation(float input) {
-            return 1 - (float) Math.pow(400, -input * 1.4);
-        }
-    }
-}
diff --git a/graphics/java/android/graphics/drawable/RippleBackground.java b/graphics/java/android/graphics/drawable/RippleBackground.java
index ef35289..6d1b1fe 100644
--- a/graphics/java/android/graphics/drawable/RippleBackground.java
+++ b/graphics/java/android/graphics/drawable/RippleBackground.java
@@ -17,432 +17,162 @@
 package android.graphics.drawable;
 
 import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
+import android.animation.AnimatorSet;
 import android.animation.ObjectAnimator;
 import android.animation.TimeInterpolator;
 import android.graphics.Canvas;
 import android.graphics.CanvasProperty;
-import android.graphics.Color;
 import android.graphics.Paint;
 import android.graphics.Rect;
-import android.util.MathUtils;
+import android.util.FloatProperty;
 import android.view.HardwareCanvas;
 import android.view.RenderNodeAnimator;
 import android.view.animation.LinearInterpolator;
 
-import java.util.ArrayList;
-
 /**
- * Draws a Material ripple.
+ * Draws a ripple background.
  */
-class RippleBackground {
+class RippleBackground extends RippleComponent {
     private static final TimeInterpolator LINEAR_INTERPOLATOR = new LinearInterpolator();
 
-    private static final float GLOBAL_SPEED = 1.0f;
-    private static final float WAVE_OPACITY_DECAY_VELOCITY = 3.0f / GLOBAL_SPEED;
-    private static final float WAVE_OUTER_OPACITY_EXIT_VELOCITY_MAX = 4.5f * GLOBAL_SPEED;
-    private static final float WAVE_OUTER_OPACITY_EXIT_VELOCITY_MIN = 1.5f * GLOBAL_SPEED;
-    private static final float WAVE_OUTER_SIZE_INFLUENCE_MAX = 200f;
-    private static final float WAVE_OUTER_SIZE_INFLUENCE_MIN = 40f;
-
-    private static final int ENTER_DURATION = 667;
-    private static final int ENTER_DURATION_FAST = 100;
-
-    // Hardware animators.
-    private final ArrayList<RenderNodeAnimator> mRunningAnimations = new ArrayList<>();
-
-    private final RippleDrawable mOwner;
-
-    /** Bounds used for computing max radius. */
-    private final Rect mBounds;
-
-    /** ARGB color for drawing this ripple. */
-    private int mColor;
-
-    /** Maximum ripple radius. */
-    private float mOuterRadius;
-
-    /** Screen density used to adjust pixel-based velocities. */
-    private float mDensity;
+    private static final int OPACITY_ENTER_DURATION = 600;
+    private static final int OPACITY_ENTER_DURATION_FAST = 120;
+    private static final int OPACITY_EXIT_DURATION = 480;
 
     // Hardware rendering properties.
-    private CanvasProperty<Paint> mPropOuterPaint;
-    private CanvasProperty<Float> mPropOuterRadius;
-    private CanvasProperty<Float> mPropOuterX;
-    private CanvasProperty<Float> mPropOuterY;
-
-    // Software animators.
-    private ObjectAnimator mAnimOuterOpacity;
-
-    // Temporary paint used for creating canvas properties.
-    private Paint mTempPaint;
+    private CanvasProperty<Paint> mPropPaint;
+    private CanvasProperty<Float> mPropRadius;
+    private CanvasProperty<Float> mPropX;
+    private CanvasProperty<Float> mPropY;
 
     // Software rendering properties.
-    private float mOuterOpacity = 0;
-    private float mOuterX;
-    private float mOuterY;
+    private float mOpacity = 0;
 
-    /** Whether we should be drawing hardware animations. */
-    private boolean mHardwareAnimating;
-
-    /** Whether we can use hardware acceleration for the exit animation. */
-    private boolean mCanUseHardware;
-
-    /** Whether we have an explicit maximum radius. */
-    private boolean mHasMaxRadius;
-
-    private boolean mHasPendingHardwareExit;
-    private int mPendingOpacityDuration;
-    private int mPendingInflectionDuration;
-    private int mPendingInflectionOpacity;
-
-    /**
-     * Creates a new ripple.
-     */
     public RippleBackground(RippleDrawable owner, Rect bounds) {
-        mOwner = owner;
-        mBounds = bounds;
+        super(owner, bounds);
     }
 
-    public void setup(float maxRadius, float density) {
-        if (maxRadius >= 0) {
-            mHasMaxRadius = true;
-            mOuterRadius = maxRadius;
-        } else {
-            final float halfWidth = mBounds.width() / 2.0f;
-            final float halfHeight = mBounds.height() / 2.0f;
-            mOuterRadius = (float) Math.sqrt(halfWidth * halfWidth + halfHeight * halfHeight);
-        }
-
-        mOuterX = 0;
-        mOuterY = 0;
-        mDensity = density;
+    public boolean isVisible() {
+        return mOpacity > 0 || isHardwareAnimating();
     }
 
-    public void onHotspotBoundsChanged() {
-        if (!mHasMaxRadius) {
-            final float halfWidth = mBounds.width() / 2.0f;
-            final float halfHeight = mBounds.height() / 2.0f;
-            mOuterRadius = (float) Math.sqrt(halfWidth * halfWidth + halfHeight * halfHeight);
-        }
-    }
-
-    @SuppressWarnings("unused")
-    public void setOuterOpacity(float a) {
-        mOuterOpacity = a;
-        invalidateSelf();
-    }
-
-    @SuppressWarnings("unused")
-    public float getOuterOpacity() {
-        return mOuterOpacity;
-    }
-
-    /**
-     * Draws the ripple centered at (0,0) using the specified paint.
-     */
-    public boolean draw(Canvas c, Paint p) {
-        mColor = p.getColor();
-
-        final boolean canUseHardware = c.isHardwareAccelerated();
-        if (mCanUseHardware != canUseHardware && mCanUseHardware) {
-            // We've switched from hardware to non-hardware mode. Panic.
-            cancelHardwareAnimations(true);
-        }
-        mCanUseHardware = canUseHardware;
-
-        final boolean hasContent;
-        if (canUseHardware && (mHardwareAnimating || mHasPendingHardwareExit)) {
-            hasContent = drawHardware((HardwareCanvas) c, p);
-        } else {
-            hasContent = drawSoftware(c, p);
-        }
-
-        return hasContent;
-    }
-
-    public boolean shouldDraw() {
-        return (mCanUseHardware && mHardwareAnimating) || (mOuterOpacity > 0 && mOuterRadius > 0);
-    }
-
-    private boolean drawHardware(HardwareCanvas c, Paint p) {
-        if (mHasPendingHardwareExit) {
-            cancelHardwareAnimations(false);
-            startPendingHardwareExit(c, p);
-        }
-
-        c.drawCircle(mPropOuterX, mPropOuterY, mPropOuterRadius, mPropOuterPaint);
-
-        return true;
-    }
-
-    private boolean drawSoftware(Canvas c, Paint p) {
+    @Override
+    protected boolean drawSoftware(Canvas c, Paint p) {
         boolean hasContent = false;
 
-        final int paintAlpha = p.getAlpha();
-        final int alpha = (int) (paintAlpha * mOuterOpacity + 0.5f);
-        final float radius = mOuterRadius;
-        if (alpha > 0 && radius > 0) {
+        final int origAlpha = p.getAlpha();
+        final int alpha = (int) (origAlpha * mOpacity + 0.5f);
+        if (alpha > 0) {
             p.setAlpha(alpha);
-            c.drawCircle(mOuterX, mOuterY, radius, p);
-            p.setAlpha(paintAlpha);
+            c.drawCircle(0, 0, mTargetRadius, p);
+            p.setAlpha(origAlpha);
             hasContent = true;
         }
 
         return hasContent;
     }
 
-    /**
-     * Returns the maximum bounds of the ripple relative to the ripple center.
-     */
-    public void getBounds(Rect bounds) {
-        final int outerX = (int) mOuterX;
-        final int outerY = (int) mOuterY;
-        final int r = (int) mOuterRadius + 1;
-        bounds.set(outerX - r, outerY - r, outerX + r, outerY + r);
+    @Override
+    protected boolean drawHardware(HardwareCanvas c) {
+        c.drawCircle(mPropX, mPropY, mPropRadius, mPropPaint);
+        return true;
     }
 
-    /**
-     * Starts the enter animation.
-     */
-    public void enter(boolean fast) {
-        cancel();
+    @Override
+    protected Animator createSoftwareEnter(boolean fast) {
+        // Linear enter based on current opacity.
+        final int maxDuration = fast ? OPACITY_ENTER_DURATION_FAST : OPACITY_ENTER_DURATION;
+        final int duration = (int) ((1 - mOpacity) * maxDuration);
 
-        final ObjectAnimator opacity = ObjectAnimator.ofFloat(this, "outerOpacity", 0, 1);
+        final ObjectAnimator opacity = ObjectAnimator.ofFloat(this, OPACITY, 1);
         opacity.setAutoCancel(true);
-        opacity.setDuration(fast ? ENTER_DURATION_FAST : ENTER_DURATION);
+        opacity.setDuration(duration);
         opacity.setInterpolator(LINEAR_INTERPOLATOR);
 
-        mAnimOuterOpacity = opacity;
-
-        // Enter animations always run on the UI thread, since it's unlikely
-        // that anything interesting is happening until the user lifts their
-        // finger.
-        opacity.start();
+        return opacity;
     }
 
-    /**
-     * Starts the exit animation.
-     */
-    public void exit() {
-        cancel();
+    @Override
+    protected Animator createSoftwareExit() {
+        final AnimatorSet set = new AnimatorSet();
 
-        // Scale the outer max opacity and opacity velocity based
-        // on the size of the outer radius.
-        final int opacityDuration = (int) (1000 / WAVE_OPACITY_DECAY_VELOCITY + 0.5f);
-        final float outerSizeInfluence = MathUtils.constrain(
-                (mOuterRadius - WAVE_OUTER_SIZE_INFLUENCE_MIN * mDensity)
-                / (WAVE_OUTER_SIZE_INFLUENCE_MAX * mDensity), 0, 1);
-        final float outerOpacityVelocity = MathUtils.lerp(WAVE_OUTER_OPACITY_EXIT_VELOCITY_MIN,
-                WAVE_OUTER_OPACITY_EXIT_VELOCITY_MAX, outerSizeInfluence);
+        // Linear exit after enter is completed.
+        final ObjectAnimator exit = ObjectAnimator.ofFloat(this, RippleBackground.OPACITY, 0);
+        exit.setInterpolator(LINEAR_INTERPOLATOR);
+        exit.setDuration(OPACITY_EXIT_DURATION);
+        exit.setAutoCancel(true);
 
-        // Determine at what time the inner and outer opacity intersect.
-        // inner(t) = mOpacity - t * WAVE_OPACITY_DECAY_VELOCITY / 1000
-        // outer(t) = mOuterOpacity + t * WAVE_OUTER_OPACITY_VELOCITY / 1000
-        final int inflectionDuration = Math.max(0, (int) (1000 * (1 - mOuterOpacity)
-                / (WAVE_OPACITY_DECAY_VELOCITY + outerOpacityVelocity) + 0.5f));
-        final int inflectionOpacity = (int) (Color.alpha(mColor) * (mOuterOpacity
-                + inflectionDuration * outerOpacityVelocity * outerSizeInfluence / 1000) + 0.5f);
+        final AnimatorSet.Builder builder = set.play(exit);
 
-        if (mCanUseHardware) {
-            createPendingHardwareExit(opacityDuration, inflectionDuration, inflectionOpacity);
-        } else {
-            exitSoftware(opacityDuration, inflectionDuration, inflectionOpacity);
+        // Linear "fast" enter based on current opacity.
+        final int fastEnterDuration = (int) ((1 - mOpacity) * OPACITY_ENTER_DURATION_FAST);
+        if (fastEnterDuration > 0) {
+            final ObjectAnimator enter = ObjectAnimator.ofFloat(this, RippleBackground.OPACITY, 1);
+            enter.setInterpolator(LINEAR_INTERPOLATOR);
+            enter.setDuration(fastEnterDuration);
+            enter.setAutoCancel(true);
+
+            builder.after(enter);
+        }
+
+        return set;
+    }
+
+    @Override
+    protected RenderNodeAnimatorSet createHardwareExit(Paint p) {
+        final RenderNodeAnimatorSet set = new RenderNodeAnimatorSet();
+
+        final int targetAlpha = p.getAlpha();
+        final int currentAlpha = (int) (mOpacity * targetAlpha + 0.5f);
+        p.setAlpha(currentAlpha);
+
+        mPropPaint = CanvasProperty.createPaint(p);
+        mPropRadius = CanvasProperty.createFloat(mTargetRadius);
+        mPropX = CanvasProperty.createFloat(0);
+        mPropY = CanvasProperty.createFloat(0);
+
+        // Linear "fast" enter based on current opacity.
+        final int fastEnterDuration = (int) ((1 - mOpacity) * OPACITY_ENTER_DURATION_FAST);
+        if (fastEnterDuration > 0) {
+            final RenderNodeAnimator enter = new RenderNodeAnimator(
+                    mPropPaint, RenderNodeAnimator.PAINT_ALPHA, targetAlpha);
+            enter.setInterpolator(LINEAR_INTERPOLATOR);
+            enter.setDuration(fastEnterDuration);
+            set.add(enter);
+        }
+
+        // Linear exit after enter is completed.
+        final RenderNodeAnimator exit = new RenderNodeAnimator(
+                mPropPaint, RenderNodeAnimator.PAINT_ALPHA, 0);
+        exit.setInterpolator(LINEAR_INTERPOLATOR);
+        exit.setDuration(OPACITY_EXIT_DURATION);
+        exit.setStartDelay(fastEnterDuration);
+        set.add(exit);
+
+        return set;
+    }
+
+    @Override
+    protected void jumpValuesToExit() {
+        mOpacity = 0;
+    }
+
+    private static abstract class BackgroundProperty extends FloatProperty<RippleBackground> {
+        public BackgroundProperty(String name) {
+            super(name);
         }
     }
 
-    private void createPendingHardwareExit(
-            int opacityDuration, int inflectionDuration, int inflectionOpacity) {
-        mHasPendingHardwareExit = true;
-        mPendingOpacityDuration = opacityDuration;
-        mPendingInflectionDuration = inflectionDuration;
-        mPendingInflectionOpacity = inflectionOpacity;
-
-        // The animation will start on the next draw().
-        invalidateSelf();
-    }
-
-    private void startPendingHardwareExit(HardwareCanvas c, Paint p) {
-        mHasPendingHardwareExit = false;
-
-        final int opacityDuration = mPendingOpacityDuration;
-        final int inflectionDuration = mPendingInflectionDuration;
-        final int inflectionOpacity = mPendingInflectionOpacity;
-
-        final Paint outerPaint = getTempPaint(p);
-        outerPaint.setAlpha((int) (outerPaint.getAlpha() * mOuterOpacity + 0.5f));
-        mPropOuterPaint = CanvasProperty.createPaint(outerPaint);
-        mPropOuterRadius = CanvasProperty.createFloat(mOuterRadius);
-        mPropOuterX = CanvasProperty.createFloat(mOuterX);
-        mPropOuterY = CanvasProperty.createFloat(mOuterY);
-
-        final RenderNodeAnimator outerOpacityAnim;
-        if (inflectionDuration > 0) {
-            // Outer opacity continues to increase for a bit.
-            outerOpacityAnim = new RenderNodeAnimator(mPropOuterPaint,
-                    RenderNodeAnimator.PAINT_ALPHA, inflectionOpacity);
-            outerOpacityAnim.setDuration(inflectionDuration);
-            outerOpacityAnim.setInterpolator(LINEAR_INTERPOLATOR);
-
-            // Chain the outer opacity exit animation.
-            final int outerDuration = opacityDuration - inflectionDuration;
-            if (outerDuration > 0) {
-                final RenderNodeAnimator outerFadeOutAnim = new RenderNodeAnimator(
-                        mPropOuterPaint, RenderNodeAnimator.PAINT_ALPHA, 0);
-                outerFadeOutAnim.setDuration(outerDuration);
-                outerFadeOutAnim.setInterpolator(LINEAR_INTERPOLATOR);
-                outerFadeOutAnim.setStartDelay(inflectionDuration);
-                outerFadeOutAnim.setStartValue(inflectionOpacity);
-                outerFadeOutAnim.addListener(mAnimationListener);
-                outerFadeOutAnim.setTarget(c);
-                outerFadeOutAnim.start();
-
-                mRunningAnimations.add(outerFadeOutAnim);
-            } else {
-                outerOpacityAnim.addListener(mAnimationListener);
-            }
-        } else {
-            outerOpacityAnim = new RenderNodeAnimator(
-                    mPropOuterPaint, RenderNodeAnimator.PAINT_ALPHA, 0);
-            outerOpacityAnim.setInterpolator(LINEAR_INTERPOLATOR);
-            outerOpacityAnim.setDuration(opacityDuration);
-            outerOpacityAnim.addListener(mAnimationListener);
-        }
-
-        outerOpacityAnim.setTarget(c);
-        outerOpacityAnim.start();
-
-        mRunningAnimations.add(outerOpacityAnim);
-
-        mHardwareAnimating = true;
-
-        // Set up the software values to match the hardware end values.
-        mOuterOpacity = 0;
-    }
-
-    /**
-     * Jump all animations to their end state. The caller is responsible for
-     * removing the ripple from the list of animating ripples.
-     */
-    public void jump() {
-        endSoftwareAnimations();
-        cancelHardwareAnimations(true);
-    }
-
-    private void endSoftwareAnimations() {
-        if (mAnimOuterOpacity != null) {
-            mAnimOuterOpacity.end();
-            mAnimOuterOpacity = null;
-        }
-    }
-
-    private Paint getTempPaint(Paint original) {
-        if (mTempPaint == null) {
-            mTempPaint = new Paint();
-        }
-        mTempPaint.set(original);
-        return mTempPaint;
-    }
-
-    private void exitSoftware(int opacityDuration, int inflectionDuration, int inflectionOpacity) {
-        final ObjectAnimator outerOpacityAnim;
-        if (inflectionDuration > 0) {
-            // Outer opacity continues to increase for a bit.
-            outerOpacityAnim = ObjectAnimator.ofFloat(this,
-                    "outerOpacity", inflectionOpacity / 255.0f);
-            outerOpacityAnim.setAutoCancel(true);
-            outerOpacityAnim.setDuration(inflectionDuration);
-            outerOpacityAnim.setInterpolator(LINEAR_INTERPOLATOR);
-
-            // Chain the outer opacity exit animation.
-            final int outerDuration = opacityDuration - inflectionDuration;
-            if (outerDuration > 0) {
-                outerOpacityAnim.addListener(new AnimatorListenerAdapter() {
-                    @Override
-                    public void onAnimationEnd(Animator animation) {
-                        final ObjectAnimator outerFadeOutAnim = ObjectAnimator.ofFloat(
-                                RippleBackground.this, "outerOpacity", 0);
-                        outerFadeOutAnim.setAutoCancel(true);
-                        outerFadeOutAnim.setDuration(outerDuration);
-                        outerFadeOutAnim.setInterpolator(LINEAR_INTERPOLATOR);
-                        outerFadeOutAnim.addListener(mAnimationListener);
-
-                        mAnimOuterOpacity = outerFadeOutAnim;
-
-                        outerFadeOutAnim.start();
-                    }
-
-                    @Override
-                    public void onAnimationCancel(Animator animation) {
-                        animation.removeListener(this);
-                    }
-                });
-            } else {
-                outerOpacityAnim.addListener(mAnimationListener);
-            }
-        } else {
-            outerOpacityAnim = ObjectAnimator.ofFloat(this, "outerOpacity", 0);
-            outerOpacityAnim.setAutoCancel(true);
-            outerOpacityAnim.setDuration(opacityDuration);
-            outerOpacityAnim.addListener(mAnimationListener);
-        }
-
-        mAnimOuterOpacity = outerOpacityAnim;
-
-        outerOpacityAnim.start();
-    }
-
-    /**
-     * Cancel all animations. The caller is responsible for removing
-     * the ripple from the list of animating ripples.
-     */
-    public void cancel() {
-        cancelSoftwareAnimations();
-        cancelHardwareAnimations(false);
-    }
-
-    private void cancelSoftwareAnimations() {
-        if (mAnimOuterOpacity != null) {
-            mAnimOuterOpacity.cancel();
-            mAnimOuterOpacity = null;
-        }
-    }
-
-    /**
-     * Cancels any running hardware animations.
-     */
-    private void cancelHardwareAnimations(boolean jumpToEnd) {
-        final ArrayList<RenderNodeAnimator> runningAnimations = mRunningAnimations;
-        final int N = runningAnimations.size();
-        for (int i = 0; i < N; i++) {
-            if (jumpToEnd) {
-                runningAnimations.get(i).end();
-            } else {
-                runningAnimations.get(i).cancel();
-            }
-        }
-        runningAnimations.clear();
-
-        if (mHasPendingHardwareExit) {
-            // If we had a pending hardware exit, jump to the end state.
-            mHasPendingHardwareExit = false;
-
-            if (jumpToEnd) {
-                mOuterOpacity = 0;
-            }
-        }
-
-        mHardwareAnimating = false;
-    }
-
-    private void invalidateSelf() {
-        mOwner.invalidateSelf();
-    }
-
-    private final AnimatorListenerAdapter mAnimationListener = new AnimatorListenerAdapter() {
+    private static final BackgroundProperty OPACITY = new BackgroundProperty("opacity") {
         @Override
-        public void onAnimationEnd(Animator animation) {
-            mHardwareAnimating = false;
+        public void setValue(RippleBackground object, float value) {
+            object.mOpacity = value;
+            object.invalidateSelf();
+        }
+
+        @Override
+        public Float get(RippleBackground object) {
+            return object.mOpacity;
         }
     };
 }
diff --git a/graphics/java/android/graphics/drawable/RippleComponent.java b/graphics/java/android/graphics/drawable/RippleComponent.java
new file mode 100644
index 0000000..79407f7
--- /dev/null
+++ b/graphics/java/android/graphics/drawable/RippleComponent.java
@@ -0,0 +1,326 @@
+/*
+ * 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.graphics.drawable;
+
+import android.animation.Animator;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.Rect;
+import android.view.HardwareCanvas;
+import android.view.RenderNodeAnimator;
+
+import java.util.ArrayList;
+
+/**
+ * Abstract class that handles hardware/software hand-off and lifecycle for
+ * animated ripple foreground and background components.
+ */
+abstract class RippleComponent {
+    private final RippleDrawable mOwner;
+
+    /** Bounds used for computing max radius. May be modified by the owner. */
+    protected final Rect mBounds;
+
+    /** Whether we can use hardware acceleration for the exit animation. */
+    private boolean mHasHardwareCanvas;
+
+    private boolean mHasPendingHardwareAnimator;
+    private RenderNodeAnimatorSet mHardwareAnimator;
+
+    private Animator mSoftwareAnimator;
+
+    /** Whether we have an explicit maximum radius. */
+    private boolean mHasMaxRadius;
+
+    /** How big this ripple should be when fully entered. */
+    protected float mTargetRadius;
+
+    /** Screen density used to adjust pixel-based constants. */
+    protected float mDensity;
+
+    public RippleComponent(RippleDrawable owner, Rect bounds) {
+        mOwner = owner;
+        mBounds = bounds;
+    }
+
+    public final void setup(float maxRadius, float density) {
+        if (maxRadius >= 0) {
+            mHasMaxRadius = true;
+            mTargetRadius = maxRadius;
+        } else {
+            final float halfWidth = mBounds.width() / 2.0f;
+            final float halfHeight = mBounds.height() / 2.0f;
+            mTargetRadius = (float) Math.sqrt(halfWidth * halfWidth + halfHeight * halfHeight);
+        }
+
+        mDensity = density;
+
+        onTargetRadiusChanged(mTargetRadius);
+    }
+
+    /**
+     * Starts a ripple enter animation.
+     *
+     * @param fast whether the ripple should enter quickly
+     */
+    public final void enter(boolean fast) {
+        cancel();
+
+        mSoftwareAnimator = createSoftwareEnter(fast);
+
+        if (mSoftwareAnimator != null) {
+            mSoftwareAnimator.start();
+        }
+    }
+
+    /**
+     * Starts a ripple exit animation.
+     */
+    public final void exit() {
+        cancel();
+
+        if (mHasHardwareCanvas) {
+            // We don't have access to a canvas here, but we expect one on the
+            // next frame. We'll start the render thread animation then.
+            mHasPendingHardwareAnimator = true;
+
+            // Request another frame.
+            invalidateSelf();
+        } else {
+            mSoftwareAnimator = createSoftwareExit();
+            mSoftwareAnimator.start();
+        }
+    }
+
+    /**
+     * Cancels all animations. Software animation values are left in the
+     * current state, while hardware animation values jump to the end state.
+     */
+    public void cancel() {
+        cancelSoftwareAnimations();
+        endHardwareAnimations();
+    }
+
+    /**
+     * Ends all animations, jumping values to the end state.
+     */
+    public void end() {
+        endSoftwareAnimations();
+        endHardwareAnimations();
+    }
+
+    /**
+     * Draws the ripple to the canvas, inheriting the paint's color and alpha
+     * properties.
+     *
+     * @param c the canvas to which the ripple should be drawn
+     * @param p the paint used to draw the ripple
+     * @return {@code true} if something was drawn, {@code false} otherwise
+     */
+    public boolean draw(Canvas c, Paint p) {
+        final boolean hasHardwareCanvas = c.isHardwareAccelerated()
+                && c instanceof HardwareCanvas;
+        if (mHasHardwareCanvas != hasHardwareCanvas) {
+            mHasHardwareCanvas = hasHardwareCanvas;
+
+            if (!hasHardwareCanvas) {
+                // We've switched from hardware to non-hardware mode. Panic.
+                endHardwareAnimations();
+            }
+        }
+
+        if (hasHardwareCanvas) {
+            final HardwareCanvas hw = (HardwareCanvas) c;
+            startPendingAnimation(hw, p);
+
+            if (mHardwareAnimator != null) {
+                return drawHardware(hw);
+            }
+        }
+
+        return drawSoftware(c, p);
+    }
+
+    /**
+     * Populates {@code bounds} with the maximum drawing bounds of the ripple
+     * relative to its center. The resulting bounds should be translated into
+     * parent drawable coordinates before use.
+     *
+     * @param bounds the rect to populate with drawing bounds
+     */
+    public void getBounds(Rect bounds) {
+        final int r = (int) Math.ceil(mTargetRadius);
+        bounds.set(-r, -r, r, r);
+    }
+
+    /**
+     * Starts the pending hardware animation, if available.
+     *
+     * @param hw hardware canvas on which the animation should draw
+     * @param p paint whose properties the hardware canvas should use
+     */
+    private void startPendingAnimation(HardwareCanvas hw, Paint p) {
+        if (mHasPendingHardwareAnimator) {
+            mHasPendingHardwareAnimator = false;
+
+            mHardwareAnimator = createHardwareExit(new Paint(p));
+            mHardwareAnimator.start(hw);
+
+            // Preemptively jump the software values to the end state now that
+            // the hardware exit has read whatever values it needs.
+            jumpValuesToExit();
+        }
+    }
+
+    /**
+     * Cancels any current software animations, leaving the values in their
+     * current state.
+     */
+    private void cancelSoftwareAnimations() {
+        if (mSoftwareAnimator != null) {
+            mSoftwareAnimator.cancel();
+        }
+    }
+
+    /**
+     * Ends any current software animations, jumping the values to their end
+     * state.
+     */
+    private void endSoftwareAnimations() {
+        if (mSoftwareAnimator != null) {
+            mSoftwareAnimator.end();
+        }
+    }
+
+    /**
+     * Ends any pending or current hardware animations.
+     * <p>
+     * Hardware animations can't synchronize values back to the software
+     * thread, so there is no "cancel" equivalent.
+     */
+    private void endHardwareAnimations() {
+        if (mHardwareAnimator != null) {
+            mHardwareAnimator.end();
+            mHardwareAnimator = null;
+        }
+
+        if (mHasPendingHardwareAnimator) {
+            mHasPendingHardwareAnimator = false;
+        }
+    }
+
+    protected final void invalidateSelf() {
+        mOwner.invalidateSelf();
+    }
+
+    protected final boolean isHardwareAnimating() {
+        return mHardwareAnimator != null && mHardwareAnimator.isRunning()
+                || mHasPendingHardwareAnimator;
+    }
+
+    protected final void onHotspotBoundsChanged() {
+        if (!mHasMaxRadius) {
+            final float halfWidth = mBounds.width() / 2.0f;
+            final float halfHeight = mBounds.height() / 2.0f;
+            final float targetRadius = (float) Math.sqrt(halfWidth * halfWidth
+                    + halfHeight * halfHeight);
+
+            onTargetRadiusChanged(targetRadius);
+        }
+    }
+
+    /**
+     * Called when the target radius changes.
+     *
+     * @param targetRadius the new target radius
+     */
+    protected void onTargetRadiusChanged(float targetRadius) {
+        // Stub.
+    }
+
+    protected abstract Animator createSoftwareEnter(boolean fast);
+
+    protected abstract Animator createSoftwareExit();
+
+    protected abstract RenderNodeAnimatorSet createHardwareExit(Paint p);
+
+    protected abstract boolean drawHardware(HardwareCanvas c);
+
+    protected abstract boolean drawSoftware(Canvas c, Paint p);
+
+    /**
+     * Called when the hardware exit is cancelled. Jumps software values to end
+     * state to ensure that software and hardware values are synchronized.
+     */
+    protected abstract void jumpValuesToExit();
+
+    public static class RenderNodeAnimatorSet {
+        private final ArrayList<RenderNodeAnimator> mAnimators = new ArrayList<>();
+
+        public void add(RenderNodeAnimator anim) {
+            mAnimators.add(anim);
+        }
+
+        public void clear() {
+            mAnimators.clear();
+        }
+
+        public void start(HardwareCanvas target) {
+            if (target == null) {
+                throw new IllegalArgumentException("Hardware canvas must be non-null");
+            }
+
+            final ArrayList<RenderNodeAnimator> animators = mAnimators;
+            final int N = animators.size();
+            for (int i = 0; i < N; i++) {
+                final RenderNodeAnimator anim = animators.get(i);
+                anim.setTarget(target);
+                anim.start();
+            }
+        }
+
+        public void cancel() {
+            final ArrayList<RenderNodeAnimator> animators = mAnimators;
+            final int N = animators.size();
+            for (int i = 0; i < N; i++) {
+                final RenderNodeAnimator anim = animators.get(i);
+                anim.cancel();
+            }
+        }
+
+        public void end() {
+            final ArrayList<RenderNodeAnimator> animators = mAnimators;
+            final int N = animators.size();
+            for (int i = 0; i < N; i++) {
+                final RenderNodeAnimator anim = animators.get(i);
+                anim.end();
+            }
+        }
+
+        public boolean isRunning() {
+            final ArrayList<RenderNodeAnimator> animators = mAnimators;
+            final int N = animators.size();
+            for (int i = 0; i < N; i++) {
+                final RenderNodeAnimator anim = animators.get(i);
+                if (anim.isRunning()) {
+                    return true;
+                }
+            }
+            return false;
+        }
+    }
+}
diff --git a/graphics/java/android/graphics/drawable/RippleDrawable.java b/graphics/java/android/graphics/drawable/RippleDrawable.java
index c6ea91d..66160c0 100644
--- a/graphics/java/android/graphics/drawable/RippleDrawable.java
+++ b/graphics/java/android/graphics/drawable/RippleDrawable.java
@@ -137,7 +137,7 @@
     private boolean mBackgroundActive;
 
     /** The current ripple. May be actively animating or pending entry. */
-    private Ripple mRipple;
+    private RippleForeground mRipple;
 
     /** Whether we expect to draw a ripple when visible. */
     private boolean mRippleActive;
@@ -151,7 +151,7 @@
      * Lazily-created array of actively animating ripples. Inactive ripples are
      * pruned during draw(). The locations of these will not change.
      */
-    private Ripple[] mExitingRipples;
+    private RippleForeground[] mExitingRipples;
     private int mExitingRipplesCount = 0;
 
     /** Paint used to control appearance of ripples. */
@@ -204,11 +204,11 @@
         super.jumpToCurrentState();
 
         if (mRipple != null) {
-            mRipple.jump();
+            mRipple.end();
         }
 
         if (mBackground != null) {
-            mBackground.jump();
+            mBackground.end();
         }
 
         cancelExitingRipples();
@@ -219,10 +219,13 @@
         boolean needsDraw = false;
 
         final int count = mExitingRipplesCount;
-        final Ripple[] ripples = mExitingRipples;
+        final RippleForeground[] ripples = mExitingRipples;
         for (int i = 0; i < count; i++) {
+            // If the ripple is animating on the hardware thread, we'll need to
+            // draw an additional frame after canceling to restore the software
+            // drawing path.
             needsDraw |= ripples[i].isHardwareAnimating();
-            ripples[i].cancel();
+            ripples[i].end();
         }
 
         if (ripples != null) {
@@ -241,8 +244,8 @@
     }
 
     @Override
-    public void setColorFilter(ColorFilter cf) {
-        super.setColorFilter(cf);
+    public void setColorFilter(ColorFilter colorFilter) {
+        super.setColorFilter(colorFilter);
 
         // TODO: Should we support this?
     }
@@ -264,11 +267,9 @@
         for (int state : stateSet) {
             if (state == R.attr.state_enabled) {
                 enabled = true;
-            }
-            if (state == R.attr.state_focused) {
+            } else if (state == R.attr.state_focused) {
                 focused = true;
-            }
-            if (state == R.attr.state_pressed) {
+            } else if (state == R.attr.state_pressed) {
                 pressed = true;
             }
         }
@@ -563,11 +564,13 @@
                 x = mHotspotBounds.exactCenterX();
                 y = mHotspotBounds.exactCenterY();
             }
-            mRipple = new Ripple(this, mHotspotBounds, x, y);
+
+            final boolean isBounded = !isProjected();
+            mRipple = new RippleForeground(this, mHotspotBounds, x, y, isBounded);
         }
 
         mRipple.setup(mState.mMaxRadius, mDensity);
-        mRipple.enter();
+        mRipple.enter(false);
     }
 
     /**
@@ -577,7 +580,7 @@
     private void tryRippleExit() {
         if (mRipple != null) {
             if (mExitingRipples == null) {
-                mExitingRipples = new Ripple[MAX_RIPPLES];
+                mExitingRipples = new RippleForeground[MAX_RIPPLES];
             }
             mExitingRipples[mExitingRipplesCount++] = mRipple;
             mRipple.exit();
@@ -591,13 +594,13 @@
      */
     private void clearHotspots() {
         if (mRipple != null) {
-            mRipple.cancel();
+            mRipple.end();
             mRipple = null;
             mRippleActive = false;
         }
 
         if (mBackground != null) {
-            mBackground.cancel();
+            mBackground.end();
             mBackground = null;
             mBackgroundActive = false;
         }
@@ -624,7 +627,7 @@
      */
     private void onHotspotBoundsChanged() {
         final int count = mExitingRipplesCount;
-        final Ripple[] ripples = mExitingRipples;
+        final RippleForeground[] ripples = mExitingRipples;
         for (int i = 0; i < count; i++) {
             ripples[i].onHotspotBoundsChanged();
         }
@@ -662,6 +665,8 @@
      */
     @Override
     public void draw(@NonNull Canvas canvas) {
+        pruneRipples();
+
         // Clip to the dirty bounds, which will be the drawable bounds if we
         // have a mask or content and the ripple bounds if we're projecting.
         final Rect bounds = getDirtyBounds();
@@ -682,6 +687,26 @@
         mHasValidMask = false;
     }
 
+    private void pruneRipples() {
+        int remaining = 0;
+
+        // Move remaining entries into pruned spaces.
+        final RippleForeground[] ripples = mExitingRipples;
+        final int count = mExitingRipplesCount;
+        for (int i = 0; i < count; i++) {
+            if (!ripples[i].hasFinishedExit()) {
+                ripples[remaining++] = ripples[i];
+            }
+        }
+
+        // Null out the remaining entries.
+        for (int i = remaining; i < count; i++) {
+            ripples[i] = null;
+        }
+
+        mExitingRipplesCount = remaining;
+    }
+
     /**
      * @return whether we need to use a mask
      */
@@ -747,7 +772,7 @@
 
     private int getMaskType() {
         if (mRipple == null && mExitingRipplesCount <= 0
-                && (mBackground == null || !mBackground.shouldDraw())) {
+                && (mBackground == null || !mBackground.isVisible())) {
             // We might need a mask later.
             return MASK_UNKNOWN;
         }
@@ -774,36 +799,6 @@
         return MASK_NONE;
     }
 
-    /**
-     * Removes a ripple from the exiting ripple list.
-     *
-     * @param ripple the ripple to remove
-     */
-    void removeRipple(Ripple ripple) {
-        // Ripple ripple ripple ripple. Ripple ripple.
-        final Ripple[] ripples = mExitingRipples;
-        final int count = mExitingRipplesCount;
-        final int index = getRippleIndex(ripple);
-        if (index >= 0) {
-            System.arraycopy(ripples, index + 1, ripples, index, count - (index + 1));
-            ripples[count - 1] = null;
-            mExitingRipplesCount--;
-
-            invalidateSelf();
-        }
-    }
-
-    private int getRippleIndex(Ripple ripple) {
-        final Ripple[] ripples = mExitingRipples;
-        final int count = mExitingRipplesCount;
-        for (int i = 0; i < count; i++) {
-            if (ripples[i] == ripple) {
-                return i;
-            }
-        }
-        return -1;
-    }
-
     private void drawContent(Canvas canvas) {
         // Draw everything except the mask.
         final ChildDrawable[] array = mLayerState.mChildren;
@@ -816,10 +811,10 @@
     }
 
     private void drawBackgroundAndRipples(Canvas canvas) {
-        final Ripple active = mRipple;
+        final RippleForeground active = mRipple;
         final RippleBackground background = mBackground;
         final int count = mExitingRipplesCount;
-        if (active == null && count <= 0 && (background == null || !background.shouldDraw())) {
+        if (active == null && count <= 0 && (background == null || !background.isVisible())) {
             // Move along, nothing to draw here.
             return;
         }
@@ -859,12 +854,12 @@
             p.setShader(null);
         }
 
-        if (background != null && background.shouldDraw()) {
+        if (background != null && background.isVisible()) {
             background.draw(canvas, p);
         }
 
         if (count > 0) {
-            final Ripple[] ripples = mExitingRipples;
+            final RippleForeground[] ripples = mExitingRipples;
             for (int i = 0; i < count; i++) {
                 ripples[i].draw(canvas, p);
             }
@@ -902,7 +897,7 @@
             final int cY = (int) mHotspotBounds.exactCenterY();
             final Rect rippleBounds = mTempRect;
 
-            final Ripple[] activeRipples = mExitingRipples;
+            final RippleForeground[] activeRipples = mExitingRipples;
             final int N = mExitingRipplesCount;
             for (int i = 0; i < N; i++) {
                 activeRipples[i].getBounds(rippleBounds);
diff --git a/graphics/java/android/graphics/drawable/RippleForeground.java b/graphics/java/android/graphics/drawable/RippleForeground.java
new file mode 100644
index 0000000..334122d
--- /dev/null
+++ b/graphics/java/android/graphics/drawable/RippleForeground.java
@@ -0,0 +1,434 @@
+/*
+ * 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.graphics.drawable;
+
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
+import android.animation.TimeInterpolator;
+import android.graphics.Canvas;
+import android.graphics.CanvasProperty;
+import android.graphics.Paint;
+import android.graphics.Rect;
+import android.util.FloatProperty;
+import android.util.MathUtils;
+import android.view.HardwareCanvas;
+import android.view.RenderNodeAnimator;
+import android.view.animation.LinearInterpolator;
+
+/**
+ * Draws a ripple foreground.
+ */
+class RippleForeground extends RippleComponent {
+    private static final TimeInterpolator LINEAR_INTERPOLATOR = new LinearInterpolator();
+    private static final TimeInterpolator DECELERATE_INTERPOLATOR = new LogDecelerateInterpolator(
+            400f, 1.4f, 0);
+
+    // Pixel-based accelerations and velocities.
+    private static final float WAVE_TOUCH_DOWN_ACCELERATION = 1024;
+    private static final float WAVE_TOUCH_UP_ACCELERATION = 3400;
+    private static final float WAVE_OPACITY_DECAY_VELOCITY = 3;
+
+    // Bounded ripple animation properties.
+    private static final int BOUNDED_ORIGIN_EXIT_DURATION = 300;
+    private static final int BOUNDED_RADIUS_EXIT_DURATION = 800;
+    private static final int BOUNDED_OPACITY_EXIT_DURATION = 400;
+    private static final float MAX_BOUNDED_RADIUS = 350;
+
+    private static final int RIPPLE_ENTER_DELAY = 80;
+    private static final int OPACITY_ENTER_DURATION_FAST = 120;
+
+    // Parent-relative values for starting position.
+    private float mStartingX;
+    private float mStartingY;
+    private float mClampedStartingX;
+    private float mClampedStartingY;
+
+    // Hardware rendering properties.
+    private CanvasProperty<Paint> mPropPaint;
+    private CanvasProperty<Float> mPropRadius;
+    private CanvasProperty<Float> mPropX;
+    private CanvasProperty<Float> mPropY;
+
+    // Target values for tween animations.
+    private float mTargetX = 0;
+    private float mTargetY = 0;
+
+    /** Ripple target radius used when bounded. Not used for clamping. */
+    private float mBoundedRadius = 0;
+
+    // Software rendering properties.
+    private float mOpacity = 1;
+
+    // Values used to tween between the start and end positions.
+    private float mTweenRadius = 0;
+    private float mTweenX = 0;
+    private float mTweenY = 0;
+
+    /** Whether this ripple is bounded. */
+    private boolean mIsBounded;
+
+    /** Whether this ripple has finished its exit animation. */
+    private boolean mHasFinishedExit;
+
+    public RippleForeground(RippleDrawable owner, Rect bounds, float startingX, float startingY,
+            boolean isBounded) {
+        super(owner, bounds);
+
+        mIsBounded = isBounded;
+        mStartingX = startingX;
+        mStartingY = startingY;
+
+        if (isBounded) {
+            mBoundedRadius = MAX_BOUNDED_RADIUS * 0.9f
+                    + (float) (MAX_BOUNDED_RADIUS * Math.random() * 0.1);
+        } else {
+            mBoundedRadius = 0;
+        }
+    }
+
+    @Override
+    protected void onTargetRadiusChanged(float targetRadius) {
+        clampStartingPosition();
+    }
+
+    @Override
+    protected boolean drawSoftware(Canvas c, Paint p) {
+        boolean hasContent = false;
+
+        final int origAlpha = p.getAlpha();
+        final int alpha = (int) (origAlpha * mOpacity + 0.5f);
+        final float radius = getCurrentRadius();
+        if (alpha > 0 && radius > 0) {
+            final float x = getCurrentX();
+            final float y = getCurrentY();
+            p.setAlpha(alpha);
+            c.drawCircle(x, y, radius, p);
+            p.setAlpha(origAlpha);
+            hasContent = true;
+        }
+
+        return hasContent;
+    }
+
+    @Override
+    protected boolean drawHardware(HardwareCanvas c) {
+        c.drawCircle(mPropX, mPropY, mPropRadius, mPropPaint);
+        return true;
+    }
+
+    /**
+     * Returns the maximum bounds of the ripple relative to the ripple center.
+     */
+    public void getBounds(Rect bounds) {
+        final int outerX = (int) mTargetX;
+        final int outerY = (int) mTargetY;
+        final int r = (int) mTargetRadius + 1;
+        bounds.set(outerX - r, outerY - r, outerX + r, outerY + r);
+    }
+
+    /**
+     * Specifies the starting position relative to the drawable bounds. No-op if
+     * the ripple has already entered.
+     */
+    public void move(float x, float y) {
+        mStartingX = x;
+        mStartingY = y;
+
+        clampStartingPosition();
+    }
+
+    /**
+     * @return {@code true} if this ripple has finished its exit animation
+     */
+    public boolean hasFinishedExit() {
+        return mHasFinishedExit;
+    }
+
+    @Override
+    protected Animator createSoftwareEnter(boolean fast) {
+        // Bounded ripples don't have enter animations.
+        if (mIsBounded) {
+            return null;
+        }
+
+        final int duration = (int)
+                (1000 * Math.sqrt(mTargetRadius / WAVE_TOUCH_DOWN_ACCELERATION * mDensity) + 0.5);
+
+        final ObjectAnimator tweenRadius = ObjectAnimator.ofFloat(this, TWEEN_RADIUS, 1);
+        tweenRadius.setAutoCancel(true);
+        tweenRadius.setDuration(duration);
+        tweenRadius.setInterpolator(LINEAR_INTERPOLATOR);
+        tweenRadius.setStartDelay(RIPPLE_ENTER_DELAY);
+
+        final ObjectAnimator tweenOrigin = ObjectAnimator.ofFloat(this, TWEEN_ORIGIN, 1);
+        tweenOrigin.setAutoCancel(true);
+        tweenOrigin.setDuration(duration);
+        tweenOrigin.setInterpolator(LINEAR_INTERPOLATOR);
+        tweenOrigin.setStartDelay(RIPPLE_ENTER_DELAY);
+
+        final ObjectAnimator opacity = ObjectAnimator.ofFloat(this, OPACITY, 1);
+        opacity.setAutoCancel(true);
+        opacity.setDuration(OPACITY_ENTER_DURATION_FAST);
+        opacity.setInterpolator(LINEAR_INTERPOLATOR);
+
+        final AnimatorSet set = new AnimatorSet();
+        set.play(tweenOrigin).with(tweenRadius).with(opacity);
+
+        return set;
+    }
+
+    private float getCurrentX() {
+        return MathUtils.lerp(mClampedStartingX - mBounds.exactCenterX(), mTargetX, mTweenX);
+    }
+
+    private float getCurrentY() {
+        return MathUtils.lerp(mClampedStartingY - mBounds.exactCenterY(), mTargetY, mTweenY);
+    }
+
+    private int getRadiusExitDuration() {
+        final float remainingRadius = mTargetRadius - getCurrentRadius();
+        return (int) (1000 * Math.sqrt(remainingRadius / (WAVE_TOUCH_UP_ACCELERATION
+                + WAVE_TOUCH_DOWN_ACCELERATION) * mDensity) + 0.5);
+    }
+
+    private float getCurrentRadius() {
+        return MathUtils.lerp(0, mTargetRadius, mTweenRadius);
+    }
+
+    private int getOpacityExitDuration() {
+        return (int) (1000 * mOpacity / WAVE_OPACITY_DECAY_VELOCITY + 0.5f);
+    }
+
+    /**
+     * Compute target values that are dependent on bounding.
+     */
+    private void computeBoundedTargetValues() {
+        mTargetX = (mClampedStartingX - mBounds.exactCenterX()) * .7f;
+        mTargetY = (mClampedStartingY - mBounds.exactCenterY()) * .7f;
+        mTargetRadius = mBoundedRadius;
+    }
+
+    @Override
+    protected Animator createSoftwareExit() {
+        final int radiusDuration;
+        final int originDuration;
+        final int opacityDuration;
+        if (mIsBounded) {
+            computeBoundedTargetValues();
+
+            radiusDuration = BOUNDED_RADIUS_EXIT_DURATION;
+            originDuration = BOUNDED_ORIGIN_EXIT_DURATION;
+            opacityDuration = BOUNDED_OPACITY_EXIT_DURATION;
+        } else {
+            radiusDuration = getRadiusExitDuration();
+            originDuration = radiusDuration;
+            opacityDuration = getOpacityExitDuration();
+        }
+
+        final ObjectAnimator tweenRadius = ObjectAnimator.ofFloat(this, TWEEN_RADIUS, 1);
+        tweenRadius.setAutoCancel(true);
+        tweenRadius.setDuration(radiusDuration);
+        tweenRadius.setInterpolator(DECELERATE_INTERPOLATOR);
+
+        final ObjectAnimator tweenOrigin = ObjectAnimator.ofFloat(this, TWEEN_ORIGIN, 1);
+        tweenOrigin.setAutoCancel(true);
+        tweenOrigin.setDuration(originDuration);
+        tweenOrigin.setInterpolator(DECELERATE_INTERPOLATOR);
+
+        final ObjectAnimator opacity = ObjectAnimator.ofFloat(this, OPACITY, 0);
+        opacity.setAutoCancel(true);
+        opacity.setDuration(opacityDuration);
+        opacity.setInterpolator(LINEAR_INTERPOLATOR);
+
+        final AnimatorSet set = new AnimatorSet();
+        set.play(tweenOrigin).with(tweenRadius).with(opacity);
+        set.addListener(mAnimationListener);
+
+        return set;
+    }
+
+    @Override
+    protected RenderNodeAnimatorSet createHardwareExit(Paint p) {
+        final int radiusDuration;
+        final int originDuration;
+        final int opacityDuration;
+        if (mIsBounded) {
+            computeBoundedTargetValues();
+
+            radiusDuration = BOUNDED_RADIUS_EXIT_DURATION;
+            originDuration = BOUNDED_ORIGIN_EXIT_DURATION;
+            opacityDuration = BOUNDED_OPACITY_EXIT_DURATION;
+        } else {
+            radiusDuration = getRadiusExitDuration();
+            originDuration = radiusDuration;
+            opacityDuration = getOpacityExitDuration();
+        }
+
+        final float startX = getCurrentX();
+        final float startY = getCurrentY();
+        final float startRadius = getCurrentRadius();
+
+        p.setAlpha((int) (p.getAlpha() * mOpacity + 0.5f));
+
+        mPropPaint = CanvasProperty.createPaint(p);
+        mPropRadius = CanvasProperty.createFloat(startRadius);
+        mPropX = CanvasProperty.createFloat(startX);
+        mPropY = CanvasProperty.createFloat(startY);
+
+        final RenderNodeAnimator radius = new RenderNodeAnimator(mPropRadius, mTargetRadius);
+        radius.setDuration(radiusDuration);
+        radius.setInterpolator(DECELERATE_INTERPOLATOR);
+
+        final RenderNodeAnimator x = new RenderNodeAnimator(mPropX, mTargetX);
+        x.setDuration(originDuration);
+        x.setInterpolator(DECELERATE_INTERPOLATOR);
+
+        final RenderNodeAnimator y = new RenderNodeAnimator(mPropY, mTargetY);
+        y.setDuration(originDuration);
+        y.setInterpolator(DECELERATE_INTERPOLATOR);
+
+        final RenderNodeAnimator opacity = new RenderNodeAnimator(mPropPaint,
+                RenderNodeAnimator.PAINT_ALPHA, 0);
+        opacity.setDuration(opacityDuration);
+        opacity.setInterpolator(LINEAR_INTERPOLATOR);
+        opacity.addListener(mAnimationListener);
+
+        final RenderNodeAnimatorSet set = new RenderNodeAnimatorSet();
+        set.add(radius);
+        set.add(opacity);
+        set.add(x);
+        set.add(y);
+
+        return set;
+    }
+
+    @Override
+    protected void jumpValuesToExit() {
+        mOpacity = 0;
+        mTweenX = 1;
+        mTweenY = 1;
+        mTweenRadius = 1;
+    }
+
+    /**
+     * Clamps the starting position to fit within the ripple bounds.
+     */
+    private void clampStartingPosition() {
+        final float cX = mBounds.exactCenterX();
+        final float cY = mBounds.exactCenterY();
+        final float dX = mStartingX - cX;
+        final float dY = mStartingY - cY;
+        final float r = mTargetRadius;
+        if (dX * dX + dY * dY > r * r) {
+            // Point is outside the circle, clamp to the perimeter.
+            final double angle = Math.atan2(dY, dX);
+            mClampedStartingX = cX + (float) (Math.cos(angle) * r);
+            mClampedStartingY = cY + (float) (Math.sin(angle) * r);
+        } else {
+            mClampedStartingX = mStartingX;
+            mClampedStartingY = mStartingY;
+        }
+    }
+
+    private final AnimatorListenerAdapter mAnimationListener = new AnimatorListenerAdapter() {
+        @Override
+        public void onAnimationEnd(Animator animator) {
+            mHasFinishedExit = true;
+        }
+    };
+
+    /**
+    * Interpolator with a smooth log deceleration.
+    */
+    private static final class LogDecelerateInterpolator implements TimeInterpolator {
+        private final float mBase;
+        private final float mDrift;
+        private final float mTimeScale;
+        private final float mOutputScale;
+
+        public LogDecelerateInterpolator(float base, float timeScale, float drift) {
+            mBase = base;
+            mDrift = drift;
+            mTimeScale = 1f / timeScale;
+
+            mOutputScale = 1f / computeLog(1f);
+        }
+
+        private float computeLog(float t) {
+            return 1f - (float) Math.pow(mBase, -t * mTimeScale) + (mDrift * t);
+        }
+
+        @Override
+        public float getInterpolation(float t) {
+            return computeLog(t) * mOutputScale;
+        }
+    }
+
+    /**
+     * Property for animating radius between its initial and target values.
+     */
+    private static final FloatProperty<RippleForeground> TWEEN_RADIUS =
+            new FloatProperty<RippleForeground>("tweenRadius") {
+        @Override
+        public void setValue(RippleForeground object, float value) {
+            object.mTweenRadius = value;
+            object.invalidateSelf();
+        }
+
+        @Override
+        public Float get(RippleForeground object) {
+            return object.mTweenRadius;
+        }
+    };
+
+    /**
+     * Property for animating origin between its initial and target values.
+     */
+    private static final FloatProperty<RippleForeground> TWEEN_ORIGIN =
+            new FloatProperty<RippleForeground>("tweenOrigin") {
+                @Override
+                public void setValue(RippleForeground object, float value) {
+                    object.mTweenX = value;
+                    object.mTweenY = value;
+                    object.invalidateSelf();
+                }
+
+                @Override
+                public Float get(RippleForeground object) {
+                    return object.mTweenX;
+                }
+            };
+
+    /**
+     * Property for animating opacity between 0 and its target value.
+     */
+    private static final FloatProperty<RippleForeground> OPACITY =
+            new FloatProperty<RippleForeground>("opacity") {
+        @Override
+        public void setValue(RippleForeground object, float value) {
+            object.mOpacity = value;
+            object.invalidateSelf();
+        }
+
+        @Override
+        public Float get(RippleForeground object) {
+            return object.mOpacity;
+        }
+    };
+}
diff --git a/graphics/java/android/graphics/drawable/RotateDrawable.java b/graphics/java/android/graphics/drawable/RotateDrawable.java
index ca161ee..15e16f1 100644
--- a/graphics/java/android/graphics/drawable/RotateDrawable.java
+++ b/graphics/java/android/graphics/drawable/RotateDrawable.java
@@ -22,10 +22,7 @@
 import org.xmlpull.v1.XmlPullParserException;
 
 import android.graphics.Canvas;
-import android.graphics.ColorFilter;
 import android.graphics.Rect;
-import android.graphics.PorterDuff.Mode;
-import android.content.res.ColorStateList;
 import android.content.res.Resources;
 import android.content.res.TypedArray;
 import android.content.res.Resources.Theme;
diff --git a/graphics/java/android/graphics/drawable/ShapeDrawable.java b/graphics/java/android/graphics/drawable/ShapeDrawable.java
index c208c03..fc88c15 100644
--- a/graphics/java/android/graphics/drawable/ShapeDrawable.java
+++ b/graphics/java/android/graphics/drawable/ShapeDrawable.java
@@ -299,8 +299,8 @@
     }
 
     @Override
-    public void setColorFilter(ColorFilter cf) {
-        mShapeState.mPaint.setColorFilter(cf);
+    public void setColorFilter(ColorFilter colorFilter) {
+        mShapeState.mPaint.setColorFilter(colorFilter);
         invalidateSelf();
     }
 
diff --git a/graphics/java/android/graphics/pdf/PdfRenderer.java b/graphics/java/android/graphics/pdf/PdfRenderer.java
index 79934da..b32dcc6 100644
--- a/graphics/java/android/graphics/pdf/PdfRenderer.java
+++ b/graphics/java/android/graphics/pdf/PdfRenderer.java
@@ -380,7 +380,7 @@
 
             final long transformPtr = (transform != null) ? transform.native_instance : 0;
 
-            nativeRenderPage(mNativeDocument, mNativePage, destination.mNativeBitmap, contentLeft,
+            nativeRenderPage(mNativeDocument, mNativePage, destination.getSkBitmap(), contentLeft,
                     contentTop, contentRight, contentBottom, transformPtr, renderMode);
         }
 
diff --git a/include/android_runtime/android_view_Surface.h b/include/android_runtime/android_view_Surface.h
index 53e8b49..a6836a8 100644
--- a/include/android_runtime/android_view_Surface.h
+++ b/include/android_runtime/android_view_Surface.h
@@ -26,6 +26,33 @@
 class Surface;
 class IGraphicBufferProducer;
 
+/**
+ * Enum mirroring the public API definitions for image and pixel formats.
+ * Some of these are hidden in the public API
+ *
+ * Keep up to date with android.graphics.ImageFormat and
+ * android.graphics.PixelFormat
+ */
+enum class PublicFormat {
+    UNKNOWN           = 0x0,
+    RGBA_8888         = 0x1,
+    RGBX_8888         = 0x2,
+    RGB_888           = 0x3,
+    RGB_565           = 0x4,
+    NV16              = 0x10,
+    NV21              = 0x11,
+    YUY2              = 0x14,
+    RAW_SENSOR        = 0x20,
+    YUV_420_888       = 0x23,
+    RAW10             = 0x25,
+    JPEG              = 0x100,
+    DEPTH_POINT_CLOUD = 0x101,
+    YV12              = 0x32315659,
+    Y8                = 0x20203859, // @hide
+    Y16               = 0x20363159, // @hide
+    DEPTH16           = 0x44363159
+};
+
 /* Gets the underlying ANativeWindow for a Surface. */
 extern sp<ANativeWindow> android_view_Surface_getNativeWindow(
         JNIEnv* env, jobject surfaceObj);
@@ -40,6 +67,21 @@
 extern jobject android_view_Surface_createFromIGraphicBufferProducer(JNIEnv* env,
         const sp<IGraphicBufferProducer>& bufferProducer);
 
+/* Convert from android.graphics.ImageFormat/PixelFormat enums to graphics.h HAL
+ * format */
+extern int android_view_Surface_mapPublicFormatToHalFormat(PublicFormat f);
+
+/* Convert from android.graphics.ImageFormat/PixelFormat enums to graphics.h HAL
+ * dataspace */
+extern android_dataspace android_view_Surface_mapPublicFormatToHalDataspace(
+        PublicFormat f);
+
+/* Convert from HAL format, dataspace pair to
+ * android.graphics.ImageFormat/PixelFormat.
+ * For unknown/unspecified pairs, returns PublicFormat::UNKNOWN */
+extern PublicFormat android_view_Surface_mapHalFormatDataspaceToPublicFormat(
+        int format, android_dataspace dataSpace);
+
 } // namespace android
 
 #endif // _ANDROID_VIEW_SURFACE_H
diff --git a/keystore/tests/src/android/security/KeyStoreTest.java b/keystore/tests/src/android/security/KeyStoreTest.java
index c3cba2b..f935bb1 100644
--- a/keystore/tests/src/android/security/KeyStoreTest.java
+++ b/keystore/tests/src/android/security/KeyStoreTest.java
@@ -17,10 +17,19 @@
 package android.security;
 
 import android.app.Activity;
+import android.os.Binder;
+import android.os.IBinder;
 import android.os.Process;
+import android.os.ServiceManager;
 import android.security.KeyStore;
+import android.security.keymaster.ExportResult;
+import android.security.keymaster.KeyCharacteristics;
+import android.security.keymaster.KeymasterArguments;
+import android.security.keymaster.KeymasterDefs;
+import android.security.keymaster.OperationResult;
 import android.test.ActivityUnitTestCase;
 import android.test.AssertionFailedError;
+import android.test.MoreAsserts;
 import android.test.suitebuilder.annotation.MediumTest;
 import com.android.org.conscrypt.NativeCrypto;
 import java.nio.charset.StandardCharsets;
@@ -28,6 +37,9 @@
 import java.util.Date;
 import java.util.HashSet;
 
+import android.util.Log;
+import android.util.Base64;
+
 /**
  * Junit / Instrumentation test case for KeyStore class
  *
@@ -103,6 +115,8 @@
             "286BDA73F629296F5FA9146D8976357D3C751E75148696A40B74685C82CE30902D639D72" +
             "4FF24D5E2E9407EE34EDED2E3B4DF65AA9BCFEB6DF28D07BA6903F165768");
 
+    private static final byte[] AES256_BYTES = hexToBytes(
+            "0CC175B9C0F1B6A831C399E269772661CEC520EA51EA0A47E87295FA3245A605");
 
     private static byte[] hexToBytes(String s) {
         int len = s.length();
@@ -689,4 +703,208 @@
         assertEquals("-1 should be returned for non-existent key",
                 -1L, mKeyStore.getmtime(TEST_KEYNAME2));
     }
+
+    private KeyCharacteristics generateRsaKey(String name) throws Exception {
+        KeymasterArguments args = new KeymasterArguments();
+        args.addInt(KeymasterDefs.KM_TAG_PURPOSE, KeymasterDefs.KM_PURPOSE_ENCRYPT);
+        args.addInt(KeymasterDefs.KM_TAG_PURPOSE, KeymasterDefs.KM_PURPOSE_DECRYPT);
+        args.addInt(KeymasterDefs.KM_TAG_ALGORITHM, KeymasterDefs.KM_ALGORITHM_RSA);
+        args.addInt(KeymasterDefs.KM_TAG_PADDING, KeymasterDefs.KM_PAD_NONE);
+        args.addInt(KeymasterDefs.KM_TAG_KEY_SIZE, 2048);
+        args.addBlob(KeymasterDefs.KM_TAG_APPLICATION_ID, null);
+        args.addBlob(KeymasterDefs.KM_TAG_APPLICATION_DATA, null);
+
+        KeyCharacteristics outCharacteristics = new KeyCharacteristics();
+        int result = mKeyStore.generateKey(name, args, 0, outCharacteristics);
+        assertEquals("generateRsaKey should succeed", KeyStore.NO_ERROR, result);
+        return outCharacteristics;
+    }
+
+    public void testGenerateKey() throws Exception {
+        generateRsaKey("test");
+        mKeyStore.delete("test");
+    }
+    public void testGenerateAndDelete() throws Exception {
+        generateRsaKey("test");
+        assertTrue("delete should succeed", mKeyStore.delete("test"));
+    }
+
+    public void testGetKeyCharacteristicsSuccess() throws Exception {
+        mKeyStore.password(TEST_PASSWD);
+        String name = "test";
+        KeyCharacteristics gen = generateRsaKey(name);
+        KeyCharacteristics call = new KeyCharacteristics();
+        int result = mKeyStore.getKeyCharacteristics(name, null, null, call);
+        assertEquals("getKeyCharacteristics should succeed", KeyStore.NO_ERROR, result);
+        mKeyStore.delete("test");
+    }
+
+    public void testAppId() throws Exception {
+        String name = "test";
+        KeymasterArguments args = new KeymasterArguments();
+        args.addInt(KeymasterDefs.KM_TAG_PURPOSE, KeymasterDefs.KM_PURPOSE_ENCRYPT);
+        args.addInt(KeymasterDefs.KM_TAG_PURPOSE, KeymasterDefs.KM_PURPOSE_DECRYPT);
+        args.addInt(KeymasterDefs.KM_TAG_ALGORITHM, KeymasterDefs.KM_ALGORITHM_RSA);
+        args.addInt(KeymasterDefs.KM_TAG_PADDING, KeymasterDefs.KM_PAD_NONE);
+        args.addInt(KeymasterDefs.KM_TAG_KEY_SIZE, 2048);
+        args.addInt(KeymasterDefs.KM_TAG_BLOCK_MODE, KeymasterDefs.KM_MODE_ECB);
+        args.addBlob(KeymasterDefs.KM_TAG_APPLICATION_ID, new byte[] {0x01, 0x02, 0x03});
+        args.addBlob(KeymasterDefs.KM_TAG_APPLICATION_DATA, null);
+
+        KeyCharacteristics outCharacteristics = new KeyCharacteristics();
+        int result = mKeyStore.generateKey(name, args, 0, outCharacteristics);
+        assertEquals("generateRsaKey should succeed", KeyStore.NO_ERROR, result);
+        assertEquals("getKeyCharacteristics should fail without application ID",
+                KeymasterDefs.KM_ERROR_INVALID_KEY_BLOB,
+                mKeyStore.getKeyCharacteristics(name, null, null, outCharacteristics));
+        assertEquals("getKeyCharacteristics should succeed with application ID",
+                KeyStore.NO_ERROR,
+                mKeyStore.getKeyCharacteristics(name, new byte[] {0x01, 0x02, 0x03}, null,
+                    outCharacteristics));
+    }
+
+
+    public void testExportRsa() throws Exception {
+        String name = "test";
+        generateRsaKey(name);
+        ExportResult result = mKeyStore.exportKey(name, KeymasterDefs.KM_KEY_FORMAT_X509, null,
+                null);
+        assertEquals("Export success", KeyStore.NO_ERROR, result.resultCode);
+        // TODO: Verify we have an RSA public key that's well formed.
+    }
+
+    public void testAesOcbEncryptSuccess() throws Exception {
+        String name = "test";
+        KeymasterArguments args = new KeymasterArguments();
+        args.addInt(KeymasterDefs.KM_TAG_PURPOSE, KeymasterDefs.KM_PURPOSE_ENCRYPT);
+        args.addInt(KeymasterDefs.KM_TAG_PURPOSE, KeymasterDefs.KM_PURPOSE_DECRYPT);
+        args.addInt(KeymasterDefs.KM_TAG_ALGORITHM, KeymasterDefs.KM_ALGORITHM_AES);
+        args.addInt(KeymasterDefs.KM_TAG_PADDING, KeymasterDefs.KM_PAD_NONE);
+        args.addInt(KeymasterDefs.KM_TAG_KEY_SIZE, 256);
+        args.addInt(KeymasterDefs.KM_TAG_BLOCK_MODE, KeymasterDefs.KM_MODE_OCB);
+        args.addInt(KeymasterDefs.KM_TAG_CHUNK_LENGTH, 4096);
+        args.addInt(KeymasterDefs.KM_TAG_MAC_LENGTH, 16);
+        args.addBlob(KeymasterDefs.KM_TAG_APPLICATION_ID, null);
+        args.addBlob(KeymasterDefs.KM_TAG_APPLICATION_DATA, null);
+
+        KeyCharacteristics outCharacteristics = new KeyCharacteristics();
+        int rc = mKeyStore.generateKey(name, args, 0, outCharacteristics);
+        assertEquals("Generate should succeed", KeyStore.NO_ERROR, rc);
+
+        KeymasterArguments out = new KeymasterArguments();
+        args = new KeymasterArguments();
+        args.addBlob(KeymasterDefs.KM_TAG_APPLICATION_ID, null);
+        args.addBlob(KeymasterDefs.KM_TAG_APPLICATION_DATA, null);
+        OperationResult result = mKeyStore.begin(name, KeymasterDefs.KM_PURPOSE_ENCRYPT,
+                true, args, out);
+        IBinder token = result.token;
+        assertEquals("Begin should succeed", KeyStore.NO_ERROR, result.resultCode);
+        result = mKeyStore.update(token, null, new byte[] {0x01, 0x02, 0x03, 0x04});
+        assertEquals("Update should succeed", KeyStore.NO_ERROR, result.resultCode);
+        assertEquals("Finish should succeed", KeyStore.NO_ERROR,
+                mKeyStore.finish(token, null, null).resultCode);
+    }
+
+    public void testBadToken() throws Exception {
+        IBinder token = new Binder();
+        OperationResult result = mKeyStore.update(token, null, new byte[] {0x01});
+        assertEquals("Update with invalid token should fail",
+                KeymasterDefs.KM_ERROR_INVALID_OPERATION_HANDLE, result.resultCode);
+    }
+
+    private int importAesKey(String name, byte[] key, int size, int mode) {
+        KeymasterArguments args = new KeymasterArguments();
+        args.addInt(KeymasterDefs.KM_TAG_PURPOSE, KeymasterDefs.KM_PURPOSE_ENCRYPT);
+        args.addInt(KeymasterDefs.KM_TAG_PURPOSE, KeymasterDefs.KM_PURPOSE_DECRYPT);
+        args.addInt(KeymasterDefs.KM_TAG_ALGORITHM, KeymasterDefs.KM_ALGORITHM_AES);
+        args.addInt(KeymasterDefs.KM_TAG_PADDING, KeymasterDefs.KM_PAD_NONE);
+        args.addInt(KeymasterDefs.KM_TAG_BLOCK_MODE, mode);
+        args.addInt(KeymasterDefs.KM_TAG_KEY_SIZE, size);
+        return mKeyStore.importKey(name, args, KeymasterDefs.KM_KEY_FORMAT_RAW, key, 0,
+                new KeyCharacteristics());
+    }
+    private byte[] doOperation(String name, int purpose, byte[] in, KeymasterArguments beginArgs) {
+        KeymasterArguments out = new KeymasterArguments();
+        OperationResult result = mKeyStore.begin(name, purpose,
+                true, beginArgs, out);
+        assertEquals("Begin should succeed", KeyStore.NO_ERROR, result.resultCode);
+        IBinder token = result.token;
+        result = mKeyStore.update(token, null, in);
+        assertEquals("Update should succeed", KeyStore.NO_ERROR, result.resultCode);
+        assertEquals("All data should be consumed", in.length, result.inputConsumed);
+        assertEquals("Finish should succeed", KeyStore.NO_ERROR,
+                mKeyStore.finish(token, null, null).resultCode);
+        return result.output;
+    }
+
+    public void testImportAes() throws Exception {
+        int result = importAesKey("aes", AES256_BYTES, 256, KeymasterDefs.KM_MODE_ECB);
+        assertEquals("import should succeed", KeyStore.NO_ERROR, result);
+        mKeyStore.delete("aes");
+    }
+
+    public void testAes256Ecb() throws Exception {
+        byte[] key =
+                hexToBytes("603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4");
+        String name = "aes";
+        assertEquals(KeyStore.NO_ERROR, importAesKey(name, key, 256, KeymasterDefs.KM_MODE_ECB));
+        byte[][] testVectors = new byte[][] {
+            hexToBytes("6bc1bee22e409f96e93d7e117393172a"),
+            hexToBytes("ae2d8a571e03ac9c9eb76fac45af8e51"),
+            hexToBytes("30c81c46a35ce411e5fbc1191a0a52ef"),
+            hexToBytes("f69f2445df4f9b17ad2b417be66c3710")};
+        byte[][] cipherVectors = new byte[][] {
+            hexToBytes("f3eed1bdb5d2a03c064b5a7e3db181f8"),
+            hexToBytes("591ccb10d410ed26dc5ba74a31362870"),
+            hexToBytes("b6ed21b99ca6f4f9f153e7b1beafed1d"),
+            hexToBytes("23304b7a39f9f3ff067d8d8f9e24ecc7")};
+        for (int i = 0; i < testVectors.length; i++) {
+            byte[] cipherText = doOperation(name, KeymasterDefs.KM_PURPOSE_ENCRYPT, testVectors[i],
+                    new KeymasterArguments());
+            MoreAsserts.assertEquals(cipherVectors[i], cipherText);
+        }
+        for (int i = 0; i < testVectors.length; i++) {
+            byte[] plainText = doOperation(name, KeymasterDefs.KM_PURPOSE_DECRYPT,
+                    cipherVectors[i], new KeymasterArguments());
+            MoreAsserts.assertEquals(testVectors[i], plainText);
+        }
+    }
+
+    // This is a very implementation specific test and should be thrown out eventually, however it
+    // is nice for now to test that keystore is properly pruning operations.
+    public void testOperationPruning() throws Exception {
+        String name = "test";
+        KeymasterArguments args = new KeymasterArguments();
+        args.addInt(KeymasterDefs.KM_TAG_PURPOSE, KeymasterDefs.KM_PURPOSE_ENCRYPT);
+        args.addInt(KeymasterDefs.KM_TAG_PURPOSE, KeymasterDefs.KM_PURPOSE_DECRYPT);
+        args.addInt(KeymasterDefs.KM_TAG_ALGORITHM, KeymasterDefs.KM_ALGORITHM_AES);
+        args.addInt(KeymasterDefs.KM_TAG_PADDING, KeymasterDefs.KM_PAD_NONE);
+        args.addInt(KeymasterDefs.KM_TAG_KEY_SIZE, 256);
+        args.addInt(KeymasterDefs.KM_TAG_BLOCK_MODE, KeymasterDefs.KM_MODE_OCB);
+        args.addInt(KeymasterDefs.KM_TAG_CHUNK_LENGTH, 4096);
+        args.addInt(KeymasterDefs.KM_TAG_MAC_LENGTH, 16);
+        args.addBlob(KeymasterDefs.KM_TAG_APPLICATION_ID, null);
+        args.addBlob(KeymasterDefs.KM_TAG_APPLICATION_DATA, null);
+
+        KeyCharacteristics outCharacteristics = new KeyCharacteristics();
+        int rc = mKeyStore.generateKey(name, args, 0, outCharacteristics);
+        assertEquals("Generate should succeed", KeyStore.NO_ERROR, rc);
+
+        KeymasterArguments out = new KeymasterArguments();
+        args = new KeymasterArguments();
+        args.addBlob(KeymasterDefs.KM_TAG_APPLICATION_ID, null);
+        args.addBlob(KeymasterDefs.KM_TAG_APPLICATION_DATA, null);
+        OperationResult result = mKeyStore.begin(name, KeymasterDefs.KM_PURPOSE_ENCRYPT,
+                true, args, out);
+        assertEquals("Begin should succeed", KeyStore.NO_ERROR, result.resultCode);
+        IBinder first = result.token;
+        // Implementation detail: softkeymaster supports 16 concurrent operations
+        for (int i = 0; i < 16; i++) {
+            result = mKeyStore.begin(name, KeymasterDefs.KM_PURPOSE_ENCRYPT, true, args, out);
+            assertEquals("Begin should succeed", KeyStore.NO_ERROR, result.resultCode);
+        }
+        // At this point the first operation should be pruned.
+        assertEquals("Operation should be pruned", KeymasterDefs.KM_ERROR_INVALID_OPERATION_HANDLE,
+                mKeyStore.update(first, null, new byte[] {0x01}).resultCode);
+    }
 }
diff --git a/libs/androidfw/ResourceTypes.cpp b/libs/androidfw/ResourceTypes.cpp
index aca3e8c..d5d583c 100644
--- a/libs/androidfw/ResourceTypes.cpp
+++ b/libs/androidfw/ResourceTypes.cpp
@@ -701,6 +701,12 @@
 
                 *u16len = decodeLength(&str);
                 if ((uint32_t)(str+*u16len-strings) < mStringPoolSize) {
+                    // Reject malformed (non null-terminated) strings
+                    if (str[*u16len] != 0x0000) {
+                        ALOGW("Bad string block: string #%d is not null-terminated",
+                              (int)idx);
+                        return NULL;
+                    }
                     return reinterpret_cast<const char16_t*>(str);
                 } else {
                     ALOGW("Bad string block: string #%d extends to %d, past end at %d\n",
@@ -748,6 +754,13 @@
                         return NULL;
                     }
 
+                    // Reject malformed (non null-terminated) strings
+                    if (u8str[u8len] != 0x00) {
+                        ALOGW("Bad string block: string #%d is not null-terminated",
+                              (int)idx);
+                        return NULL;
+                    }
+
                     char16_t *u16str = (char16_t *)calloc(*u16len+1, sizeof(char16_t));
                     if (!u16str) {
                         ALOGW("No memory when trying to allocate decode cache for string #%d\n",
@@ -3116,7 +3129,8 @@
         size_t cnt = pi->types[j].numEntries;
         newpi->types[j].numEntries = cnt;
         theme_entry* te = pi->types[j].entries;
-        if (te != NULL) {
+        size_t cnt_max = SIZE_MAX / sizeof(theme_entry);
+        if (te != NULL && (cnt < 0xFFFFFFFF-1) && (cnt < cnt_max)) {
             theme_entry* newte = (theme_entry*)malloc(cnt*sizeof(theme_entry));
             newpi->types[j].entries = newte;
             memcpy(newte, te, cnt*sizeof(theme_entry));
@@ -3183,9 +3197,12 @@
             if (curEntries == NULL) {
                 PackageGroup* const grp = mTable.mPackageGroups[curPackageIndex];
                 const TypeList& typeList = grp->types[t];
-                int cnt = typeList.isEmpty() ? 0 : typeList[0]->entryCount;
-                curEntries = (theme_entry*)malloc(cnt*sizeof(theme_entry));
-                memset(curEntries, Res_value::TYPE_NULL, cnt*sizeof(theme_entry));
+                size_t cnt = typeList.isEmpty() ? 0 : typeList[0]->entryCount;
+                size_t cnt_max = SIZE_MAX / sizeof(theme_entry);
+                size_t buff_size = (cnt < cnt_max && cnt < 0xFFFFFFFF-1) ?
+                                          cnt*sizeof(theme_entry) : 0;
+                curEntries = (theme_entry*)malloc(buff_size);
+                memset(curEntries, Res_value::TYPE_NULL, buff_size);
                 curPI->types[t].numEntries = cnt;
                 curPI->types[t].entries = curEntries;
             }
diff --git a/libs/hwui/CanvasState.cpp b/libs/hwui/CanvasState.cpp
index 85f860d..e88e9f6 100644
--- a/libs/hwui/CanvasState.cpp
+++ b/libs/hwui/CanvasState.cpp
@@ -43,7 +43,7 @@
     mSnapshot = new Snapshot(mFirstSnapshot,
             SkCanvas::kMatrix_SaveFlag | SkCanvas::kClip_SaveFlag);
     mSnapshot->setClip(clipLeft, clipTop, clipRight, clipBottom);
-    mSnapshot->fbo = mCanvas.onGetTargetFbo();
+    mSnapshot->fbo = mCanvas.getTargetFbo();
     mSnapshot->setRelativeLightCenter(lightCenter);
     mSaveCount = 1;
 }
diff --git a/libs/hwui/CanvasState.h b/libs/hwui/CanvasState.h
index 121112b..4db5ed2 100644
--- a/libs/hwui/CanvasState.h
+++ b/libs/hwui/CanvasState.h
@@ -51,7 +51,7 @@
      * Allows subclasses to control what value is stored in snapshot's
      * fbo field in * initializeSaveStack.
      */
-    virtual GLuint onGetTargetFbo() const = 0;
+    virtual GLuint getTargetFbo() const = 0;
 
 }; // class CanvasStateClient
 
diff --git a/libs/hwui/DeferredLayerUpdater.cpp b/libs/hwui/DeferredLayerUpdater.cpp
index 6a59a13..6b8c780 100644
--- a/libs/hwui/DeferredLayerUpdater.cpp
+++ b/libs/hwui/DeferredLayerUpdater.cpp
@@ -109,6 +109,9 @@
         mSurfaceTexture->getTransformMatrix(transform);
         GLenum renderTarget = mSurfaceTexture->getCurrentTextureTarget();
 
+        LOG_ALWAYS_FATAL_IF(renderTarget != GL_TEXTURE_2D && renderTarget != GL_TEXTURE_EXTERNAL_OES,
+                "doUpdateTexImage target %x, 2d %x, EXT %x",
+                renderTarget, GL_TEXTURE_2D, GL_TEXTURE_EXTERNAL_OES);
         LayerRenderer::updateTextureLayer(mLayer, mWidth, mHeight,
                 !mBlend, forceFilter, renderTarget, transform);
     }
diff --git a/libs/hwui/DeferredLayerUpdater.h b/libs/hwui/DeferredLayerUpdater.h
index 38d8e4a..82f2741 100644
--- a/libs/hwui/DeferredLayerUpdater.h
+++ b/libs/hwui/DeferredLayerUpdater.h
@@ -59,6 +59,10 @@
         if (texture.get() != mSurfaceTexture.get()) {
             mNeedsGLContextAttach = needsAttach;
             mSurfaceTexture = texture;
+
+            GLenum target = texture->getCurrentTextureTarget();
+            LOG_ALWAYS_FATAL_IF(target != GL_TEXTURE_2D && target != GL_TEXTURE_EXTERNAL_OES,
+                    "set unsupported GLConsumer with target %x", target);
         }
     }
 
diff --git a/libs/hwui/DisplayList.cpp b/libs/hwui/DisplayList.cpp
index 317e395..4540bec 100644
--- a/libs/hwui/DisplayList.cpp
+++ b/libs/hwui/DisplayList.cpp
@@ -49,18 +49,21 @@
         resourceCache.decrementRefcountLocked(patchResources.itemAt(i));
     }
 
-    for (size_t i = 0; i < sourcePaths.size(); i++) {
-        resourceCache.decrementRefcountLocked(sourcePaths.itemAt(i));
-    }
-
     resourceCache.unlock();
 
+    for (size_t i = 0; i < pathResources.size(); i++) {
+        const SkPath* path = pathResources.itemAt(i);
+        if (path->unique() && Caches::hasInstance()) {
+            Caches::getInstance().pathCache.removeDeferred(path);
+        }
+        delete path;
+    }
+
     bitmapResources.clear();
     patchResources.clear();
-    sourcePaths.clear();
+    pathResources.clear();
     paints.clear();
     regions.clear();
-    paths.clear();
 }
 
 size_t DisplayListData::addChild(DrawRenderNodeOp* op) {
diff --git a/libs/hwui/DisplayList.h b/libs/hwui/DisplayList.h
index 011b509..3178584 100644
--- a/libs/hwui/DisplayList.h
+++ b/libs/hwui/DisplayList.h
@@ -134,12 +134,11 @@
     int projectionReceiveIndex;
 
     Vector<const SkBitmap*> bitmapResources;
+    Vector<const SkPath*> pathResources;
     Vector<const Res_png_9patch*> patchResources;
 
     std::vector<std::unique_ptr<const SkPaint>> paints;
     std::vector<std::unique_ptr<const SkRegion>> regions;
-    std::vector<std::unique_ptr<const SkPath>> paths;
-    SortedVector<const SkPath*> sourcePaths;
     Vector<Functor*> functors;
 
     const Vector<Chunk>& getChunks() const {
diff --git a/libs/hwui/DisplayListOp.h b/libs/hwui/DisplayListOp.h
index dba5121..1963475 100644
--- a/libs/hwui/DisplayListOp.h
+++ b/libs/hwui/DisplayListOp.h
@@ -1399,8 +1399,11 @@
     friend class DisplayListData; // grant DisplayListData access to info of child
 public:
     DrawRenderNodeOp(RenderNode* renderNode, int flags, const mat4& transformFromParent)
-            : DrawBoundedOp(0, 0, renderNode->getWidth(), renderNode->getHeight(), nullptr),
-            mRenderNode(renderNode), mFlags(flags), mTransformFromParent(transformFromParent) {}
+            : DrawBoundedOp(0, 0, renderNode->getWidth(), renderNode->getHeight(), nullptr)
+            , mRenderNode(renderNode)
+            , mFlags(flags)
+            , mTransformFromParent(transformFromParent)
+            , mSkipInOrderDraw(false) {}
 
     virtual void defer(DeferStateStruct& deferStruct, int saveCount, int level,
             bool useQuickReject) override {
diff --git a/libs/hwui/DisplayListRenderer.h b/libs/hwui/DisplayListRenderer.h
index 8d519bb..48ecd69 100644
--- a/libs/hwui/DisplayListRenderer.h
+++ b/libs/hwui/DisplayListRenderer.h
@@ -131,7 +131,7 @@
 // ----------------------------------------------------------------------------
     virtual void onViewportInitialized() override { }
     virtual void onSnapshotRestored(const Snapshot& removed, const Snapshot& restored) override { }
-    virtual GLuint onGetTargetFbo() const override { return -1; }
+    virtual GLuint getTargetFbo() const override { return -1; }
 
 // ----------------------------------------------------------------------------
 // android/graphics/Canvas interface
@@ -216,7 +216,7 @@
     virtual void drawVertices(SkCanvas::VertexMode vertexMode, int vertexCount,
             const float* verts, const float* tex, const int* colors,
             const uint16_t* indices, int indexCount, const SkPaint& paint) override
-        { LOG_ALWAYS_FATAL("DisplayListRenderer does not support drawVertices()"); }
+        { /* DisplayListRenderer does not support drawVertices(); ignore */ }
 
     // Bitmap-based
     virtual void drawBitmap(const SkBitmap& bitmap, float left, float top, const SkPaint* paint) override;
@@ -282,21 +282,10 @@
     inline const SkPath* refPath(const SkPath* path) {
         if (!path) return nullptr;
 
-        const SkPath* cachedPath = mPathMap.valueFor(path);
-        if (cachedPath == nullptr || cachedPath->getGenerationID() != path->getGenerationID()) {
-            SkPath* newPathCopy = new SkPath(*path);
-            newPathCopy->setSourcePath(path);
-            cachedPath = newPathCopy;
-            std::unique_ptr<const SkPath> copy(newPathCopy);
-            mDisplayListData->paths.push_back(std::move(copy));
-
-            // replaceValueFor() performs an add if the entry doesn't exist
-            mPathMap.replaceValueFor(path, cachedPath);
-        }
-        if (mDisplayListData->sourcePaths.indexOf(path) < 0) {
-            mResourceCache.incrementRefcount(path);
-            mDisplayListData->sourcePaths.add(path);
-        }
+        // The points/verbs within the path are refcounted so this copy operation
+        // is inexpensive and maintains the generationID of the original path.
+        const SkPath* cachedPath = new SkPath(*path);
+        mDisplayListData->pathResources.add(cachedPath);
         return cachedPath;
     }
 
diff --git a/libs/hwui/FontRenderer.cpp b/libs/hwui/FontRenderer.cpp
index 55b2d19..d1d2fcc 100644
--- a/libs/hwui/FontRenderer.cpp
+++ b/libs/hwui/FontRenderer.cpp
@@ -24,6 +24,7 @@
 #include "Rect.h"
 #include "renderstate/RenderState.h"
 #include "utils/Blur.h"
+#include "utils/MathUtils.h"
 #include "utils/Timing.h"
 
 #include <SkGlyph.h>
@@ -47,7 +48,6 @@
 // TextSetupFunctor
 ///////////////////////////////////////////////////////////////////////////////
 status_t TextSetupFunctor::setup(GLenum glyphFormat) {
-
     renderer->setupDraw();
     renderer->setupDrawTextGamma(paint);
     renderer->setupDrawDirtyRegionsDisabled();
@@ -94,20 +94,23 @@
 
 static bool sLogFontRendererCreate = true;
 
-FontRenderer::FontRenderer() :
-        mActiveFonts(LruCache<Font::FontDescription, Font*>::kUnlimitedCapacity) {
+FontRenderer::FontRenderer()
+        : mGammaTable(nullptr)
+        , mCurrentFont(nullptr)
+        , mActiveFonts(LruCache<Font::FontDescription, Font*>::kUnlimitedCapacity)
+        , mCurrentCacheTexture(nullptr)
+        , mUploadTexture(false)
+        , mFunctor(nullptr)
+        , mClip(nullptr)
+        , mBounds(nullptr)
+        , mDrawn(false)
+        , mInitialized(false)
+        , mLinearFiltering(false) {
 
     if (sLogFontRendererCreate) {
         INIT_LOGD("Creating FontRenderer");
     }
 
-    mGammaTable = nullptr;
-    mInitialized = false;
-
-    mCurrentCacheTexture = nullptr;
-
-    mLinearFiltering = false;
-
     mSmallCacheWidth = DEFAULT_TEXT_SMALL_CACHE_WIDTH;
     mSmallCacheHeight = DEFAULT_TEXT_SMALL_CACHE_HEIGHT;
     mLargeCacheWidth = DEFAULT_TEXT_LARGE_CACHE_WIDTH;
@@ -131,10 +134,11 @@
     }
 
     uint32_t maxTextureSize = (uint32_t) Caches::getInstance().maxTextureSize;
-    mSmallCacheWidth = mSmallCacheWidth > maxTextureSize ? maxTextureSize : mSmallCacheWidth;
-    mSmallCacheHeight = mSmallCacheHeight > maxTextureSize ? maxTextureSize : mSmallCacheHeight;
-    mLargeCacheWidth = mLargeCacheWidth > maxTextureSize ? maxTextureSize : mLargeCacheWidth;
-    mLargeCacheHeight = mLargeCacheHeight > maxTextureSize ? maxTextureSize : mLargeCacheHeight;
+
+    mSmallCacheWidth = MathUtils::min(mSmallCacheWidth, maxTextureSize);
+    mSmallCacheHeight = MathUtils::min(mSmallCacheHeight, maxTextureSize);
+    mLargeCacheWidth = MathUtils::min(mLargeCacheWidth, maxTextureSize);
+    mLargeCacheHeight = MathUtils::min(mLargeCacheHeight, maxTextureSize);
 
     if (sLogFontRendererCreate) {
         INIT_LOGD("  Text cache sizes, in pixels: %i x %i, %i x %i, %i x %i, %i x %i",
@@ -493,22 +497,19 @@
         CacheTexture* texture = cacheTextures[i];
         if (texture->canDraw()) {
             if (first) {
-                if (mFunctor) {
-                    mFunctor->setup(texture->getFormat());
-                }
+                mFunctor->setup(texture->getFormat());
 
                 checkTextureUpdate();
                 renderState.meshState().bindQuadIndicesBuffer();
 
-                if (!mDrawn) {
-                    // If returns true, a VBO was bound and we must
-                    // rebind our vertex attrib pointers even if
-                    // they have the same values as the current pointers
-                    forceRebind = renderState.meshState().unbindMeshBuffer();
-                }
+                // If returns true, a VBO was bound and we must
+                // rebind our vertex attrib pointers even if
+                // they have the same values as the current pointers
+                forceRebind = renderState.meshState().unbindMeshBuffer();
 
                 caches.textureState().activateTexture(0);
                 first = false;
+                mDrawn = true;
             }
 
             caches.textureState().bindTexture(texture->getTextureId());
@@ -531,8 +532,6 @@
 void FontRenderer::issueDrawCommand() {
     issueDrawCommand(mACacheTextures);
     issueDrawCommand(mRGBACacheTextures);
-
-    mDrawn = true;
 }
 
 void FontRenderer::appendMeshQuadNoClip(float x1, float y1, float u1, float v1,
diff --git a/libs/hwui/Glop.h b/libs/hwui/Glop.h
index e500546..2c6f6c1 100644
--- a/libs/hwui/Glop.h
+++ b/libs/hwui/Glop.h
@@ -41,12 +41,13 @@
  * Position is always enabled by MeshState, these other attributes
  * are enabled/disabled dynamically based on mesh content.
  */
-enum VertexAttribFlags {
-    kNone_Attrib = 0,
-    kTextureCoord_Attrib = 1 << 0,
-    kColor_Attrib = 1 << 1,
-    kAlpha_Attrib = 1 << 2,
+enum class VertexAttribFlags {
+    kNone = 0,
+    kTextureCoord = 1 << 0,
+    kColor = 1 << 1,
+    kAlpha = 1 << 2,
 };
+MAKE_FLAGS_ENUM(VertexAttribFlags)
 
 /**
  * Structure containing all data required to issue an OpenGL draw
@@ -63,22 +64,28 @@
  */
 // TODO: PREVENT_COPY_AND_ASSIGN(...) or similar
 struct Glop {
-    /*
-     * Stores mesh - vertex and index data.
-     *
-     * buffer objects and void*s are mutually exclusive
-     * indices are optional, currently only GL_UNSIGNED_SHORT supported
-     */
     struct Mesh {
-        VertexAttribFlags vertexFlags;
         GLuint primitiveMode; // GL_TRIANGLES and GL_TRIANGLE_STRIP supported
-        GLuint vertexBufferObject;
-        GLuint indexBufferObject;
-        const void* vertices;
-        const void* indices;
-        GLvoid* texCoordOffset;
+
+        // buffer object and void* are mutually exclusive.
+        // Only GL_UNSIGNED_SHORT supported.
+        struct Indices {
+            GLuint bufferObject;
+            const void* indices;
+        } indices;
+
+        // buffer object and void*s are mutually exclusive.
+        // TODO: enforce mutual exclusion with restricted setters and/or unions
+        struct Vertices {
+            GLuint bufferObject;
+            int attribFlags;
+            const void* position;
+            const void* texCoord;
+            const void* color;
+            GLsizei stride;
+        } vertices;
+
         int elementCount;
-        GLsizei stride;
         TextureVertex mappedVertices[4];
     } mesh;
 
@@ -87,8 +94,10 @@
 
         struct TextureData {
             Texture* texture;
+            GLenum target;
             GLenum filter;
             GLenum clamp;
+            Matrix4* textureTransform;
         } texture;
 
         bool colorEnabled;
diff --git a/libs/hwui/GlopBuilder.cpp b/libs/hwui/GlopBuilder.cpp
index 1342c52..0a46014 100644
--- a/libs/hwui/GlopBuilder.cpp
+++ b/libs/hwui/GlopBuilder.cpp
@@ -18,6 +18,7 @@
 #include "Caches.h"
 #include "Glop.h"
 #include "Matrix.h"
+#include "Patch.h"
 #include "renderstate/MeshState.h"
 #include "renderstate/RenderState.h"
 #include "SkiaShader.h"
@@ -61,15 +62,14 @@
 GlopBuilder& GlopBuilder::setMeshUnitQuad() {
     TRIGGER_STAGE(kMeshStage);
 
-    mOutGlop->mesh.vertexFlags = kNone_Attrib;
     mOutGlop->mesh.primitiveMode = GL_TRIANGLE_STRIP;
-    mOutGlop->mesh.vertexBufferObject = mRenderState.meshState().getUnitQuadVBO();
-    mOutGlop->mesh.vertices = nullptr;
-    mOutGlop->mesh.indexBufferObject = 0;
-    mOutGlop->mesh.indices = nullptr;
+    mOutGlop->mesh.indices = { 0, nullptr };
+    mOutGlop->mesh.vertices = {
+            mRenderState.meshState().getUnitQuadVBO(),
+            static_cast<int>(VertexAttribFlags::kNone),
+            nullptr, nullptr, nullptr,
+            kTextureVertexStride };
     mOutGlop->mesh.elementCount = 4;
-    mOutGlop->mesh.stride = kTextureVertexStride;
-    mOutGlop->mesh.texCoordOffset = nullptr;
     return *this;
 }
 
@@ -81,70 +81,90 @@
 
     TRIGGER_STAGE(kMeshStage);
 
-    mOutGlop->mesh.vertexFlags = kTextureCoord_Attrib;
     mOutGlop->mesh.primitiveMode = GL_TRIANGLE_STRIP;
-    mOutGlop->mesh.vertexBufferObject = mRenderState.meshState().getUnitQuadVBO();
-    mOutGlop->mesh.vertices = nullptr;
-    mOutGlop->mesh.texCoordOffset = (GLvoid*) kMeshTextureOffset;
-    mOutGlop->mesh.indexBufferObject = 0;
-    mOutGlop->mesh.indices = nullptr;
+    mOutGlop->mesh.indices = { 0, nullptr };
+    mOutGlop->mesh.vertices = {
+            mRenderState.meshState().getUnitQuadVBO(),
+            static_cast<int>(VertexAttribFlags::kTextureCoord),
+            nullptr, (const void*) kMeshTextureOffset, nullptr,
+            kTextureVertexStride };
     mOutGlop->mesh.elementCount = 4;
-    mOutGlop->mesh.stride = kTextureVertexStride;
-    mDescription.hasTexture = true;
     return *this;
 }
 
 GlopBuilder& GlopBuilder::setMeshTexturedUvQuad(const UvMapper* uvMapper, Rect uvs) {
     TRIGGER_STAGE(kMeshStage);
 
-    mOutGlop->mesh.vertexFlags = kTextureCoord_Attrib;
-    mOutGlop->mesh.primitiveMode = GL_TRIANGLE_STRIP;
-
     if (CC_UNLIKELY(uvMapper)) {
         uvMapper->map(uvs);
     }
     setUnitQuadTextureCoords(uvs, &mOutGlop->mesh.mappedVertices[0]);
 
-    mOutGlop->mesh.vertexBufferObject = 0;
-    mOutGlop->mesh.vertices = &mOutGlop->mesh.mappedVertices[0].x;
-    mOutGlop->mesh.texCoordOffset = &mOutGlop->mesh.mappedVertices[0].u;
-    mOutGlop->mesh.indexBufferObject = 0;
-    mOutGlop->mesh.indices = nullptr;
+    const TextureVertex* textureVertex = mOutGlop->mesh.mappedVertices;
+    mOutGlop->mesh.primitiveMode = GL_TRIANGLE_STRIP;
+    mOutGlop->mesh.indices = { 0, nullptr };
+    mOutGlop->mesh.vertices = {
+            0,
+            static_cast<int>(VertexAttribFlags::kTextureCoord),
+            &textureVertex[0].x, &textureVertex[0].u, nullptr,
+            kTextureVertexStride };
     mOutGlop->mesh.elementCount = 4;
-    mOutGlop->mesh.stride = kTextureVertexStride;
-    mDescription.hasTexture = true;
     return *this;
 }
 
-GlopBuilder& GlopBuilder::setMeshIndexedQuads(void* vertexData, int quadCount) {
+GlopBuilder& GlopBuilder::setMeshIndexedQuads(Vertex* vertexData, int quadCount) {
     TRIGGER_STAGE(kMeshStage);
 
-    mOutGlop->mesh.vertexFlags = kNone_Attrib;
     mOutGlop->mesh.primitiveMode = GL_TRIANGLES;
-    mOutGlop->mesh.vertexBufferObject = 0;
-    mOutGlop->mesh.vertices = vertexData;
-    mOutGlop->mesh.indexBufferObject = mRenderState.meshState().getQuadListIBO();
-    mOutGlop->mesh.indices = nullptr;
-    mOutGlop->mesh.texCoordOffset = nullptr;
+    mOutGlop->mesh.indices = { mRenderState.meshState().getQuadListIBO(), nullptr };
+    mOutGlop->mesh.vertices = {
+            0,
+            static_cast<int>(VertexAttribFlags::kNone),
+            vertexData, nullptr, nullptr,
+            kVertexStride };
     mOutGlop->mesh.elementCount = 6 * quadCount;
-    mOutGlop->mesh.stride = kVertexStride;
-
     return *this;
 }
 
 GlopBuilder& GlopBuilder::setMeshTexturedIndexedQuads(TextureVertex* vertexData, int elementCount) {
     TRIGGER_STAGE(kMeshStage);
 
-    mOutGlop->mesh.vertexFlags = kTextureCoord_Attrib;
     mOutGlop->mesh.primitiveMode = GL_TRIANGLES;
-    mOutGlop->mesh.vertexBufferObject = 0;
-    mOutGlop->mesh.vertices = &vertexData[0].x;
-    mOutGlop->mesh.indexBufferObject = mRenderState.meshState().getQuadListIBO();
-    mOutGlop->mesh.indices = nullptr;
-    mOutGlop->mesh.texCoordOffset = &vertexData[0].u;
+    mOutGlop->mesh.indices = { mRenderState.meshState().getQuadListIBO(), nullptr };
+    mOutGlop->mesh.vertices = {
+            0,
+            static_cast<int>(VertexAttribFlags::kTextureCoord),
+            &vertexData[0].x, &vertexData[0].u, nullptr,
+            kTextureVertexStride };
     mOutGlop->mesh.elementCount = elementCount;
-    mOutGlop->mesh.stride = kTextureVertexStride;
-    mDescription.hasTexture = true;
+    return *this;
+}
+
+GlopBuilder& GlopBuilder::setMeshTexturedMesh(TextureVertex* vertexData, int elementCount) {
+    TRIGGER_STAGE(kMeshStage);
+
+    mOutGlop->mesh.primitiveMode = GL_TRIANGLES;
+    mOutGlop->mesh.indices = { 0, nullptr };
+    mOutGlop->mesh.vertices = {
+            0,
+            static_cast<int>(VertexAttribFlags::kTextureCoord),
+            &vertexData[0].x, &vertexData[0].u, nullptr,
+            kTextureVertexStride };
+    mOutGlop->mesh.elementCount = elementCount;
+    return *this;
+}
+
+GlopBuilder& GlopBuilder::setMeshColoredTexturedMesh(ColorTextureVertex* vertexData, int elementCount) {
+    TRIGGER_STAGE(kMeshStage);
+
+    mOutGlop->mesh.primitiveMode = GL_TRIANGLES;
+    mOutGlop->mesh.indices = { 0, nullptr };
+    mOutGlop->mesh.vertices = {
+            0,
+            VertexAttribFlags::kTextureCoord | VertexAttribFlags::kColor,
+            &vertexData[0].x, &vertexData[0].u, &vertexData[0].r,
+            kColorTextureVertexStride };
+    mOutGlop->mesh.elementCount = elementCount;
     return *this;
 }
 
@@ -155,27 +175,41 @@
 
     bool alphaVertex = flags & VertexBuffer::kAlpha;
     bool indices = flags & VertexBuffer::kIndices;
-    mOutGlop->mesh.vertexFlags = alphaVertex ? kAlpha_Attrib : kNone_Attrib;
-    mOutGlop->mesh.primitiveMode = GL_TRIANGLE_STRIP;
-    mOutGlop->mesh.vertexBufferObject = 0;
-    mOutGlop->mesh.vertices = vertexBuffer.getBuffer();
-    mOutGlop->mesh.indexBufferObject = 0;
-    mOutGlop->mesh.indices = vertexBuffer.getIndices();
-    mOutGlop->mesh.texCoordOffset = nullptr;
-    mOutGlop->mesh.elementCount = indices
-            ? vertexBuffer.getIndexCount() : vertexBuffer.getVertexCount();
-    mOutGlop->mesh.stride = alphaVertex ? kAlphaVertexStride : kVertexStride;
 
-    mDescription.hasVertexAlpha = alphaVertex;
+    mOutGlop->mesh.primitiveMode = GL_TRIANGLE_STRIP;
+    mOutGlop->mesh.indices = { 0, vertexBuffer.getIndices() };
+    mOutGlop->mesh.vertices = {
+            0,
+            static_cast<int>(alphaVertex ? VertexAttribFlags::kAlpha : VertexAttribFlags::kNone),
+            vertexBuffer.getBuffer(), nullptr, nullptr,
+            alphaVertex ? kAlphaVertexStride : kVertexStride };
+    mOutGlop->mesh.elementCount = indices
+                ? vertexBuffer.getIndexCount() : vertexBuffer.getVertexCount();
+
     mDescription.useShadowAlphaInterp = shadowInterp;
     return *this;
 }
 
+GlopBuilder& GlopBuilder::setMeshPatchQuads(const Patch& patch) {
+    TRIGGER_STAGE(kMeshStage);
+
+    mOutGlop->mesh.primitiveMode = GL_TRIANGLES;
+    mOutGlop->mesh.indices = { mRenderState.meshState().getQuadListIBO(), nullptr };
+    mOutGlop->mesh.vertices = {
+            mCaches.patchCache.getMeshBuffer(),
+            static_cast<int>(VertexAttribFlags::kTextureCoord),
+            (void*)patch.positionOffset, (void*)patch.textureOffset, nullptr,
+            kTextureVertexStride };
+    mOutGlop->mesh.elementCount = patch.indexCount;
+    return *this;
+}
+
 ////////////////////////////////////////////////////////////////////////////////
 // Fill
 ////////////////////////////////////////////////////////////////////////////////
 
-void GlopBuilder::setFill(int color, float alphaScale, SkXfermode::Mode mode,
+void GlopBuilder::setFill(int color, float alphaScale,
+        SkXfermode::Mode mode, Blend::ModeOrderSwap modeUsage,
         const SkShader* shader, const SkColorFilter* colorFilter) {
     if (mode != SkXfermode::kClear_Mode) {
         float alpha = (SkColorGetA(color) / 255.0f) * alphaScale;
@@ -193,18 +227,17 @@
     } else {
         mOutGlop->fill.color = { 0, 0, 0, 1 };
     }
-    const bool SWAP_SRC_DST = false;
 
     mOutGlop->blend = { GL_ZERO, GL_ZERO };
     if (mOutGlop->fill.color.a < 1.0f
-            || (mOutGlop->mesh.vertexFlags & kAlpha_Attrib)
+            || (mOutGlop->mesh.vertices.attribFlags & VertexAttribFlags::kAlpha)
             || (mOutGlop->fill.texture.texture && mOutGlop->fill.texture.texture->blend)
             || mOutGlop->roundRectClipState
             || PaintUtils::isBlendedShader(shader)
             || PaintUtils::isBlendedColorFilter(colorFilter)
             || mode != SkXfermode::kSrcOver_Mode) {
         if (CC_LIKELY(mode <= SkXfermode::kScreen_Mode)) {
-            Blend::getFactors(mode, SWAP_SRC_DST,
+            Blend::getFactors(mode, modeUsage,
                     &mOutGlop->blend.src, &mOutGlop->blend.dst);
         } else {
             // These blend modes are not supported by OpenGL directly and have
@@ -214,11 +247,11 @@
             // back to the default SrcOver blend mode instead
             if (CC_UNLIKELY(mCaches.extensions().hasFramebufferFetch())) {
                 mDescription.framebufferMode = mode;
-                mDescription.swapSrcDst = SWAP_SRC_DST;
+                mDescription.swapSrcDst = (modeUsage == Blend::ModeOrderSwap::Swap);
                 // blending in shader, don't enable
             } else {
                 // unsupported
-                Blend::getFactors(SkXfermode::kSrcOver_Mode, SWAP_SRC_DST,
+                Blend::getFactors(SkXfermode::kSrcOver_Mode, modeUsage,
                         &mOutGlop->blend.src, &mOutGlop->blend.dst);
             }
         }
@@ -265,42 +298,45 @@
     }
 }
 
-GlopBuilder& GlopBuilder::setFillTexturePaint(Texture& texture, bool isAlphaMaskTexture,
+GlopBuilder& GlopBuilder::setFillTexturePaint(Texture& texture, int textureFillFlags,
         const SkPaint* paint, float alphaScale) {
     TRIGGER_STAGE(kFillStage);
     REQUIRE_STAGES(kMeshStage);
 
-    mOutGlop->fill.texture = { &texture, PaintUtils::getFilter(paint), GL_CLAMP_TO_EDGE };
+    GLenum filter = (textureFillFlags & TextureFillFlags::kForceFilter)
+            ? GL_LINEAR : PaintUtils::getFilter(paint);
+    mOutGlop->fill.texture = { &texture,
+            GL_TEXTURE_2D, filter, GL_CLAMP_TO_EDGE, nullptr };
 
     if (paint) {
         int color = paint->getColor();
         SkShader* shader = paint->getShader();
 
-        if (!isAlphaMaskTexture) {
+        if (!(textureFillFlags & TextureFillFlags::kIsAlphaMaskTexture)) {
             // Texture defines color, so disable shaders, and reset all non-alpha color channels
             color |= 0x00FFFFFF;
             shader = nullptr;
         }
-        setFill(color, alphaScale, PaintUtils::getXfermode(paint->getXfermode()),
+        setFill(color, alphaScale,
+                PaintUtils::getXfermode(paint->getXfermode()), Blend::ModeOrderSwap::NoSwap,
                 shader, paint->getColorFilter());
     } else {
         mOutGlop->fill.color = { alphaScale, alphaScale, alphaScale, alphaScale };
 
-        const bool SWAP_SRC_DST = false;
         if (alphaScale < 1.0f
-                || (mOutGlop->mesh.vertexFlags & kAlpha_Attrib)
+                || (mOutGlop->mesh.vertices.attribFlags & VertexAttribFlags::kAlpha)
                 || texture.blend
                 || mOutGlop->roundRectClipState) {
-            Blend::getFactors(SkXfermode::kSrcOver_Mode, SWAP_SRC_DST,
+            Blend::getFactors(SkXfermode::kSrcOver_Mode, Blend::ModeOrderSwap::NoSwap,
                     &mOutGlop->blend.src, &mOutGlop->blend.dst);
         } else {
             mOutGlop->blend = { GL_ZERO, GL_ZERO };
         }
     }
 
-    mDescription.hasAlpha8Texture = isAlphaMaskTexture;
-    if (isAlphaMaskTexture) {
+    if (textureFillFlags & TextureFillFlags::kIsAlphaMaskTexture) {
         mDescription.modulate = mOutGlop->fill.color.isNotBlack();
+        mDescription.hasAlpha8Texture = true;
     } else {
         mDescription.modulate = mOutGlop->fill.color.a < 1.0f;
     }
@@ -311,9 +347,10 @@
     TRIGGER_STAGE(kFillStage);
     REQUIRE_STAGES(kMeshStage);
 
-    mOutGlop->fill.texture = { nullptr, GL_INVALID_ENUM, GL_INVALID_ENUM };
+    mOutGlop->fill.texture = { nullptr, GL_INVALID_ENUM, GL_INVALID_ENUM, GL_INVALID_ENUM, nullptr };
 
-    setFill(paint.getColor(), alphaScale, PaintUtils::getXfermode(paint.getXfermode()),
+    setFill(paint.getColor(), alphaScale,
+            PaintUtils::getXfermode(paint.getXfermode()), Blend::ModeOrderSwap::NoSwap,
             paint.getShader(), paint.getColorFilter());
     mDescription.modulate = mOutGlop->fill.color.a < 1.0f;
     return *this;
@@ -325,9 +362,10 @@
     REQUIRE_STAGES(kMeshStage);
 
     //specify invalid filter/clamp, since these are always static for PathTextures
-    mOutGlop->fill.texture = { &texture, GL_INVALID_ENUM, GL_INVALID_ENUM };
+    mOutGlop->fill.texture = { &texture, GL_TEXTURE_2D, GL_INVALID_ENUM, GL_INVALID_ENUM, nullptr };
 
-    setFill(paint.getColor(), alphaScale, PaintUtils::getXfermode(paint.getXfermode()),
+    setFill(paint.getColor(), alphaScale,
+            PaintUtils::getXfermode(paint.getXfermode()), Blend::ModeOrderSwap::NoSwap,
             paint.getShader(), paint.getColorFilter());
 
     mDescription.hasAlpha8Texture = true;
@@ -341,7 +379,7 @@
     REQUIRE_STAGES(kMeshStage);
 
     //specify invalid filter/clamp, since these are always static for ShadowTextures
-    mOutGlop->fill.texture = { &texture, GL_INVALID_ENUM, GL_INVALID_ENUM };
+    mOutGlop->fill.texture = { &texture, GL_TEXTURE_2D, GL_INVALID_ENUM, GL_INVALID_ENUM, nullptr };
 
     const int ALPHA_BITMASK = SK_ColorBLACK;
     const int COLOR_BITMASK = ~ALPHA_BITMASK;
@@ -350,7 +388,8 @@
         shadowColor &= paint.getColor() | COLOR_BITMASK;
     }
 
-    setFill(shadowColor, alphaScale, PaintUtils::getXfermode(paint.getXfermode()),
+    setFill(shadowColor, alphaScale,
+            PaintUtils::getXfermode(paint.getXfermode()), Blend::ModeOrderSwap::NoSwap,
             paint.getShader(), paint.getColorFilter());
 
     mDescription.hasAlpha8Texture = true;
@@ -362,8 +401,9 @@
     TRIGGER_STAGE(kFillStage);
     REQUIRE_STAGES(kMeshStage);
 
-    mOutGlop->fill.texture = { nullptr, GL_INVALID_ENUM, GL_INVALID_ENUM };
-    setFill(SK_ColorBLACK, 1.0f, SkXfermode::kSrcOver_Mode, nullptr, nullptr);
+    mOutGlop->fill.texture = { nullptr, GL_INVALID_ENUM, GL_INVALID_ENUM, GL_INVALID_ENUM, nullptr };
+    setFill(SK_ColorBLACK, 1.0f, SkXfermode::kSrcOver_Mode, Blend::ModeOrderSwap::NoSwap,
+            nullptr, nullptr);
     return *this;
 }
 
@@ -371,25 +411,43 @@
     TRIGGER_STAGE(kFillStage);
     REQUIRE_STAGES(kMeshStage);
 
-    mOutGlop->fill.texture = { nullptr, GL_INVALID_ENUM, GL_INVALID_ENUM };
-    setFill(SK_ColorBLACK, 1.0f, SkXfermode::kClear_Mode, nullptr, nullptr);
+    mOutGlop->fill.texture = { nullptr, GL_INVALID_ENUM, GL_INVALID_ENUM, GL_INVALID_ENUM, nullptr };
+    setFill(SK_ColorBLACK, 1.0f, SkXfermode::kClear_Mode, Blend::ModeOrderSwap::NoSwap,
+            nullptr, nullptr);
     return *this;
 }
 
 GlopBuilder& GlopBuilder::setFillLayer(Texture& texture, const SkColorFilter* colorFilter,
-        float alpha, SkXfermode::Mode mode) {
+        float alpha, SkXfermode::Mode mode, Blend::ModeOrderSwap modeUsage) {
     TRIGGER_STAGE(kFillStage);
     REQUIRE_STAGES(kMeshStage);
 
-    mOutGlop->fill.texture = { &texture, GL_LINEAR, GL_CLAMP_TO_EDGE };
+    mOutGlop->fill.texture = { &texture,
+            GL_TEXTURE_2D, GL_LINEAR, GL_CLAMP_TO_EDGE, nullptr };
     mOutGlop->fill.color = { alpha, alpha, alpha, alpha };
 
-    setFill(SK_ColorWHITE, alpha, mode, nullptr, colorFilter);
+    setFill(SK_ColorWHITE, alpha, mode, modeUsage, nullptr, colorFilter);
 
     mDescription.modulate = mOutGlop->fill.color.a < 1.0f;
     return *this;
 }
 
+GlopBuilder& GlopBuilder::setFillTextureLayer(Layer& layer, float alpha) {
+    TRIGGER_STAGE(kFillStage);
+    REQUIRE_STAGES(kMeshStage);
+
+    mOutGlop->fill.texture = { &(layer.getTexture()),
+            layer.getRenderTarget(), GL_LINEAR, GL_CLAMP_TO_EDGE, &layer.getTexTransform() };
+    mOutGlop->fill.color = { alpha, alpha, alpha, alpha };
+
+    setFill(SK_ColorWHITE, alpha, layer.getMode(), Blend::ModeOrderSwap::NoSwap,
+            nullptr, layer.getColorFilter());
+
+    mDescription.modulate = mOutGlop->fill.color.a < 1.0f;
+    mDescription.hasTextureTransform = true;
+    return *this;
+}
+
 ////////////////////////////////////////////////////////////////////////////////
 // Transform
 ////////////////////////////////////////////////////////////////////////////////
@@ -466,6 +524,7 @@
     }
 
     mOutGlop->transform.modelView.loadTranslate(offsetX, offsetY, 0.0f);
+    mOutGlop->bounds = source;
     mOutGlop->bounds.translate(offsetX, offsetY);
     return *this;
 }
@@ -487,22 +546,51 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 void verify(const ProgramDescription& description, const Glop& glop) {
-    bool hasTexture = glop.fill.texture.texture != nullptr;
-    LOG_ALWAYS_FATAL_IF(description.hasTexture != hasTexture);
-    LOG_ALWAYS_FATAL_IF((glop.mesh.vertexFlags & kTextureCoord_Attrib) != hasTexture);
+    if (glop.fill.texture.texture != nullptr) {
+        LOG_ALWAYS_FATAL_IF(((description.hasTexture && description.hasExternalTexture)
+                        || (!description.hasTexture && !description.hasExternalTexture)
+                        || ((glop.mesh.vertices.attribFlags & VertexAttribFlags::kTextureCoord) == 0)),
+                "Texture %p, hT%d, hET %d, attribFlags %x",
+                glop.fill.texture.texture,
+                description.hasTexture, description.hasExternalTexture,
+                glop.mesh.vertices.attribFlags);
+    } else {
+        LOG_ALWAYS_FATAL_IF((description.hasTexture
+                        || description.hasExternalTexture
+                        || ((glop.mesh.vertices.attribFlags & VertexAttribFlags::kTextureCoord) != 0)),
+                "No texture, hT%d, hET %d, attribFlags %x",
+                description.hasTexture, description.hasExternalTexture,
+                glop.mesh.vertices.attribFlags);
+    }
+
+    if ((glop.mesh.vertices.attribFlags & VertexAttribFlags::kAlpha)
+            && glop.mesh.vertices.bufferObject) {
+        LOG_ALWAYS_FATAL("VBO and alpha attributes are not currently compatible");
+    }
+
+    if (description.hasTextureTransform != (glop.fill.texture.textureTransform != nullptr)) {
+        LOG_ALWAYS_FATAL("Texture transform incorrectly specified");
+    }
 }
 
 void GlopBuilder::build() {
     REQUIRE_STAGES(kAllStages);
+    if (mOutGlop->mesh.vertices.attribFlags & VertexAttribFlags::kTextureCoord) {
+        if (mOutGlop->fill.texture.target == GL_TEXTURE_2D) {
+            mDescription.hasTexture = true;
+        } else {
+            mDescription.hasExternalTexture = true;
+        }
+
+    }
+    mDescription.hasColors = mOutGlop->mesh.vertices.attribFlags & VertexAttribFlags::kColor;
+    mDescription.hasVertexAlpha = mOutGlop->mesh.vertices.attribFlags & VertexAttribFlags::kAlpha;
 
     // serialize shader info into ShaderData
     GLuint textureUnit = mOutGlop->fill.texture.texture ? 1 : 0;
     SkiaShader::store(mCaches, mShader, mOutGlop->transform.modelView,
             &textureUnit, &mDescription, &(mOutGlop->fill.skiaShaderData));
 
-    mOutGlop->fill.program = mCaches.programCache.get(mDescription);
-    mOutGlop->transform.canvas.mapRect(mOutGlop->bounds);
-
     // duplicates ProgramCache's definition of color uniform presence
     const bool singleColor = !mDescription.hasTexture
             && !mDescription.hasExternalTexture
@@ -511,6 +599,10 @@
     mOutGlop->fill.colorEnabled = mDescription.modulate || singleColor;
 
     verify(mDescription, *mOutGlop);
+
+    // Final step: populate program and map bounds into render target space
+    mOutGlop->fill.program = mCaches.programCache.get(mDescription);
+    mOutGlop->transform.canvas.mapRect(mOutGlop->bounds);
 }
 
 } /* namespace uirenderer */
diff --git a/libs/hwui/GlopBuilder.h b/libs/hwui/GlopBuilder.h
index 5a8354d..b335a2c 100644
--- a/libs/hwui/GlopBuilder.h
+++ b/libs/hwui/GlopBuilder.h
@@ -18,6 +18,7 @@
 
 #include "OpenGLRenderer.h"
 #include "Program.h"
+#include "renderstate/Blend.h"
 #include "utils/Macros.h"
 
 class SkPaint;
@@ -33,6 +34,13 @@
 class VertexBuffer;
 struct Glop;
 
+enum class TextureFillFlags {
+    kNone = 0,
+    kIsAlphaMaskTexture = 1 << 0,
+    kForceFilter = 1 << 1,
+};
+MAKE_FLAGS_ENUM(TextureFillFlags);
+
 class GlopBuilder {
     PREVENT_COPY_AND_ASSIGN(GlopBuilder);
 public:
@@ -42,11 +50,14 @@
     GlopBuilder& setMeshTexturedUnitQuad(const UvMapper* uvMapper);
     GlopBuilder& setMeshTexturedUvQuad(const UvMapper* uvMapper, const Rect uvs);
     GlopBuilder& setMeshVertexBuffer(const VertexBuffer& vertexBuffer, bool shadowInterp);
-    GlopBuilder& setMeshIndexedQuads(void* vertexData, int quadCount);
+    GlopBuilder& setMeshIndexedQuads(Vertex* vertexData, int quadCount);
+    GlopBuilder& setMeshTexturedMesh(TextureVertex* vertexData, int elementCount); // TODO: use indexed quads
+    GlopBuilder& setMeshColoredTexturedMesh(ColorTextureVertex* vertexData, int elementCount); // TODO: use indexed quads
     GlopBuilder& setMeshTexturedIndexedQuads(TextureVertex* vertexData, int elementCount); // TODO: take quadCount
+    GlopBuilder& setMeshPatchQuads(const Patch& patch);
 
     GlopBuilder& setFillPaint(const SkPaint& paint, float alphaScale);
-    GlopBuilder& setFillTexturePaint(Texture& texture, bool isAlphaMaskTexture,
+    GlopBuilder& setFillTexturePaint(Texture& texture, int textureFillFlags,
             const SkPaint* paint, float alphaScale);
     GlopBuilder& setFillPathTexturePaint(PathTexture& texture,
             const SkPaint& paint, float alphaScale);
@@ -55,20 +66,37 @@
     GlopBuilder& setFillBlack();
     GlopBuilder& setFillClear();
     GlopBuilder& setFillLayer(Texture& texture, const SkColorFilter* colorFilter,
-            float alpha, SkXfermode::Mode mode);
+            float alpha, SkXfermode::Mode mode, Blend::ModeOrderSwap modeUsage);
+    GlopBuilder& setFillTextureLayer(Layer& layer, float alpha);
 
     GlopBuilder& setTransform(const Matrix4& ortho, const Matrix4& transform, bool fudgingOffset);
 
     GlopBuilder& setModelViewMapUnitToRect(const Rect destination);
     GlopBuilder& setModelViewMapUnitToRectSnap(const Rect destination);
+    GlopBuilder& setModelViewMapUnitToRectOptionalSnap(bool snap, const Rect& destination) {
+        if (snap) {
+            return setModelViewMapUnitToRectSnap(destination);
+        } else {
+            return setModelViewMapUnitToRect(destination);
+        }
+    }
     GlopBuilder& setModelViewOffsetRect(float offsetX, float offsetY, const Rect source);
     GlopBuilder& setModelViewOffsetRectSnap(float offsetX, float offsetY, const Rect source);
+    GlopBuilder& setModelViewOffsetRectOptionalSnap(bool snap,
+            float offsetX, float offsetY, const Rect& source) {
+        if (snap) {
+            return setModelViewOffsetRectSnap(offsetX, offsetY, source);
+        } else {
+            return setModelViewOffsetRect(offsetX, offsetY, source);
+        }
+    }
 
     GlopBuilder& setRoundRectClipState(const RoundRectClipState* roundRectClipState);
 
     void build();
 private:
-    void setFill(int color, float alphaScale, SkXfermode::Mode mode,
+    void setFill(int color, float alphaScale,
+            SkXfermode::Mode mode, Blend::ModeOrderSwap modeUsage,
             const SkShader* shader, const SkColorFilter* colorFilter);
 
     enum StageFlags {
diff --git a/libs/hwui/JankTracker.cpp b/libs/hwui/JankTracker.cpp
index d0ea3a6..7df61f27 100644
--- a/libs/hwui/JankTracker.cpp
+++ b/libs/hwui/JankTracker.cpp
@@ -15,6 +15,7 @@
  */
 #include "JankTracker.h"
 
+#include <algorithm>
 #include <cstdio>
 #include <inttypes.h>
 
@@ -95,7 +96,12 @@
     // Fast-path for jank-free frames
     int64_t totalDuration =
             frame[FrameInfoIndex::kFrameCompleted] - frame[FrameInfoIndex::kIntendedVsync];
+    uint32_t framebucket = std::min(
+            static_cast<typeof mFrameCounts.size()>(ns2ms(totalDuration)),
+            mFrameCounts.size());
+    // Keep the fast path as fast as possible.
     if (CC_LIKELY(totalDuration < mFrameInterval)) {
+        mFrameCounts[framebucket]++;
         return;
     }
 
@@ -103,6 +109,7 @@
         return;
     }
 
+    mFrameCounts[framebucket]++;
     mJankFrameCount++;
 
     for (int i = 0; i < NUM_BUCKETS; i++) {
@@ -119,6 +126,9 @@
     fprintf(file, "\n  Total frames rendered: %u", mTotalFrameCount);
     fprintf(file, "\n  Janky frames: %u (%.2f%%)", mJankFrameCount,
             (float) mJankFrameCount / (float) mTotalFrameCount * 100.0f);
+    fprintf(file, "\n  90th percentile: %ums", findPercentile(90));
+    fprintf(file, "\n  95th percentile: %ums", findPercentile(95));
+    fprintf(file, "\n  99th percentile: %ums", findPercentile(99));
     for (int i = 0; i < NUM_BUCKETS; i++) {
         fprintf(file, "\n   Number %s: %u", JANK_TYPE_NAMES[i], mBuckets[i].count);
     }
@@ -127,10 +137,23 @@
 }
 
 void JankTracker::reset() {
-    memset(mBuckets, 0, sizeof(JankBucket) * NUM_BUCKETS);
+    mBuckets.fill({0});
+    mFrameCounts.fill(0);
     mTotalFrameCount = 0;
     mJankFrameCount = 0;
 }
 
+uint32_t JankTracker::findPercentile(int percentile) {
+    int pos = percentile * mTotalFrameCount / 100;
+    int remaining = mTotalFrameCount - pos;
+    for (int i = mFrameCounts.size() - 1; i >= 0; i--) {
+        remaining -= mFrameCounts[i];
+        if (remaining <= 0) {
+            return i;
+        }
+    }
+    return 0;
+}
+
 } /* namespace uirenderer */
 } /* namespace android */
diff --git a/libs/hwui/JankTracker.h b/libs/hwui/JankTracker.h
index aa554cd..ae339ec 100644
--- a/libs/hwui/JankTracker.h
+++ b/libs/hwui/JankTracker.h
@@ -20,6 +20,7 @@
 #include "renderthread/TimeLord.h"
 #include "utils/RingBuffer.h"
 
+#include <array>
 #include <memory>
 
 namespace android {
@@ -54,8 +55,11 @@
     void reset();
 
 private:
-    JankBucket mBuckets[NUM_BUCKETS];
-    int64_t mThresholds[NUM_BUCKETS];
+    uint32_t findPercentile(int p);
+
+    std::array<JankBucket, NUM_BUCKETS> mBuckets;
+    std::array<int64_t, NUM_BUCKETS> mThresholds;
+    std::array<uint32_t, 128> mFrameCounts;
 
     int64_t mFrameInterval;
     uint32_t mTotalFrameCount;
diff --git a/libs/hwui/Layer.cpp b/libs/hwui/Layer.cpp
index 7a026ef..458f35b 100644
--- a/libs/hwui/Layer.cpp
+++ b/libs/hwui/Layer.cpp
@@ -37,7 +37,7 @@
 namespace android {
 namespace uirenderer {
 
-Layer::Layer(Type layerType, RenderState& renderState, const uint32_t layerWidth, const uint32_t layerHeight)
+Layer::Layer(Type layerType, RenderState& renderState, uint32_t layerWidth, uint32_t layerHeight)
         : state(kState_Uncached)
         , caches(Caches::getInstance())
         , renderState(renderState)
@@ -46,24 +46,9 @@
     // TODO: This is a violation of Android's typical ref counting, but it
     // preserves the old inc/dec ref locations. This should be changed...
     incStrong(nullptr);
-    mesh = nullptr;
-    meshElementCount = 0;
-    cacheable = true;
-    dirty = false;
     renderTarget = GL_TEXTURE_2D;
     texture.width = layerWidth;
     texture.height = layerHeight;
-    colorFilter = nullptr;
-    deferredUpdateScheduled = false;
-    renderNode = nullptr;
-    fbo = 0;
-    stencil = nullptr;
-    debugDrawUpdate = false;
-    hasDrawnSinceUpdate = false;
-    forceFilter = false;
-    convexMask = nullptr;
-    rendererLightPosDirty = true;
-    wasBuildLayered = false;
     renderState.registerLayer(this);
 }
 
diff --git a/libs/hwui/Layer.h b/libs/hwui/Layer.h
index 3c1f1d1..b670870 100644
--- a/libs/hwui/Layer.h
+++ b/libs/hwui/Layer.h
@@ -72,7 +72,7 @@
     };
     State state; // public for logging/debugging purposes
 
-    Layer(Type type, RenderState& renderState, const uint32_t layerWidth, const uint32_t layerHeight);
+    Layer(Type type, RenderState& renderState, uint32_t layerWidth, uint32_t layerHeight);
     ~Layer();
 
     static uint32_t computeIdealWidth(uint32_t layerWidth);
@@ -324,19 +324,19 @@
     /**
      * If the layer can be rendered as a mesh, this is non-null.
      */
-    TextureVertex* mesh;
-    GLsizei meshElementCount;
+    TextureVertex* mesh = nullptr;
+    GLsizei meshElementCount = 0;
 
     /**
      * Used for deferred updates.
      */
-    bool deferredUpdateScheduled;
+    bool deferredUpdateScheduled = false;
     std::unique_ptr<OpenGLRenderer> renderer;
     sp<RenderNode> renderNode;
     Rect dirtyRect;
-    bool debugDrawUpdate;
-    bool hasDrawnSinceUpdate;
-    bool wasBuildLayered;
+    bool debugDrawUpdate = false;
+    bool hasDrawnSinceUpdate = false;
+    bool wasBuildLayered = false;
 
 private:
     void requireRenderer();
@@ -350,17 +350,17 @@
      * Name of the FBO used to render the layer. If the name is 0
      * this layer is not backed by an FBO, but a simple texture.
      */
-    GLuint fbo;
+    GLuint fbo = 0;
 
     /**
      * The render buffer used as the stencil buffer.
      */
-    RenderBuffer* stencil;
+    RenderBuffer* stencil = nullptr;
 
     /**
      * Indicates whether this layer has been used already.
      */
-    bool empty;
+    bool empty = true;
 
     /**
      * The texture backing this layer.
@@ -370,7 +370,7 @@
     /**
      * If set to true (by default), the layer can be reused.
      */
-    bool cacheable;
+    bool cacheable = true;
 
     /**
      * Denotes whether the layer is a DisplayList, or Texture layer.
@@ -381,32 +381,32 @@
      * When set to true, this layer is dirty and should be cleared
      * before any rendering occurs.
      */
-    bool dirty;
+    bool dirty = false;
 
     /**
      * Indicates the render target.
      */
-    GLenum renderTarget;
+    GLenum renderTarget = GL_TEXTURE_2D;
 
     /**
      * Color filter used to draw this layer. Optional.
      */
-    SkColorFilter* colorFilter;
+    SkColorFilter* colorFilter = nullptr;
 
     /**
      * Indicates raster data backing the layer is scaled, requiring filtration.
      */
-    bool forceFilter;
+    bool forceFilter = false;
 
     /**
      * Opacity of the layer.
      */
-    int alpha;
+    int alpha = 255;
 
     /**
      * Blending mode of the layer.
      */
-    SkXfermode::Mode mode;
+    SkXfermode::Mode mode = SkXfermode::kSrcOver_Mode;
 
     /**
      * Optional texture coordinates transform.
@@ -422,7 +422,7 @@
      * Cached transform of layer in window, updated only on creation / resize
      */
     mat4 cachedInvTransformInWindow;
-    bool rendererLightPosDirty;
+    bool rendererLightPosDirty = true;
 
     /**
      * Used to defer display lists when the layer is updated with a
@@ -435,7 +435,7 @@
      *
      * Data not owned/managed by layer object.
      */
-    const SkPath* convexMask;
+    const SkPath* convexMask = nullptr;
 
 }; // struct Layer
 
diff --git a/libs/hwui/LayerCache.cpp b/libs/hwui/LayerCache.cpp
index 60d4f4f..bcbd412 100644
--- a/libs/hwui/LayerCache.cpp
+++ b/libs/hwui/LayerCache.cpp
@@ -116,9 +116,6 @@
 
         layer = new Layer(Layer::kType_DisplayList, renderState, entry.mWidth, entry.mHeight);
         layer->setBlend(true);
-        layer->setEmpty(true);
-        layer->setFbo(0);
-
         layer->generateTexture();
         layer->bindTexture();
         layer->setFilter(GL_NEAREST);
diff --git a/libs/hwui/LayerRenderer.cpp b/libs/hwui/LayerRenderer.cpp
index f598664..223bdf0 100644
--- a/libs/hwui/LayerRenderer.cpp
+++ b/libs/hwui/LayerRenderer.cpp
@@ -93,7 +93,7 @@
     return retval;
 }
 
-GLuint LayerRenderer::onGetTargetFbo() const {
+GLuint LayerRenderer::getTargetFbo() const {
     return mLayer->getFbo();
 }
 
@@ -275,9 +275,6 @@
 
     Layer* layer = new Layer(Layer::kType_Texture, renderState, 0, 0);
     layer->setCacheable(false);
-    layer->setEmpty(true);
-    layer->setFbo(0);
-    layer->setAlpha(255, SkXfermode::kSrcOver_Mode);
     layer->layer.set(0.0f, 0.0f, 0.0f, 0.0f);
     layer->texCoords.set(0.0f, 1.0f, 1.0f, 0.0f);
     layer->region.clear();
@@ -356,8 +353,9 @@
 
 bool LayerRenderer::copyLayer(RenderState& renderState, Layer* layer, SkBitmap* bitmap) {
     Caches& caches = Caches::getInstance();
-    if (layer && bitmap->width() <= caches.maxTextureSize &&
-            bitmap->height() <= caches.maxTextureSize) {
+    if (layer
+            && bitmap->width() <= caches.maxTextureSize
+            && bitmap->height() <= caches.maxTextureSize) {
 
         GLuint fbo = caches.fboCache.get();
         if (!fbo) {
diff --git a/libs/hwui/LayerRenderer.h b/libs/hwui/LayerRenderer.h
index 5e1e835..47ded7e 100644
--- a/libs/hwui/LayerRenderer.h
+++ b/libs/hwui/LayerRenderer.h
@@ -69,7 +69,7 @@
     virtual void ensureStencilBuffer() override;
     virtual bool hasLayer() const override;
     virtual Region* getRegion() const override;
-    virtual GLuint onGetTargetFbo() const override;
+    virtual GLuint getTargetFbo() const override;
     virtual bool suppressErrorChecks() const override;
 
 private:
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 2bca9fa..622b570 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -176,7 +176,7 @@
     // the back buffer for this frame.
     if (mCaches.extensions().hasDiscardFramebuffer() &&
             left <= 0.0f && top <= 0.0f && right >= mState.getWidth() && bottom >= mState.getHeight()) {
-        const bool isFbo = onGetTargetFbo() == 0;
+        const bool isFbo = getTargetFbo() == 0;
         const GLenum attachments[] = {
                 isFbo ? (const GLenum) GL_COLOR_EXT : (const GLenum) GL_COLOR_ATTACHMENT0,
                 isFbo ? (const GLenum) GL_STENCIL_EXT : (const GLenum) GL_STENCIL_ATTACHMENT };
@@ -240,7 +240,7 @@
 
     // When finish() is invoked on FBO 0 we've reached the end
     // of the current frame
-    if (onGetTargetFbo() == 0) {
+    if (getTargetFbo() == 0) {
         mCaches.pathCache.trim();
         mCaches.tessellationCache.trim();
     }
@@ -347,7 +347,7 @@
 }
 
 void OpenGLRenderer::renderOverdraw() {
-    if (mCaches.debugOverdraw && onGetTargetFbo() == 0) {
+    if (mCaches.debugOverdraw && getTargetFbo() == 0) {
         const Rect* clip = &mTilingClip;
 
         mRenderState.scissor().setEnabled(true);
@@ -429,7 +429,7 @@
 
         if (CC_UNLIKELY(mCaches.drawDeferDisabled)) {
             mLayerUpdates.clear();
-            mRenderState.bindFramebuffer(onGetTargetFbo());
+            mRenderState.bindFramebuffer(getTargetFbo());
         }
         endMark();
     }
@@ -446,7 +446,7 @@
         }
 
         mLayerUpdates.clear();
-        mRenderState.bindFramebuffer(onGetTargetFbo());
+        mRenderState.bindFramebuffer(getTargetFbo());
 
         endMark();
     }
@@ -846,8 +846,21 @@
 }
 
 void OpenGLRenderer::drawTextureLayer(Layer* layer, const Rect& rect) {
-    float alpha = getLayerAlpha(layer);
+    if (USE_GLOPS) {
+        bool snap = !layer->getForceFilter()
+                && layer->getWidth() == (uint32_t) rect.getWidth()
+                && layer->getHeight() == (uint32_t) rect.getHeight();
+        Glop glop;
+        GlopBuilder(mRenderState, mCaches, &glop)
+                .setMeshTexturedUvQuad(nullptr, Rect(0, 1, 1, 0)) // TODO: simplify with VBO
+                .setFillTextureLayer(*layer, getLayerAlpha(layer))
+                .setTransform(currentSnapshot()->getOrthoMatrix(), *currentTransform(), false)
+                .setModelViewMapUnitToRectOptionalSnap(snap, rect)
+                .setRoundRectClipState(currentSnapshot()->roundRectClipState)
+                .build();
+    }
 
+    float alpha = getLayerAlpha(layer);
     setupDraw();
     if (layer->getRenderTarget() == GL_TEXTURE_2D) {
         setupDrawWithTexture();
@@ -866,12 +879,12 @@
     } else {
         setupDrawExternalTexture(layer->getTextureId());
     }
-    if (currentTransform()->isPureTranslate() &&
-            !layer->getForceFilter() &&
-            layer->getWidth() == (uint32_t) rect.getWidth() &&
-            layer->getHeight() == (uint32_t) rect.getHeight()) {
-        const float x = (int) floorf(rect.left + currentTransform()->getTranslateX() + 0.5f);
-        const float y = (int) floorf(rect.top + currentTransform()->getTranslateY() + 0.5f);
+    if (currentTransform()->isPureTranslate()
+            && !layer->getForceFilter()
+            && layer->getWidth() == (uint32_t) rect.getWidth()
+            && layer->getHeight() == (uint32_t) rect.getHeight()) {
+        const float x = floorf(rect.left + currentTransform()->getTranslateX() + 0.5f);
+        const float y = floorf(rect.top + currentTransform()->getTranslateY() + 0.5f);
 
         layer->setFilter(GL_NEAREST);
         setupDrawModelView(kModelViewMode_TranslateAndScale, false,
@@ -895,21 +908,41 @@
         resetDrawTextureTexCoords(0.0f, 0.0f, 1.0f, 1.0f);
     } else {
         EVENT_LOGD("composeHardwareLayerRect");
+
+        if (USE_GLOPS) {
+            Blend::ModeOrderSwap modeUsage = swap ?
+                    Blend::ModeOrderSwap::Swap : Blend::ModeOrderSwap::NoSwap;
+            const Matrix4& transform = swap ? Matrix4::identity() : *currentTransform();
+            bool snap = !swap
+                    && layer->getWidth() == static_cast<uint32_t>(rect.getWidth())
+                    && layer->getHeight() == static_cast<uint32_t>(rect.getHeight());
+            Glop glop;
+            GlopBuilder(mRenderState, mCaches, &glop)
+                    .setMeshTexturedUvQuad(nullptr, layer->texCoords)
+                    .setFillLayer(layer->getTexture(), layer->getColorFilter(), getLayerAlpha(layer), layer->getMode(), modeUsage)
+                    .setTransform(currentSnapshot()->getOrthoMatrix(), transform, false)
+                    .setModelViewMapUnitToRectOptionalSnap(snap, rect)
+                    .setRoundRectClipState(currentSnapshot()->roundRectClipState)
+                    .build();
+            renderGlop(glop);
+            return;
+        }
+
         const Rect& texCoords = layer->texCoords;
         resetDrawTextureTexCoords(texCoords.left, texCoords.top,
                 texCoords.right, texCoords.bottom);
 
         float x = rect.left;
         float y = rect.top;
-        bool simpleTransform = currentTransform()->isPureTranslate() &&
-                layer->getWidth() == (uint32_t) rect.getWidth() &&
-                layer->getHeight() == (uint32_t) rect.getHeight();
+        bool simpleTransform = currentTransform()->isPureTranslate()
+                && layer->getWidth() == (uint32_t) rect.getWidth()
+                && layer->getHeight() == (uint32_t) rect.getHeight();
 
         if (simpleTransform) {
             // When we're swapping, the layer is already in screen coordinates
             if (!swap) {
-                x = (int) floorf(rect.left + currentTransform()->getTranslateX() + 0.5f);
-                y = (int) floorf(rect.top + currentTransform()->getTranslateY() + 0.5f);
+                x = floorf(rect.left + currentTransform()->getTranslateX() + 0.5f);
+                y = floorf(rect.top + currentTransform()->getTranslateY() + 0.5f);
             }
 
             layer->setFilter(GL_NEAREST, true);
@@ -938,13 +971,13 @@
  * operations are correctly counted twice for overdraw. NOTE: assumes composeLayerRegion only used
  * by saveLayer's restore
  */
-#define DRAW_DOUBLE_STENCIL_IF(COND, DRAW_COMMAND) {                               \
-        DRAW_COMMAND;                                                              \
-        if (CC_UNLIKELY(mCaches.debugOverdraw && onGetTargetFbo() == 0 && COND)) { \
-            glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);                   \
-            DRAW_COMMAND;                                                          \
-            glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);                       \
-        }                                                                          \
+#define DRAW_DOUBLE_STENCIL_IF(COND, DRAW_COMMAND) {                             \
+        DRAW_COMMAND;                                                            \
+        if (CC_UNLIKELY(mCaches.debugOverdraw && getTargetFbo() == 0 && COND)) { \
+            glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);                 \
+            DRAW_COMMAND;                                                        \
+            glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);                     \
+        }                                                                        \
     }
 
 #define DRAW_DOUBLE_STENCIL(DRAW_COMMAND) DRAW_DOUBLE_STENCIL_IF(true, DRAW_COMMAND)
@@ -1040,11 +1073,42 @@
         rects = safeRegion.getArray(&count);
     }
 
-    const float alpha = getLayerAlpha(layer);
     const float texX = 1.0f / float(layer->getWidth());
     const float texY = 1.0f / float(layer->getHeight());
     const float height = rect.getHeight();
 
+    if (USE_GLOPS) {
+        TextureVertex quadVertices[count * 4];
+        //std::unique_ptr<TextureVertex[]> quadVertices(new TextureVertex[count * 4]);
+        TextureVertex* mesh = &quadVertices[0];
+        for (size_t i = 0; i < count; i++) {
+            const android::Rect* r = &rects[i];
+
+            const float u1 = r->left * texX;
+            const float v1 = (height - r->top) * texY;
+            const float u2 = r->right * texX;
+            const float v2 = (height - r->bottom) * texY;
+
+            // TODO: Reject quads outside of the clip
+            TextureVertex::set(mesh++, r->left, r->top, u1, v1);
+            TextureVertex::set(mesh++, r->right, r->top, u2, v1);
+            TextureVertex::set(mesh++, r->left, r->bottom, u1, v2);
+            TextureVertex::set(mesh++, r->right, r->bottom, u2, v2);
+        }
+        Glop glop;
+        GlopBuilder(mRenderState, mCaches, &glop)
+                .setMeshTexturedIndexedQuads(&quadVertices[0], count * 6)
+                .setFillLayer(layer->getTexture(), layer->getColorFilter(), getLayerAlpha(layer), layer->getMode(), Blend::ModeOrderSwap::NoSwap)
+                .setTransform(currentSnapshot()->getOrthoMatrix(), *currentTransform(), false)
+                .setModelViewOffsetRectSnap(0, 0, rect)
+                .setRoundRectClipState(currentSnapshot()->roundRectClipState)
+                .build();
+        DRAW_DOUBLE_STENCIL_IF(!layer->hasDrawnSinceUpdate, renderGlop(glop));
+        return;
+    }
+
+    const float alpha = getLayerAlpha(layer);
+
     setupDraw();
 
     // We must get (and therefore bind) the region mesh buffer
@@ -1063,8 +1127,8 @@
     setupDrawColorFilterUniforms(layer->getColorFilter());
     setupDrawTexture(layer->getTextureId());
     if (currentTransform()->isPureTranslate()) {
-        const float x = (int) floorf(rect.left + currentTransform()->getTranslateX() + 0.5f);
-        const float y = (int) floorf(rect.top + currentTransform()->getTranslateY() + 0.5f);
+        const float x = floorf(rect.left + currentTransform()->getTranslateX() + 0.5f);
+        const float y = floorf(rect.top + currentTransform()->getTranslateY() + 0.5f);
 
         layer->setFilter(GL_NEAREST);
         setupDrawModelView(kModelViewMode_Translate, false,
@@ -1156,7 +1220,7 @@
 }
 
 void OpenGLRenderer::dirtyLayer(const float left, const float top,
-        const float right, const float bottom, const mat4 transform) {
+        const float right, const float bottom, const Matrix4& transform) {
     if (hasLayer()) {
         Rect bounds(left, top, right, bottom);
         transform.mapRect(bounds);
@@ -1230,14 +1294,14 @@
 
         if (USE_GLOPS) {
             Glop glop;
-            GlopBuilder aBuilder(mRenderState, mCaches, &glop);
-            aBuilder.setMeshIndexedQuads(&mesh[0], quadCount)
+            GlopBuilder(mRenderState, mCaches, &glop)
+                    .setMeshIndexedQuads(&mesh[0], quadCount)
                     .setFillClear()
                     .setTransform(currentSnapshot()->getOrthoMatrix(), Matrix4::identity(), false)
-                    .setModelViewOffsetRect(0, 0, currentSnapshot()->getClipRect())
+                    .setModelViewOffsetRect(0, 0, Rect(currentSnapshot()->getClipRect()))
                     .setRoundRectClipState(currentSnapshot()->roundRectClipState)
                     .build();
-            renderGlop(glop);
+            renderGlop(glop, false);
         } else {
             SkPaint clearPaint;
             clearPaint.setXfermodeMode(SkXfermode::kClear_Mode);
@@ -1434,8 +1498,8 @@
 
     if (USE_GLOPS) {
         Glop glop;
-        GlopBuilder aBuilder(mRenderState, mCaches, &glop);
-        aBuilder.setMeshIndexedQuads(&rectangleVertices[0], rectangleVertices.size() / 4)
+        GlopBuilder(mRenderState, mCaches, &glop)
+                .setMeshIndexedQuads(&rectangleVertices[0], rectangleVertices.size() / 4)
                 .setFillBlack()
                 .setTransform(currentSnapshot()->getOrthoMatrix(), Matrix4::identity(), false)
                 .setModelViewOffsetRect(0, 0, scissorBox)
@@ -1578,7 +1642,11 @@
 #endif
 }
 
-void OpenGLRenderer::renderGlop(const Glop& glop) {
+void OpenGLRenderer::renderGlop(const Glop& glop, bool clearLayer) {
+    // TODO: It would be best if we could do this before quickRejectSetupScissor()
+    //       changes the scissor test state
+    if (clearLayer) clearLayerRegions();
+
     if (mState.getDirtyClip()) {
         if (mRenderState.scissor().isEnabled()) {
             setScissorFromClip();
@@ -1587,7 +1655,6 @@
         setStencilFromClip();
     }
     mRenderState.render(glop);
-
     if (!mRenderState.stencil().isWriteEnabled()) {
         // TODO: specify more clearly when a draw should dirty the layer.
         // is writing to the stencil the only time we should ignore this?
@@ -1988,8 +2055,8 @@
 
     bool ignoreTransform = false;
     if (currentTransform()->isPureTranslate()) {
-        x = (int) floorf(currentTransform()->getTranslateX() + 0.5f);
-        y = (int) floorf(currentTransform()->getTranslateY() + 0.5f);
+        x = floorf(currentTransform()->getTranslateX() + 0.5f);
+        y = floorf(currentTransform()->getTranslateY() + 0.5f);
         ignoreTransform = true;
 
         texture->setFilter(GL_NEAREST, true);
@@ -2012,17 +2079,37 @@
 void OpenGLRenderer::drawBitmaps(const SkBitmap* bitmap, AssetAtlas::Entry* entry,
         int bitmapCount, TextureVertex* vertices, bool pureTranslate,
         const Rect& bounds, const SkPaint* paint) {
-    mCaches.textureState().activateTexture(0);
     Texture* texture = entry ? entry->texture : mCaches.textureCache.get(bitmap);
     if (!texture) return;
 
     const AutoTexture autoCleanup(texture);
 
+    if (USE_GLOPS) {
+        // TODO: remove layer dirty in multi-draw callers
+        // TODO: snap doesn't need to touch transform, only texture filter.
+        bool snap = pureTranslate;
+        const float x = floorf(bounds.left + 0.5f);
+        const float y = floorf(bounds.top + 0.5f);
+        int textureFillFlags = static_cast<int>((bitmap->colorType() == kAlpha_8_SkColorType)
+                ? TextureFillFlags::kIsAlphaMaskTexture : TextureFillFlags::kNone);
+        Glop glop;
+        GlopBuilder(mRenderState, mCaches, &glop)
+                .setMeshTexturedMesh(vertices, bitmapCount * 6)
+                .setFillTexturePaint(*texture, textureFillFlags, paint, currentSnapshot()->alpha)
+                .setTransform(currentSnapshot()->getOrthoMatrix(), Matrix4::identity(), false)
+                .setModelViewOffsetRectOptionalSnap(snap, x, y, Rect(0, 0, bounds.getWidth(), bounds.getHeight()))
+                .setRoundRectClipState(currentSnapshot()->roundRectClipState)
+                .build();
+        renderGlop(glop);
+        return;
+    }
+
+    mCaches.textureState().activateTexture(0);
     texture->setWrap(GL_CLAMP_TO_EDGE, true);
     texture->setFilter(pureTranslate ? GL_NEAREST : PaintUtils::getFilter(paint), true);
 
-    const float x = (int) floorf(bounds.left + 0.5f);
-    const float y = (int) floorf(bounds.top + 0.5f);
+    const float x = floorf(bounds.left + 0.5f);
+    const float y = floorf(bounds.top + 0.5f);
     if (CC_UNLIKELY(bitmap->colorType() == kAlpha_8_SkColorType)) {
         drawAlpha8TextureMesh(x, y, x + bounds.getWidth(), y + bounds.getHeight(),
                 texture->id, paint, &vertices[0].x, &vertices[0].u,
@@ -2049,11 +2136,12 @@
     const AutoTexture autoCleanup(texture);
 
     if (USE_GLOPS) {
-        bool isAlpha8Texture = bitmap->colorType() == kAlpha_8_SkColorType;
+        int textureFillFlags = static_cast<int>((bitmap->colorType() == kAlpha_8_SkColorType)
+                ? TextureFillFlags::kIsAlphaMaskTexture : TextureFillFlags::kNone);
         Glop glop;
-        GlopBuilder aBuilder(mRenderState, mCaches, &glop);
-        aBuilder.setMeshTexturedUnitQuad(texture->uvMapper)
-                .setFillTexturePaint(*texture, isAlpha8Texture, paint, currentSnapshot()->alpha)
+        GlopBuilder(mRenderState, mCaches, &glop)
+                .setMeshTexturedUnitQuad(texture->uvMapper)
+                .setFillTexturePaint(*texture, textureFillFlags, paint, currentSnapshot()->alpha)
                 .setTransform(currentSnapshot()->getOrthoMatrix(), *currentTransform(), false)
                 .setModelViewMapUnitToRectSnap(Rect(0, 0, texture->width, texture->height))
                 .setRoundRectClipState(currentSnapshot()->roundRectClipState)
@@ -2077,17 +2165,14 @@
         return;
     }
 
-    // TODO: use quickReject on bounds from vertices
-    mRenderState.scissor().setEnabled(true);
-
     float left = FLT_MAX;
     float top = FLT_MAX;
     float right = FLT_MIN;
     float bottom = FLT_MIN;
 
-    const uint32_t count = meshWidth * meshHeight * 6;
+    const uint32_t elementCount = meshWidth * meshHeight * 6;
 
-    std::unique_ptr<ColorTextureVertex[]> mesh(new ColorTextureVertex[count]);
+    std::unique_ptr<ColorTextureVertex[]> mesh(new ColorTextureVertex[elementCount]);
     ColorTextureVertex* vertex = &mesh[0];
 
     std::unique_ptr<int[]> tempColors;
@@ -2098,7 +2183,6 @@
         colors = tempColors.get();
     }
 
-    mCaches.textureState().activateTexture(0);
     Texture* texture = mRenderState.assetAtlas().getEntryTexture(bitmap);
     const UvMapper& mapper(getMapper(texture));
 
@@ -2149,6 +2233,24 @@
     }
     const AutoTexture autoCleanup(texture);
 
+    if (USE_GLOPS) {
+        /*
+         * TODO: handle alpha_8 textures correctly by applying paint color, but *not*
+         * shader in that case to mimic the behavior in SkiaCanvas::drawBitmapMesh.
+         */
+        Glop glop;
+        GlopBuilder(mRenderState, mCaches, &glop)
+                .setMeshColoredTexturedMesh(mesh.get(), elementCount)
+                .setFillTexturePaint(*texture, static_cast<int>(TextureFillFlags::kNone), paint, currentSnapshot()->alpha)
+                .setTransform(currentSnapshot()->getOrthoMatrix(), *currentTransform(), false)
+                .setModelViewOffsetRect(0, 0, Rect(left, top, right, bottom))
+                .setRoundRectClipState(currentSnapshot()->roundRectClipState)
+                .build();
+        renderGlop(glop);
+        return;
+    }
+
+    mCaches.textureState().activateTexture(0);
     texture->setWrap(GL_CLAMP_TO_EDGE, true);
     texture->setFilter(PaintUtils::getFilter(paint), true);
 
@@ -2156,12 +2258,10 @@
     SkXfermode::Mode mode;
     getAlphaAndMode(paint, &alpha, &mode);
 
+
+    dirtyLayer(left, top, right, bottom, *currentTransform());
+
     float a = alpha / 255.0f;
-
-    if (hasLayer()) {
-        dirtyLayer(left, top, right, bottom, *currentTransform());
-    }
-
     setupDraw();
     setupDrawWithTextureAndColor();
     setupDrawColor(a, a, a, a);
@@ -2175,7 +2275,7 @@
     setupDrawColorFilterUniforms(getColorFilter(paint));
     setupDrawMesh(&mesh[0].x, &mesh[0].u, &mesh[0].r);
 
-    glDrawArrays(GL_TRIANGLES, 0, count);
+    glDrawArrays(GL_TRIANGLES, 0, elementCount);
 
     int slot = mCaches.program().getAttrib("colors");
     if (slot >= 0) {
@@ -2200,11 +2300,12 @@
                 fmin(1.0f, src.right / texture->width),
                 fmin(1.0f, src.bottom / texture->height));
 
-        bool isAlpha8Texture = bitmap->colorType() == kAlpha_8_SkColorType;
+        int textureFillFlags = static_cast<int>((bitmap->colorType() == kAlpha_8_SkColorType)
+                ? TextureFillFlags::kIsAlphaMaskTexture : TextureFillFlags::kNone);
         Glop glop;
-        GlopBuilder aBuilder(mRenderState, mCaches, &glop);
-        aBuilder.setMeshTexturedUvQuad(texture->uvMapper, uv)
-                .setFillTexturePaint(*texture, isAlpha8Texture, paint, currentSnapshot()->alpha)
+        GlopBuilder(mRenderState, mCaches, &glop)
+                .setMeshTexturedUvQuad(texture->uvMapper, uv)
+                .setFillTexturePaint(*texture, textureFillFlags, paint, currentSnapshot()->alpha)
                 .setTransform(currentSnapshot()->getOrthoMatrix(), *currentTransform(), false)
                 .setModelViewMapUnitToRectSnap(dst)
                 .setRoundRectClipState(currentSnapshot()->roundRectClipState)
@@ -2237,8 +2338,8 @@
     bool ignoreTransform = false;
 
     if (CC_LIKELY(currentTransform()->isPureTranslate())) {
-        float x = (int) floorf(dst.left + currentTransform()->getTranslateX() + 0.5f);
-        float y = (int) floorf(dst.top + currentTransform()->getTranslateY() + 0.5f);
+        float x = floorf(dst.left + currentTransform()->getTranslateX() + 0.5f);
+        float y = floorf(dst.top + currentTransform()->getTranslateY() + 0.5f);
 
         dst.right = x + (dst.right - dst.left);
         dst.bottom = y + (dst.bottom - dst.top);
@@ -2269,71 +2370,75 @@
     mDirty = true;
 }
 
-void OpenGLRenderer::drawPatch(const SkBitmap* bitmap, const Res_png_9patch* patch,
-        float left, float top, float right, float bottom, const SkPaint* paint) {
-    if (quickRejectSetupScissor(left, top, right, bottom)) {
-        return;
-    }
-
-    AssetAtlas::Entry* entry = mRenderState.assetAtlas().getEntry(bitmap);
-    const Patch* mesh = mCaches.patchCache.get(entry, bitmap->width(), bitmap->height(),
-            right - left, bottom - top, patch);
-
-    drawPatch(bitmap, mesh, entry, left, top, right, bottom, paint);
-}
-
 void OpenGLRenderer::drawPatch(const SkBitmap* bitmap, const Patch* mesh,
         AssetAtlas::Entry* entry, float left, float top, float right, float bottom,
         const SkPaint* paint) {
-    if (quickRejectSetupScissor(left, top, right, bottom)) {
+    if (!mesh || !mesh->verticesCount || quickRejectSetupScissor(left, top, right, bottom)) {
         return;
     }
 
-    if (CC_LIKELY(mesh && mesh->verticesCount > 0)) {
-        mCaches.textureState().activateTexture(0);
-        Texture* texture = entry ? entry->texture : mCaches.textureCache.get(bitmap);
-        if (!texture) return;
-        const AutoTexture autoCleanup(texture);
+    Texture* texture = entry ? entry->texture : mCaches.textureCache.get(bitmap);
+    if (!texture) return;
 
-        texture->setWrap(GL_CLAMP_TO_EDGE, true);
-        texture->setFilter(GL_LINEAR, true);
+    if (USE_GLOPS) {
+        // 9 patches are built for stretching - always filter
+        int textureFillFlags = static_cast<int>(TextureFillFlags::kForceFilter);
+        if (bitmap->colorType() == kAlpha_8_SkColorType) {
+            textureFillFlags |= TextureFillFlags::kIsAlphaMaskTexture;
+        }
+        Glop glop;
+        GlopBuilder(mRenderState, mCaches, &glop)
+                .setMeshPatchQuads(*mesh)
+                .setFillTexturePaint(*texture, textureFillFlags, paint, currentSnapshot()->alpha)
+                .setTransform(currentSnapshot()->getOrthoMatrix(), *currentTransform(), false)
+                .setModelViewOffsetRectSnap(left, top, Rect(0, 0, right - left, bottom - top)) // TODO: get minimal bounds from patch
+                .setRoundRectClipState(currentSnapshot()->roundRectClipState)
+                .build();
+        renderGlop(glop);
+        return;
+    }
 
-        const bool pureTranslate = currentTransform()->isPureTranslate();
-        // Mark the current layer dirty where we are going to draw the patch
-        if (hasLayer() && mesh->hasEmptyQuads) {
-            const float offsetX = left + currentTransform()->getTranslateX();
-            const float offsetY = top + currentTransform()->getTranslateY();
-            const size_t count = mesh->quads.size();
-            for (size_t i = 0; i < count; i++) {
-                const Rect& bounds = mesh->quads.itemAt(i);
-                if (CC_LIKELY(pureTranslate)) {
-                    const float x = (int) floorf(bounds.left + offsetX + 0.5f);
-                    const float y = (int) floorf(bounds.top + offsetY + 0.5f);
-                    dirtyLayer(x, y, x + bounds.getWidth(), y + bounds.getHeight());
-                } else {
-                    dirtyLayer(left + bounds.left, top + bounds.top,
-                            left + bounds.right, top + bounds.bottom, *currentTransform());
-                }
+    mCaches.textureState().activateTexture(0);
+    const AutoTexture autoCleanup(texture);
+
+    texture->setWrap(GL_CLAMP_TO_EDGE, true);
+    texture->setFilter(GL_LINEAR, true);
+
+    const bool pureTranslate = currentTransform()->isPureTranslate();
+    // Mark the current layer dirty where we are going to draw the patch
+    if (hasLayer() && mesh->hasEmptyQuads) {
+        const float offsetX = left + currentTransform()->getTranslateX();
+        const float offsetY = top + currentTransform()->getTranslateY();
+        const size_t count = mesh->quads.size();
+        for (size_t i = 0; i < count; i++) {
+            const Rect& bounds = mesh->quads.itemAt(i);
+            if (CC_LIKELY(pureTranslate)) {
+                const float x = floorf(bounds.left + offsetX + 0.5f);
+                const float y = floorf(bounds.top + offsetY + 0.5f);
+                dirtyLayer(x, y, x + bounds.getWidth(), y + bounds.getHeight());
+            } else {
+                dirtyLayer(left + bounds.left, top + bounds.top,
+                        left + bounds.right, top + bounds.bottom, *currentTransform());
             }
         }
-
-        bool ignoreTransform = false;
-        if (CC_LIKELY(pureTranslate)) {
-            const float x = (int) floorf(left + currentTransform()->getTranslateX() + 0.5f);
-            const float y = (int) floorf(top + currentTransform()->getTranslateY() + 0.5f);
-
-            right = x + right - left;
-            bottom = y + bottom - top;
-            left = x;
-            top = y;
-            ignoreTransform = true;
-        }
-        drawIndexedTextureMesh(left, top, right, bottom, texture->id, paint,
-                texture->blend, (GLvoid*) mesh->offset, (GLvoid*) mesh->textureOffset,
-                GL_TRIANGLES, mesh->indexCount, false, ignoreTransform,
-                mCaches.patchCache.getMeshBuffer(), kModelViewMode_Translate, !mesh->hasEmptyQuads);
     }
 
+    bool ignoreTransform = false;
+    if (CC_LIKELY(pureTranslate)) {
+        const float x = floorf(left + currentTransform()->getTranslateX() + 0.5f);
+        const float y = floorf(top + currentTransform()->getTranslateY() + 0.5f);
+
+        right = x + right - left;
+        bottom = y + bottom - top;
+        left = x;
+        top = y;
+        ignoreTransform = true;
+    }
+    drawIndexedTextureMesh(left, top, right, bottom, texture->id, paint,
+            texture->blend, (GLvoid*) mesh->positionOffset, (GLvoid*) mesh->textureOffset,
+            GL_TRIANGLES, mesh->indexCount, false, ignoreTransform,
+            mCaches.patchCache.getMeshBuffer(), kModelViewMode_Translate, !mesh->hasEmptyQuads);
+
     mDirty = true;
 }
 
@@ -2343,18 +2448,37 @@
  * The caller is responsible for properly dirtying the current layer.
  */
 void OpenGLRenderer::drawPatches(const SkBitmap* bitmap, AssetAtlas::Entry* entry,
-        TextureVertex* vertices, uint32_t indexCount, const SkPaint* paint) {
+        TextureVertex* vertices, uint32_t elementCount, const SkPaint* paint) {
     mCaches.textureState().activateTexture(0);
     Texture* texture = entry ? entry->texture : mCaches.textureCache.get(bitmap);
     if (!texture) return;
     const AutoTexture autoCleanup(texture);
 
+    if (USE_GLOPS) {
+        // TODO: get correct bounds from caller
+        // 9 patches are built for stretching - always filter
+        int textureFillFlags = static_cast<int>(TextureFillFlags::kForceFilter);
+        if (bitmap->colorType() == kAlpha_8_SkColorType) {
+            textureFillFlags |= TextureFillFlags::kIsAlphaMaskTexture;
+        }
+        Glop glop;
+        GlopBuilder(mRenderState, mCaches, &glop)
+                .setMeshTexturedIndexedQuads(vertices, elementCount)
+                .setFillTexturePaint(*texture, textureFillFlags, paint, currentSnapshot()->alpha)
+                .setTransform(currentSnapshot()->getOrthoMatrix(), Matrix4::identity(), false)
+                .setModelViewOffsetRect(0, 0, Rect(0, 0, 0, 0))
+                .setRoundRectClipState(currentSnapshot()->roundRectClipState)
+                .build();
+        renderGlop(glop);
+        return;
+    }
+
     texture->setWrap(GL_CLAMP_TO_EDGE, true);
     texture->setFilter(GL_LINEAR, true);
 
     drawIndexedTextureMesh(0.0f, 0.0f, 1.0f, 1.0f, texture->id, paint,
             texture->blend, &vertices[0].x, &vertices[0].u,
-            GL_TRIANGLES, indexCount, false, true, 0, kModelViewMode_Translate, false);
+            GL_TRIANGLES, elementCount, false, true, 0, kModelViewMode_Translate, false);
 
     mDirty = true;
 }
@@ -2368,11 +2492,11 @@
     }
 
     if (USE_GLOPS) {
-        Glop glop;
-        GlopBuilder aBuilder(mRenderState, mCaches, &glop);
         bool fudgeOffset = displayFlags & kVertexBuffer_Offset;
         bool shadowInterp = displayFlags & kVertexBuffer_ShadowInterp;
-        aBuilder.setMeshVertexBuffer(vertexBuffer, shadowInterp)
+        Glop glop;
+        GlopBuilder(mRenderState, mCaches, &glop)
+                .setMeshVertexBuffer(vertexBuffer, shadowInterp)
                 .setFillPaint(*paint, currentSnapshot()->alpha)
                 .setTransform(currentSnapshot()->getOrthoMatrix(), *currentTransform(), fudgeOffset)
                 .setModelViewOffsetRect(translateX, translateY, vertexBuffer.getBounds())
@@ -2689,8 +2813,8 @@
 
     if (USE_GLOPS) {
         Glop glop;
-        GlopBuilder aBuilder(mRenderState, mCaches, &glop);
-        aBuilder.setMeshTexturedUnitQuad(nullptr)
+        GlopBuilder(mRenderState, mCaches, &glop)
+                .setMeshTexturedUnitQuad(nullptr)
                 .setFillShadowTexturePaint(*texture, textShadow.color, *paint, currentSnapshot()->alpha)
                 .setTransform(currentSnapshot()->getOrthoMatrix(), *currentTransform(), false)
                 .setModelViewMapUnitToRect(Rect(sx, sy, sx + texture->width, sy + texture->height))
@@ -2746,8 +2870,8 @@
     float y = 0.0f;
     const bool pureTranslate = currentTransform()->isPureTranslate();
     if (pureTranslate) {
-        x = (int) floorf(x + currentTransform()->getTranslateX() + 0.5f);
-        y = (int) floorf(y + currentTransform()->getTranslateY() + 0.5f);
+        x = floorf(x + currentTransform()->getTranslateX() + 0.5f);
+        y = floorf(y + currentTransform()->getTranslateY() + 0.5f);
     }
 
     FontRenderer& fontRenderer = mCaches.fontRenderer->getFontRenderer(paint);
@@ -2772,20 +2896,13 @@
     const Rect& clip(pureTranslate ? writableSnapshot()->getClipRect() : writableSnapshot()->getLocalClip());
     Rect bounds(FLT_MAX / 2.0f, FLT_MAX / 2.0f, FLT_MIN / 2.0f, FLT_MIN / 2.0f);
 
-    const bool hasActiveLayer = hasLayer();
-
     TextSetupFunctor functor(this, x, y, pureTranslate, alpha, mode, paint);
     if (fontRenderer.renderPosText(paint, &clip, text, 0, bytesCount, count, x, y,
-            positions, hasActiveLayer ? &bounds : nullptr, &functor)) {
-        if (hasActiveLayer) {
-            if (!pureTranslate) {
-                currentTransform()->mapRect(bounds);
-            }
-            dirtyLayerUnchecked(bounds, getRegion());
-        }
+            positions, hasLayer() ? &bounds : nullptr, &functor)) {
+        dirtyLayer(bounds.left, bounds.top, bounds.right, bounds.bottom, *currentTransform());
+        mDirty = true;
     }
 
-    mDirty = true;
 }
 
 bool OpenGLRenderer::findBestFontTransform(const mat4& transform, SkMatrix* outMatrix) const {
@@ -2890,8 +3007,8 @@
     const bool pureTranslate = transform.isPureTranslate();
 
     if (CC_LIKELY(pureTranslate)) {
-        x = (int) floorf(x + transform.getTranslateX() + 0.5f);
-        y = (int) floorf(y + transform.getTranslateY() + 0.5f);
+        x = floorf(x + transform.getTranslateX() + 0.5f);
+        y = floorf(y + transform.getTranslateY() + 0.5f);
     }
 
     int alpha;
@@ -2978,17 +3095,11 @@
     const Rect* clip = &writableSnapshot()->getLocalClip();
     Rect bounds(FLT_MAX / 2.0f, FLT_MAX / 2.0f, FLT_MIN / 2.0f, FLT_MIN / 2.0f);
 
-    const bool hasActiveLayer = hasLayer();
-
     if (fontRenderer.renderTextOnPath(paint, clip, text, 0, bytesCount, count, path,
-            hOffset, vOffset, hasActiveLayer ? &bounds : nullptr, &functor)) {
-        if (hasActiveLayer) {
-            currentTransform()->mapRect(bounds);
-            dirtyLayerUnchecked(bounds, getRegion());
-        }
+            hOffset, vOffset, hasLayer() ? &bounds : nullptr, &functor)) {
+        dirtyLayer(bounds.left, bounds.top, bounds.right, bounds.bottom, *currentTransform());
+        mDirty = true;
     }
-
-    mDirty = true;
 }
 
 void OpenGLRenderer::drawPath(const SkPath* path, const SkPaint* paint) {
@@ -3048,9 +3159,9 @@
         } else if (layer->mesh) {
             if (USE_GLOPS) {
                 Glop glop;
-                GlopBuilder aBuilder(mRenderState, mCaches, &glop);
-                aBuilder.setMeshTexturedIndexedQuads(layer->mesh, layer->meshElementCount)
-                        .setFillLayer(layer->getTexture(), layer->getColorFilter(), getLayerAlpha(layer), layer->getMode())
+                GlopBuilder(mRenderState, mCaches, &glop)
+                        .setMeshTexturedIndexedQuads(layer->mesh, layer->meshElementCount)
+                        .setFillLayer(layer->getTexture(), layer->getColorFilter(), getLayerAlpha(layer), layer->getMode(), Blend::ModeOrderSwap::NoSwap)
                         .setTransform(currentSnapshot()->getOrthoMatrix(), *currentTransform(), false)
                         .setModelViewOffsetRectSnap(x, y, Rect(0, 0, layer->layer.getWidth(), layer->layer.getHeight()))
                         .setRoundRectClipState(currentSnapshot()->roundRectClipState)
@@ -3080,11 +3191,9 @@
                             x + layer->layer.getWidth(), y + layer->layer.getHeight());
                 }
 
-
                 TextureVertex* mesh = &layer->mesh[0];
                 GLsizei elementsCount = layer->meshElementCount;
 
-
                 while (elementsCount > 0) {
                     GLsizei drawCount = MathUtils::min(elementsCount, (GLsizei) kMaxNumberOfQuads * 6);
 
@@ -3149,8 +3258,8 @@
 
     if (USE_GLOPS) {
         Glop glop;
-        GlopBuilder aBuilder(mRenderState, mCaches, &glop);
-        aBuilder.setMeshTexturedUnitQuad(nullptr)
+        GlopBuilder(mRenderState, mCaches, &glop)
+                .setMeshTexturedUnitQuad(nullptr)
                 .setFillPathTexturePaint(*texture, *paint, currentSnapshot()->alpha)
                 .setTransform(currentSnapshot()->getOrthoMatrix(), *currentTransform(), false)
                 .setModelViewMapUnitToRect(Rect(x, y, x + texture->width, y + texture->height))
@@ -3311,8 +3420,8 @@
     if (USE_GLOPS) {
         const Matrix4& transform = ignoreTransform ? Matrix4::identity() : *currentTransform();
         Glop glop;
-        GlopBuilder aBuilder(mRenderState, mCaches, &glop);
-        aBuilder.setMeshIndexedQuads(&mesh[0], count / 4)
+        GlopBuilder(mRenderState, mCaches, &glop)
+                .setMeshIndexedQuads(&mesh[0], count / 4)
                 .setFillPaint(*paint, currentSnapshot()->alpha)
                 .setTransform(currentSnapshot()->getOrthoMatrix(), transform, false)
                 .setModelViewOffsetRect(0, 0, Rect(left, top, right, bottom))
@@ -3357,8 +3466,8 @@
     if (USE_GLOPS) {
         const Matrix4& transform = ignoreTransform ? Matrix4::identity() : *currentTransform();
         Glop glop;
-        GlopBuilder aBuilder(mRenderState, mCaches, &glop);
-        aBuilder.setMeshUnitQuad()
+        GlopBuilder(mRenderState, mCaches, &glop)
+                .setMeshUnitQuad()
                 .setFillPaint(*paint, currentSnapshot()->alpha)
                 .setTransform(currentSnapshot()->getOrthoMatrix(), transform, false)
                 .setModelViewMapUnitToRect(Rect(left, top, right, bottom))
@@ -3408,8 +3517,8 @@
     }
 
     if (CC_LIKELY(currentTransform()->isPureTranslate())) {
-        const float x = (int) floorf(currentTransform()->getTranslateX() + 0.5f);
-        const float y = (int) floorf(currentTransform()->getTranslateY() + 0.5f);
+        const float x = floorf(currentTransform()->getTranslateX() + 0.5f);
+        const float y = floorf(currentTransform()->getTranslateY() + 0.5f);
 
         texture->setFilter(GL_NEAREST, true);
         drawTextureMesh(x, y, x + texture->width, y + texture->height, texture->id,
@@ -3538,7 +3647,8 @@
                 mode = SkXfermode::kSrcOver_Mode;
             }
         }
-        mRenderState.blend().enable(mode, swapSrcDst);
+        mRenderState.blend().enable(mode,
+                swapSrcDst ? Blend::ModeOrderSwap::Swap : Blend::ModeOrderSwap::NoSwap);
     } else {
         mRenderState.blend().disable();
     }
diff --git a/libs/hwui/OpenGLRenderer.h b/libs/hwui/OpenGLRenderer.h
index ae53313..f4acad0 100755
--- a/libs/hwui/OpenGLRenderer.h
+++ b/libs/hwui/OpenGLRenderer.h
@@ -206,8 +206,6 @@
             const float* vertices, const int* colors, const SkPaint* paint);
     void drawPatches(const SkBitmap* bitmap, AssetAtlas::Entry* entry,
             TextureVertex* vertices, uint32_t indexCount, const SkPaint* paint);
-    void drawPatch(const SkBitmap* bitmap, const Res_png_9patch* patch,
-            float left, float top, float right, float bottom, const SkPaint* paint);
     void drawPatch(const SkBitmap* bitmap, const Patch* mesh, AssetAtlas::Entry* entry,
             float left, float top, float right, float bottom, const SkPaint* paint);
     void drawColor(int color, SkXfermode::Mode mode);
@@ -426,7 +424,7 @@
 
     virtual void onViewportInitialized() override;
     virtual void onSnapshotRestored(const Snapshot& removed, const Snapshot& restored) override;
-    virtual GLuint onGetTargetFbo() const override { return 0; }
+    virtual GLuint getTargetFbo() const override { return 0; }
 
     SkPath* allocPathForFrame() {
         std::unique_ptr<SkPath> path(new SkPath());
@@ -569,7 +567,7 @@
     RenderState& mRenderState;
 
 private:
-    void renderGlop(const Glop& glop);
+    void renderGlop(const Glop& glop, bool clearLayer = true);
 
     /**
      * Discards the content of the framebuffer if supported by the driver.
@@ -677,7 +675,7 @@
      * are transformed with the supplied matrix.
      */
     void dirtyLayer(const float left, const float top,
-            const float right, const float bottom, const mat4 transform);
+            const float right, const float bottom, const Matrix4& transform);
 
     /**
      * Mark the layer as dirty at the specified coordinates.
diff --git a/libs/hwui/Patch.cpp b/libs/hwui/Patch.cpp
index 8a4d65b..f673c6a 100644
--- a/libs/hwui/Patch.cpp
+++ b/libs/hwui/Patch.cpp
@@ -24,18 +24,12 @@
 #include "Patch.h"
 #include "Properties.h"
 #include "UvMapper.h"
+#include "utils/MathUtils.h"
 
 namespace android {
 namespace uirenderer {
 
 ///////////////////////////////////////////////////////////////////////////////
-// Constructors/destructor
-///////////////////////////////////////////////////////////////////////////////
-
-Patch::Patch(): vertices(), verticesCount(0), indexCount(0), hasEmptyQuads(false) {
-}
-
-///////////////////////////////////////////////////////////////////////////////
 // Vertices management
 ///////////////////////////////////////////////////////////////////////////////
 
@@ -43,19 +37,11 @@
     return verticesCount * sizeof(TextureVertex);
 }
 
-TextureVertex* Patch::createMesh(const float bitmapWidth, const float bitmapHeight,
-        float width, float height, const Res_png_9patch* patch) {
-    UvMapper mapper;
-    return createMesh(bitmapWidth, bitmapHeight, width, height, mapper, patch);
-}
-
-TextureVertex* Patch::createMesh(const float bitmapWidth, const float bitmapHeight,
-        float width, float height, const UvMapper& mapper, const Res_png_9patch* patch) {
-    if (vertices) return vertices.get();
+Patch::Patch(const float bitmapWidth, const float bitmapHeight,
+        float width, float height, const UvMapper& mapper, const Res_png_9patch* patch)
+        : mColors(patch->getColors()) {
 
     int8_t emptyQuads = 0;
-    mColors = patch->getColors();
-
     const int8_t numColors = patch->numColors;
     if (uint8_t(numColors) < sizeof(uint32_t) * 4) {
         for (int8_t i = 0; i < numColors; i++) {
@@ -71,7 +57,7 @@
     uint32_t yCount = patch->numYDivs;
 
     uint32_t maxVertices = ((xCount + 1) * (yCount + 1) - emptyQuads) * 4;
-    if (maxVertices == 0) return nullptr;
+    if (maxVertices == 0) return;
 
     vertices.reset(new TextureVertex[maxVertices]);
     TextureVertex* vertex = vertices.get();
@@ -158,8 +144,6 @@
         memcpy(reducedVertices.get(), vertices.get(), verticesCount * sizeof(TextureVertex));
         vertices = std::move(reducedVertices);
     }
-
-    return vertices.get();
 }
 
 void Patch::generateRow(const int32_t* xDivs, uint32_t xCount, TextureVertex*& vertex,
@@ -207,10 +191,10 @@
     const uint32_t oldQuadCount = quadCount;
     quadCount++;
 
-    if (x1 < 0.0f) x1 = 0.0f;
-    if (x2 < 0.0f) x2 = 0.0f;
-    if (y1 < 0.0f) y1 = 0.0f;
-    if (y2 < 0.0f) y2 = 0.0f;
+    x1 = MathUtils::max(x1, 0.0f);
+    x2 = MathUtils::max(x2, 0.0f);
+    y1 = MathUtils::max(y1, 0.0f);
+    y2 = MathUtils::max(y2, 0.0f);
 
     // Skip degenerate and transparent (empty) quads
     if ((mColors[oldQuadCount] == 0) || x1 >= x2 || y1 >= y2) {
diff --git a/libs/hwui/Patch.h b/libs/hwui/Patch.h
index ea8c8c2..b63bd24 100644
--- a/libs/hwui/Patch.h
+++ b/libs/hwui/Patch.h
@@ -39,7 +39,9 @@
 
 class Patch {
 public:
-    Patch();
+    Patch(const float bitmapWidth, const float bitmapHeight,
+            float width, float height,
+            const UvMapper& mapper, const Res_png_9patch* patch);
 
     /**
      * Returns the size of this patch's mesh in bytes.
@@ -47,18 +49,13 @@
     uint32_t getSize() const;
 
     std::unique_ptr<TextureVertex[]> vertices;
-    uint32_t verticesCount;
-    uint32_t indexCount;
-    bool hasEmptyQuads;
+    uint32_t verticesCount = 0;
+    uint32_t indexCount = 0;
+    bool hasEmptyQuads = false;
     Vector<Rect> quads;
 
-    GLintptr offset;
-    GLintptr textureOffset;
-
-    TextureVertex* createMesh(const float bitmapWidth, const float bitmapHeight,
-            float width, float height, const Res_png_9patch* patch);
-    TextureVertex* createMesh(const float bitmapWidth, const float bitmapHeight,
-            float width, float height, const UvMapper& mapper, const Res_png_9patch* patch);
+    GLintptr positionOffset = 0;
+    GLintptr textureOffset = 0;
 
 private:
     void generateRow(const int32_t* xDivs, uint32_t xCount, TextureVertex*& vertex,
diff --git a/libs/hwui/PatchCache.cpp b/libs/hwui/PatchCache.cpp
index af403b4..2765262 100644
--- a/libs/hwui/PatchCache.cpp
+++ b/libs/hwui/PatchCache.cpp
@@ -162,7 +162,7 @@
 
         // Release the patch and mark the space in the free list
         Patch* patch = pair.getSecond();
-        BufferBlock* block = new BufferBlock(patch->offset, patch->getSize());
+        BufferBlock* block = new BufferBlock(patch->positionOffset, patch->getSize());
         block->next = mFreeBlocks;
         mFreeBlocks = block;
 
@@ -190,7 +190,7 @@
  * Sets the mesh's offsets and copies its associated vertices into
  * the mesh buffer (VBO).
  */
-void PatchCache::setupMesh(Patch* newMesh, TextureVertex* vertices) {
+void PatchCache::setupMesh(Patch* newMesh) {
     // This call ensures the VBO exists and that it is bound
     init();
 
@@ -223,9 +223,9 @@
     }
 
     // Copy the 9patch mesh in the VBO
-    newMesh->offset = (GLintptr) (block->offset);
-    newMesh->textureOffset = newMesh->offset + kMeshTextureOffset;
-    glBufferSubData(GL_ARRAY_BUFFER, newMesh->offset, size, vertices);
+    newMesh->positionOffset = (GLintptr) (block->offset);
+    newMesh->textureOffset = newMesh->positionOffset + kMeshTextureOffset;
+    glBufferSubData(GL_ARRAY_BUFFER, newMesh->positionOffset, size, newMesh->vertices.get());
 
     // Remove the block since we've used it entirely
     if (block->size == size) {
@@ -244,6 +244,8 @@
     mSize += size;
 }
 
+static const UvMapper sIdentity;
+
 const Patch* PatchCache::get(const AssetAtlas::Entry* entry,
         const uint32_t bitmapWidth, const uint32_t bitmapHeight,
         const float pixelWidth, const float pixelHeight, const Res_png_9patch* patch) {
@@ -252,20 +254,12 @@
     const Patch* mesh = mCache.get(description);
 
     if (!mesh) {
-        Patch* newMesh = new Patch();
-        TextureVertex* vertices;
+        const UvMapper& mapper = entry ? entry->uvMapper : sIdentity;
+        Patch* newMesh = new Patch(bitmapWidth, bitmapHeight,
+                pixelWidth, pixelHeight, mapper, patch);
 
-        if (entry) {
-            // An atlas entry has a UV mapper
-            vertices = newMesh->createMesh(bitmapWidth, bitmapHeight,
-                    pixelWidth, pixelHeight, entry->uvMapper, patch);
-        } else {
-            vertices = newMesh->createMesh(bitmapWidth, bitmapHeight,
-                    pixelWidth, pixelHeight, patch);
-        }
-
-        if (vertices) {
-            setupMesh(newMesh, vertices);
+        if (newMesh->vertices) {
+            setupMesh(newMesh);
         }
 
 #if DEBUG_PATCHES
@@ -284,7 +278,7 @@
     String8 dump;
     BufferBlock* block = mFreeBlocks;
     while (block) {
-        dump.appendFormat("->(%d, %d)", block->offset, block->size);
+        dump.appendFormat("->(%d, %d)", block->positionOffset, block->size);
         block = block->next;
     }
     ALOGD("%s: Free blocks%s", prefix, dump.string());
diff --git a/libs/hwui/PatchCache.h b/libs/hwui/PatchCache.h
index e038720..387f79a 100644
--- a/libs/hwui/PatchCache.h
+++ b/libs/hwui/PatchCache.h
@@ -160,7 +160,7 @@
     void clearCache();
     void createVertexBuffer();
 
-    void setupMesh(Patch* newMesh, TextureVertex* vertices);
+    void setupMesh(Patch* newMesh);
 
     void remove(Vector<patch_pair_t>& patchesToRemove, Res_png_9patch* patch);
 
diff --git a/libs/hwui/PathCache.cpp b/libs/hwui/PathCache.cpp
index e2caf8b..5b2e5e2 100644
--- a/libs/hwui/PathCache.cpp
+++ b/libs/hwui/PathCache.cpp
@@ -362,22 +362,9 @@
 // Paths
 ///////////////////////////////////////////////////////////////////////////////
 
-void PathCache::remove(Vector<PathDescription>& pathsToRemove, const path_pair_t& pair) {
-    LruCache<PathDescription, PathTexture*>::Iterator i(mCache);
-
-    while (i.next()) {
-        const PathDescription& key = i.key();
-        if (key.type == kShapePath &&
-                (key.shape.path.mPath == pair.getFirst() ||
-                        key.shape.path.mPath == pair.getSecond())) {
-            pathsToRemove.push(key);
-        }
-    }
-}
-
-void PathCache::removeDeferred(SkPath* path) {
+void PathCache::removeDeferred(const SkPath* path) {
     Mutex::Autolock l(mLock);
-    mGarbage.push(path_pair_t(path, const_cast<SkPath*>(path->getSourcePath())));
+    mGarbage.push(path->getGenerationID());
 }
 
 void PathCache::clearGarbage() {
@@ -387,9 +374,15 @@
         Mutex::Autolock l(mLock);
         size_t count = mGarbage.size();
         for (size_t i = 0; i < count; i++) {
-            const path_pair_t& pair = mGarbage.itemAt(i);
-            remove(pathsToRemove, pair);
-            delete pair.getFirst();
+            const uint32_t generationID = mGarbage.itemAt(i);
+
+            LruCache<PathDescription, PathTexture*>::Iterator iter(mCache);
+            while (iter.next()) {
+                const PathDescription& key = iter.key();
+                if (key.type == kShapePath && key.shape.path.mGenerationID == generationID) {
+                    pathsToRemove.push(key);
+                }
+            }
         }
         mGarbage.clear();
     }
@@ -399,27 +392,9 @@
     }
 }
 
-/**
- * To properly handle path mutations at draw time we always make a copy
- * of paths objects when recording display lists. The source path points
- * to the path we originally copied the path from. This ensures we use
- * the original path as a cache key the first time a path is inserted
- * in the cache. The source path is also used to reclaim garbage when a
- * Dalvik Path object is collected.
- */
-static const SkPath* getSourcePath(const SkPath* path) {
-    const SkPath* sourcePath = path->getSourcePath();
-    if (sourcePath && sourcePath->getGenerationID() == path->getGenerationID()) {
-        return const_cast<SkPath*>(sourcePath);
-    }
-    return path;
-}
-
 PathTexture* PathCache::get(const SkPath* path, const SkPaint* paint) {
-    path = getSourcePath(path);
-
     PathDescription entry(kShapePath, paint);
-    entry.shape.path.mPath = path;
+    entry.shape.path.mGenerationID = path->getGenerationID();
 
     PathTexture* texture = mCache.get(entry);
 
@@ -442,11 +417,6 @@
                 texture = nullptr;
                 mCache.remove(entry);
             }
-        } else if (path->getGenerationID() != texture->generation) {
-            // The size of the path might have changed so we first
-            // remove the entry from the cache
-            mCache.remove(entry);
-            texture = addTexture(entry, path, paint);
         }
     }
 
@@ -458,19 +428,14 @@
         return;
     }
 
-    path = getSourcePath(path);
-
     PathDescription entry(kShapePath, paint);
-    entry.shape.path.mPath = path;
+    entry.shape.path.mGenerationID = path->getGenerationID();
 
     PathTexture* texture = mCache.get(entry);
 
     bool generate = false;
     if (!texture) {
         generate = true;
-    } else if (path->getGenerationID() != texture->generation) {
-        mCache.remove(entry);
-        generate = true;
     }
 
     if (generate) {
diff --git a/libs/hwui/PathCache.h b/libs/hwui/PathCache.h
index 7378018..23e35cb 100644
--- a/libs/hwui/PathCache.h
+++ b/libs/hwui/PathCache.h
@@ -118,7 +118,7 @@
     SkPathEffect* pathEffect;
     union Shape {
         struct Path {
-            const SkPath* mPath;
+            uint32_t mGenerationID;
         } path;
         struct RoundRect {
             float mWidth;
@@ -198,7 +198,7 @@
      * Removes the specified path. This is meant to be called from threads
      * that are not the EGL context thread.
      */
-    void removeDeferred(SkPath* path);
+    ANDROID_API void removeDeferred(const SkPath* path);
     /**
      * Process deferred removals.
      */
@@ -227,8 +227,6 @@
             float& left, float& top, float& offset, uint32_t& width, uint32_t& height);
 
 private:
-    typedef Pair<SkPath*, SkPath*> path_pair_t;
-
     PathTexture* addTexture(const PathDescription& entry,
             const SkPath *path, const SkPaint* paint);
     PathTexture* addTexture(const PathDescription& entry, SkBitmap* bitmap);
@@ -245,12 +243,6 @@
     }
 
     /**
-     * Removes an entry.
-     * The pair must define first=path, second=sourcePath
-     */
-    void remove(Vector<PathDescription>& pathsToRemove, const path_pair_t& pair);
-
-    /**
      * Ensures there is enough space in the cache for a texture of the specified
      * dimensions.
      */
@@ -279,8 +271,7 @@
             delete future()->get();
         }
 
-        // copied, since input path not refcounted / guaranteed to survive for duration of task
-        // TODO: avoid deep copy with refcounting
+        // copied, since input path not guaranteed to survive for duration of task
         const SkPath path;
 
         // copied, since input paint may not be immutable
@@ -308,7 +299,7 @@
 
     sp<PathProcessor> mProcessor;
 
-    Vector<path_pair_t> mGarbage;
+    Vector<uint32_t> mGarbage;
     mutable Mutex mLock;
 }; // class PathCache
 
diff --git a/libs/hwui/ProgramCache.cpp b/libs/hwui/ProgramCache.cpp
index 8c6a91cc..e9b22e2 100644
--- a/libs/hwui/ProgramCache.cpp
+++ b/libs/hwui/ProgramCache.cpp
@@ -380,9 +380,9 @@
         // Xor
         "return vec4(src.rgb * (1.0 - dst.a) + (1.0 - src.a) * dst.rgb, "
                 "src.a + dst.a - 2.0 * src.a * dst.a);\n",
-        // Add
+        // Plus
         "return min(src + dst, 1.0);\n",
-        // Multiply
+        // Modulate
         "return src * dst;\n",
         // Screen
         "return src + dst - src * dst;\n",
@@ -830,7 +830,7 @@
     while ((index = shader.find("\n", index)) > -1) {
         String8 line(str, index - lastIndex);
         if (line.length() == 0) line.append("\n");
-        PROGRAM_LOGD("%s", line.string());
+        ALOGD("%s", line.string());
         index++;
         str += (index - lastIndex);
         lastIndex = index;
diff --git a/libs/hwui/Rect.h b/libs/hwui/Rect.h
index 1716cf0..c82082f 100644
--- a/libs/hwui/Rect.h
+++ b/libs/hwui/Rect.h
@@ -252,6 +252,13 @@
         bottom = fmaxf(bottom, y);
     }
 
+    void expandToCoverRect(float otherLeft, float otherTop, float otherRight, float otherBottom) {
+        left = fminf(left, otherLeft);
+        top = fminf(top, otherTop);
+        right = fmaxf(right, otherRight);
+        bottom = fmaxf(bottom, otherBottom);
+    }
+
     SkRect toSkRect() const {
         return SkRect::MakeLTRB(left, top, right, bottom);
     }
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp
index c6fdd3f..e009451 100644
--- a/libs/hwui/RenderNode.cpp
+++ b/libs/hwui/RenderNode.cpp
@@ -139,7 +139,7 @@
 
 void RenderNode::prepareLayer(TreeInfo& info, uint32_t dirtyMask) {
     LayerType layerType = properties().layerProperties().type();
-    if (CC_UNLIKELY(layerType == kLayerTypeRenderLayer)) {
+    if (CC_UNLIKELY(layerType == LayerType::RenderLayer)) {
         // Damage applied so far needs to affect our parent, but does not require
         // the layer to be updated. So we pop/push here to clear out the current
         // damage and get a clean state for display list or children updates to
@@ -156,7 +156,7 @@
     LayerType layerType = properties().layerProperties().type();
     // If we are not a layer OR we cannot be rendered (eg, view was detached)
     // we need to destroy any Layers we may have had previously
-    if (CC_LIKELY(layerType != kLayerTypeRenderLayer) || CC_UNLIKELY(!isRenderable())) {
+    if (CC_LIKELY(layerType != LayerType::RenderLayer) || CC_UNLIKELY(!isRenderable())) {
         if (CC_UNLIKELY(mLayer)) {
             LayerRenderer::destroyLayer(mLayer);
             mLayer = nullptr;
@@ -384,7 +384,7 @@
             renderer.concatMatrix(*properties().getTransformMatrix());
         }
     }
-    const bool isLayer = properties().layerProperties().type() != kLayerTypeNone;
+    const bool isLayer = properties().layerProperties().type() != LayerType::None;
     int clipFlags = properties().getClippingFlags();
     if (properties().getAlpha() < 1) {
         if (isLayer) {
diff --git a/libs/hwui/RenderProperties.cpp b/libs/hwui/RenderProperties.cpp
index bb6d087..9f1ceed 100644
--- a/libs/hwui/RenderProperties.cpp
+++ b/libs/hwui/RenderProperties.cpp
@@ -33,14 +33,12 @@
 namespace android {
 namespace uirenderer {
 
-LayerProperties::LayerProperties()
-        : mType(kLayerTypeNone)
-        , mColorFilter(nullptr) {
+LayerProperties::LayerProperties() {
     reset();
 }
 
 LayerProperties::~LayerProperties() {
-    setType(kLayerTypeNone);
+    setType(LayerType::None);
 }
 
 void LayerProperties::reset() {
@@ -146,7 +144,7 @@
         }
     }
 
-    const bool isLayer = layerProperties().type() != kLayerTypeNone;
+    const bool isLayer = layerProperties().type() != LayerType::None;
     int clipFlags = getClippingFlags();
     if (mPrimitiveFields.mAlpha < 1) {
         if (isLayer) {
diff --git a/libs/hwui/RenderProperties.h b/libs/hwui/RenderProperties.h
index f0e22d6..61e98d2 100644
--- a/libs/hwui/RenderProperties.h
+++ b/libs/hwui/RenderProperties.h
@@ -49,12 +49,12 @@
 #define RP_SET_AND_DIRTY(a, b) RP_SET(a, b, mPrimitiveFields.mMatrixOrPivotDirty = true)
 
 // Keep in sync with View.java:LAYER_TYPE_*
-enum LayerType {
-    kLayerTypeNone = 0,
+enum class LayerType {
+    None = 0,
     // Although we cannot build the software layer directly (must be done at
     // record time), this information is used when applying alpha.
-    kLayerTypeSoftware = 1,
-    kLayerTypeRenderLayer = 2,
+    Software = 1,
+    RenderLayer = 2,
     // TODO: LayerTypeSurfaceTexture? Maybe?
 };
 
@@ -124,12 +124,12 @@
 
     friend class RenderProperties;
 
-    LayerType mType;
+    LayerType mType = LayerType::None;
     // Whether or not that Layer's content is opaque, doesn't include alpha
     bool mOpaque;
     uint8_t mAlpha;
     SkXfermode::Mode mMode;
-    SkColorFilter* mColorFilter;
+    SkColorFilter* mColorFilter = nullptr;
 };
 
 /*
diff --git a/libs/hwui/ResourceCache.cpp b/libs/hwui/ResourceCache.cpp
index 2d1adc5..d3b8d70 100644
--- a/libs/hwui/ResourceCache.cpp
+++ b/libs/hwui/ResourceCache.cpp
@@ -79,10 +79,6 @@
     incrementRefcountLocked(resource, resourceType);
 }
 
-void ResourceCache::incrementRefcount(const SkPath* pathResource) {
-    incrementRefcount((void*) pathResource, kPath);
-}
-
 void ResourceCache::incrementRefcount(const Res_png_9patch* patchResource) {
     incrementRefcount((void*) patchResource, kNinePatch);
 }
@@ -107,10 +103,6 @@
     decrementRefcountLocked(bitmapResource);
 }
 
-void ResourceCache::decrementRefcount(const SkPath* pathResource) {
-    decrementRefcount((void*) pathResource);
-}
-
 void ResourceCache::decrementRefcount(const Res_png_9patch* patchResource) {
     decrementRefcount((void*) patchResource);
 }
@@ -145,37 +137,10 @@
     }
 }
 
-void ResourceCache::decrementRefcountLocked(const SkPath* pathResource) {
-    decrementRefcountLocked((void*) pathResource);
-}
-
 void ResourceCache::decrementRefcountLocked(const Res_png_9patch* patchResource) {
     decrementRefcountLocked((void*) patchResource);
 }
 
-void ResourceCache::destructor(SkPath* resource) {
-    Mutex::Autolock _l(mLock);
-    destructorLocked(resource);
-}
-
-void ResourceCache::destructorLocked(SkPath* resource) {
-    ssize_t index = mCache->indexOfKey(resource);
-    ResourceReference* ref = index >= 0 ? mCache->valueAt(index) : nullptr;
-    if (ref == nullptr) {
-        // If we're not tracking this resource, just delete it
-        if (Caches::hasInstance()) {
-            Caches::getInstance().pathCache.removeDeferred(resource);
-        } else {
-            delete resource;
-        }
-        return;
-    }
-    ref->destroyed = true;
-    if (ref->refCount == 0) {
-        deleteResourceReferenceLocked(resource, ref);
-    }
-}
-
 void ResourceCache::destructor(Res_png_9patch* resource) {
     Mutex::Autolock _l(mLock);
     destructorLocked(resource);
@@ -208,15 +173,6 @@
 void ResourceCache::deleteResourceReferenceLocked(const void* resource, ResourceReference* ref) {
     if (ref->destroyed) {
         switch (ref->resourceType) {
-            case kPath: {
-                SkPath* path = (SkPath*) resource;
-                if (Caches::hasInstance()) {
-                    Caches::getInstance().pathCache.removeDeferred(path);
-                } else {
-                    delete path;
-                }
-            }
-            break;
             case kNinePatch: {
                 if (Caches::hasInstance()) {
                     Caches::getInstance().patchCache.removeDeferred((Res_png_9patch*) resource);
diff --git a/libs/hwui/ResourceCache.h b/libs/hwui/ResourceCache.h
index 4333792..fae55d1 100644
--- a/libs/hwui/ResourceCache.h
+++ b/libs/hwui/ResourceCache.h
@@ -20,7 +20,6 @@
 #include <cutils/compiler.h>
 
 #include <SkBitmap.h>
-#include <SkPath.h>
 #include <SkPixelRef.h>
 
 #include <utils/KeyedVector.h>
@@ -38,7 +37,6 @@
  */
 enum ResourceType {
     kNinePatch,
-    kPath
 };
 
 class ResourceReference {
@@ -105,21 +103,16 @@
      */
     const SkBitmap* insert(const SkBitmap* resource);
 
-    void incrementRefcount(const SkPath* resource);
     void incrementRefcount(const Res_png_9patch* resource);
 
     void decrementRefcount(const SkBitmap* resource);
-    void decrementRefcount(const SkPath* resource);
     void decrementRefcount(const Res_png_9patch* resource);
 
     void decrementRefcountLocked(const SkBitmap* resource);
-    void decrementRefcountLocked(const SkPath* resource);
     void decrementRefcountLocked(const Res_png_9patch* resource);
 
-    void destructor(SkPath* resource);
     void destructor(Res_png_9patch* resource);
 
-    void destructorLocked(SkPath* resource);
     void destructorLocked(Res_png_9patch* resource);
 
 private:
diff --git a/libs/hwui/SkiaCanvas.cpp b/libs/hwui/SkiaCanvas.cpp
index efbb709..71088b7 100644
--- a/libs/hwui/SkiaCanvas.cpp
+++ b/libs/hwui/SkiaCanvas.cpp
@@ -22,7 +22,6 @@
 #include <SkDeque.h>
 #include <SkDrawFilter.h>
 #include <SkGraphics.h>
-#include <SkPorterDuff.h>
 #include <SkShader.h>
 #include <SkTArray.h>
 #include <SkTemplates.h>
diff --git a/libs/hwui/SkiaCanvasProxy.cpp b/libs/hwui/SkiaCanvasProxy.cpp
index 3c65705..ec1bb90 100644
--- a/libs/hwui/SkiaCanvasProxy.cpp
+++ b/libs/hwui/SkiaCanvasProxy.cpp
@@ -22,9 +22,10 @@
 namespace android {
 namespace uirenderer {
 
-SkiaCanvasProxy::SkiaCanvasProxy(Canvas* canvas)
+SkiaCanvasProxy::SkiaCanvasProxy(Canvas* canvas, bool filterHwuiCalls)
         : INHERITED(canvas->width(), canvas->height())
-        , mCanvas(canvas) {}
+        , mCanvas(canvas)
+        , mFilterHwuiCalls(filterHwuiCalls) {}
 
 void SkiaCanvasProxy::onDrawPaint(const SkPaint& paint) {
     mCanvas->drawPaint(paint);
@@ -32,6 +33,10 @@
 
 void SkiaCanvasProxy::onDrawPoints(PointMode pointMode, size_t count, const SkPoint pts[],
         const SkPaint& paint) {
+    if (!pts || count == 0) {
+        return;
+    }
+
     // convert the SkPoints into floats
     SK_COMPILE_ASSERT(sizeof(SkPoint) == sizeof(float)*2, SkPoint_is_no_longer_2_floats);
     const size_t floatCount = count << 1;
@@ -118,6 +123,9 @@
 void SkiaCanvasProxy::onDrawVertices(VertexMode mode, int vertexCount, const SkPoint vertices[],
         const SkPoint texs[], const SkColor colors[], SkXfermode*, const uint16_t indices[],
         int indexCount, const SkPaint& paint) {
+    if (mFilterHwuiCalls) {
+        return;
+    }
     // convert the SkPoints into floats
     SK_COMPILE_ASSERT(sizeof(SkPoint) == sizeof(float)*2, SkPoint_is_no_longer_2_floats);
     const int floatCount = vertexCount << 1;
@@ -312,6 +320,9 @@
 
 void SkiaCanvasProxy::onDrawPatch(const SkPoint cubics[12], const SkColor colors[4],
         const SkPoint texCoords[4], SkXfermode* xmode, const SkPaint& paint) {
+    if (mFilterHwuiCalls) {
+        return;
+    }
     SkPatchUtils::VertexData data;
 
     SkMatrix matrix;
diff --git a/libs/hwui/SkiaCanvasProxy.h b/libs/hwui/SkiaCanvasProxy.h
index 4322fcf..0de9650 100644
--- a/libs/hwui/SkiaCanvasProxy.h
+++ b/libs/hwui/SkiaCanvasProxy.h
@@ -27,16 +27,19 @@
 
 /**
  * This class serves as a proxy between Skia's SkCanvas and Android Framework's
- * Canvas.  The class does not maintain any state and will pass through any request
- * directly to the Canvas provided in the constructor.
+ * Canvas.  The class does not maintain any draw-related state and will pass
+ * through most requests directly to the Canvas provided in the constructor.
  *
  * Upon construction it is expected that the provided Canvas has already been
  * prepared for recording and will continue to be in the recording state while
  * this proxy class is being used.
+ *
+ * If filterHwuiCalls is true, the proxy silently ignores away draw calls that
+ * aren't supported by HWUI.
  */
 class ANDROID_API SkiaCanvasProxy : public SkCanvas {
 public:
-    SkiaCanvasProxy(Canvas* canvas);
+    SkiaCanvasProxy(Canvas* canvas, bool filterHwuiCalls = false);
     virtual ~SkiaCanvasProxy() {}
 
 protected:
@@ -94,6 +97,7 @@
 
 private:
     Canvas* mCanvas;
+    bool mFilterHwuiCalls;
 
     typedef SkCanvas INHERITED;
 };
diff --git a/libs/hwui/renderstate/Blend.cpp b/libs/hwui/renderstate/Blend.cpp
index 789f6cc..29927ed 100644
--- a/libs/hwui/renderstate/Blend.cpp
+++ b/libs/hwui/renderstate/Blend.cpp
@@ -78,10 +78,10 @@
     // gl blending off by default
 }
 
-void Blend::enable(SkXfermode::Mode mode, bool swapSrcDst) {
+void Blend::enable(SkXfermode::Mode mode, ModeOrderSwap modeUsage) {
     GLenum srcMode;
     GLenum dstMode;
-    getFactors(mode, swapSrcDst, &srcMode, &dstMode);
+    getFactors(mode, modeUsage, &srcMode, &dstMode);
     setFactors(srcMode, dstMode);
 }
 
@@ -105,9 +105,9 @@
     }
 }
 
-void Blend::getFactors(SkXfermode::Mode mode, bool swapSrcDst, GLenum* outSrc, GLenum* outDst) {
-    *outSrc = swapSrcDst ? kBlendsSwap[mode].src : kBlends[mode].src;
-    *outDst = swapSrcDst ? kBlendsSwap[mode].dst : kBlends[mode].dst;
+void Blend::getFactors(SkXfermode::Mode mode, ModeOrderSwap modeUsage, GLenum* outSrc, GLenum* outDst) {
+    *outSrc = (modeUsage == ModeOrderSwap::Swap) ? kBlendsSwap[mode].src : kBlends[mode].src;
+    *outDst = (modeUsage == ModeOrderSwap::Swap) ? kBlendsSwap[mode].dst : kBlends[mode].dst;
 }
 
 void Blend::setFactors(GLenum srcMode, GLenum dstMode) {
diff --git a/libs/hwui/renderstate/Blend.h b/libs/hwui/renderstate/Blend.h
index 6d0c115c..dcc681d 100644
--- a/libs/hwui/renderstate/Blend.h
+++ b/libs/hwui/renderstate/Blend.h
@@ -29,11 +29,18 @@
 class Blend {
     friend class RenderState;
 public:
-    void enable(SkXfermode::Mode mode, bool swapSrcDst);
+    // dictates whether to swap src/dst
+    enum class ModeOrderSwap {
+        NoSwap,
+        Swap,
+    };
+
+    void enable(SkXfermode::Mode mode, ModeOrderSwap modeUsage);
     void disable();
     void syncEnabled();
 
-    static void getFactors(SkXfermode::Mode mode, bool swapSrcDst, GLenum* outSrc, GLenum* outDst);
+    static void getFactors(SkXfermode::Mode mode, ModeOrderSwap modeUsage,
+            GLenum* outSrc, GLenum* outDst);
     void setFactors(GLenum src, GLenum dst);
 
     void dump();
diff --git a/libs/hwui/renderstate/MeshState.cpp b/libs/hwui/renderstate/MeshState.cpp
index 6b00020..0521f65 100644
--- a/libs/hwui/renderstate/MeshState.cpp
+++ b/libs/hwui/renderstate/MeshState.cpp
@@ -37,7 +37,7 @@
 
     mCurrentBuffer = mUnitQuadBuffer;
 
-    std::unique_ptr<uint16_t[]> regionIndices(new uint16_t[kMaxNumberOfQuads * 6]);
+    uint16_t regionIndices[kMaxNumberOfQuads * 6];
     for (uint32_t i = 0; i < kMaxNumberOfQuads; i++) {
         uint16_t quad = i * 4;
         int index = i * 6;
@@ -50,8 +50,7 @@
     }
     glGenBuffers(1, &mQuadListIndices);
     glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mQuadListIndices);
-    glBufferData(GL_ELEMENT_ARRAY_BUFFER, kMaxNumberOfQuads * 6 * sizeof(uint16_t),
-            regionIndices.get(), GL_STATIC_DRAW);
+    glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(regionIndices), regionIndices, GL_STATIC_DRAW);
     mCurrentIndicesBuffer = mQuadListIndices;
 
     // position attribute always enabled
diff --git a/libs/hwui/renderstate/MeshState.h b/libs/hwui/renderstate/MeshState.h
index 3c92ad8..e80f4d0 100644
--- a/libs/hwui/renderstate/MeshState.h
+++ b/libs/hwui/renderstate/MeshState.h
@@ -42,6 +42,7 @@
 const GLsizei kVertexStride = sizeof(Vertex);
 const GLsizei kAlphaVertexStride = sizeof(AlphaVertex);
 const GLsizei kTextureVertexStride = sizeof(TextureVertex);
+const GLsizei kColorTextureVertexStride = sizeof(ColorTextureVertex);
 
 const GLsizei kMeshTextureOffset = 2 * sizeof(float);
 const GLsizei kVertexAlphaOffset = 2 * sizeof(float);
diff --git a/libs/hwui/renderstate/RenderState.cpp b/libs/hwui/renderstate/RenderState.cpp
index 192bf81..7b44d6d 100644
--- a/libs/hwui/renderstate/RenderState.cpp
+++ b/libs/hwui/renderstate/RenderState.cpp
@@ -199,16 +199,10 @@
 // Render
 ///////////////////////////////////////////////////////////////////////////////
 
-/*
- * Not yet supported:
- *
- * Textures + coordinates
- * SkiaShader
- * RoundRect clipping
- */
-
 void RenderState::render(const Glop& glop) {
     const Glop::Mesh& mesh = glop.mesh;
+    const Glop::Mesh::Vertices& vertices = mesh.vertices;
+    const Glop::Mesh::Indices& indices = mesh.indices;
     const Glop::Fill& fill = glop.fill;
 
     // ---------------------------------------------
@@ -226,15 +220,15 @@
             glop.transform.fudgingOffset);
 
     // Color filter uniforms
-    if (glop.fill.filterMode == ProgramDescription::kColorBlend) {
-        const FloatColor& color = glop.fill.filter.color;
+    if (fill.filterMode == ProgramDescription::kColorBlend) {
+        const FloatColor& color = fill.filter.color;
         glUniform4f(mCaches->program().getUniform("colorBlend"),
                 color.r, color.g, color.b, color.a);
-    } else if (glop.fill.filterMode == ProgramDescription::kColorMatrix) {
+    } else if (fill.filterMode == ProgramDescription::kColorMatrix) {
         glUniformMatrix4fv(mCaches->program().getUniform("colorMatrix"), 1, GL_FALSE,
-                glop.fill.filter.matrix.matrix);
+                fill.filter.matrix.matrix);
         glUniform4fv(mCaches->program().getUniform("colorMatrixVector"), 1,
-                glop.fill.filter.matrix.vector);
+                fill.filter.matrix.vector);
     }
 
     // Round rect clipping uniforms
@@ -253,48 +247,57 @@
         glUniform1f(fill.program->getUniform("roundRectRadius"),
                 roundedOutRadius);
     }
+
     // --------------------------------
     // ---------- Mesh setup ----------
     // --------------------------------
     // vertices
-    const bool force = meshState().bindMeshBufferInternal(mesh.vertexBufferObject)
-            || (mesh.vertices != nullptr);
-    meshState().bindPositionVertexPointer(force, mesh.vertices, mesh.stride);
+    const bool force = meshState().bindMeshBufferInternal(vertices.bufferObject)
+            || (vertices.position != nullptr);
+    meshState().bindPositionVertexPointer(force, vertices.position, vertices.stride);
 
     // indices
-    meshState().bindIndicesBufferInternal(mesh.indexBufferObject);
+    meshState().bindIndicesBufferInternal(indices.bufferObject);
 
-    if (mesh.vertexFlags & kTextureCoord_Attrib) {
-        // glop.fill.texture always takes slot 0, shader samplers increment from there
+    if (vertices.attribFlags & VertexAttribFlags::kTextureCoord) {
+        const Glop::Fill::TextureData& texture = fill.texture;
+        // texture always takes slot 0, shader samplers increment from there
         mCaches->textureState().activateTexture(0);
 
-        if (glop.fill.texture.clamp != GL_INVALID_ENUM) {
-            glop.fill.texture.texture->setWrap(glop.fill.texture.clamp, true);
+        if (texture.clamp != GL_INVALID_ENUM) {
+            texture.texture->setWrap(texture.clamp, true);
         }
-        if (glop.fill.texture.filter != GL_INVALID_ENUM) {
-            glop.fill.texture.texture->setFilter(glop.fill.texture.filter, true);
+        if (texture.filter != GL_INVALID_ENUM) {
+            texture.texture->setFilter(texture.filter, true);
         }
 
-        mCaches->textureState().bindTexture(fill.texture.texture->id);
+        mCaches->textureState().bindTexture(texture.target, texture.texture->id);
         meshState().enableTexCoordsVertexArray();
-        meshState().bindTexCoordsVertexPointer(force, mesh.texCoordOffset, mesh.stride);
+        meshState().bindTexCoordsVertexPointer(force, vertices.texCoord, vertices.stride);
+
+        if (texture.textureTransform) {
+            glUniformMatrix4fv(fill.program->getUniform("mainTextureTransform"), 1,
+                    GL_FALSE, &texture.textureTransform->data[0]);
+        }
     } else {
         meshState().disableTexCoordsVertexArray();
     }
-    if (mesh.vertexFlags & kColor_Attrib) {
-        LOG_ALWAYS_FATAL("color vertex attribute not yet supported");
-        // TODO: enable color attribute, disable when done
+    int colorLocation = -1;
+    if (vertices.attribFlags & VertexAttribFlags::kColor) {
+        colorLocation = fill.program->getAttrib("colors");
+        glEnableVertexAttribArray(colorLocation);
+        glVertexAttribPointer(colorLocation, 4, GL_FLOAT, GL_FALSE, vertices.stride, vertices.color);
     }
-    int alphaSlot = -1;
-    if (mesh.vertexFlags & kAlpha_Attrib) {
-        const void* alphaCoords = ((const GLbyte*) glop.mesh.vertices) + kVertexAlphaOffset;
-        alphaSlot = fill.program->getAttrib("vtxAlpha");
-        glEnableVertexAttribArray(alphaSlot);
-        glVertexAttribPointer(alphaSlot, 1, GL_FLOAT, GL_FALSE, kAlphaVertexStride, alphaCoords);
+    int alphaLocation = -1;
+    if (vertices.attribFlags & VertexAttribFlags::kAlpha) {
+        // NOTE: alpha vertex position is computed assuming no VBO
+        const void* alphaCoords = ((const GLbyte*) vertices.position) + kVertexAlphaOffset;
+        alphaLocation = fill.program->getAttrib("vtxAlpha");
+        glEnableVertexAttribArray(alphaLocation);
+        glVertexAttribPointer(alphaLocation, 1, GL_FLOAT, GL_FALSE, vertices.stride, alphaCoords);
     }
-
     // Shader uniforms
-    SkiaShader::apply(*mCaches, glop.fill.skiaShaderData);
+    SkiaShader::apply(*mCaches, fill.skiaShaderData);
 
     // ------------------------------------
     // ---------- GL state setup ----------
@@ -304,27 +307,27 @@
     // ------------------------------------
     // ---------- Actual drawing ----------
     // ------------------------------------
-    if (mesh.indexBufferObject == meshState().getQuadListIBO()) {
+    if (indices.bufferObject == meshState().getQuadListIBO()) {
         // Since the indexed quad list is of limited length, we loop over
         // the glDrawXXX method while updating the vertex pointer
         GLsizei elementsCount = mesh.elementCount;
-        const GLbyte* vertices = static_cast<const GLbyte*>(mesh.vertices);
+        const GLbyte* vertexData = static_cast<const GLbyte*>(vertices.position);
         while (elementsCount > 0) {
             GLsizei drawCount = MathUtils::min(elementsCount, (GLsizei) kMaxNumberOfQuads * 6);
 
             // rebind pointers without forcing, since initial bind handled above
-            meshState().bindPositionVertexPointer(false, vertices, mesh.stride);
-            if (mesh.vertexFlags & kTextureCoord_Attrib) {
+            meshState().bindPositionVertexPointer(false, vertexData, vertices.stride);
+            if (vertices.attribFlags & VertexAttribFlags::kTextureCoord) {
                 meshState().bindTexCoordsVertexPointer(false,
-                        vertices + kMeshTextureOffset, mesh.stride);
+                        vertexData + kMeshTextureOffset, vertices.stride);
             }
 
             glDrawElements(mesh.primitiveMode, drawCount, GL_UNSIGNED_SHORT, nullptr);
             elementsCount -= drawCount;
-            vertices += (drawCount / 6) * 4 * mesh.stride;
+            vertexData += (drawCount / 6) * 4 * vertices.stride;
         }
-    } else if (mesh.indexBufferObject || mesh.indices) {
-        glDrawElements(mesh.primitiveMode, mesh.elementCount, GL_UNSIGNED_SHORT, mesh.indices);
+    } else if (indices.bufferObject || indices.indices) {
+        glDrawElements(mesh.primitiveMode, mesh.elementCount, GL_UNSIGNED_SHORT, indices.indices);
     } else {
         glDrawArrays(mesh.primitiveMode, 0, mesh.elementCount);
     }
@@ -332,8 +335,11 @@
     // -----------------------------------
     // ---------- Mesh teardown ----------
     // -----------------------------------
-    if (glop.mesh.vertexFlags & kAlpha_Attrib) {
-        glDisableVertexAttribArray(alphaSlot);
+    if (vertices.attribFlags & VertexAttribFlags::kAlpha) {
+        glDisableVertexAttribArray(alphaLocation);
+    }
+    if (vertices.attribFlags & VertexAttribFlags::kColor) {
+        glDisableVertexAttribArray(colorLocation);
     }
 }
 
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp
index fcf6eb2..9456073 100644
--- a/libs/hwui/renderthread/CanvasContext.cpp
+++ b/libs/hwui/renderthread/CanvasContext.cpp
@@ -51,6 +51,7 @@
         , mRootRenderNode(rootRenderNode)
         , mCurrentFrameInfo(nullptr) {
     mRenderThread.renderState().registerCanvasContext(this);
+    mProfiler.setDensity(mRenderThread.mainDisplayInfo().density);
 }
 
 CanvasContext::~CanvasContext() {
diff --git a/libs/hwui/renderthread/CanvasContext.h b/libs/hwui/renderthread/CanvasContext.h
index 9a60dc7..c3904c2 100644
--- a/libs/hwui/renderthread/CanvasContext.h
+++ b/libs/hwui/renderthread/CanvasContext.h
@@ -33,6 +33,7 @@
 #include <utils/Vector.h>
 
 #include <set>
+#include <string>
 
 namespace android {
 namespace uirenderer {
@@ -106,6 +107,9 @@
     void dumpFrames(int fd);
     void resetFrameStats();
 
+    void setName(const std::string&& name) { mName = name; }
+    const std::string& name() { return mName; }
+
 private:
     friend class RegisterFrameCallbackTask;
     // TODO: Replace with something better for layer & other GL object
@@ -139,6 +143,7 @@
     FrameInfo* mCurrentFrameInfo;
     // Ring buffer large enough for 1 second worth of frames
     RingBuffer<FrameInfo, 60> mFrames;
+    std::string mName;
 
     std::set<RenderNode*> mPrefetechedLayers;
 };
diff --git a/libs/hwui/renderthread/DrawFrameTask.cpp b/libs/hwui/renderthread/DrawFrameTask.cpp
index f48ee41..35391b2 100644
--- a/libs/hwui/renderthread/DrawFrameTask.cpp
+++ b/libs/hwui/renderthread/DrawFrameTask.cpp
@@ -34,7 +34,6 @@
 DrawFrameTask::DrawFrameTask()
         : mRenderThread(nullptr)
         , mContext(nullptr)
-        , mDensity(1.0f) // safe enough default
         , mSyncResult(kSync_OK) {
 }
 
@@ -84,7 +83,6 @@
 void DrawFrameTask::run() {
     ATRACE_NAME("DrawFrame");
 
-    mContext->profiler().setDensity(mDensity);
     mContext->profiler().startFrame();
 
     bool canUnblockUiThread;
diff --git a/libs/hwui/renderthread/DrawFrameTask.h b/libs/hwui/renderthread/DrawFrameTask.h
index 0e56bea..8039643 100644
--- a/libs/hwui/renderthread/DrawFrameTask.h
+++ b/libs/hwui/renderthread/DrawFrameTask.h
@@ -62,7 +62,6 @@
     void pushLayerUpdate(DeferredLayerUpdater* layer);
     void removeLayerUpdate(DeferredLayerUpdater* layer);
 
-    void setDensity(float density) { mDensity = density; }
     int drawFrame();
 
     int64_t* frameInfo() { return mFrameInfo; }
@@ -83,7 +82,6 @@
     /*********************************************
      *  Single frame data
      *********************************************/
-    float mDensity;
     std::vector< sp<DeferredLayerUpdater> > mLayers;
 
     int mSyncResult;
diff --git a/libs/hwui/renderthread/RenderProxy.cpp b/libs/hwui/renderthread/RenderProxy.cpp
index 0fa2f23..ea4216c 100644
--- a/libs/hwui/renderthread/RenderProxy.cpp
+++ b/libs/hwui/renderthread/RenderProxy.cpp
@@ -97,18 +97,6 @@
     }
 }
 
-CREATE_BRIDGE2(setFrameInterval, RenderThread* thread, nsecs_t frameIntervalNanos) {
-    args->thread->setFrameInterval(args->frameIntervalNanos);
-    return nullptr;
-}
-
-void RenderProxy::setFrameInterval(nsecs_t frameIntervalNanos) {
-    SETUP_TASK(setFrameInterval);
-    args->thread = &mRenderThread;
-    args->frameIntervalNanos = frameIntervalNanos;
-    post(task);
-}
-
 CREATE_BRIDGE2(setSwapBehavior, CanvasContext* context, SwapBehavior swapBehavior) {
     args->context->setSwapBehavior(args->swapBehavior);
     return nullptr;
@@ -138,6 +126,18 @@
     return (bool) postAndWait(task);
 }
 
+CREATE_BRIDGE2(setName, CanvasContext* context, const char* name) {
+    args->context->setName(std::string(args->name));
+    return nullptr;
+}
+
+void RenderProxy::setName(const char* name) {
+    SETUP_TASK(setName);
+    args->context = mContext;
+    args->name = name;
+    post(task);
+}
+
 CREATE_BRIDGE2(initialize, CanvasContext* context, ANativeWindow* window) {
     return (void*) args->context->initialize(args->window);
 }
@@ -181,8 +181,7 @@
 }
 
 void RenderProxy::setup(int width, int height, const Vector3& lightCenter, float lightRadius,
-        uint8_t ambientShadowAlpha, uint8_t spotShadowAlpha, float density) {
-    mDrawFrameTask.setDensity(density);
+        uint8_t ambientShadowAlpha, uint8_t spotShadowAlpha) {
     SETUP_TASK(setup);
     args->context = mContext;
     args->width = width;
diff --git a/libs/hwui/renderthread/RenderProxy.h b/libs/hwui/renderthread/RenderProxy.h
index 19e73e5..43cbe07 100644
--- a/libs/hwui/renderthread/RenderProxy.h
+++ b/libs/hwui/renderthread/RenderProxy.h
@@ -62,16 +62,16 @@
     ANDROID_API RenderProxy(bool translucent, RenderNode* rootNode, IContextFactory* contextFactory);
     ANDROID_API virtual ~RenderProxy();
 
-    ANDROID_API void setFrameInterval(nsecs_t frameIntervalNanos);
     // Won't take effect until next EGLSurface creation
     ANDROID_API void setSwapBehavior(SwapBehavior swapBehavior);
     ANDROID_API bool loadSystemProperties();
+    ANDROID_API void setName(const char* name);
 
     ANDROID_API bool initialize(const sp<ANativeWindow>& window);
     ANDROID_API void updateSurface(const sp<ANativeWindow>& window);
     ANDROID_API bool pauseSurface(const sp<ANativeWindow>& window);
     ANDROID_API void setup(int width, int height, const Vector3& lightCenter, float lightRadius,
-            uint8_t ambientShadowAlpha, uint8_t spotShadowAlpha, float density);
+            uint8_t ambientShadowAlpha, uint8_t spotShadowAlpha);
     ANDROID_API void setOpaque(bool opaque);
     ANDROID_API int64_t* frameInfo();
     ANDROID_API int syncAndDrawFrame();
diff --git a/libs/hwui/renderthread/RenderThread.cpp b/libs/hwui/renderthread/RenderThread.cpp
index 2a8baa7..3ac2976 100644
--- a/libs/hwui/renderthread/RenderThread.cpp
+++ b/libs/hwui/renderthread/RenderThread.cpp
@@ -22,6 +22,8 @@
 #include "RenderProxy.h"
 
 #include <gui/DisplayEventReceiver.h>
+#include <gui/ISurfaceComposer.h>
+#include <gui/SurfaceComposerClient.h>
 #include <sys/resource.h>
 #include <utils/Log.h>
 
@@ -151,11 +153,6 @@
     LOG_ALWAYS_FATAL("Can't destroy the render thread");
 }
 
-void RenderThread::setFrameInterval(nsecs_t frameInterval) {
-    mTimeLord.setFrameInterval(frameInterval);
-    mJankTracker->setFrameInterval(frameInterval);
-}
-
 void RenderThread::initializeDisplayEventReceiver() {
     LOG_ALWAYS_FATAL_IF(mDisplayEventReceiver, "Initializing a second DisplayEventReceiver?");
     mDisplayEventReceiver = new DisplayEventReceiver();
@@ -169,10 +166,16 @@
 }
 
 void RenderThread::initThreadLocals() {
+    sp<IBinder> dtoken(SurfaceComposerClient::getBuiltInDisplay(
+            ISurfaceComposer::eDisplayIdMain));
+    status_t status = SurfaceComposerClient::getDisplayInfo(dtoken, &mDisplayInfo);
+    LOG_ALWAYS_FATAL_IF(status, "Failed to get display info\n");
+    nsecs_t frameIntervalNanos = static_cast<nsecs_t>(1000000000 / mDisplayInfo.fps);
+    mTimeLord.setFrameInterval(frameIntervalNanos);
     initializeDisplayEventReceiver();
     mEglManager = new EglManager(*this);
     mRenderState = new RenderState(*this);
-    mJankTracker = new JankTracker(mTimeLord.frameIntervalNanos());
+    mJankTracker = new JankTracker(frameIntervalNanos);
 }
 
 int RenderThread::displayEventReceiverCallback(int fd, int events, void* data) {
diff --git a/libs/hwui/renderthread/RenderThread.h b/libs/hwui/renderthread/RenderThread.h
index f169424..8096099 100644
--- a/libs/hwui/renderthread/RenderThread.h
+++ b/libs/hwui/renderthread/RenderThread.h
@@ -23,6 +23,7 @@
 #include "TimeLord.h"
 
 #include <cutils/compiler.h>
+#include <ui/DisplayInfo.h>
 #include <utils/Looper.h>
 #include <utils/Mutex.h>
 #include <utils/Singleton.h>
@@ -86,13 +87,13 @@
     // the next vsync. If it is not currently registered this does nothing.
     void pushBackFrameCallback(IFrameCallback* callback);
 
-    void setFrameInterval(nsecs_t frameInterval);
-
     TimeLord& timeLord() { return mTimeLord; }
     RenderState& renderState() { return *mRenderState; }
     EglManager& eglManager() { return *mEglManager; }
     JankTracker& jankTracker() { return *mJankTracker; }
 
+    const DisplayInfo& mainDisplayInfo() { return mDisplayInfo; }
+
 protected:
     virtual bool threadLoop() override;
 
@@ -122,6 +123,8 @@
     nsecs_t mNextWakeup;
     TaskQueue mQueue;
 
+    DisplayInfo mDisplayInfo;
+
     DisplayEventReceiver* mDisplayEventReceiver;
     bool mVsyncRequested;
     std::set<IFrameCallback*> mFrameCallbacks;
diff --git a/libs/hwui/tests/main.cpp b/libs/hwui/tests/main.cpp
index 0d1e63e..805989b 100644
--- a/libs/hwui/tests/main.cpp
+++ b/libs/hwui/tests/main.cpp
@@ -85,7 +85,7 @@
         proxy->initialize(surface);
         float lightX = width / 2.0;
         proxy->setup(width, height, (Vector3){lightX, dp(-200.0f), dp(800.0f)},
-                dp(800.0f), 255 * 0.075, 255 * 0.15, gDisplay.density);
+                dp(800.0f), 255 * 0.075, 255 * 0.15);
 
         android::uirenderer::Rect DUMMY;
 
diff --git a/libs/hwui/utils/Macros.h b/libs/hwui/utils/Macros.h
index 49d364e7..9f7ac1c 100644
--- a/libs/hwui/utils/Macros.h
+++ b/libs/hwui/utils/Macros.h
@@ -36,11 +36,29 @@
         #Type " must have standard layout")
 
 #define MAKE_FLAGS_ENUM(enumType) \
+        inline int operator|=(int lhs, enumType rhs) { \
+            return lhs | static_cast<int>(rhs); \
+        } \
+        inline int operator|(int lhs, enumType rhs) { \
+            return lhs | static_cast<int>(rhs); \
+        } \
+        inline int operator|(enumType lhs, int rhs) { \
+            return static_cast<int>(lhs) | rhs; \
+        } \
         inline int operator|(enumType lhs, enumType rhs) { \
             return static_cast<int>(lhs) | static_cast<int>(rhs); \
         } \
+        inline int operator&=(int lhs, enumType rhs) { \
+            return lhs & static_cast<int>(rhs); \
+        } \
         inline int operator&(int lhs, enumType rhs) { \
             return lhs & static_cast<int>(rhs); \
+        } \
+        inline int operator&(enumType lhs, int rhs) { \
+            return static_cast<int>(lhs) & rhs; \
+        } \
+        inline int operator&(enumType lhs, enumType rhs) { \
+            return static_cast<int>(lhs) & static_cast<int>(rhs); \
         }
 
 #endif /* MACROS_H */
diff --git a/location/java/com/android/internal/location/GpsNetInitiatedHandler.java b/location/java/com/android/internal/location/GpsNetInitiatedHandler.java
index e9e475c..0a3e073 100644
--- a/location/java/com/android/internal/location/GpsNetInitiatedHandler.java
+++ b/location/java/com/android/internal/location/GpsNetInitiatedHandler.java
@@ -34,7 +34,6 @@
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.os.SystemProperties;
-import android.provider.Settings;
 import android.util.Log;
 
 import com.android.internal.R;
diff --git a/media/java/android/media/AudioAttributes.java b/media/java/android/media/AudioAttributes.java
index 97919a9..4526839 100644
--- a/media/java/android/media/AudioAttributes.java
+++ b/media/java/android/media/AudioAttributes.java
@@ -27,7 +27,6 @@
 import java.lang.annotation.RetentionPolicy;
 import java.util.Collections;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.Objects;
 import java.util.Set;
 
@@ -280,6 +279,7 @@
      * Internal use only
      * @return a combined mask of all flags
      */
+    @SystemApi
     public int getAllFlags() {
         return (mFlags & FLAG_ALL);
     }
@@ -542,14 +542,15 @@
         /**
          * @hide
          * Same as {@link #setCapturePreset(int)} but authorizes the use of HOTWORD,
-         * REMOTE_SUBMIX and FM_TUNER.
+         * REMOTE_SUBMIX and RADIO_TUNER.
          * @param preset
          * @return the same Builder instance.
          */
+        @SystemApi
         public Builder setInternalCapturePreset(int preset) {
             if ((preset == MediaRecorder.AudioSource.HOTWORD)
                     || (preset == MediaRecorder.AudioSource.REMOTE_SUBMIX)
-                    || (preset == MediaRecorder.AudioSource.FM_TUNER)) {
+                    || (preset == MediaRecorder.AudioSource.RADIO_TUNER)) {
                 mSource = preset;
             } else {
                 setCapturePreset(preset);
diff --git a/media/java/android/media/AudioDevicesManager.java b/media/java/android/media/AudioDevicesManager.java
index bce2100..ee11eef 100644
--- a/media/java/android/media/AudioDevicesManager.java
+++ b/media/java/android/media/AudioDevicesManager.java
@@ -22,7 +22,6 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
-import android.content.Context;
 
 /** @hide
  * API candidate
diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java
index 9876995..8c1ba05 100644
--- a/media/java/android/media/AudioManager.java
+++ b/media/java/android/media/AudioManager.java
@@ -26,9 +26,7 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
-import android.media.RemoteController.OnClientUpdateListener;
 import android.media.audiopolicy.AudioPolicy;
-import android.media.audiopolicy.AudioPolicyConfig;
 import android.media.session.MediaController;
 import android.media.session.MediaSession;
 import android.media.session.MediaSessionLegacyHelper;
@@ -58,12 +56,10 @@
  */
 public class AudioManager {
 
-    private final Context mContext;
+    private final Context mApplicationContext;
     private long mVolumeKeyUpTime;
-    private final boolean mUseMasterVolume;
     private final boolean mUseVolumeKeySounds;
     private final boolean mUseFixedVolume;
-    private final Binder mToken = new Binder();
     private static String TAG = "AudioManager";
     private static final AudioPortEventHandler sAudioPortEventHandler = new AudioPortEventHandler();
 
@@ -149,17 +145,6 @@
         "android.media.STREAM_MUTE_CHANGED_ACTION";
 
     /**
-     * @hide Broadcast intent when the master volume changes.
-     * Includes the new volume
-     *
-     * @see #EXTRA_MASTER_VOLUME_VALUE
-     * @see #EXTRA_PREV_MASTER_VOLUME_VALUE
-     */
-    @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
-    public static final String MASTER_VOLUME_CHANGED_ACTION =
-        "android.media.MASTER_VOLUME_CHANGED_ACTION";
-
-    /**
      * @hide Broadcast intent when the master mute state changes.
      * Includes the the new volume
      *
@@ -211,20 +196,6 @@
         "android.media.EXTRA_PREV_VOLUME_STREAM_VALUE";
 
     /**
-     * @hide The new master volume value for the master volume changed intent.
-     * Value is integer between 0 and 100 inclusive.
-     */
-    public static final String EXTRA_MASTER_VOLUME_VALUE =
-        "android.media.EXTRA_MASTER_VOLUME_VALUE";
-
-    /**
-     * @hide The previous master volume value for the master volume changed intent.
-     * Value is integer between 0 and 100 inclusive.
-     */
-    public static final String EXTRA_PREV_MASTER_VOLUME_VALUE =
-        "android.media.EXTRA_PREV_MASTER_VOLUME_VALUE";
-
-    /**
      * @hide The new master volume mute state for the master mute changed intent.
      * Value is boolean
      */
@@ -259,7 +230,7 @@
             "android.intent.action.HEADSET_PLUG";
 
     /**
-     * Broadcast Action: A sticky broadcast indicating an HMDI cable was plugged or unplugged
+     * Broadcast Action: A sticky broadcast indicating an HDMI cable was plugged or unplugged.
      *
      * The intent will have the following extra values: {@link #EXTRA_AUDIO_PLUG_STATE},
      * {@link #EXTRA_MAX_CHANNEL_COUNT}, {@link #EXTRA_ENCODINGS}.
@@ -604,12 +575,10 @@
      * @hide
      */
     public AudioManager(Context context) {
-        mContext = context;
-        mUseMasterVolume = mContext.getResources().getBoolean(
-                com.android.internal.R.bool.config_useMasterVolume);
-        mUseVolumeKeySounds = mContext.getResources().getBoolean(
+        mApplicationContext = context;
+        mUseVolumeKeySounds = mApplicationContext.getResources().getBoolean(
                 com.android.internal.R.bool.config_useVolumeKeySounds);
-        mUseFixedVolume = mContext.getResources().getBoolean(
+        mUseFixedVolume = mApplicationContext.getResources().getBoolean(
                 com.android.internal.R.bool.config_useFixedVolume);
         sAudioPortEventHandler.init();
     }
@@ -648,7 +617,7 @@
      *     or {@link KeyEvent#KEYCODE_MEDIA_AUDIO_TRACK}.
      */
     public void dispatchMediaKeyEvent(KeyEvent keyEvent) {
-        MediaSessionLegacyHelper helper = MediaSessionLegacyHelper.getHelper(mContext);
+        MediaSessionLegacyHelper helper = MediaSessionLegacyHelper.getHelper(mApplicationContext);
         helper.sendMediaButtonEvent(keyEvent, false);
     }
 
@@ -668,12 +637,8 @@
              * The user has hit another key during the delay (e.g., 300ms)
              * since the last volume key up, so cancel any sounds.
              */
-            if (mUseMasterVolume) {
-                adjustMasterVolume(ADJUST_SAME, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
-            } else {
-                adjustSuggestedStreamVolume(ADJUST_SAME,
-                        stream, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
-            }
+            adjustSuggestedStreamVolume(ADJUST_SAME,
+                    stream, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
         }
     }
 
@@ -689,26 +654,17 @@
                  * Adjust the volume in on key down since it is more
                  * responsive to the user.
                  */
-                int flags = FLAG_SHOW_UI | FLAG_VIBRATE;
-
-                if (mUseMasterVolume) {
-                    adjustMasterVolume(
-                            keyCode == KeyEvent.KEYCODE_VOLUME_UP
-                                    ? ADJUST_RAISE
-                                    : ADJUST_LOWER,
-                            flags);
-                } else {
-                    adjustSuggestedStreamVolume(
-                            keyCode == KeyEvent.KEYCODE_VOLUME_UP
-                                    ? ADJUST_RAISE
-                                    : ADJUST_LOWER,
-                            stream,
-                            flags);
-                }
+                adjustSuggestedStreamVolume(
+                        keyCode == KeyEvent.KEYCODE_VOLUME_UP
+                                ? ADJUST_RAISE
+                                : ADJUST_LOWER,
+                        stream,
+                        FLAG_SHOW_UI | FLAG_VIBRATE);
                 break;
             case KeyEvent.KEYCODE_VOLUME_MUTE:
                 if (event.getRepeatCount() == 0) {
-                    MediaSessionLegacyHelper.getHelper(mContext).sendVolumeKeyEvent(event, false);
+                    MediaSessionLegacyHelper.getHelper(mApplicationContext)
+                            .sendVolumeKeyEvent(event, false);
                 }
                 break;
         }
@@ -727,20 +683,16 @@
                  * sound to play when a user holds down volume down to mute.
                  */
                 if (mUseVolumeKeySounds) {
-                    if (mUseMasterVolume) {
-                        adjustMasterVolume(ADJUST_SAME, FLAG_PLAY_SOUND);
-                    } else {
-                        int flags = FLAG_PLAY_SOUND;
-                        adjustSuggestedStreamVolume(
-                                ADJUST_SAME,
-                                stream,
-                                flags);
-                    }
+                    adjustSuggestedStreamVolume(
+                            ADJUST_SAME,
+                            stream,
+                            FLAG_PLAY_SOUND);
                 }
                 mVolumeKeyUpTime = SystemClock.uptimeMillis();
                 break;
             case KeyEvent.KEYCODE_VOLUME_MUTE:
-                MediaSessionLegacyHelper.getHelper(mContext).sendVolumeKeyEvent(event, false);
+                MediaSessionLegacyHelper.getHelper(mApplicationContext)
+                        .sendVolumeKeyEvent(event, false);
                 break;
         }
     }
@@ -784,12 +736,8 @@
     public void adjustStreamVolume(int streamType, int direction, int flags) {
         IAudioService service = getService();
         try {
-            if (mUseMasterVolume) {
-                service.adjustMasterVolume(direction, flags, mContext.getOpPackageName());
-            } else {
-                service.adjustStreamVolume(streamType, direction, flags,
-                        mContext.getOpPackageName());
-            }
+            service.adjustStreamVolume(streamType, direction, flags,
+                    mApplicationContext.getOpPackageName());
         } catch (RemoteException e) {
             Log.e(TAG, "Dead object in adjustStreamVolume", e);
         }
@@ -819,17 +767,8 @@
      * @see #isVolumeFixed()
      */
     public void adjustVolume(int direction, int flags) {
-        IAudioService service = getService();
-        try {
-            if (mUseMasterVolume) {
-                service.adjustMasterVolume(direction, flags, mContext.getOpPackageName());
-            } else {
-                MediaSessionLegacyHelper helper = MediaSessionLegacyHelper.getHelper(mContext);
-                helper.sendAdjustVolumeBy(USE_DEFAULT_STREAM_TYPE, direction, flags);
-            }
-        } catch (RemoteException e) {
-            Log.e(TAG, "Dead object in adjustVolume", e);
-        }
+        MediaSessionLegacyHelper helper = MediaSessionLegacyHelper.getHelper(mApplicationContext);
+        helper.sendAdjustVolumeBy(USE_DEFAULT_STREAM_TYPE, direction, flags);
     }
 
     /**
@@ -857,34 +796,17 @@
      * @see #isVolumeFixed()
      */
     public void adjustSuggestedStreamVolume(int direction, int suggestedStreamType, int flags) {
-        IAudioService service = getService();
-        try {
-            if (mUseMasterVolume) {
-                service.adjustMasterVolume(direction, flags, mContext.getOpPackageName());
-            } else {
-                MediaSessionLegacyHelper helper = MediaSessionLegacyHelper.getHelper(mContext);
-                helper.sendAdjustVolumeBy(suggestedStreamType, direction, flags);
-            }
-        } catch (RemoteException e) {
-            Log.e(TAG, "Dead object in adjustSuggestedStreamVolume", e);
-        }
+        MediaSessionLegacyHelper helper = MediaSessionLegacyHelper.getHelper(mApplicationContext);
+        helper.sendAdjustVolumeBy(suggestedStreamType, direction, flags);
     }
 
-    /**
-     * Adjusts the master volume for the device's audio amplifier.
-     * <p>
-     *
-     * @param steps The number of volume steps to adjust. A positive
-     *            value will raise the volume.
-     * @param flags One or more flags.
-     * @hide
-     */
-    public void adjustMasterVolume(int steps, int flags) {
+    /** @hide */
+    public void setMasterMute(boolean mute, int flags) {
         IAudioService service = getService();
         try {
-            service.adjustMasterVolume(steps, flags, mContext.getOpPackageName());
+            service.setMasterMute(mute, flags, mApplicationContext.getOpPackageName());
         } catch (RemoteException e) {
-            Log.e(TAG, "Dead object in adjustMasterVolume", e);
+            Log.e(TAG, "Dead object in setMasterMute", e);
         }
     }
 
@@ -936,11 +858,7 @@
     public int getStreamMaxVolume(int streamType) {
         IAudioService service = getService();
         try {
-            if (mUseMasterVolume) {
-                return service.getMasterMaxVolume();
-            } else {
-                return service.getStreamMaxVolume(streamType);
-            }
+            return service.getStreamMaxVolume(streamType);
         } catch (RemoteException e) {
             Log.e(TAG, "Dead object in getStreamMaxVolume", e);
             return 0;
@@ -948,6 +866,24 @@
     }
 
     /**
+     * Returns the minimum volume index for a particular stream.
+     *
+     * @param streamType The stream type whose minimum volume index is returned.
+     * @return The minimum valid volume index for the stream.
+     * @see #getStreamVolume(int)
+     * @hide
+     */
+    public int getStreamMinVolume(int streamType) {
+        IAudioService service = getService();
+        try {
+            return service.getStreamMinVolume(streamType);
+        } catch (RemoteException e) {
+            Log.e(TAG, "Dead object in getStreamMinVolume", e);
+            return 0;
+        }
+    }
+
+    /**
      * Returns the current volume index for a particular stream.
      *
      * @param streamType The stream type whose volume index is returned.
@@ -958,11 +894,7 @@
     public int getStreamVolume(int streamType) {
         IAudioService service = getService();
         try {
-            if (mUseMasterVolume) {
-                return service.getMasterVolume();
-            } else {
-                return service.getStreamVolume(streamType);
-            }
+            return service.getStreamVolume(streamType);
         } catch (RemoteException e) {
             Log.e(TAG, "Dead object in getStreamVolume", e);
             return 0;
@@ -977,11 +909,7 @@
     public int getLastAudibleStreamVolume(int streamType) {
         IAudioService service = getService();
         try {
-            if (mUseMasterVolume) {
-                return service.getLastAudibleMasterVolume();
-            } else {
-                return service.getLastAudibleStreamVolume(streamType);
-            }
+            return service.getLastAudibleStreamVolume(streamType);
         } catch (RemoteException e) {
             Log.e(TAG, "Dead object in getLastAudibleStreamVolume", e);
             return 0;
@@ -994,12 +922,12 @@
      * It is assumed that this stream type is also tied to ringer mode changes.
      * @hide
      */
-    public int getMasterStreamType() {
+    public int getUiSoundsStreamType() {
         IAudioService service = getService();
         try {
-            return service.getMasterStreamType();
+            return service.getUiSoundsStreamType();
         } catch (RemoteException e) {
-            Log.e(TAG, "Dead object in getMasterStreamType", e);
+            Log.e(TAG, "Dead object in getUiSoundsStreamType", e);
             return STREAM_RING;
         }
     }
@@ -1023,7 +951,7 @@
         }
         IAudioService service = getService();
         try {
-            service.setRingerModeExternal(ringerMode, mContext.getOpPackageName());
+            service.setRingerModeExternal(ringerMode, mApplicationContext.getOpPackageName());
         } catch (RemoteException e) {
             Log.e(TAG, "Dead object in setRingerMode", e);
         }
@@ -1044,82 +972,13 @@
     public void setStreamVolume(int streamType, int index, int flags) {
         IAudioService service = getService();
         try {
-            if (mUseMasterVolume) {
-                service.setMasterVolume(index, flags, mContext.getOpPackageName());
-            } else {
-                service.setStreamVolume(streamType, index, flags, mContext.getOpPackageName());
-            }
+            service.setStreamVolume(streamType, index, flags, mApplicationContext.getOpPackageName());
         } catch (RemoteException e) {
             Log.e(TAG, "Dead object in setStreamVolume", e);
         }
     }
 
     /**
-     * Returns the maximum volume index for master volume.
-     *
-     * @hide
-     */
-    public int getMasterMaxVolume() {
-        IAudioService service = getService();
-        try {
-            return service.getMasterMaxVolume();
-        } catch (RemoteException e) {
-            Log.e(TAG, "Dead object in getMasterMaxVolume", e);
-            return 0;
-        }
-    }
-
-    /**
-     * Returns the current volume index for master volume.
-     *
-     * @return The current volume index for master volume.
-     * @hide
-     */
-    public int getMasterVolume() {
-        IAudioService service = getService();
-        try {
-            return service.getMasterVolume();
-        } catch (RemoteException e) {
-            Log.e(TAG, "Dead object in getMasterVolume", e);
-            return 0;
-        }
-    }
-
-    /**
-     * Get last audible volume before master volume was muted.
-     *
-     * @hide
-     */
-    public int getLastAudibleMasterVolume() {
-        IAudioService service = getService();
-        try {
-            return service.getLastAudibleMasterVolume();
-        } catch (RemoteException e) {
-            Log.e(TAG, "Dead object in getLastAudibleMasterVolume", e);
-            return 0;
-        }
-    }
-
-    /**
-     * Sets the volume index for master volume.
-     *
-     * @param index The volume index to set. See
-     *            {@link #getMasterMaxVolume()} for the largest valid value.
-     * @param flags One or more flags.
-     * @see #getMasterMaxVolume()
-     * @see #getMasterVolume()
-     * @hide
-     */
-    public void setMasterVolume(int index, int flags) {
-        IAudioService service = getService();
-        try {
-            service.setMasterVolume(index, flags, mContext.getOpPackageName());
-        } catch (RemoteException e) {
-            Log.e(TAG, "Dead object in setMasterVolume", e);
-        }
-    }
-
-    /**
      * Solo or unsolo a particular stream.
      * <p>
      * Do not use. This method has been deprecated and is now a no-op.
@@ -1190,11 +1049,7 @@
     public boolean isStreamMute(int streamType) {
         IAudioService service = getService();
         try {
-            if (mUseMasterVolume) {
-                return service.isMasterMute();
-            } else {
-                return service.isStreamMute(streamType);
-            }
+            return service.isStreamMute(streamType);
         } catch (RemoteException e) {
             Log.e(TAG, "Dead object in isStreamMute", e);
             return false;
@@ -1224,9 +1079,6 @@
      * @hide
      */
     public void forceVolumeControlStream(int streamType) {
-        if (mUseMasterVolume) {
-            return;
-        }
         IAudioService service = getService();
         try {
             service.forceVolumeControlStream(streamType, mICallBack);
@@ -1433,7 +1285,7 @@
      * @see #startBluetoothSco()
     */
     public boolean isBluetoothScoAvailableOffCall() {
-        return mContext.getResources().getBoolean(
+        return mApplicationContext.getResources().getBoolean(
                com.android.internal.R.bool.config_bluetooth_sco_off_call);
     }
 
@@ -1485,7 +1337,8 @@
     public void startBluetoothSco(){
         IAudioService service = getService();
         try {
-            service.startBluetoothSco(mICallBack, mContext.getApplicationInfo().targetSdkVersion);
+            service.startBluetoothSco(mICallBack,
+                    mApplicationContext.getApplicationInfo().targetSdkVersion);
         } catch (RemoteException e) {
             Log.e(TAG, "Dead object in startBluetoothSco", e);
         }
@@ -1633,7 +1486,7 @@
     public void setMicrophoneMute(boolean on){
         IAudioService service = getService();
         try {
-            service.setMicrophoneMute(on, mContext.getOpPackageName());
+            service.setMicrophoneMute(on, mApplicationContext.getOpPackageName());
         } catch (RemoteException e) {
             Log.e(TAG, "Dead object in setMicrophoneMute", e);
         }
@@ -1666,7 +1519,7 @@
     public void setMode(int mode) {
         IAudioService service = getService();
         try {
-            service.setMode(mode, mICallBack);
+            service.setMode(mode, mICallBack, mApplicationContext.getOpPackageName());
         } catch (RemoteException e) {
             Log.e(TAG, "Dead object in setMode", e);
         }
@@ -2064,7 +1917,7 @@
      * Settings has an in memory cache, so this is fast.
      */
     private boolean querySoundEffectsEnabled(int user) {
-        return Settings.System.getIntForUser(mContext.getContentResolver(),
+        return Settings.System.getIntForUser(mApplicationContext.getContentResolver(),
                 Settings.System.SOUND_EFFECTS_ENABLED, 0, user) != 0;
     }
 
@@ -2476,7 +2329,7 @@
         try {
             status = service.requestAudioFocus(requestAttributes, durationHint, mICallBack,
                     mAudioFocusDispatcher, getIdForAudioFocusListener(l),
-                    mContext.getOpPackageName() /* package name */, flags,
+                    mApplicationContext.getOpPackageName() /* package name */, flags,
                     ap != null ? ap.cb() : null);
         } catch (RemoteException e) {
             Log.e(TAG, "Can't call requestAudioFocus() on AudioService:", e);
@@ -2501,7 +2354,7 @@
                         .setInternalLegacyStreamType(streamType).build(),
                     durationHint, mICallBack, null,
                     AudioSystem.IN_VOICE_COMM_FOCUS_ID,
-                    mContext.getOpPackageName(),
+                    mApplicationContext.getOpPackageName(),
                     AUDIOFOCUS_FLAG_LOCK,
                     null /* policy token */);
         } catch (RemoteException e) {
@@ -2570,7 +2423,7 @@
         if (eventReceiver == null) {
             return;
         }
-        if (!eventReceiver.getPackageName().equals(mContext.getPackageName())) {
+        if (!eventReceiver.getPackageName().equals(mApplicationContext.getPackageName())) {
             Log.e(TAG, "registerMediaButtonEventReceiver() error: " +
                     "receiver and context package names don't match");
             return;
@@ -2579,7 +2432,7 @@
         Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
         //     the associated intent will be handled by the component being registered
         mediaButtonIntent.setComponent(eventReceiver);
-        PendingIntent pi = PendingIntent.getBroadcast(mContext,
+        PendingIntent pi = PendingIntent.getBroadcast(mApplicationContext,
                 0/*requestCode, ignored*/, mediaButtonIntent, 0/*flags*/);
         registerMediaButtonIntent(pi, eventReceiver);
     }
@@ -2613,8 +2466,8 @@
             Log.e(TAG, "Cannot call registerMediaButtonIntent() with a null parameter");
             return;
         }
-        MediaSessionLegacyHelper helper = MediaSessionLegacyHelper.getHelper(mContext);
-        helper.addMediaButtonListener(pi, eventReceiver, mContext);
+        MediaSessionLegacyHelper helper = MediaSessionLegacyHelper.getHelper(mApplicationContext);
+        helper.addMediaButtonListener(pi, eventReceiver, mApplicationContext);
     }
 
     /**
@@ -2632,7 +2485,7 @@
         Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
         //     the associated intent will be handled by the component being registered
         mediaButtonIntent.setComponent(eventReceiver);
-        PendingIntent pi = PendingIntent.getBroadcast(mContext,
+        PendingIntent pi = PendingIntent.getBroadcast(mApplicationContext,
                 0/*requestCode, ignored*/, mediaButtonIntent, 0/*flags*/);
         unregisterMediaButtonIntent(pi);
     }
@@ -2655,7 +2508,7 @@
      * @hide
      */
     public void unregisterMediaButtonIntent(PendingIntent pi) {
-        MediaSessionLegacyHelper helper = MediaSessionLegacyHelper.getHelper(mContext);
+        MediaSessionLegacyHelper helper = MediaSessionLegacyHelper.getHelper(mApplicationContext);
         helper.removeMediaButtonListener(pi);
     }
 
@@ -2672,7 +2525,7 @@
         if ((rcClient == null) || (rcClient.getRcMediaIntent() == null)) {
             return;
         }
-        rcClient.registerWithSession(MediaSessionLegacyHelper.getHelper(mContext));
+        rcClient.registerWithSession(MediaSessionLegacyHelper.getHelper(mApplicationContext));
     }
 
     /**
@@ -2687,7 +2540,7 @@
         if ((rcClient == null) || (rcClient.getRcMediaIntent() == null)) {
             return;
         }
-        rcClient.unregisterWithSession(MediaSessionLegacyHelper.getHelper(mContext));
+        rcClient.unregisterWithSession(MediaSessionLegacyHelper.getHelper(mApplicationContext));
     }
 
     /**
@@ -2695,7 +2548,7 @@
      * metadata updates and playback state information from applications using
      * {@link RemoteControlClient}, and control their playback.
      * <p>
-     * Registration requires the {@link OnClientUpdateListener} listener to be
+     * Registration requires the {@link RemoteController.OnClientUpdateListener} listener to be
      * one of the enabled notification listeners (see
      * {@link android.service.notification.NotificationListenerService}).
      *
@@ -3205,7 +3058,8 @@
     public void setWiredDeviceConnectionState(int type, int state, String address, String name) {
         IAudioService service = getService();
         try {
-            service.setWiredDeviceConnectionState(type, state, address, name);
+            service.setWiredDeviceConnectionState(type, state, address, name,
+                    mApplicationContext.getOpPackageName());
         } catch (RemoteException e) {
             Log.e(TAG, "Dead object in setWiredDeviceConnectionState "+e);
         }
@@ -3349,7 +3203,7 @@
      */
     public void disableSafeMediaVolume() {
         try {
-            getService().disableSafeMediaVolume();
+            getService().disableSafeMediaVolume(mApplicationContext.getOpPackageName());
         } catch (RemoteException e) {
             Log.w(TAG, "Error disabling safe media volume", e);
         }
@@ -3361,7 +3215,7 @@
      */
     public void setRingerModeInternal(int ringerMode) {
         try {
-            getService().setRingerModeInternal(ringerMode, mContext.getOpPackageName());
+            getService().setRingerModeInternal(ringerMode, mApplicationContext.getOpPackageName());
         } catch (RemoteException e) {
             Log.w(TAG, "Error calling setRingerModeInternal", e);
         }
@@ -3381,6 +3235,18 @@
     }
 
     /**
+     * Only useful for volume controllers.
+     * @hide
+     */
+    public void setVolumePolicy(VolumePolicy policy) {
+        try {
+            getService().setVolumePolicy(policy);
+        } catch (RemoteException e) {
+            Log.w(TAG, "Error calling setVolumePolicy", e);
+        }
+    }
+
+    /**
      * Set Hdmi Cec system audio mode.
      *
      * @param on whether to be on system audio mode
diff --git a/media/java/android/media/AudioManagerInternal.java b/media/java/android/media/AudioManagerInternal.java
index ef5710c..abb4257 100644
--- a/media/java/android/media/AudioManagerInternal.java
+++ b/media/java/android/media/AudioManagerInternal.java
@@ -27,8 +27,7 @@
 public abstract class AudioManagerInternal {
 
     public abstract void adjustSuggestedStreamVolumeForUid(int streamType, int direction,
-            int flags,
-            String callingPackage, int uid);
+            int flags, String callingPackage, int uid);
 
     public abstract void adjustStreamVolumeForUid(int streamType, int direction, int flags,
             String callingPackage, int uid);
@@ -36,9 +35,6 @@
     public abstract void setStreamVolumeForUid(int streamType, int direction, int flags,
             String callingPackage, int uid);
 
-    public abstract void adjustMasterVolumeForUid(int steps, int flags, String callingPackage,
-            int uid);
-
     public abstract void setRingerModeDelegate(RingerModeDelegate delegate);
 
     public abstract int getRingerModeInternal();
@@ -50,10 +46,10 @@
     public interface RingerModeDelegate {
         /** Called when external ringer mode is evaluated, returns the new internal ringer mode */
         int onSetRingerModeExternal(int ringerModeOld, int ringerModeNew, String caller,
-                int ringerModeInternal);
+                int ringerModeInternal, VolumePolicy policy);
 
         /** Called when internal ringer mode is evaluated, returns the new external ringer mode */
         int onSetRingerModeInternal(int ringerModeOld, int ringerModeNew, String caller,
-                int ringerModeExternal);
+                int ringerModeExternal, VolumePolicy policy);
     }
 }
diff --git a/media/java/android/media/AudioPort.java b/media/java/android/media/AudioPort.java
index b046791..88e784a 100644
--- a/media/java/android/media/AudioPort.java
+++ b/media/java/android/media/AudioPort.java
@@ -15,7 +15,6 @@
  */
 
 package android.media;
-import android.util.Slog;
 
 /**
  * An audio port is a node of the audio framework or hardware that can be connected to or
diff --git a/media/java/android/media/AudioPortEventHandler.java b/media/java/android/media/AudioPortEventHandler.java
index ba2a59d..c05fd77 100644
--- a/media/java/android/media/AudioPortEventHandler.java
+++ b/media/java/android/media/AudioPortEventHandler.java
@@ -19,8 +19,6 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
-import android.util.Log;
-
 import java.util.ArrayList;
 import java.lang.ref.WeakReference;
 
diff --git a/media/java/android/media/AudioRecord.java b/media/java/android/media/AudioRecord.java
index de10ef9..259fe37 100644
--- a/media/java/android/media/AudioRecord.java
+++ b/media/java/android/media/AudioRecord.java
@@ -20,6 +20,7 @@
 import java.nio.ByteBuffer;
 import java.util.Iterator;
 
+import android.annotation.SystemApi;
 import android.os.Binder;
 import android.os.Handler;
 import android.os.IBinder;
@@ -238,7 +239,6 @@
 
     /**
      * @hide
-     * CANDIDATE FOR PUBLIC API
      * Class constructor with {@link AudioAttributes} and {@link AudioFormat}.
      * @param attributes a non-null {@link AudioAttributes} instance. Use
      *     {@link AudioAttributes.Builder#setCapturePreset(int)} for configuring the capture
@@ -257,6 +257,7 @@
      *   construction.
      * @throws IllegalArgumentException
      */
+    @SystemApi
     public AudioRecord(AudioAttributes attributes, AudioFormat format, int bufferSizeInBytes,
             int sessionId) throws IllegalArgumentException {
         mRecordingState = RECORDSTATE_STOPPED;
@@ -376,7 +377,7 @@
         // audio source
         if ( (audioSource < MediaRecorder.AudioSource.DEFAULT) ||
              ((audioSource > MediaRecorder.getAudioSourceMax()) &&
-              (audioSource != MediaRecorder.AudioSource.FM_TUNER) &&
+              (audioSource != MediaRecorder.AudioSource.RADIO_TUNER) &&
               (audioSource != MediaRecorder.AudioSource.HOTWORD)) )  {
             throw new IllegalArgumentException("Invalid audio source.");
         }
diff --git a/media/java/android/media/AudioTrack.java b/media/java/android/media/AudioTrack.java
index cd78234..93e2cbe 100644
--- a/media/java/android/media/AudioTrack.java
+++ b/media/java/android/media/AudioTrack.java
@@ -21,9 +21,6 @@
 import java.lang.ref.WeakReference;
 import java.nio.ByteBuffer;
 import java.nio.NioUtils;
-import java.util.Iterator;
-import java.util.Set;
-
 import android.annotation.IntDef;
 import android.app.ActivityThread;
 import android.app.AppOpsManager;
diff --git a/media/java/android/media/IAudioService.aidl b/media/java/android/media/IAudioService.aidl
index 17f5b59..8e962187 100644
--- a/media/java/android/media/IAudioService.aidl
+++ b/media/java/android/media/IAudioService.aidl
@@ -29,6 +29,7 @@
 import android.media.IRingtonePlayer;
 import android.media.IVolumeController;
 import android.media.Rating;
+import android.media.VolumePolicy;
 import android.media.audiopolicy.AudioPolicyConfig;
 import android.media.audiopolicy.IAudioPolicyCallback;
 import android.net.Uri;
@@ -40,36 +41,30 @@
 interface IAudioService {
 
     void adjustSuggestedStreamVolume(int direction, int suggestedStreamType, int flags,
-            String callingPackage);
+            String callingPackage, String caller);
 
     void adjustStreamVolume(int streamType, int direction, int flags, String callingPackage);
 
-    void adjustMasterVolume(int direction, int flags, String callingPackage);
-
     void setStreamVolume(int streamType, int index, int flags, String callingPackage);
 
     oneway void setRemoteStreamVolume(int index);
 
-    void setMasterVolume(int index, int flags, String callingPackage);
-
     boolean isStreamMute(int streamType);
 
     void forceRemoteSubmixFullVolume(boolean startForcing, IBinder cb);
 
     boolean isMasterMute();
 
+    void setMasterMute(boolean mute, int flags, String callingPackage);
+
     int getStreamVolume(int streamType);
 
-    int getMasterVolume();
+    int getStreamMinVolume(int streamType);
 
     int getStreamMaxVolume(int streamType);
 
-    int getMasterMaxVolume();
-
     int getLastAudibleStreamVolume(int streamType);
 
-    int getLastAudibleMasterVolume();
-
     void setMicrophoneMute(boolean on, String callingPackage);
 
     void setRingerModeExternal(int ringerMode, String caller);
@@ -88,7 +83,7 @@
 
     boolean shouldVibrate(int vibrateType);
 
-    void setMode(int mode, IBinder cb);
+    void setMode(int mode, IBinder cb, String callingPackage);
 
     int getMode();
 
@@ -187,9 +182,11 @@
 
     void setRingtonePlayer(IRingtonePlayer player);
     IRingtonePlayer getRingtonePlayer();
-    int getMasterStreamType();
+    int getUiSoundsStreamType();
 
-    void setWiredDeviceConnectionState(int type, int state, String address, String name);
+    void setWiredDeviceConnectionState(int type, int state, String address, String name,
+            String caller);
+
     int setBluetoothA2dpDeviceConnectionState(in BluetoothDevice device, int state, int profile);
 
     AudioRoutesInfo startWatchingRoutes(in IAudioRoutesObserver observer);
@@ -204,15 +201,18 @@
 
     boolean isStreamAffectedByMute(int streamType);
 
-    void disableSafeMediaVolume();
+    void disableSafeMediaVolume(String callingPackage);
 
     int setHdmiSystemAudioSupported(boolean on);
 
     boolean isHdmiSystemAudioSupported();
 
-           String registerAudioPolicy(in AudioPolicyConfig policyConfig,
-                    in IAudioPolicyCallback pcb, boolean hasFocusListener);
+    String registerAudioPolicy(in AudioPolicyConfig policyConfig,
+            in IAudioPolicyCallback pcb, boolean hasFocusListener);
+
     oneway void unregisterAudioPolicyAsync(in IAudioPolicyCallback pcb);
 
-           int setFocusPropertiesForPolicy(int duckingBehavior, in IAudioPolicyCallback pcb);
+    int setFocusPropertiesForPolicy(int duckingBehavior, in IAudioPolicyCallback pcb);
+
+    void setVolumePolicy(in VolumePolicy policy);
 }
diff --git a/media/java/android/media/IVolumeController.aidl b/media/java/android/media/IVolumeController.aidl
index e3593a6..90ac416 100644
--- a/media/java/android/media/IVolumeController.aidl
+++ b/media/java/android/media/IVolumeController.aidl
@@ -27,8 +27,6 @@
 
     void volumeChanged(int streamType, int flags);
 
-    void masterVolumeChanged(int flags);
-
     void masterMuteChanged(int flags);
 
     void setLayoutDirection(int layoutDirection);
diff --git a/media/java/android/media/ImageReader.java b/media/java/android/media/ImageReader.java
index 8d6a588..824a7ad 100644
--- a/media/java/android/media/ImageReader.java
+++ b/media/java/android/media/ImageReader.java
@@ -483,6 +483,8 @@
             case ImageFormat.Y16:
             case ImageFormat.RAW_SENSOR:
             case ImageFormat.RAW10:
+            case ImageFormat.DEPTH16:
+            case ImageFormat.DEPTH_POINT_CLOUD:
                 return 1;
             default:
                 throw new UnsupportedOperationException(
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java
index 8985b52..a7f33fa 100644
--- a/media/java/android/media/MediaCodec.java
+++ b/media/java/android/media/MediaCodec.java
@@ -19,7 +19,6 @@
 import android.graphics.ImageFormat;
 import android.graphics.Rect;
 import android.media.Image;
-import android.media.Image.Plane;
 import android.media.MediaCodecInfo;
 import android.media.MediaCodecList;
 import android.media.MediaCrypto;
diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java
index 6ac854f..3c9ca4e 100644
--- a/media/java/android/media/MediaCodecInfo.java
+++ b/media/java/android/media/MediaCodecInfo.java
@@ -24,15 +24,12 @@
 
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Comparator;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
 
 import static android.media.Utils.intersectSortedDistinctRanges;
 import static android.media.Utils.sortDistinctRanges;
-import static com.android.internal.util.Preconditions.checkArgumentPositive;
-import static com.android.internal.util.Preconditions.checkNotNull;
 
 /**
  * Provides information about a given media codec available on the device. You can
diff --git a/media/java/android/media/MediaCodecList.java b/media/java/android/media/MediaCodecList.java
index bb848d9..7fd0186 100644
--- a/media/java/android/media/MediaCodecList.java
+++ b/media/java/android/media/MediaCodecList.java
@@ -19,8 +19,6 @@
 import android.util.Log;
 
 import android.media.MediaCodecInfo;
-import android.media.MediaCodecInfo.CodecCapabilities;
-
 import java.util.ArrayList;
 import java.util.Arrays;
 
diff --git a/media/java/android/media/MediaDescription.java b/media/java/android/media/MediaDescription.java
index 4399c0d..ddbffc2 100644
--- a/media/java/android/media/MediaDescription.java
+++ b/media/java/android/media/MediaDescription.java
@@ -1,22 +1,11 @@
 package android.media;
 
-import android.annotation.NonNull;
 import android.annotation.Nullable;
-import android.content.ContentResolver;
-import android.content.res.Resources;
 import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.Point;
-import android.graphics.RectF;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.os.Bundle;
-import android.os.CancellationSignal;
 import android.os.Parcel;
 import android.os.Parcelable;
-import android.util.Size;
 
 /**
  * A simple set of metadata for a media item suitable for display. This can be
diff --git a/media/java/android/media/MediaDrm.java b/media/java/android/media/MediaDrm.java
index 78a5abe..d7752b9 100644
--- a/media/java/android/media/MediaDrm.java
+++ b/media/java/android/media/MediaDrm.java
@@ -21,8 +21,6 @@
 import java.util.HashMap;
 import java.util.List;
 import android.annotation.SystemApi;
-import android.os.Binder;
-import android.os.Debug;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
@@ -277,6 +275,12 @@
      */
     public static final int EVENT_VENDOR_DEFINED = 4;
 
+    /**
+     * This event indicates that a session opened by the app has been reclaimed by the resource
+     * manager.
+     */
+    public static final int EVENT_SESSION_RECLAIMED = 5;
+
     private static final int DRM_EVENT = 200;
 
     private class EventHandler extends Handler
diff --git a/media/java/android/media/MediaHTTPService.java b/media/java/android/media/MediaHTTPService.java
index 3b4703d..2348ab7 100644
--- a/media/java/android/media/MediaHTTPService.java
+++ b/media/java/android/media/MediaHTTPService.java
@@ -16,9 +16,7 @@
 
 package android.media;
 
-import android.os.Binder;
 import android.os.IBinder;
-import android.util.Log;
 
 /** @hide */
 public class MediaHTTPService extends IMediaHTTPService.Stub {
diff --git a/media/java/android/media/MediaMetadata.java b/media/java/android/media/MediaMetadata.java
index 754da0e..39bcef5 100644
--- a/media/java/android/media/MediaMetadata.java
+++ b/media/java/android/media/MediaMetadata.java
@@ -30,7 +30,6 @@
 import android.util.Log;
 import android.util.SparseArray;
 
-import java.util.ArrayList;
 import java.util.Set;
 
 /**
diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java
index fc372eb..d77fcd8 100644
--- a/media/java/android/media/MediaPlayer.java
+++ b/media/java/android/media/MediaPlayer.java
@@ -16,14 +16,11 @@
 
 package android.media;
 
+import android.annotation.IntDef;
 import android.app.ActivityThread;
 import android.app.AppOpsManager;
-import android.app.Application;
-import android.content.BroadcastReceiver;
 import android.content.ContentResolver;
 import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
 import android.content.res.AssetFileDescriptor;
 import android.net.Uri;
 import android.os.Handler;
@@ -64,8 +61,9 @@
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.OutputStream;
 import java.lang.Runnable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
 import java.net.InetSocketAddress;
 import java.util.Map;
 import java.util.Scanner;
@@ -477,6 +475,11 @@
  *     <td>{} </p></td>
  *     <td>This method can be called in any state and calling it does not change
  *         the object state.  </p></td></tr>
+ * <tr><td>setPlaybackRate</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>
  * <tr><td>setVolume </p></td>
  *     <td>{Idle, Initialized, Stopped, Prepared, Started, Paused,
  *          PlaybackCompleted}</p></td>
@@ -1324,6 +1327,59 @@
     public native boolean isPlaying();
 
     /**
+     * Specifies resampling as audio mode for variable rate playback, i.e.,
+     * resample the waveform based on the requested playback rate to get
+     * a new waveform, and play back the new waveform at the original sampling
+     * frequency.
+     * When rate is larger than 1.0, pitch becomes higher.
+     * When rate is smaller than 1.0, pitch becomes lower.
+     */
+    public static final int PLAYBACK_RATE_AUDIO_MODE_RESAMPLE = 0;
+
+    /**
+     * Specifies time stretching as audio mode for variable rate playback.
+     * Time stretching changes the duration of the audio samples without
+     * affecting its pitch.
+     * FIXME: implement time strectching.
+     * @hide
+     */
+    public static final int PLAYBACK_RATE_AUDIO_MODE_STRETCH = 1;
+
+    /** @hide */
+    @IntDef(
+        value = {
+            PLAYBACK_RATE_AUDIO_MODE_RESAMPLE,
+            PLAYBACK_RATE_AUDIO_MODE_STRETCH })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface PlaybackRateAudioMode {}
+
+    /**
+     * Sets playback rate and audio mode.
+     *
+     * <p> The supported audio modes are:
+     * <ul>
+     * <li> {@link #PLAYBACK_RATE_AUDIO_MODE_RESAMPLE}
+     * </ul>
+     *
+     * @param rate the ratio between desired playback rate and normal one.
+     * @param audioMode audio playback mode. Must be one of the supported
+     * audio modes.
+     *
+     * @throws IllegalStateException if the internal player engine has not been
+     * initialized.
+     * @throws IllegalArgumentException if audioMode is not supported.
+     */
+    public void setPlaybackRate(float rate, @PlaybackRateAudioMode int audioMode) {
+        if (!isAudioPlaybackModeSupported(audioMode)) {
+            final String msg = "Audio playback mode " + audioMode + " is not supported";
+            throw new IllegalArgumentException(msg);
+        }
+        _setPlaybackRate(rate);
+    }
+
+    private native void _setPlaybackRate(float rate) throws IllegalStateException;
+
+    /**
      * Seeks to specified time position.
      *
      * @param msec the offset in milliseconds from the start to seek to
@@ -3083,6 +3139,14 @@
                 mode == VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
     }
 
+    /*
+     * Test whether a given audio playback mode is supported.
+     * TODO query supported AudioPlaybackMode from player.
+     */
+    private boolean isAudioPlaybackModeSupported(int mode) {
+        return (mode == PLAYBACK_RATE_AUDIO_MODE_RESAMPLE);
+    }
+
     /** @hide */
     static class TimeProvider implements MediaPlayer.OnSeekCompleteListener,
             MediaTimeProvider {
diff --git a/media/java/android/media/MediaRecorder.java b/media/java/android/media/MediaRecorder.java
index 97b3f63..58c86f2 100644
--- a/media/java/android/media/MediaRecorder.java
+++ b/media/java/android/media/MediaRecorder.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.SystemApi;
 import android.app.ActivityThread;
 import android.hardware.Camera;
 import android.os.Handler;
@@ -222,12 +223,11 @@
         public static final int REMOTE_SUBMIX = 8;
 
         /**
-         * Audio source for FM, which is used to capture current FM tuner output by FMRadio app.
-         * There are two use cases, one is for record FM stream for later listening, another is
-         * for FM indirect mode(the routing except FM to headset(headphone) device routing).
+         * Audio source for capturing broadcast radio tuner output.
          * @hide
          */
-        public static final int FM_TUNER = 1998;
+        @SystemApi
+        public static final int RADIO_TUNER = 1998;
 
         /**
          * Audio source for preemptible, low-priority software hotword detection
@@ -240,7 +240,8 @@
          * This is a hidden audio source.
          * @hide
          */
-        protected static final int HOTWORD = 1999;
+        @SystemApi
+        public static final int HOTWORD = 1999;
     }
 
     /**
diff --git a/media/java/android/media/RemoteControlClient.java b/media/java/android/media/RemoteControlClient.java
index 1b6536f..c9a86d8 100644
--- a/media/java/android/media/RemoteControlClient.java
+++ b/media/java/android/media/RemoteControlClient.java
@@ -27,7 +27,6 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
-import android.os.ServiceManager;
 import android.os.SystemClock;
 import android.util.Log;
 
diff --git a/media/java/android/media/TtmlRenderer.java b/media/java/android/media/TtmlRenderer.java
index 75133c9..9d587b9 100644
--- a/media/java/android/media/TtmlRenderer.java
+++ b/media/java/android/media/TtmlRenderer.java
@@ -17,27 +17,15 @@
 package android.media;
 
 import android.content.Context;
-import android.graphics.Color;
-import android.media.SubtitleTrack.RenderingWidget.OnChangedListener;
-import android.text.Layout.Alignment;
-import android.text.SpannableStringBuilder;
 import android.text.TextUtils;
-import android.util.ArrayMap;
 import android.util.AttributeSet;
 import android.util.Log;
 import android.view.Gravity;
 import android.view.View;
-import android.view.ViewGroup;
-import android.view.View.MeasureSpec;
-import android.view.ViewGroup.LayoutParams;
 import android.view.accessibility.CaptioningManager;
-import android.view.accessibility.CaptioningManager.CaptionStyle;
-import android.view.accessibility.CaptioningManager.CaptioningChangeListener;
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
-import com.android.internal.widget.SubtitleView;
-
 import java.io.IOException;
 import java.io.StringReader;
 import java.util.ArrayList;
diff --git a/media/java/android/media/Utils.java b/media/java/android/media/Utils.java
index df0daaf..9e01e65 100644
--- a/media/java/android/media/Utils.java
+++ b/media/java/android/media/Utils.java
@@ -26,8 +26,6 @@
 import java.util.Comparator;
 import java.util.Vector;
 
-import static com.android.internal.util.Preconditions.checkNotNull;
-
 // package private
 class Utils {
     private static final String TAG = "Utils";
diff --git a/media/java/android/media/VolumePolicy.aidl b/media/java/android/media/VolumePolicy.aidl
new file mode 100644
index 0000000..371f798
--- /dev/null
+++ b/media/java/android/media/VolumePolicy.aidl
@@ -0,0 +1,19 @@
+/*
+ * 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.media;
+
+parcelable VolumePolicy;
diff --git a/media/java/android/media/VolumePolicy.java b/media/java/android/media/VolumePolicy.java
new file mode 100644
index 0000000..2d3376a
--- /dev/null
+++ b/media/java/android/media/VolumePolicy.java
@@ -0,0 +1,83 @@
+/*
+ * 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.media;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/** @hide */
+public final class VolumePolicy implements Parcelable {
+    public static final VolumePolicy DEFAULT = new VolumePolicy(false, false, true, 400);
+
+    /** Allow volume adjustments lower from vibrate to enter ringer mode = silent */
+    public final boolean volumeDownToEnterSilent;
+
+    /** Allow volume adjustments higher to exit ringer mode = silent */
+    public final boolean volumeUpToExitSilent;
+
+    /** Automatically enter do not disturb when ringer mode = silent */
+    public final boolean doNotDisturbWhenSilent;
+
+    /** Only allow volume adjustment from vibrate to silent after this
+        number of milliseconds since an adjustment from normal to vibrate. */
+    public final int vibrateToSilentDebounce;
+
+    public VolumePolicy(boolean volumeDownToEnterSilent, boolean volumeUpToExitSilent,
+            boolean doNotDisturbWhenSilent, int vibrateToSilentDebounce) {
+        this.volumeDownToEnterSilent = volumeDownToEnterSilent;
+        this.volumeUpToExitSilent = volumeUpToExitSilent;
+        this.doNotDisturbWhenSilent = doNotDisturbWhenSilent;
+        this.vibrateToSilentDebounce = vibrateToSilentDebounce;
+    }
+
+    @Override
+    public String toString() {
+        return "VolumePolicy[volumeDownToEnterSilent=" + volumeDownToEnterSilent
+                + ",volumeUpToExitSilent=" + volumeUpToExitSilent
+                + ",doNotDisturbWhenSilent=" + doNotDisturbWhenSilent
+                + ",vibrateToSilentDebounce=" + vibrateToSilentDebounce + "]";
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeInt(volumeDownToEnterSilent ? 1 : 0);
+        dest.writeInt(volumeUpToExitSilent ? 1 : 0);
+        dest.writeInt(doNotDisturbWhenSilent ? 1 : 0);
+        dest.writeInt(vibrateToSilentDebounce);
+    }
+
+    public static final Parcelable.Creator<VolumePolicy> CREATOR
+            = new Parcelable.Creator<VolumePolicy>() {
+        @Override
+        public VolumePolicy createFromParcel(Parcel p) {
+            return new VolumePolicy(p.readInt() != 0,
+                    p.readInt() != 0,
+                    p.readInt() != 0,
+                    p.readInt());
+        }
+
+        @Override
+        public VolumePolicy[] newArray(int size) {
+            return new VolumePolicy[size];
+        }
+    };
+}
\ No newline at end of file
diff --git a/media/java/android/media/audiopolicy/AudioPolicyConfig.java b/media/java/android/media/audiopolicy/AudioPolicyConfig.java
index 019309d..917e07b 100644
--- a/media/java/android/media/audiopolicy/AudioPolicyConfig.java
+++ b/media/java/android/media/audiopolicy/AudioPolicyConfig.java
@@ -16,12 +16,8 @@
 
 package android.media.audiopolicy;
 
-import android.media.AudioAttributes;
 import android.media.AudioFormat;
-import android.media.AudioManager;
 import android.media.audiopolicy.AudioMixingRule.AttributeMatchCriterion;
-import android.os.Binder;
-import android.os.IBinder;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.util.Log;
diff --git a/media/java/android/media/midi/IMidiDeviceListener.aidl b/media/java/android/media/midi/IMidiDeviceListener.aidl
new file mode 100644
index 0000000..31c66e3
--- /dev/null
+++ b/media/java/android/media/midi/IMidiDeviceListener.aidl
@@ -0,0 +1,28 @@
+/*
+ * 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 android.media.midi;
+
+import android.media.midi.MidiDeviceInfo;
+import android.media.midi.MidiDeviceStatus;
+
+/** @hide */
+oneway interface IMidiDeviceListener
+{
+    void onDeviceAdded(in MidiDeviceInfo device);
+    void onDeviceRemoved(in MidiDeviceInfo device);
+    void onDeviceStatusChanged(in MidiDeviceStatus status);
+}
diff --git a/media/java/android/media/midi/IMidiDeviceServer.aidl b/media/java/android/media/midi/IMidiDeviceServer.aidl
index 71914ad..642078a 100644
--- a/media/java/android/media/midi/IMidiDeviceServer.aidl
+++ b/media/java/android/media/midi/IMidiDeviceServer.aidl
@@ -21,6 +21,10 @@
 /** @hide */
 interface IMidiDeviceServer
 {
-    ParcelFileDescriptor openInputPort(int portNumber);
-    ParcelFileDescriptor openOutputPort(int portNumber);
+    ParcelFileDescriptor openInputPort(IBinder token, int portNumber);
+    ParcelFileDescriptor openOutputPort(IBinder token, int portNumber);
+    void closePort(IBinder token);
+
+    // connects the input port pfd to the specified output port
+    void connectPorts(IBinder token, in ParcelFileDescriptor pfd, int outputPortNumber);
 }
diff --git a/media/java/android/media/midi/IMidiListener.aidl b/media/java/android/media/midi/IMidiListener.aidl
deleted file mode 100644
index a4129e9..0000000
--- a/media/java/android/media/midi/IMidiListener.aidl
+++ /dev/null
@@ -1,26 +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 android.media.midi;
-
-import android.media.midi.MidiDeviceInfo;
-
-/** @hide */
-oneway interface IMidiListener
-{
-    void onDeviceAdded(in MidiDeviceInfo device);
-    void onDeviceRemoved(in MidiDeviceInfo device);
-}
diff --git a/media/java/android/media/midi/IMidiManager.aidl b/media/java/android/media/midi/IMidiManager.aidl
index bba35f5..74c63b4 100644
--- a/media/java/android/media/midi/IMidiManager.aidl
+++ b/media/java/android/media/midi/IMidiManager.aidl
@@ -16,9 +16,10 @@
 
 package android.media.midi;
 
+import android.media.midi.IMidiDeviceListener;
 import android.media.midi.IMidiDeviceServer;
-import android.media.midi.IMidiListener;
 import android.media.midi.MidiDeviceInfo;
+import android.media.midi.MidiDeviceStatus;
 import android.os.Bundle;
 import android.os.IBinder;
 
@@ -28,14 +29,28 @@
     MidiDeviceInfo[] getDeviceList();
 
     // for device creation & removal notifications
-    void registerListener(IBinder token, in IMidiListener listener);
-    void unregisterListener(IBinder token, in IMidiListener listener);
+    void registerListener(IBinder token, in IMidiDeviceListener listener);
+    void unregisterListener(IBinder token, in IMidiDeviceListener listener);
 
-    // for communicating with MIDI devices
+    // for opening built-in MIDI devices
     IMidiDeviceServer openDevice(IBinder token, in MidiDeviceInfo device);
 
-    // for implementing virtual MIDI devices
+    // for registering built-in MIDI devices
     MidiDeviceInfo registerDeviceServer(in IMidiDeviceServer server, int numInputPorts,
-            int numOutputPorts, in Bundle properties, boolean isPrivate, int type);
+            int numOutputPorts, in String[] inputPortNames, in String[] outputPortNames,
+            in Bundle properties, int type);
+
+    // for unregistering built-in MIDI devices
     void unregisterDeviceServer(in IMidiDeviceServer server);
+
+    // used by MidiDeviceService to access the MidiDeviceInfo that was created based on its
+    // manifest's meta-data
+    MidiDeviceInfo getServiceDeviceInfo(String packageName, String className);
+
+    // used for client's to retrieve a device's MidiDeviceStatus
+    MidiDeviceStatus getDeviceStatus(in MidiDeviceInfo deviceInfo);
+
+    // used by MIDI devices to report their status
+    // the token is used by MidiService for death notification
+    void setDeviceStatus(IBinder token, in MidiDeviceStatus status);
 }
diff --git a/media/java/android/media/midi/MidiDevice.java b/media/java/android/media/midi/MidiDevice.java
index 36710fd..569f7c6 100644
--- a/media/java/android/media/midi/MidiDevice.java
+++ b/media/java/android/media/midi/MidiDevice.java
@@ -16,36 +16,70 @@
 
 package android.media.midi;
 
+import android.content.Context;
+import android.content.ServiceConnection;
+import android.os.Binder;
+import android.os.IBinder;
 import android.os.ParcelFileDescriptor;
 import android.os.RemoteException;
 import android.util.Log;
 
-import java.io.FileDescriptor;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
+import dalvik.system.CloseGuard;
+
+import libcore.io.IoUtils;
+
+import java.io.Closeable;
 import java.io.IOException;
-import java.util.ArrayList;
 
 /**
- * This class is used for sending and receiving data to and from an MIDI device
+ * This class is used for sending and receiving data to and from a MIDI device
  * Instances of this class are created by {@link MidiManager#openDevice}.
  *
  * CANDIDATE FOR PUBLIC API
  * @hide
  */
-public final class MidiDevice {
+public final class MidiDevice implements Closeable {
     private static final String TAG = "MidiDevice";
 
     private final MidiDeviceInfo mDeviceInfo;
-    private final IMidiDeviceServer mServer;
+    private final IMidiDeviceServer mDeviceServer;
+    private Context mContext;
+    private ServiceConnection mServiceConnection;
 
-   /**
-     * MidiDevice should only be instantiated by MidiManager
-     * @hide
-     */
-    public MidiDevice(MidiDeviceInfo deviceInfo, IMidiDeviceServer server) {
+
+    private final CloseGuard mGuard = CloseGuard.get();
+
+    public class MidiConnection implements Closeable {
+        private final IBinder mToken;
+        private final MidiInputPort mInputPort;
+
+        MidiConnection(IBinder token, MidiInputPort inputPort) {
+            mToken = token;
+            mInputPort = inputPort;
+        }
+
+        @Override
+        public void close() throws IOException {
+            try {
+                mDeviceServer.closePort(mToken);
+                IoUtils.closeQuietly(mInputPort);
+            } catch (RemoteException e) {
+                Log.e(TAG, "RemoteException in MidiConnection.close");
+            }
+        }
+    }
+
+    /* package */ MidiDevice(MidiDeviceInfo deviceInfo, IMidiDeviceServer server) {
+        this(deviceInfo, server, null, null);
+    }
+
+    /* package */ MidiDevice(MidiDeviceInfo deviceInfo, IMidiDeviceServer server,
+            Context context, ServiceConnection serviceConnection) {
         mDeviceInfo = deviceInfo;
-        mServer = server;
+        mDeviceServer = server;
+        mContext = context;
+        mServiceConnection = serviceConnection;
+        mGuard.open("close");
     }
 
     /**
@@ -65,11 +99,12 @@
      */
     public MidiInputPort openInputPort(int portNumber) {
         try {
-            ParcelFileDescriptor pfd = mServer.openInputPort(portNumber);
+            IBinder token = new Binder();
+            ParcelFileDescriptor pfd = mDeviceServer.openInputPort(token, portNumber);
             if (pfd == null) {
                 return null;
             }
-            return new MidiInputPort(pfd, portNumber);
+            return new MidiInputPort(mDeviceServer, token, pfd, portNumber);
         } catch (RemoteException e) {
             Log.e(TAG, "RemoteException in openInputPort");
             return null;
@@ -84,17 +119,70 @@
      */
     public MidiOutputPort openOutputPort(int portNumber) {
         try {
-            ParcelFileDescriptor pfd = mServer.openOutputPort(portNumber);
+            IBinder token = new Binder();
+            ParcelFileDescriptor pfd = mDeviceServer.openOutputPort(token, portNumber);
             if (pfd == null) {
                 return null;
             }
-            return new MidiOutputPort(pfd, portNumber);
+            return new MidiOutputPort(mDeviceServer, token, pfd, portNumber);
         } catch (RemoteException e) {
             Log.e(TAG, "RemoteException in openOutputPort");
             return null;
         }
     }
 
+    /**
+     * Connects the supplied {@link MidiInputPort} to the output port of this device
+     * with the specified port number. Once the connection is made, the MidiInput port instance
+     * can no longer receive data via its {@link MidiReciever.receive} method.
+     * This method returns a {@link #MidiConnection} object, which can be used to close the connection
+     * @param inputPort the inputPort to connect
+     * @param outputPortNumber the port number of the output port to connect inputPort to.
+     * @return {@link #MidiConnection} object if the connection is successful, or null in case of failure
+     */
+    public MidiConnection connectPorts(MidiInputPort inputPort, int outputPortNumber) {
+        if (outputPortNumber < 0 || outputPortNumber >= mDeviceInfo.getOutputPortCount()) {
+            throw new IllegalArgumentException("outputPortNumber out of range");
+        }
+
+        ParcelFileDescriptor pfd = inputPort.claimFileDescriptor();
+        if (pfd == null) {
+            return null;
+        }
+         try {
+            IBinder token = new Binder();
+            mDeviceServer.connectPorts(token, pfd, outputPortNumber);
+            // close our copy of the file descriptor
+            IoUtils.closeQuietly(pfd);
+            return new MidiConnection(token, inputPort);
+        } catch (RemoteException e) {
+            Log.e(TAG, "RemoteException in connectPorts");
+            return null;
+        }
+    }
+
+    @Override
+    public void close() throws IOException {
+        synchronized (mGuard) {
+            mGuard.close();
+            if (mContext != null && mServiceConnection != null) {
+                mContext.unbindService(mServiceConnection);
+                mContext = null;
+                mServiceConnection = null;
+            }
+        }
+    }
+
+    @Override
+    protected void finalize() throws Throwable {
+        try {
+            mGuard.warnIfOpen();
+            close();
+        } finally {
+            super.finalize();
+        }
+    }
+
     @Override
     public String toString() {
         return ("MidiDevice: " + mDeviceInfo.toString());
diff --git a/media/java/android/media/midi/MidiDeviceInfo.java b/media/java/android/media/midi/MidiDeviceInfo.java
index fd35052..f7fad3d 100644
--- a/media/java/android/media/midi/MidiDeviceInfo.java
+++ b/media/java/android/media/midi/MidiDeviceInfo.java
@@ -27,11 +27,8 @@
  *
  * This class is just an immutable object to encapsulate the MIDI device description.
  * Use the MidiDevice class to actually communicate with devices.
- *
- * CANDIDATE FOR PUBLIC API
- * @hide
  */
-public class MidiDeviceInfo implements Parcelable {
+public final class MidiDeviceInfo implements Parcelable {
 
     private static final String TAG = "MidiDeviceInfo";
 
@@ -45,11 +42,12 @@
      */
     public static final int TYPE_VIRTUAL = 2;
 
-    private final int mType;    // USB or virtual
-    private final int mId;      // unique ID generated by MidiService
-    private final int mInputPortCount;
-    private final int mOutputPortCount;
-    private final Bundle mProperties;
+    /**
+     * Bundle key for the device's user visible name property.
+     * Used with the {@link android.os.Bundle} returned by {@link #getProperties}.
+     * For USB devices, this is a concatenation of the manufacturer and product names.
+     */
+    public static final String PROPERTY_NAME = "name";
 
     /**
      * Bundle key for the device's manufacturer name property.
@@ -59,11 +57,11 @@
     public static final String PROPERTY_MANUFACTURER = "manufacturer";
 
     /**
-     * Bundle key for the device's model name property.
+     * Bundle key for the device's product name property.
      * Used with the {@link android.os.Bundle} returned by {@link #getProperties}
      * Matches the USB device product name string for USB MIDI devices.
      */
-    public static final String PROPERTY_MODEL = "model";
+    public static final String PROPERTY_PRODUCT = "product";
 
     /**
      * Bundle key for the device's serial number property.
@@ -83,6 +81,8 @@
      * Bundle key for the device's ALSA card number.
      * Only set for USB MIDI devices.
      * Used with the {@link android.os.Bundle} returned by {@link #getProperties}
+     *
+     * @hide
      */
     public static final String PROPERTY_ALSA_CARD = "alsa_card";
 
@@ -90,20 +90,93 @@
      * Bundle key for the device's ALSA device number.
      * Only set for USB MIDI devices.
      * Used with the {@link android.os.Bundle} returned by {@link #getProperties}
+     *
+     * @hide
      */
     public static final String PROPERTY_ALSA_DEVICE = "alsa_device";
 
     /**
+     * {@link android.content.pm.ServiceInfo} for the service hosting the device implementation.
+     * Only set for Virtual MIDI devices.
+     * Used with the {@link android.os.Bundle} returned by {@link #getProperties}
+     *
+     * @hide
+     */
+    public static final String PROPERTY_SERVICE_INFO = "service_info";
+
+    /**
+     * Contains information about an input or output port.
+     */
+    public static final class PortInfo {
+        /**
+         * Port type for input ports
+         */
+        public static final int TYPE_INPUT = 1;
+
+        /**
+         * Port type for output ports
+         */
+        public static final int TYPE_OUTPUT = 2;
+
+        private final int mPortType;
+        private final int mPortNumber;
+        private final String mName;
+
+        PortInfo(int type, int portNumber, String name) {
+            mPortType = type;
+            mPortNumber = portNumber;
+            mName = (name == null ? "" : name);
+        }
+
+        /**
+         * Returns the port type of the port (either {@link #TYPE_INPUT} or {@link #TYPE_OUTPUT})
+         * @return the port type
+         */
+        public int getType() {
+            return mPortType;
+        }
+
+        /**
+         * Returns the port number of the port
+         * @return the port number
+         */
+        public int getPortNumber() {
+            return mPortNumber;
+        }
+
+        /**
+         * Returns the name of the port, or empty string if the port has no name
+         * @return the port name
+         */
+        public String getName() {
+            return mName;
+        }
+    }
+
+    private final int mType;    // USB or virtual
+    private final int mId;      // unique ID generated by MidiService
+    private final int mInputPortCount;
+    private final int mOutputPortCount;
+    private final String[] mInputPortNames;
+    private final String[] mOutputPortNames;
+    private final Bundle mProperties;
+    private final boolean mIsPrivate;
+
+    /**
      * MidiDeviceInfo should only be instantiated by MidiService implementation
      * @hide
      */
     public MidiDeviceInfo(int type, int id, int numInputPorts, int numOutputPorts,
-            Bundle properties) {
+            String[] inputPortNames, String[] outputPortNames, Bundle properties,
+            boolean isPrivate) {
         mType = type;
         mId = id;
         mInputPortCount = numInputPorts;
         mOutputPortCount = numOutputPorts;
+        mInputPortNames = inputPortNames;
+        mOutputPortNames = outputPortNames;
         mProperties = properties;
+        mIsPrivate = isPrivate;
     }
 
     /**
@@ -144,6 +217,32 @@
     }
 
     /**
+     * Returns information about an input port.
+     *
+     * @param portNumber the number of the input port
+     * @return the input port's information object
+     */
+    public PortInfo getInputPortInfo(int portNumber) {
+        if (portNumber < 0 || portNumber >= mInputPortCount) {
+            throw new IllegalArgumentException("portNumber out of range");
+        }
+        return new PortInfo(PortInfo.TYPE_INPUT, portNumber, mInputPortNames[portNumber]);
+    }
+
+    /**
+     * Returns information about an output port.
+     *
+     * @param portNumber the number of the output port
+     * @return the output port's information object
+     */
+    public PortInfo getOutputPortInfo(int portNumber) {
+        if (portNumber < 0 || portNumber >= mOutputPortCount) {
+            throw new IllegalArgumentException("portNumber out of range");
+        }
+        return new PortInfo(PortInfo.TYPE_OUTPUT, portNumber, mOutputPortNames[portNumber]);
+    }
+
+    /**
      * Returns the {@link android.os.Bundle} containing the device's properties.
      *
      * @return the device's properties
@@ -152,6 +251,16 @@
         return mProperties;
     }
 
+    /**
+     * Returns true if the device is private.  Private devices are only visible and accessible
+     * to clients with the same UID as the application that is hosting the device.
+     *
+     * @return true if the device is private
+     */
+    public boolean isPrivate() {
+        return mIsPrivate;
+    }
+
     @Override
     public boolean equals(Object o) {
         if (o instanceof MidiDeviceInfo) {
@@ -171,7 +280,8 @@
         return ("MidiDeviceInfo[mType=" + mType +
                 ",mInputPortCount=" + mInputPortCount +
                 ",mOutputPortCount=" + mOutputPortCount +
-                ",mProperties=" + mProperties);
+                ",mProperties=" + mProperties +
+                ",mIsPrivate=" + mIsPrivate);
     }
 
     public static final Parcelable.Creator<MidiDeviceInfo> CREATOR =
@@ -181,8 +291,12 @@
             int id = in.readInt();
             int inputPorts = in.readInt();
             int outputPorts = in.readInt();
+            String[] inputPortNames = in.createStringArray();
+            String[] outputPortNames = in.createStringArray();
             Bundle properties = in.readBundle();
-            return new MidiDeviceInfo(type, id, inputPorts, outputPorts, properties);
+            boolean isPrivate = (in.readInt() == 1);
+            return new MidiDeviceInfo(type, id, inputPorts, outputPorts,
+                    inputPortNames, outputPortNames, properties, isPrivate);
         }
 
         public MidiDeviceInfo[] newArray(int size) {
@@ -199,6 +313,9 @@
         parcel.writeInt(mId);
         parcel.writeInt(mInputPortCount);
         parcel.writeInt(mOutputPortCount);
+        parcel.writeStringArray(mInputPortNames);
+        parcel.writeStringArray(mOutputPortNames);
         parcel.writeBundle(mProperties);
+        parcel.writeInt(mIsPrivate ? 1 : 0);
    }
 }
diff --git a/media/java/android/media/midi/MidiDeviceServer.java b/media/java/android/media/midi/MidiDeviceServer.java
index 3317baa..d27351f 100644
--- a/media/java/android/media/midi/MidiDeviceServer.java
+++ b/media/java/android/media/midi/MidiDeviceServer.java
@@ -16,21 +16,26 @@
 
 package android.media.midi;
 
+import android.os.Binder;
+import android.os.IBinder;
 import android.os.ParcelFileDescriptor;
+import android.os.Process;
 import android.os.RemoteException;
 import android.system.OsConstants;
 import android.util.Log;
 
+import dalvik.system.CloseGuard;
+
+import libcore.io.IoUtils;
+
 import java.io.Closeable;
 import java.io.IOException;
-import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 /**
- * This class is used to provide the implemention of MIDI device.
- * Applications may call {@link MidiManager#createDeviceServer}
- * to create an instance of this class to implement a virtual MIDI device.
+ * Internal class used for providing an implementation for a MIDI device.
  *
- * CANDIDATE FOR PUBLIC API
  * @hide
  */
 public final class MidiDeviceServer implements Closeable {
@@ -40,64 +45,129 @@
 
     // MidiDeviceInfo for the device implemented by this server
     private MidiDeviceInfo mDeviceInfo;
-    private int mInputPortCount;
-    private int mOutputPortCount;
+    private final int mInputPortCount;
+    private final int mOutputPortCount;
 
-    // output ports for receiving messages from our clients
-    // we can have only one per port number
-    private MidiOutputPort[] mInputPortSenders;
+    // MidiReceivers for receiving data on our input ports
+    private final MidiReceiver[] mInputPortReceivers;
 
-    // receivers attached to our input ports
-    private ArrayList<MidiReceiver>[] mInputPortReceivers;
+    // MidiDispatchers for sending data on our output ports
+    private MidiDispatcher[] mOutputPortDispatchers;
 
-    // input ports for sending messages to our clients
-    // we can have multiple outputs per port number
-    private ArrayList<MidiInputPort>[] mOutputPortReceivers;
+    // MidiOutputPorts for clients connected to our input ports
+    private final MidiOutputPort[] mInputPortOutputPorts;
 
-    // subclass of MidiInputPort for passing to clients
-    // that notifies us when the connection has failed
-    private class ServerInputPort extends MidiInputPort {
-        ServerInputPort(ParcelFileDescriptor pfd, int portNumber) {
-            super(pfd, portNumber);
+    // List of all MidiInputPorts we created
+    private final CopyOnWriteArrayList<MidiInputPort> mInputPorts
+            = new CopyOnWriteArrayList<MidiInputPort>();
+
+
+    // for reporting device status
+    private final IBinder mDeviceStatusToken = new Binder();
+    private final boolean[] mInputPortOpen;
+    private final int[] mOutputPortOpenCount;
+
+    private final CloseGuard mGuard = CloseGuard.get();
+    private boolean mIsClosed;
+
+    private final Callback mCallback;
+
+    public interface Callback {
+        /**
+         * Called to notify when an our device status has changed
+         * @param server the {@link MidiDeviceServer} that changed
+         * @param status the {@link MidiDeviceStatus} for the device
+         */
+        public void onDeviceStatusChanged(MidiDeviceServer server, MidiDeviceStatus status);
+    }
+
+    abstract private class PortClient implements IBinder.DeathRecipient {
+        final IBinder mToken;
+
+        PortClient(IBinder token) {
+            mToken = token;
+
+            try {
+                token.linkToDeath(this, 0);
+            } catch (RemoteException e) {
+                close();
+            }
         }
 
+        abstract void close();
+
         @Override
-        public void onIOException() {
-            synchronized (mOutputPortReceivers) {
-                mOutputPortReceivers[getPortNumber()].clear();
-            }
+        public void binderDied() {
+            close();
         }
     }
 
-    // subclass of MidiOutputPort for passing to clients
-    // that notifies us when the connection has failed
-    private class ServerOutputPort extends MidiOutputPort {
-        ServerOutputPort(ParcelFileDescriptor pfd, int portNumber) {
-            super(pfd, portNumber);
+    private class InputPortClient extends PortClient {
+        private final MidiOutputPort mOutputPort;
+
+        InputPortClient(IBinder token, MidiOutputPort outputPort) {
+            super(token);
+            mOutputPort = outputPort;
         }
 
         @Override
-        public void onIOException() {
-            synchronized (mInputPortSenders) {
-                mInputPortSenders[getPortNumber()] = null;
+        void close() {
+            mToken.unlinkToDeath(this, 0);
+            synchronized (mInputPortOutputPorts) {
+                int portNumber = mOutputPort.getPortNumber();
+                mInputPortOutputPorts[portNumber] = null;
+                mInputPortOpen[portNumber] = false;
+                updateDeviceStatus();
             }
+            IoUtils.closeQuietly(mOutputPort);
         }
     }
 
+    private class OutputPortClient extends PortClient {
+        private final MidiInputPort mInputPort;
+
+        OutputPortClient(IBinder token, MidiInputPort inputPort) {
+            super(token);
+            mInputPort = inputPort;
+        }
+
+        @Override
+        void close() {
+            mToken.unlinkToDeath(this, 0);
+            int portNumber = mInputPort.getPortNumber();
+            MidiDispatcher dispatcher = mOutputPortDispatchers[portNumber];
+            synchronized (dispatcher) {
+                dispatcher.getSender().disconnect(mInputPort);
+                int openCount = dispatcher.getReceiverCount();
+                mOutputPortOpenCount[portNumber] = openCount;
+                updateDeviceStatus();
+           }
+
+            mInputPorts.remove(mInputPort);
+            IoUtils.closeQuietly(mInputPort);
+        }
+    }
+
+    private final HashMap<IBinder, PortClient> mPortClients = new HashMap<IBinder, PortClient>();
+
     // Binder interface stub for receiving connection requests from clients
     private final IMidiDeviceServer mServer = new IMidiDeviceServer.Stub() {
 
         @Override
-        public ParcelFileDescriptor openInputPort(int portNumber) {
+        public ParcelFileDescriptor openInputPort(IBinder token, int portNumber) {
+            if (mDeviceInfo.isPrivate()) {
+                if (Binder.getCallingUid() != Process.myUid()) {
+                    throw new SecurityException("Can't access private device from different UID");
+                }
+            }
+
             if (portNumber < 0 || portNumber >= mInputPortCount) {
                 Log.e(TAG, "portNumber out of range in openInputPort: " + portNumber);
                 return null;
             }
 
-            ParcelFileDescriptor result = null;
-
-            synchronized (mInputPortSenders) {
-                if (mInputPortSenders[portNumber] != null) {
+            synchronized (mInputPortOutputPorts) {
+                if (mInputPortOutputPorts[portNumber] != null) {
                     Log.d(TAG, "port " + portNumber + " already open");
                     return null;
                 }
@@ -105,47 +175,102 @@
                 try {
                     ParcelFileDescriptor[] pair = ParcelFileDescriptor.createSocketPair(
                                                         OsConstants.SOCK_SEQPACKET);
-                    MidiOutputPort newOutputPort = new ServerOutputPort(pair[0], portNumber);
-                    mInputPortSenders[portNumber] = newOutputPort;
-                    result =  pair[1];
-
-                    ArrayList<MidiReceiver> receivers = mInputPortReceivers[portNumber];
-                    synchronized (receivers) {
-                        for (int i = 0; i < receivers.size(); i++) {
-                            newOutputPort.connect(receivers.get(i));
-                        }
+                    MidiOutputPort outputPort = new MidiOutputPort(pair[0], portNumber);
+                    mInputPortOutputPorts[portNumber] = outputPort;
+                    outputPort.connect(mInputPortReceivers[portNumber]);
+                    InputPortClient client = new InputPortClient(token, outputPort);
+                    synchronized (mPortClients) {
+                        mPortClients.put(token, client);
                     }
+                    mInputPortOpen[portNumber] = true;
+                    updateDeviceStatus();
+                    return pair[1];
                 } catch (IOException e) {
                     Log.e(TAG, "unable to create ParcelFileDescriptors in openInputPort");
                     return null;
                 }
             }
-
-            return result;
         }
 
         @Override
-        public ParcelFileDescriptor openOutputPort(int portNumber) {
+        public ParcelFileDescriptor openOutputPort(IBinder token, int portNumber) {
+            if (mDeviceInfo.isPrivate()) {
+                if (Binder.getCallingUid() != Process.myUid()) {
+                    throw new SecurityException("Can't access private device from different UID");
+                }
+            }
+
             if (portNumber < 0 || portNumber >= mOutputPortCount) {
                 Log.e(TAG, "portNumber out of range in openOutputPort: " + portNumber);
                 return null;
             }
-            synchronized (mOutputPortReceivers) {
-                try {
-                    ParcelFileDescriptor[] pair = ParcelFileDescriptor.createSocketPair(
-                                                        OsConstants.SOCK_SEQPACKET);
-                    mOutputPortReceivers[portNumber].add(new ServerInputPort(pair[0], portNumber));
-                    return pair[1];
-                } catch (IOException e) {
-                    Log.e(TAG, "unable to create ParcelFileDescriptors in openOutputPort");
-                    return null;
+
+            try {
+                ParcelFileDescriptor[] pair = ParcelFileDescriptor.createSocketPair(
+                                                    OsConstants.SOCK_SEQPACKET);
+                MidiInputPort inputPort = new MidiInputPort(pair[0], portNumber);
+                MidiDispatcher dispatcher = mOutputPortDispatchers[portNumber];
+                synchronized (dispatcher) {
+                    dispatcher.getSender().connect(inputPort);
+                    int openCount = dispatcher.getReceiverCount();
+                    mOutputPortOpenCount[portNumber] = openCount;
+                    updateDeviceStatus();
                 }
+
+                mInputPorts.add(inputPort);
+                OutputPortClient client = new OutputPortClient(token, inputPort);
+                synchronized (mPortClients) {
+                    mPortClients.put(token, client);
+                }
+                return pair[1];
+            } catch (IOException e) {
+                Log.e(TAG, "unable to create ParcelFileDescriptors in openOutputPort");
+                return null;
+            }
+        }
+
+        @Override
+        public void closePort(IBinder token) {
+            synchronized (mPortClients) {
+                PortClient client = mPortClients.remove(token);
+                if (client != null) {
+                    client.close();
+                }
+            }
+        }
+
+        @Override
+        public void connectPorts(IBinder token, ParcelFileDescriptor pfd,
+                int outputPortNumber) {
+            MidiInputPort inputPort = new MidiInputPort(pfd, outputPortNumber);
+            mOutputPortDispatchers[outputPortNumber].getSender().connect(inputPort);
+            mInputPorts.add(inputPort);
+            OutputPortClient client = new OutputPortClient(token, inputPort);
+            synchronized (mPortClients) {
+                mPortClients.put(token, client);
             }
         }
     };
 
-    /* package */ MidiDeviceServer(IMidiManager midiManager) {
+    /* package */ MidiDeviceServer(IMidiManager midiManager, MidiReceiver[] inputPortReceivers,
+            int numOutputPorts, Callback callback) {
         mMidiManager = midiManager;
+        mInputPortReceivers = inputPortReceivers;
+        mInputPortCount = inputPortReceivers.length;
+        mOutputPortCount = numOutputPorts;
+        mCallback = callback;
+
+        mInputPortOutputPorts = new MidiOutputPort[mInputPortCount];
+
+        mOutputPortDispatchers = new MidiDispatcher[numOutputPorts];
+        for (int i = 0; i < numOutputPorts; i++) {
+            mOutputPortDispatchers[i] = new MidiDispatcher();
+        }
+
+        mInputPortOpen = new boolean[mInputPortCount];
+        mOutputPortOpenCount = new int[numOutputPorts];
+
+        mGuard.open("close");
     }
 
     /* package */ IMidiDeviceServer getBinderInterface() {
@@ -157,112 +282,70 @@
             throw new IllegalStateException("setDeviceInfo should only be called once");
         }
         mDeviceInfo = deviceInfo;
-        mInputPortCount = deviceInfo.getInputPortCount();
-        mOutputPortCount = deviceInfo.getOutputPortCount();
-        mInputPortSenders = new MidiOutputPort[mInputPortCount];
+    }
 
-        mInputPortReceivers = new ArrayList[mInputPortCount];
-        for (int i = 0; i < mInputPortCount; i++) {
-            mInputPortReceivers[i] = new ArrayList<MidiReceiver>();
+    private void updateDeviceStatus() {
+        // clear calling identity, since we may be in a Binder call from one of our clients
+        long identityToken = Binder.clearCallingIdentity();
+
+        MidiDeviceStatus status = new MidiDeviceStatus(mDeviceInfo, mInputPortOpen,
+                mOutputPortOpenCount);
+        if (mCallback != null) {
+            mCallback.onDeviceStatusChanged(this, status);
         }
-
-        mOutputPortReceivers = new ArrayList[mOutputPortCount];
-        for (int i = 0; i < mOutputPortCount; i++) {
-            mOutputPortReceivers[i] = new ArrayList<MidiInputPort>();
+        try {
+            mMidiManager.setDeviceStatus(mDeviceStatusToken, status);
+        } catch (RemoteException e) {
+            Log.e(TAG, "RemoteException in updateDeviceStatus");
+        } finally {
+            Binder.restoreCallingIdentity(identityToken);
         }
     }
 
     @Override
     public void close() throws IOException {
+        synchronized (mGuard) {
+            if (mIsClosed) return;
+            mGuard.close();
+
+            for (int i = 0; i < mInputPortCount; i++) {
+                MidiOutputPort outputPort = mInputPortOutputPorts[i];
+                if (outputPort != null) {
+                    IoUtils.closeQuietly(outputPort);
+                    mInputPortOutputPorts[i] = null;
+                }
+            }
+            for (MidiInputPort inputPort : mInputPorts) {
+                IoUtils.closeQuietly(inputPort);
+            }
+            mInputPorts.clear();
+            try {
+                mMidiManager.unregisterDeviceServer(mServer);
+            } catch (RemoteException e) {
+                Log.e(TAG, "RemoteException in unregisterDeviceServer");
+            }
+            mIsClosed = true;
+        }
+    }
+
+    @Override
+    protected void finalize() throws Throwable {
         try {
-            // FIXME - close input and output ports too?
-            mMidiManager.unregisterDeviceServer(mServer);
-        } catch (RemoteException e) {
-            Log.e(TAG, "RemoteException in unregisterDeviceServer");
+            mGuard.warnIfOpen();
+            close();
+        } finally {
+            super.finalize();
         }
     }
 
     /**
-     * Returns a {@link MidiDeviceInfo} object, which describes this device.
-     *
-     * @return the {@link MidiDeviceInfo} object
+     * Returns an array of {@link MidiReceiver} for the device's output ports.
+     * Clients can use these receivers to send data out the device's output ports.
+     * @return array of MidiReceivers
      */
-    public MidiDeviceInfo getInfo() {
-        return mDeviceInfo;
-    }
-
-    /**
-     * Called to open a {@link MidiSender} to allow receiving MIDI messages
-     * on the device's input port for the specified port number.
-     *
-     * @param portNumber the number of the input port
-     * @return the {@link MidiSender}
-     */
-    public MidiSender openInputPortSender(int portNumber) {
-        if (portNumber < 0 || portNumber >= mDeviceInfo.getInputPortCount()) {
-            throw new IllegalArgumentException("portNumber " + portNumber + " out of range");
-        }
-        final int portNumberF = portNumber;
-        return new MidiSender() {
-
-            @Override
-            public void connect(MidiReceiver receiver) {
-                // We always synchronize on mInputPortSenders before receivers if we need to
-                // synchronize on both.
-                synchronized (mInputPortSenders) {
-                    ArrayList<MidiReceiver> receivers = mInputPortReceivers[portNumberF];
-                    synchronized (receivers) {
-                        receivers.add(receiver);
-                        MidiOutputPort outputPort = mInputPortSenders[portNumberF];
-                        if (outputPort != null) {
-                            outputPort.connect(receiver);
-                        }
-                    }
-                }
-            }
-
-            @Override
-            public void disconnect(MidiReceiver receiver) {
-                // We always synchronize on mInputPortSenders before receivers if we need to
-                // synchronize on both.
-                synchronized (mInputPortSenders) {
-                    ArrayList<MidiReceiver> receivers = mInputPortReceivers[portNumberF];
-                    synchronized (receivers) {
-                        receivers.remove(receiver);
-                        MidiOutputPort outputPort = mInputPortSenders[portNumberF];
-                        if (outputPort != null) {
-                            outputPort.disconnect(receiver);
-                        }
-                    }
-                }
-            }
-        };
-    }
-
-    /**
-     * Called to open a {@link MidiReceiver} to allow sending MIDI messages
-     * on the virtual device's output port for the specified port number.
-     *
-     * @param portNumber the number of the output port
-     * @return the {@link MidiReceiver}
-     */
-    public MidiReceiver openOutputPortReceiver(int portNumber) {
-        if (portNumber < 0 || portNumber >= mDeviceInfo.getOutputPortCount()) {
-            throw new IllegalArgumentException("portNumber " + portNumber + " out of range");
-        }
-        final int portNumberF = portNumber;
-        return new MidiReceiver() {
-
-            @Override
-            public void post(byte[] msg, int offset, int count, long timestamp) throws IOException {
-                ArrayList<MidiInputPort> receivers = mOutputPortReceivers[portNumberF];
-                synchronized (receivers) {
-                    for (int i = 0; i < receivers.size(); i++) {
-                        // FIXME catch errors and remove dead ones
-                        receivers.get(i).post(msg, offset, count, timestamp);
-                    }
-                }
-            }
-        };
+    public MidiReceiver[] getOutputPortReceivers() {
+        MidiReceiver[] receivers = new MidiReceiver[mOutputPortCount];
+        System.arraycopy(mOutputPortDispatchers, 0, receivers, 0, mOutputPortCount);
+        return receivers;
     }
 }
diff --git a/media/java/android/media/midi/MidiDeviceService.java b/media/java/android/media/midi/MidiDeviceService.java
new file mode 100644
index 0000000..8b1de3e
--- /dev/null
+++ b/media/java/android/media/midi/MidiDeviceService.java
@@ -0,0 +1,136 @@
+/*
+ * 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.media.midi;
+
+import android.app.Service;
+import android.content.Context;
+import android.content.Intent;
+import android.os.IBinder;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.util.Log;
+
+/**
+ * A service that implements a virtual MIDI device.
+ * Subclasses must implement the {@link #onGetInputPortReceivers} method to provide a
+ * list of {@link MidiReceiver}s to receive data sent to the device's input ports.
+ * Similarly, subclasses can call {@link #getOutputPortReceivers} to fetch a list
+ * of {@link MidiReceiver}s for sending data out the output ports.
+ *
+ * <p>To extend this class, you must declare the service in your manifest file with
+ * an intent filter with the {@link #SERVICE_INTERFACE} action
+ * and meta-data to describe the virtual device.
+ For example:</p>
+ * <pre>
+ * &lt;service android:name=".VirtualDeviceService"
+ *          android:label="&#64;string/service_name">
+ *     &lt;intent-filter>
+ *         &lt;action android:name="android.media.midi.MidiDeviceService" />
+ *     &lt;/intent-filter>
+ *           &lt;meta-data android:name="android.media.midi.MidiDeviceService"
+                android:resource="@xml/device_info" />
+ * &lt;/service></pre>
+ */
+abstract public class MidiDeviceService extends Service {
+    private static final String TAG = "MidiDeviceService";
+
+    public static final String SERVICE_INTERFACE = "android.media.midi.MidiDeviceService";
+
+    private IMidiManager mMidiManager;
+    private MidiDeviceServer mServer;
+    private MidiDeviceInfo mDeviceInfo;
+
+    private final MidiDeviceServer.Callback mCallback = new MidiDeviceServer.Callback() {
+        @Override
+        public void onDeviceStatusChanged(MidiDeviceServer server, MidiDeviceStatus status) {
+            MidiDeviceService.this.onDeviceStatusChanged(status);
+        }
+    };
+
+    @Override
+    public void onCreate() {
+        mMidiManager = IMidiManager.Stub.asInterface(
+                    ServiceManager.getService(Context.MIDI_SERVICE));
+        MidiDeviceServer server;
+        try {
+            MidiDeviceInfo deviceInfo = mMidiManager.getServiceDeviceInfo(getPackageName(),
+                    this.getClass().getName());
+            if (deviceInfo == null) {
+                Log.e(TAG, "Could not find MidiDeviceInfo for MidiDeviceService " + this);
+                return;
+            }
+            mDeviceInfo = deviceInfo;
+            MidiReceiver[] inputPortReceivers = onGetInputPortReceivers();
+            if (inputPortReceivers == null) {
+                inputPortReceivers = new MidiReceiver[0];
+            }
+            server = new MidiDeviceServer(mMidiManager, inputPortReceivers,
+                    deviceInfo.getOutputPortCount(), mCallback);
+            server.setDeviceInfo(deviceInfo);
+        } catch (RemoteException e) {
+            Log.e(TAG, "RemoteException in IMidiManager.getServiceDeviceInfo");
+            server = null;
+        }
+        mServer = server;
+   }
+
+    /**
+     * Returns an array of {@link MidiReceiver} for the device's input ports.
+     * Subclasses must override this to provide the receivers which will receive
+     * data sent to the device's input ports. An empty array or null should be returned if
+     * the device has no input ports.
+     * @return array of MidiReceivers
+     */
+    abstract public MidiReceiver[] onGetInputPortReceivers();
+
+    /**
+     * Returns an array of {@link MidiReceiver} for the device's output ports.
+     * These can be used to send data out the device's output ports.
+     * @return array of MidiReceivers
+     */
+    public final MidiReceiver[] getOutputPortReceivers() {
+        if (mServer == null) {
+            return null;
+        } else {
+            return mServer.getOutputPortReceivers();
+        }
+    }
+
+    /**
+     * returns the {@link MidiDeviceInfo} instance for this service
+     * @return our MidiDeviceInfo
+     */
+    public final MidiDeviceInfo getDeviceInfo() {
+        return mDeviceInfo;
+    }
+
+    /**
+     * Called to notify when an our {@link MidiDeviceStatus} has changed
+     * @param status the number of the port that was opened
+     */
+    public void onDeviceStatusChanged(MidiDeviceStatus status) {
+    }
+
+    @Override
+    public IBinder onBind(Intent intent) {
+        if (SERVICE_INTERFACE.equals(intent.getAction()) && mServer != null) {
+             return mServer.getBinderInterface().asBinder();
+        } else {
+             return null;
+       }
+    }
+}
diff --git a/media/java/android/media/midi/MidiDeviceStatus.aidl b/media/java/android/media/midi/MidiDeviceStatus.aidl
new file mode 100644
index 0000000..1a848c0
--- /dev/null
+++ b/media/java/android/media/midi/MidiDeviceStatus.aidl
@@ -0,0 +1,19 @@
+/*
+ * 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.media.midi;
+
+parcelable MidiDeviceStatus;
diff --git a/media/java/android/media/midi/MidiDeviceStatus.java b/media/java/android/media/midi/MidiDeviceStatus.java
new file mode 100644
index 0000000..7522dcf
--- /dev/null
+++ b/media/java/android/media/midi/MidiDeviceStatus.java
@@ -0,0 +1,137 @@
+/*
+ * 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.media.midi;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/**
+ * This is an immutable class that describes the current status of a MIDI device's ports.
+ */
+public final class MidiDeviceStatus implements Parcelable {
+
+    private static final String TAG = "MidiDeviceStatus";
+
+    private final MidiDeviceInfo mDeviceInfo;
+    // true if input ports are open
+    private final boolean mInputPortOpen[];
+    // open counts for output ports
+    private final int mOutputPortOpenCount[];
+
+    /**
+     * @hide
+     */
+    public MidiDeviceStatus(MidiDeviceInfo deviceInfo, boolean inputPortOpen[],
+            int outputPortOpenCount[]) {
+        // MidiDeviceInfo is immutable so we can share references
+        mDeviceInfo = deviceInfo;
+
+        // make copies of the arrays
+        mInputPortOpen = new boolean[inputPortOpen.length];
+        System.arraycopy(inputPortOpen, 0, mInputPortOpen, 0, inputPortOpen.length);
+        mOutputPortOpenCount = new int[outputPortOpenCount.length];
+        System.arraycopy(outputPortOpenCount, 0, mOutputPortOpenCount, 0,
+                outputPortOpenCount.length);
+    }
+
+    /**
+     * Creates a MidiDeviceStatus with zero for all port open counts
+     * @hide
+     */
+    public MidiDeviceStatus(MidiDeviceInfo deviceInfo) {
+        mDeviceInfo = deviceInfo;
+        mInputPortOpen = new boolean[deviceInfo.getInputPortCount()];
+        mOutputPortOpenCount = new int[deviceInfo.getOutputPortCount()];
+    }
+
+    /**
+     * Returns the {@link MidiDeviceInfo} of the device.
+     *
+     * @return the device info
+     */
+    public MidiDeviceInfo getDeviceInfo() {
+        return mDeviceInfo;
+    }
+
+    /**
+     * Returns true if an input port is open.
+     *
+     * @param portNumber the input port's port number
+     * @return input port open status
+     */
+    public boolean isInputPortOpen(int portNumber) {
+        return mInputPortOpen[portNumber];
+    }
+
+    /**
+     * Returns the open count for an output port.
+     *
+     * @param portNumber the output port's port number
+     * @return output port open count
+     */
+    public int getOutputPortOpenCount(int portNumber) {
+        return mOutputPortOpenCount[portNumber];
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder(mDeviceInfo.toString());
+        int inputPortCount = mDeviceInfo.getInputPortCount();
+        int outputPortCount = mDeviceInfo.getOutputPortCount();
+        builder.append(" mInputPortOpen=[");
+        for (int i = 0; i < inputPortCount; i++) {
+            builder.append(mInputPortOpen[i]);
+            if (i < inputPortCount -1) {
+                builder.append(",");
+            }
+        }
+        builder.append("] mOutputPortOpenCount=[");
+        for (int i = 0; i < outputPortCount; i++) {
+            builder.append(mOutputPortOpenCount[i]);
+            if (i < outputPortCount -1) {
+                builder.append(",");
+            }
+        }
+        builder.append("]");
+        return builder.toString();
+    }
+
+    public static final Parcelable.Creator<MidiDeviceStatus> CREATOR =
+        new Parcelable.Creator<MidiDeviceStatus>() {
+        public MidiDeviceStatus createFromParcel(Parcel in) {
+            ClassLoader classLoader = MidiDeviceInfo.class.getClassLoader();
+            MidiDeviceInfo deviceInfo = in.readParcelable(classLoader);
+            boolean[] inputPortOpen = in.createBooleanArray();
+            int[] outputPortOpenCount = in.createIntArray();
+            return new MidiDeviceStatus(deviceInfo, inputPortOpen, outputPortOpenCount);
+        }
+
+        public MidiDeviceStatus[] newArray(int size) {
+            return new MidiDeviceStatus[size];
+        }
+    };
+
+    public int describeContents() {
+        return 0;
+    }
+
+    public void writeToParcel(Parcel parcel, int flags) {
+        parcel.writeParcelable(mDeviceInfo, flags);
+        parcel.writeBooleanArray(mInputPortOpen);
+        parcel.writeIntArray(mOutputPortOpenCount);
+   }
+}
diff --git a/media/java/android/media/midi/MidiDispatcher.java b/media/java/android/media/midi/MidiDispatcher.java
new file mode 100644
index 0000000..0868346
--- /dev/null
+++ b/media/java/android/media/midi/MidiDispatcher.java
@@ -0,0 +1,84 @@
+/*
+ * 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.media.midi;
+
+import java.io.IOException;
+import java.util.concurrent.CopyOnWriteArrayList;
+
+/**
+ * Utility class for dispatching MIDI data to a list of {@link MidiReceiver}s.
+ * This class subclasses {@link MidiReceiver} and dispatches any data it receives
+ * to its receiver list. Any receivers that throw an exception upon receiving data will
+ * be automatically removed from the receiver list, but no IOException will be returned
+ * from the dispatcher's {@link #onReceive} in that case.
+ *
+ * @hide
+ */
+public final class MidiDispatcher extends MidiReceiver {
+
+    private final CopyOnWriteArrayList<MidiReceiver> mReceivers
+            = new CopyOnWriteArrayList<MidiReceiver>();
+
+    private final MidiSender mSender = new MidiSender() {
+        /**
+         * Called to connect a {@link MidiReceiver} to the sender
+         *
+         * @param receiver the receiver to connect
+         */
+        public void connect(MidiReceiver receiver) {
+            mReceivers.add(receiver);
+        }
+
+        /**
+         * Called to disconnect a {@link MidiReceiver} from the sender
+         *
+         * @param receiver the receiver to disconnect
+         */
+        public void disconnect(MidiReceiver receiver) {
+            mReceivers.remove(receiver);
+        }
+    };
+
+    /**
+     * Returns the number of {@link MidiReceiver}s this dispatcher contains.
+     * @return the number of receivers
+     */
+    public int getReceiverCount() {
+        return mReceivers.size();
+    }
+
+    /**
+     * Returns a {@link MidiSender} which is used to add and remove {@link MidiReceiver}s
+     * to the dispatcher's receiver list.
+     * @return the dispatcher's MidiSender
+     */
+    public MidiSender getSender() {
+        return mSender;
+    }
+
+    @Override
+    public void onReceive(byte[] msg, int offset, int count, long timestamp) throws IOException {
+       for (MidiReceiver receiver : mReceivers) {
+            try {
+                receiver.sendWithTimestamp(msg, offset, count, timestamp);
+            } catch (IOException e) {
+                // if the receiver fails we remove the receiver but do not propagate the exception
+                mReceivers.remove(receiver);
+            }
+        }
+    }
+}
diff --git a/media/java/android/media/midi/MidiInputPort.java b/media/java/android/media/midi/MidiInputPort.java
index 730d364..1d3b37a 100644
--- a/media/java/android/media/midi/MidiInputPort.java
+++ b/media/java/android/media/midi/MidiInputPort.java
@@ -16,65 +16,131 @@
 
 package android.media.midi;
 
+import android.os.IBinder;
 import android.os.ParcelFileDescriptor;
+import android.os.RemoteException;
+import android.util.Log;
+
+import dalvik.system.CloseGuard;
 
 import libcore.io.IoUtils;
 
+import java.io.Closeable;
 import java.io.FileOutputStream;
 import java.io.IOException;
 
 /**
  * This class is used for sending data to a port on a MIDI device
- *
- * CANDIDATE FOR PUBLIC API
- * @hide
  */
-public class MidiInputPort extends MidiPort implements MidiReceiver {
+public final class MidiInputPort extends MidiReceiver implements Closeable {
+    private static final String TAG = "MidiInputPort";
 
-    private final FileOutputStream mOutputStream;
+    private IMidiDeviceServer mDeviceServer;
+    private final IBinder mToken;
+    private final int mPortNumber;
+    private ParcelFileDescriptor mParcelFileDescriptor;
+    private FileOutputStream mOutputStream;
 
-    // buffer to use for sending messages out our output stream
-    private final byte[] mBuffer = new byte[MAX_PACKET_SIZE];
+    private final CloseGuard mGuard = CloseGuard.get();
+    private boolean mIsClosed;
 
-  /* package */ MidiInputPort(ParcelFileDescriptor pfd, int portNumber) {
-        super(portNumber);
-        mOutputStream = new ParcelFileDescriptor.AutoCloseOutputStream(pfd);
+    // buffer to use for sending data out our output stream
+    private final byte[] mBuffer = new byte[MidiPortImpl.MAX_PACKET_SIZE];
+
+    /* package */ MidiInputPort(IMidiDeviceServer server, IBinder token,
+            ParcelFileDescriptor pfd, int portNumber) {
+        mDeviceServer = server;
+        mToken = token;
+        mParcelFileDescriptor = pfd;
+        mPortNumber = portNumber;
+        mOutputStream = new FileOutputStream(pfd.getFileDescriptor());
+        mGuard.open("close");
+    }
+
+    /* package */ MidiInputPort(ParcelFileDescriptor pfd, int portNumber) {
+        this(null, null, pfd, portNumber);
     }
 
     /**
-     * Writes a MIDI message to the input port
+     * Returns the port number of this port
      *
-     * @param msg byte array containing the message
-     * @param offset offset of first byte of the message in msg byte array
-     * @param count size of the message in bytes
-     * @param timestamp future time to post the message (based on
-     *                  {@link java.lang.System#nanoTime}
+     * @return the port's port number
      */
-    public void post(byte[] msg, int offset, int count, long timestamp) throws IOException {
-        assert(offset >= 0 && count >= 0 && offset + count <= msg.length);
+    public final int getPortNumber() {
+        return mPortNumber;
+    }
+
+    @Override
+    public void onReceive(byte[] msg, int offset, int count, long timestamp) throws IOException {
+        if (offset < 0 || count < 0 || offset + count > msg.length) {
+            throw new IllegalArgumentException("offset or count out of range");
+        }
+        if (count > MidiPortImpl.MAX_PACKET_DATA_SIZE) {
+            throw new IllegalArgumentException("count exceeds max message size");
+        }
 
         synchronized (mBuffer) {
-            try {
-                while (count > 0) {
-                    int length = packMessage(msg, offset, count, timestamp, mBuffer);
-                    mOutputStream.write(mBuffer, 0, length);
-                    int sent = getMessageSize(mBuffer, length);
-                    assert(sent >= 0 && sent <= length);
-
-                    offset += sent;
-                    count -= sent;
-                }
-            } catch (IOException e) {
-                IoUtils.closeQuietly(mOutputStream);
-                // report I/O failure
-                onIOException();
-                throw e;
+            if (mOutputStream == null) {
+                throw new IOException("MidiInputPort is closed");
             }
+            int length = MidiPortImpl.packMessage(msg, offset, count, timestamp, mBuffer);
+            mOutputStream.write(mBuffer, 0, length);
+        }
+    }
+
+    // used by MidiDevice.connectInputPort() to connect our socket directly to another device
+    /* package */ ParcelFileDescriptor claimFileDescriptor() {
+        synchronized (mBuffer) {
+            ParcelFileDescriptor pfd = mParcelFileDescriptor;
+            if (pfd != null) {
+                IoUtils.closeQuietly(mOutputStream);
+                mParcelFileDescriptor = null;
+                mOutputStream = null;
+            }
+            return pfd;
         }
     }
 
     @Override
+    public int getMaxMessageSize() {
+        return MidiPortImpl.MAX_PACKET_DATA_SIZE;
+    }
+
+    @Override
     public void close() throws IOException {
-        mOutputStream.close();
+        synchronized (mGuard) {
+            if (mIsClosed) return;
+            mGuard.close();
+            synchronized (mBuffer) {
+                if (mParcelFileDescriptor != null) {
+                    mParcelFileDescriptor.close();
+                    mParcelFileDescriptor = null;
+                }
+                if (mOutputStream != null) {
+                    mOutputStream.close();
+                    mOutputStream = null;
+                }
+            }
+            if (mDeviceServer != null) {
+                try {
+                    mDeviceServer.closePort(mToken);
+                } catch (RemoteException e) {
+                    Log.e(TAG, "RemoteException in MidiInputPort.close()");
+                }
+            }
+            mIsClosed = true;
+        }
+    }
+
+    @Override
+    protected void finalize() throws Throwable {
+        try {
+            mGuard.warnIfOpen();
+            // not safe to make binder calls from finalize()
+            mDeviceServer = null;
+            close();
+        } finally {
+            super.finalize();
+        }
     }
 }
diff --git a/media/java/android/media/midi/MidiManager.java b/media/java/android/media/midi/MidiManager.java
index 410120d..1b98ca5 100644
--- a/media/java/android/media/midi/MidiManager.java
+++ b/media/java/android/media/midi/MidiManager.java
@@ -16,7 +16,11 @@
 
 package android.media.midi;
 
+import android.content.ComponentName;
 import android.content.Context;
+import android.content.Intent;
+import android.content.ServiceConnection;
+import android.content.pm.ServiceInfo;
 import android.os.Binder;
 import android.os.IBinder;
 import android.os.Bundle;
@@ -24,7 +28,6 @@
 import android.os.RemoteException;
 import android.util.Log;
 
-import java.io.IOException;
 import java.util.HashMap;
 
 /**
@@ -39,7 +42,7 @@
  * CANDIDATE FOR PUBLIC API
  * @hide
  */
-public class MidiManager {
+public final class MidiManager {
     private static final String TAG = "MidiManager";
 
     private final Context mContext;
@@ -50,7 +53,7 @@
         new HashMap<DeviceCallback,DeviceListener>();
 
     // Binder stub for receiving device notifications from MidiService
-    private class DeviceListener extends IMidiListener.Stub {
+    private class DeviceListener extends IMidiDeviceListener.Stub {
         private final DeviceCallback mCallback;
         private final Handler mHandler;
 
@@ -59,6 +62,7 @@
             mHandler = handler;
         }
 
+        @Override
         public void onDeviceAdded(MidiDeviceInfo device) {
             if (mHandler != null) {
                 final MidiDeviceInfo deviceF = device;
@@ -72,6 +76,7 @@
             }
         }
 
+        @Override
         public void onDeviceRemoved(MidiDeviceInfo device) {
             if (mHandler != null) {
                 final MidiDeviceInfo deviceF = device;
@@ -84,6 +89,20 @@
                 mCallback.onDeviceRemoved(device);
             }
         }
+
+        @Override
+        public void onDeviceStatusChanged(MidiDeviceStatus status) {
+            if (mHandler != null) {
+                final MidiDeviceStatus statusF = status;
+                mHandler.post(new Runnable() {
+                        @Override public void run() {
+                            mCallback.onDeviceStatusChanged(statusF);
+                        }
+                    });
+            } else {
+                mCallback.onDeviceStatusChanged(status);
+            }
+        }
     }
 
     /**
@@ -105,6 +124,27 @@
          */
         public void onDeviceRemoved(MidiDeviceInfo device) {
         }
+
+        /**
+         * Called to notify when the status of a MIDI device has changed
+         *
+         * @param device a {@link MidiDeviceStatus} for the changed device
+         */
+        public void onDeviceStatusChanged(MidiDeviceStatus status) {
+        }
+    }
+
+    /**
+     * Callback class used for receiving the results of {@link #openDevice}
+     */
+    abstract public static class DeviceOpenCallback {
+        /**
+         * Called to respond to a {@link #openDevice} request
+         *
+         * @param deviceInfo the {@link MidiDeviceInfo} for the device to open
+         * @param device a {@link MidiDevice} for opened device, or null if opening failed
+         */
+        abstract public void onDeviceOpened(MidiDeviceInfo deviceInfo, MidiDevice device);
     }
 
     /**
@@ -164,33 +204,87 @@
         }
     }
 
+    private void sendOpenDeviceResponse(final MidiDeviceInfo deviceInfo, final MidiDevice device,
+            final DeviceOpenCallback callback, Handler handler) {
+        if (handler != null) {
+            handler.post(new Runnable() {
+                    @Override public void run() {
+                        callback.onDeviceOpened(deviceInfo, device);
+                    }
+                });
+        } else {
+            callback.onDeviceOpened(deviceInfo, device);
+        }
+    }
+
     /**
      * Opens a MIDI device for reading and writing.
      *
      * @param deviceInfo a {@link android.media.midi.MidiDeviceInfo} to open
-     * @return a {@link MidiDevice} object for the device
+     * @param callback a {@link #DeviceOpenCallback} to be called to receive the result
+     * @param handler the {@link android.os.Handler Handler} that will be used for delivering
+     *                the result. If handler is null, then the thread used for the
+     *                callback is unspecified.
      */
-    public MidiDevice openDevice(MidiDeviceInfo deviceInfo) {
+    public void openDevice(MidiDeviceInfo deviceInfo, DeviceOpenCallback callback,
+            Handler handler) {
+        MidiDevice device = null;
         try {
             IMidiDeviceServer server = mService.openDevice(mToken, deviceInfo);
             if (server == null) {
-                Log.e(TAG, "could not open device " + deviceInfo);
-                return null;
+                ServiceInfo serviceInfo = (ServiceInfo)deviceInfo.getProperties().getParcelable(
+                        MidiDeviceInfo.PROPERTY_SERVICE_INFO);
+                if (serviceInfo == null) {
+                    Log.e(TAG, "no ServiceInfo for " + deviceInfo);
+                } else {
+                    Intent intent = new Intent(MidiDeviceService.SERVICE_INTERFACE);
+                    intent.setComponent(new ComponentName(serviceInfo.packageName,
+                            serviceInfo.name));
+                    final MidiDeviceInfo deviceInfoF = deviceInfo;
+                    final DeviceOpenCallback callbackF = callback;
+                    final Handler handlerF = handler;
+                    if (mContext.bindService(intent,
+                        new ServiceConnection() {
+                            @Override
+                            public void onServiceConnected(ComponentName name, IBinder binder) {
+                                IMidiDeviceServer server =
+                                        IMidiDeviceServer.Stub.asInterface(binder);
+                                MidiDevice device = new MidiDevice(deviceInfoF, server, mContext, this);
+                                sendOpenDeviceResponse(deviceInfoF, device, callbackF, handlerF);
+                            }
+
+                            @Override
+                            public void onServiceDisconnected(ComponentName name) {
+                                // FIXME - anything to do here?
+                            }
+                        },
+                        Context.BIND_AUTO_CREATE))
+                    {
+                        // return immediately to avoid calling sendOpenDeviceResponse below
+                        return;
+                    } else {
+                        Log.e(TAG, "Unable to bind  service: " + intent);
+                    }
+                }
+            } else {
+                device = new MidiDevice(deviceInfo, server);
             }
-            return new MidiDevice(deviceInfo, server);
         } catch (RemoteException e) {
             Log.e(TAG, "RemoteException in openDevice");
         }
-        return null;
+        sendOpenDeviceResponse(deviceInfo, device, callback, handler);
     }
 
     /** @hide */
-    public MidiDeviceServer createDeviceServer(int numInputPorts, int numOutputPorts,
-            Bundle properties, boolean isPrivate, int type) {
+    public MidiDeviceServer createDeviceServer(MidiReceiver[] inputPortReceivers,
+            int numOutputPorts, String[] inputPortNames, String[] outputPortNames,
+            Bundle properties, int type, MidiDeviceServer.Callback callback) {
         try {
-            MidiDeviceServer server = new MidiDeviceServer(mService);
+            MidiDeviceServer server = new MidiDeviceServer(mService, inputPortReceivers,
+                    numOutputPorts, callback);
             MidiDeviceInfo deviceInfo = mService.registerDeviceServer(server.getBinderInterface(),
-                    numInputPorts, numOutputPorts, properties, isPrivate, type);
+                    inputPortReceivers.length, numOutputPorts, inputPortNames, outputPortNames,
+                    properties, type);
             if (deviceInfo == null) {
                 Log.e(TAG, "registerVirtualDevice failed");
                 return null;
@@ -202,21 +296,4 @@
             return null;
         }
     }
-
-    /**
-     * Creates a new MIDI virtual device.
-     *
-     * @param numInputPorts number of input ports for the virtual device
-     * @param numOutputPorts number of output ports for the virtual device
-     * @param properties a {@link android.os.Bundle} containing properties describing the device
-     * @param isPrivate true if this device should only be visible and accessible to apps
-     *                  with the same UID as the caller
-     * @return a {@link MidiDeviceServer} object to locally represent the device
-     */
-    public MidiDeviceServer createDeviceServer(int numInputPorts, int numOutputPorts,
-            Bundle properties, boolean isPrivate) {
-        return createDeviceServer(numInputPorts, numOutputPorts, properties,
-                isPrivate, MidiDeviceInfo.TYPE_VIRTUAL);
-    }
-
 }
diff --git a/media/java/android/media/midi/MidiOutputPort.java b/media/java/android/media/midi/MidiOutputPort.java
index 83ddeeb..b8ed36f 100644
--- a/media/java/android/media/midi/MidiOutputPort.java
+++ b/media/java/android/media/midi/MidiOutputPort.java
@@ -16,38 +16,40 @@
 
 package android.media.midi;
 
+import android.os.IBinder;
 import android.os.ParcelFileDescriptor;
+import android.os.RemoteException;
 import android.util.Log;
 
+import dalvik.system.CloseGuard;
+
 import libcore.io.IoUtils;
 
+import java.io.Closeable;
 import java.io.FileInputStream;
 import java.io.IOException;
-import java.util.ArrayList;
 
 /**
  * This class is used for receiving data from a port on a MIDI device
- *
- * CANDIDATE FOR PUBLIC API
- * @hide
  */
-public class MidiOutputPort extends MidiPort implements MidiSender {
+public final class MidiOutputPort extends MidiSender implements Closeable {
     private static final String TAG = "MidiOutputPort";
 
+    private IMidiDeviceServer mDeviceServer;
+    private final IBinder mToken;
+    private final int mPortNumber;
     private final FileInputStream mInputStream;
+    private final MidiDispatcher mDispatcher = new MidiDispatcher();
 
-    // array of receiver lists, indexed by port number
-    private final ArrayList<MidiReceiver> mReceivers = new ArrayList<MidiReceiver>();
-
-    private int mReceiverCount; // total number of receivers for all ports
+    private final CloseGuard mGuard = CloseGuard.get();
+    private boolean mIsClosed;
 
     // This thread reads MIDI events from a socket and distributes them to the list of
     // MidiReceivers attached to this device.
     private final Thread mThread = new Thread() {
         @Override
         public void run() {
-            byte[] buffer = new byte[MAX_PACKET_SIZE];
-            ArrayList<MidiReceiver> deadReceivers = new ArrayList<MidiReceiver>();
+            byte[] buffer = new byte[MidiPortImpl.MAX_PACKET_SIZE];
 
             try {
                 while (true) {
@@ -55,81 +57,85 @@
                     int count = mInputStream.read(buffer);
                     if (count < 0) {
                         break;
+                        // FIXME - inform receivers here?
                     }
 
-                    int offset = getMessageOffset(buffer, count);
-                    int size = getMessageSize(buffer, count);
-                    long timestamp = getMessageTimeStamp(buffer, count);
+                    int offset = MidiPortImpl.getMessageOffset(buffer, count);
+                    int size = MidiPortImpl.getMessageSize(buffer, count);
+                    long timestamp = MidiPortImpl.getMessageTimeStamp(buffer, count);
 
-                    synchronized (mReceivers) {
-                        for (int i = 0; i < mReceivers.size(); i++) {
-                            MidiReceiver receiver = mReceivers.get(i);
-                            try {
-                                receiver.post(buffer, offset, size, timestamp);
-                            } catch (IOException e) {
-                                Log.e(TAG, "post failed");
-                                deadReceivers.add(receiver);
-                            }
-                        }
-                        // remove any receivers that failed
-                        if (deadReceivers.size() > 0) {
-                            for (MidiReceiver receiver: deadReceivers) {
-                                mReceivers.remove(receiver);
-                                mReceiverCount--;
-                            }
-                            deadReceivers.clear();
-                        }
-                        // exit if we have no receivers left
-                        if (mReceiverCount == 0) {
-                            break;
-                        }
-                    }
+                    // dispatch to all our receivers
+                    mDispatcher.sendWithTimestamp(buffer, offset, size, timestamp);
                 }
             } catch (IOException e) {
-                // report I/O failure
+                // FIXME report I/O failure?
                 Log.e(TAG, "read failed");
             } finally {
                 IoUtils.closeQuietly(mInputStream);
-                onIOException();
             }
         }
     };
 
-  /* package */ MidiOutputPort(ParcelFileDescriptor pfd, int portNumber) {
-        super(portNumber);
+    /* package */ MidiOutputPort(IMidiDeviceServer server, IBinder token,
+            ParcelFileDescriptor pfd, int portNumber) {
+        mDeviceServer = server;
+        mToken = token;
+        mPortNumber = portNumber;
         mInputStream = new ParcelFileDescriptor.AutoCloseInputStream(pfd);
+        mThread.start();
+        mGuard.open("close");
+    }
+
+    /* package */ MidiOutputPort(ParcelFileDescriptor pfd, int portNumber) {
+        this(null, null, pfd, portNumber);
     }
 
     /**
-     * Connects a {@link MidiReceiver} to the output port to allow receiving
-     * MIDI messages from the port.
+     * Returns the port number of this port
      *
-     * @param receiver the receiver to connect
+     * @return the port's port number
      */
+    public final int getPortNumber() {
+        return mPortNumber;
+    }
+
+    @Override
     public void connect(MidiReceiver receiver) {
-        synchronized (mReceivers) {
-            mReceivers.add(receiver);
-            if (mReceiverCount++ == 0) {
-                mThread.start();
-            }
-        }
+        mDispatcher.getSender().connect(receiver);
     }
 
-    /**
-     * Disconnects a {@link MidiReceiver} from the output port.
-     *
-     * @param receiver the receiver to connect
-     */
+    @Override
     public void disconnect(MidiReceiver receiver) {
-        synchronized (mReceivers) {
-            if (mReceivers.remove(receiver)) {
-                mReceiverCount--;
-            }
-        }
+        mDispatcher.getSender().disconnect(receiver);
     }
 
     @Override
     public void close() throws IOException {
-        mInputStream.close();
+        synchronized (mGuard) {
+            if (mIsClosed) return;
+
+            mGuard.close();
+            mInputStream.close();
+            if (mDeviceServer != null) {
+                try {
+                    mDeviceServer.closePort(mToken);
+                } catch (RemoteException e) {
+                    Log.e(TAG, "RemoteException in MidiOutputPort.close()");
+                }
+            }
+            mIsClosed = true;
+        }
+    }
+
+    @Override
+    protected void finalize() throws Throwable {
+        try {
+            mGuard.warnIfOpen();
+            // not safe to make binder calls from finalize()
+            mDeviceServer = null;
+            close();
+        } finally {
+            super.finalize();
+        }
     }
 }
diff --git a/media/java/android/media/midi/MidiPort.java b/media/java/android/media/midi/MidiPort.java
deleted file mode 100644
index 4d3c91d..0000000
--- a/media/java/android/media/midi/MidiPort.java
+++ /dev/null
@@ -1,148 +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 android.media.midi;
-
-import android.util.Log;
-
-import java.io.Closeable;
-
-/**
- * This class represents a MIDI input or output port.
- * Base class for {@link MidiInputPort} and {@link MidiOutputPort}
- *
- * CANDIDATE FOR PUBLIC API
- * @hide
- */
-abstract public class MidiPort implements Closeable {
-    private static final String TAG = "MidiPort";
-
-    private final int mPortNumber;
-
-    /**
-     * Maximum size of a packet that can pass through our ParcelFileDescriptor.
-     * For internal use only. Implementation details may change in the future.
-     * @hide
-     */
-    public static final int MAX_PACKET_SIZE = 1024;
-
-    /**
-     * size of message timestamp in bytes
-     * For internal use only. Implementation details may change in the future.
-     * @hide
-     */
-    private static final int TIMESTAMP_SIZE = 8;
-
-    /**
-     * Maximum amount of MIDI data that can be included in a packet
-     */
-    public static final int MAX_PACKET_DATA_SIZE = MAX_PACKET_SIZE - TIMESTAMP_SIZE;
-
-
-  /* package */ MidiPort(int portNumber) {
-        mPortNumber = portNumber;
-    }
-
-    /**
-     * Returns the port number of this port
-     *
-     * @return the port's port number
-     */
-    public final int getPortNumber() {
-        return mPortNumber;
-    }
-
-    /**
-     * Called when an IOExeption occurs while sending or receiving data.
-     * Subclasses can override to be notified of such errors
-     *
-     * @hide
-     */
-     public void onIOException() {
-     }
-
-    /**
-     * Utility function for packing a MIDI message to be sent through our ParcelFileDescriptor
-     *
-     * message byte array contains variable length MIDI message.
-     * messageSize is size of variable length MIDI message
-     * timestamp is message timestamp to pack
-     * dest is buffer to pack into
-     * returns size of packed message
-     *
-     * For internal use only. Implementation details may change in the future.
-     * @hide
-     */
-    public static int packMessage(byte[] message, int offset, int size, long timestamp,
-            byte[] dest) {
-        if (size + TIMESTAMP_SIZE > MAX_PACKET_SIZE) {
-            size = MAX_PACKET_SIZE - TIMESTAMP_SIZE;
-        }
-        // message data goes first
-        System.arraycopy(message, offset, dest, 0, size);
-
-        // followed by timestamp
-        for (int i = 0; i < TIMESTAMP_SIZE; i++) {
-            dest[size++] = (byte)timestamp;
-            timestamp >>= 8;
-        }
-
-        return size;
-    }
-
-    /**
-     * Utility function for unpacking a MIDI message received from our ParcelFileDescriptor
-     * returns the offset of the MIDI message in packed buffer
-     *
-     * For internal use only. Implementation details may change in the future.
-     * @hide
-     */
-    public static int getMessageOffset(byte[] buffer, int bufferLength) {
-        // message is at the beginning
-        return 0;
-    }
-
-    /**
-     * Utility function for unpacking a MIDI message received from our ParcelFileDescriptor
-     * returns size of MIDI data in packed buffer
-     *
-     * For internal use only. Implementation details may change in the future.
-     * @hide
-     */
-    public static int getMessageSize(byte[] buffer, int bufferLength) {
-        // message length is total buffer length minus size of the timestamp
-        return bufferLength - TIMESTAMP_SIZE;
-    }
-
-    /**
-     * Utility function for unpacking a MIDI message received from our ParcelFileDescriptor
-     * unpacks timestamp from packed buffer
-     *
-     * For internal use only. Implementation details may change in the future.
-     * @hide
-     */
-    public static long getMessageTimeStamp(byte[] buffer, int bufferLength) {
-        // timestamp is at end of the packet
-        int offset = bufferLength;
-        long timestamp = 0;
-
-        for (int i = 0; i < TIMESTAMP_SIZE; i++) {
-            int b = (int)buffer[--offset] & 0xFF;
-            timestamp = (timestamp << 8) | b;
-        }
-        return timestamp;
-    }
-}
diff --git a/media/java/android/media/midi/MidiPortImpl.java b/media/java/android/media/midi/MidiPortImpl.java
new file mode 100644
index 0000000..5795045
--- /dev/null
+++ b/media/java/android/media/midi/MidiPortImpl.java
@@ -0,0 +1,100 @@
+/*
+ * 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 android.media.midi;
+
+/**
+ * This class contains utilities for socket communication between a
+ * MidiInputPort and MidiOutputPort
+ */
+/* package */ class MidiPortImpl {
+    private static final String TAG = "MidiPort";
+
+    /**
+     * Maximum size of a packet that can pass through our ParcelFileDescriptor.
+     */
+    public static final int MAX_PACKET_SIZE = 1024;
+
+    /**
+     * size of message timestamp in bytes
+     */
+    private static final int TIMESTAMP_SIZE = 8;
+
+    /**
+     * Maximum amount of MIDI data that can be included in a packet
+     */
+    public static final int MAX_PACKET_DATA_SIZE = MAX_PACKET_SIZE - TIMESTAMP_SIZE;
+
+    /**
+     * Utility function for packing a MIDI message to be sent through our ParcelFileDescriptor
+     *
+     * message byte array contains variable length MIDI message.
+     * messageSize is size of variable length MIDI message
+     * timestamp is message timestamp to pack
+     * dest is buffer to pack into
+     * returns size of packed message
+     */
+    public static int packMessage(byte[] message, int offset, int size, long timestamp,
+            byte[] dest) {
+        if (size + TIMESTAMP_SIZE > MAX_PACKET_SIZE) {
+            size = MAX_PACKET_SIZE - TIMESTAMP_SIZE;
+        }
+        // message data goes first
+        System.arraycopy(message, offset, dest, 0, size);
+
+        // followed by timestamp
+        for (int i = 0; i < TIMESTAMP_SIZE; i++) {
+            dest[size++] = (byte)timestamp;
+            timestamp >>= 8;
+        }
+
+        return size;
+    }
+
+    /**
+     * Utility function for unpacking a MIDI message received from our ParcelFileDescriptor
+     * returns the offset of the MIDI message in packed buffer
+     */
+    public static int getMessageOffset(byte[] buffer, int bufferLength) {
+        // message is at the beginning
+        return 0;
+    }
+
+    /**
+     * Utility function for unpacking a MIDI message received from our ParcelFileDescriptor
+     * returns size of MIDI data in packed buffer
+     */
+    public static int getMessageSize(byte[] buffer, int bufferLength) {
+        // message length is total buffer length minus size of the timestamp
+        return bufferLength - TIMESTAMP_SIZE;
+    }
+
+    /**
+     * Utility function for unpacking a MIDI message received from our ParcelFileDescriptor
+     * unpacks timestamp from packed buffer
+     */
+    public static long getMessageTimeStamp(byte[] buffer, int bufferLength) {
+        // timestamp is at end of the packet
+        int offset = bufferLength;
+        long timestamp = 0;
+
+        for (int i = 0; i < TIMESTAMP_SIZE; i++) {
+            int b = (int)buffer[--offset] & 0xFF;
+            timestamp = (timestamp << 8) | b;
+        }
+        return timestamp;
+    }
+}
diff --git a/media/java/android/media/midi/MidiReceiver.java b/media/java/android/media/midi/MidiReceiver.java
index 64c0c07..6f4c266 100644
--- a/media/java/android/media/midi/MidiReceiver.java
+++ b/media/java/android/media/midi/MidiReceiver.java
@@ -20,25 +20,69 @@
 
 /**
  * Interface for sending and receiving data to and from a MIDI device.
- *
- * CANDIDATE FOR PUBLIC API
- * @hide
  */
-public interface MidiReceiver {
+abstract public class MidiReceiver {
     /**
      * Called to pass MIDI data to the receiver.
+     * May fail if count exceeds {@link #getMaxMessageSize}.
      *
      * NOTE: the msg array parameter is only valid within the context of this call.
      * The msg bytes should be copied by the receiver rather than retaining a reference
      * to this parameter.
      * Also, modifying the contents of the msg array parameter may result in other receivers
-     * in the same application receiving incorrect values in their post() method.
+     * in the same application receiving incorrect values in their {link #onReceive} method.
      *
      * @param msg a byte array containing the MIDI data
-     * @param offset the offset of the first byte of the data in the byte array
-     * @param count the number of bytes of MIDI data in the array
+     * @param offset the offset of the first byte of the data in the array to be processed
+     * @param count the number of bytes of MIDI data in the array to be processed
      * @param timestamp the timestamp of the message (based on {@link java.lang.System#nanoTime}
      * @throws IOException
      */
-    public void post(byte[] msg, int offset, int count, long timestamp) throws IOException;
+    abstract public void onReceive(byte[] msg, int offset, int count, long timestamp)
+            throws IOException;
+
+    /**
+     * Returns the maximum size of a message this receiver can receive.
+     * Defaults to {@link java.lang.Integer#MAX_VALUE} unless overridden.
+     * @return maximum message size
+     */
+    public int getMaxMessageSize() {
+        return Integer.MAX_VALUE;
+    }
+
+    /**
+     * Called to send MIDI data to the receiver
+     * Data will get split into multiple calls to {@link #onReceive} if count exceeds
+     * {@link #getMaxMessageSize}.
+     *
+     * @param msg a byte array containing the MIDI data
+     * @param offset the offset of the first byte of the data in the array to be sent
+     * @param count the number of bytes of MIDI data in the array to be sent
+     * @throws IOException
+     */
+    public void send(byte[] msg, int offset, int count) throws IOException {
+        sendWithTimestamp(msg, offset, count, System.nanoTime());
+    }
+
+    /**
+     * Called to send MIDI data to the receiver to be handled at a specified time in the future
+     * Data will get split into multiple calls to {@link #onReceive} if count exceeds
+     * {@link #getMaxMessageSize}.
+     *
+     * @param msg a byte array containing the MIDI data
+     * @param offset the offset of the first byte of the data in the array to be sent
+     * @param count the number of bytes of MIDI data in the array to be sent
+     * @param timestamp the timestamp of the message (based on {@link java.lang.System#nanoTime}
+     * @throws IOException
+     */
+    public void sendWithTimestamp(byte[] msg, int offset, int count, long timestamp)
+            throws IOException {
+        int messageSize = getMaxMessageSize();
+        while (count > 0) {
+            int length = (count > messageSize ? messageSize : count);
+            onReceive(msg, offset, length, timestamp);
+            offset += length;
+            count -= length;
+        }
+    }
 }
diff --git a/media/java/android/media/midi/MidiSender.java b/media/java/android/media/midi/MidiSender.java
index 4550476..f64fc3c 100644
--- a/media/java/android/media/midi/MidiSender.java
+++ b/media/java/android/media/midi/MidiSender.java
@@ -19,22 +19,19 @@
 /**
  * Interface provided by a device to allow attaching
  * MidiReceivers to a MIDI device.
- *
- * CANDIDATE FOR PUBLIC API
- * @hide
  */
-public interface MidiSender {
+abstract public class MidiSender {
     /**
      * Called to connect a {@link MidiReceiver} to the sender
      *
      * @param receiver the receiver to connect
      */
-    public void connect(MidiReceiver receiver);
+    abstract public void connect(MidiReceiver receiver);
 
     /**
      * Called to disconnect a {@link MidiReceiver} from the sender
      *
      * @param receiver the receiver to disconnect
      */
-    public void disconnect(MidiReceiver receiver);
+    abstract public void disconnect(MidiReceiver receiver);
 }
diff --git a/media/java/android/media/projection/MediaProjection.java b/media/java/android/media/projection/MediaProjection.java
index a6bde1d..e757f09 100644
--- a/media/java/android/media/projection/MediaProjection.java
+++ b/media/java/android/media/projection/MediaProjection.java
@@ -25,7 +25,6 @@
 import android.media.projection.IMediaProjection;
 import android.media.projection.IMediaProjectionCallback;
 import android.os.Handler;
-import android.os.Looper;
 import android.os.RemoteException;
 import android.util.ArrayMap;
 import android.util.Log;
diff --git a/media/java/android/media/projection/MediaProjectionManager.java b/media/java/android/media/projection/MediaProjectionManager.java
index a1cfc35..f4a548b 100644
--- a/media/java/android/media/projection/MediaProjectionManager.java
+++ b/media/java/android/media/projection/MediaProjectionManager.java
@@ -22,7 +22,6 @@
 import android.content.Context;
 import android.content.Intent;
 import android.media.projection.IMediaProjection;
-import android.os.Binder;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.RemoteException;
diff --git a/media/java/android/media/routing/MediaRouteSelector.java b/media/java/android/media/routing/MediaRouteSelector.java
index 26a9b1c..0bfc796 100644
--- a/media/java/android/media/routing/MediaRouteSelector.java
+++ b/media/java/android/media/routing/MediaRouteSelector.java
@@ -19,7 +19,6 @@
 import android.annotation.Nullable;
 import android.media.routing.MediaRouter.RouteFeatures;
 import android.os.Bundle;
-import android.os.IInterface;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.TextUtils;
diff --git a/media/java/android/media/session/MediaSession.java b/media/java/android/media/session/MediaSession.java
index 57c291d..cc602c9 100644
--- a/media/java/android/media/session/MediaSession.java
+++ b/media/java/android/media/session/MediaSession.java
@@ -30,7 +30,6 @@
 import android.media.Rating;
 import android.media.VolumeProvider;
 import android.media.routing.MediaRouter;
-import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
diff --git a/media/java/android/media/session/MediaSessionLegacyHelper.java b/media/java/android/media/session/MediaSessionLegacyHelper.java
index 4ea22f9..3276f0c 100644
--- a/media/java/android/media/session/MediaSessionLegacyHelper.java
+++ b/media/java/android/media/session/MediaSessionLegacyHelper.java
@@ -30,12 +30,9 @@
 import android.media.MediaMetadataEditor;
 import android.media.MediaMetadataRetriever;
 import android.media.Rating;
-import android.media.RemoteControlClient;
-import android.media.RemoteControlClient.MetadataEditor;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
-import android.os.RemoteException;
 import android.util.ArrayMap;
 import android.util.Log;
 import android.view.KeyEvent;
diff --git a/media/java/android/media/session/MediaSessionManager.java b/media/java/android/media/session/MediaSessionManager.java
index b4fff8f..6ac0efb 100644
--- a/media/java/android/media/session/MediaSessionManager.java
+++ b/media/java/android/media/session/MediaSessionManager.java
@@ -29,7 +29,6 @@
 import android.os.ServiceManager;
 import android.os.UserHandle;
 import android.service.notification.NotificationListenerService;
-import android.text.TextUtils;
 import android.util.ArrayMap;
 import android.util.Log;
 import android.view.KeyEvent;
diff --git a/media/java/android/media/session/PlaybackState.java b/media/java/android/media/session/PlaybackState.java
index 54d0acd..6807e7f 100644
--- a/media/java/android/media/session/PlaybackState.java
+++ b/media/java/android/media/session/PlaybackState.java
@@ -23,8 +23,6 @@
 import android.os.Parcelable;
 import android.os.SystemClock;
 import android.text.TextUtils;
-import android.util.Log;
-
 import java.util.ArrayList;
 import java.util.List;
 
diff --git a/media/java/android/media/tv/TvInputService.java b/media/java/android/media/tv/TvInputService.java
index f29be0d..6607765 100644
--- a/media/java/android/media/tv/TvInputService.java
+++ b/media/java/android/media/tv/TvInputService.java
@@ -48,7 +48,6 @@
 import android.view.accessibility.CaptioningManager;
 import android.widget.FrameLayout;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.os.SomeArgs;
 
 import java.util.ArrayList;
diff --git a/media/java/android/mtp/MtpDatabase.java b/media/java/android/mtp/MtpDatabase.java
index 5d9355a..3541fba 100755
--- a/media/java/android/mtp/MtpDatabase.java
+++ b/media/java/android/mtp/MtpDatabase.java
@@ -28,7 +28,6 @@
 import android.media.MediaScanner;
 import android.net.Uri;
 import android.os.BatteryManager;
-import android.os.BatteryStats;
 import android.os.RemoteException;
 import android.provider.MediaStore;
 import android.provider.MediaStore.Audio;
diff --git a/media/java/android/service/media/MediaBrowserService.java b/media/java/android/service/media/MediaBrowserService.java
index 8287344..41156cb 100644
--- a/media/java/android/service/media/MediaBrowserService.java
+++ b/media/java/android/service/media/MediaBrowserService.java
@@ -16,7 +16,6 @@
 
 package android.service.media;
 
-import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SdkConstant;
diff --git a/media/jni/android_media_ImageReader.cpp b/media/jni/android_media_ImageReader.cpp
index cf69b8f..b247493 100644
--- a/media/jni/android_media_ImageReader.cpp
+++ b/media/jni/android_media_ImageReader.cpp
@@ -95,6 +95,9 @@
     void setBufferFormat(int format) { mFormat = format; }
     int getBufferFormat() { return mFormat; }
 
+    void setBufferDataspace(android_dataspace dataSpace) { mDataSpace = dataSpace; }
+    android_dataspace getBufferDataspace() { return mDataSpace; }
+
     void setBufferWidth(int width) { mWidth = width; }
     int getBufferWidth() { return mWidth; }
 
@@ -111,6 +114,7 @@
     jobject mWeakThiz;
     jclass mClazz;
     int mFormat;
+    android_dataspace mDataSpace;
     int mWidth;
     int mHeight;
 };
@@ -263,29 +267,6 @@
     env->SetLongField(thiz, gSurfaceImageClassInfo.mLockedBuffer, reinterpret_cast<jlong>(buffer));
 }
 
-// Some formats like JPEG defined with different values between android.graphics.ImageFormat and
-// graphics.h, need convert to the one defined in graphics.h here.
-static int Image_getPixelFormat(JNIEnv* env, int format)
-{
-    int jpegFormat;
-    jfieldID fid;
-
-    ALOGV("%s: format = 0x%x", __FUNCTION__, format);
-
-    jclass imageFormatClazz = env->FindClass("android/graphics/ImageFormat");
-    ALOG_ASSERT(imageFormatClazz != NULL);
-
-    fid = env->GetStaticFieldID(imageFormatClazz, "JPEG", "I");
-    jpegFormat = env->GetStaticIntField(imageFormatClazz, fid);
-
-    // Translate the JPEG to BLOB for camera purpose.
-    if (format == jpegFormat) {
-        format = HAL_PIXEL_FORMAT_BLOB;
-    }
-
-    return format;
-}
-
 static uint32_t Image_getJpegSize(CpuConsumer::LockedBuffer* buffer, bool usingRGBAOverride)
 {
     ALOG_ASSERT(buffer != NULL, "Input buffer is NULL!!!");
@@ -483,7 +464,7 @@
 }
 
 static jint Image_imageGetPixelStride(JNIEnv* env, CpuConsumer::LockedBuffer* buffer, int idx,
-        int32_t readerFormat)
+        int32_t halReaderFormat)
 {
     ALOGV("%s: buffer index: %d", __FUNCTION__, idx);
     ALOG_ASSERT((idx < IMAGE_READER_MAX_NUM_PLANES) && (idx >= 0), "Index is out of range:%d", idx);
@@ -493,7 +474,7 @@
 
     int32_t fmt = buffer->flexFormat;
 
-    fmt = applyFormatOverrides(fmt, readerFormat);
+    fmt = applyFormatOverrides(fmt, halReaderFormat);
 
     switch (fmt) {
         case HAL_PIXEL_FORMAT_YCbCr_420_888:
@@ -543,7 +524,7 @@
 }
 
 static jint Image_imageGetRowStride(JNIEnv* env, CpuConsumer::LockedBuffer* buffer, int idx,
-        int32_t readerFormat)
+        int32_t halReaderFormat)
 {
     ALOGV("%s: buffer index: %d", __FUNCTION__, idx);
     ALOG_ASSERT((idx < IMAGE_READER_MAX_NUM_PLANES) && (idx >= 0));
@@ -553,7 +534,7 @@
 
     int32_t fmt = buffer->flexFormat;
 
-    fmt = applyFormatOverrides(fmt, readerFormat);
+    fmt = applyFormatOverrides(fmt, halReaderFormat);
 
     switch (fmt) {
         case HAL_PIXEL_FORMAT_YCbCr_420_888:
@@ -682,11 +663,16 @@
 {
     status_t res;
     int nativeFormat;
+    android_dataspace nativeDataspace;
 
     ALOGV("%s: width:%d, height: %d, format: 0x%x, maxImages:%d",
           __FUNCTION__, width, height, format, maxImages);
 
-    nativeFormat = Image_getPixelFormat(env, format);
+    PublicFormat publicFormat = static_cast<PublicFormat>(format);
+    nativeFormat = android_view_Surface_mapPublicFormatToHalFormat(
+        publicFormat);
+    nativeDataspace = android_view_Surface_mapPublicFormatToHalDataspace(
+        publicFormat);
 
     sp<IGraphicBufferProducer> gbProducer;
     sp<IGraphicBufferConsumer> gbConsumer;
@@ -710,10 +696,11 @@
     consumer->setFrameAvailableListener(ctx);
     ImageReader_setNativeContext(env, thiz, ctx);
     ctx->setBufferFormat(nativeFormat);
+    ctx->setBufferDataspace(nativeDataspace);
     ctx->setBufferWidth(width);
     ctx->setBufferHeight(height);
 
-    // Set the width/height/format to the CpuConsumer
+    // Set the width/height/format/dataspace to the CpuConsumer
     res = consumer->setDefaultBufferSize(width, height);
     if (res != OK) {
         jniThrowException(env, "java/lang/IllegalStateException",
@@ -725,6 +712,12 @@
         jniThrowException(env, "java/lang/IllegalStateException",
                           "Failed to set CpuConsumer buffer format");
     }
+    res = consumer->setDefaultBufferDataSpace(nativeDataspace);
+    if (res != OK) {
+        jniThrowException(env, "java/lang/IllegalStateException",
+                          "Failed to set CpuConsumer buffer dataSpace");
+    }
+
 }
 
 static void ImageReader_close(JNIEnv* env, jobject thiz)
@@ -884,6 +877,8 @@
 static jobject Image_createSurfacePlane(JNIEnv* env, jobject thiz, int idx, int readerFormat)
 {
     int rowStride, pixelStride;
+    PublicFormat publicReaderFormat = static_cast<PublicFormat>(readerFormat);
+
     ALOGV("%s: buffer index: %d", __FUNCTION__, idx);
 
     CpuConsumer::LockedBuffer* buffer = Image_getLockedBuffer(env, thiz);
@@ -893,10 +888,11 @@
         jniThrowException(env, "java/lang/IllegalStateException", "Image was released");
     }
 
-    readerFormat = Image_getPixelFormat(env, readerFormat);
+    int halReaderFormat = android_view_Surface_mapPublicFormatToHalFormat(
+        publicReaderFormat);
 
-    rowStride = Image_imageGetRowStride(env, buffer, idx, readerFormat);
-    pixelStride = Image_imageGetPixelStride(env, buffer, idx, readerFormat);
+    rowStride = Image_imageGetRowStride(env, buffer, idx, halReaderFormat);
+    pixelStride = Image_imageGetPixelStride(env, buffer, idx, halReaderFormat);
 
     jobject surfPlaneObj = env->NewObject(gSurfacePlaneClassInfo.clazz,
             gSurfacePlaneClassInfo.ctor, thiz, idx, rowStride, pixelStride);
@@ -909,6 +905,7 @@
     uint8_t *base = NULL;
     uint32_t size = 0;
     jobject byteBuffer;
+    PublicFormat readerPublicFormat = static_cast<PublicFormat>(readerFormat);
 
     ALOGV("%s: buffer index: %d", __FUNCTION__, idx);
 
@@ -918,10 +915,11 @@
         jniThrowException(env, "java/lang/IllegalStateException", "Image was released");
     }
 
-    readerFormat = Image_getPixelFormat(env, readerFormat);
+    int readerHalFormat = android_view_Surface_mapPublicFormatToHalFormat(
+            readerPublicFormat);
 
     // Create byteBuffer from native buffer
-    Image_getLockedBufferInfo(env, buffer, idx, &base, &size, readerFormat);
+    Image_getLockedBufferInfo(env, buffer, idx, &base, &size, readerHalFormat);
 
     if (size > static_cast<uint32_t>(INT32_MAX)) {
         // Byte buffer have 'int capacity', so check the range
diff --git a/media/jni/android_media_MediaCodec.cpp b/media/jni/android_media_MediaCodec.cpp
index 1cf589d..16758d0 100644
--- a/media/jni/android_media_MediaCodec.cpp
+++ b/media/jni/android_media_MediaCodec.cpp
@@ -215,7 +215,7 @@
 status_t JMediaCodec::setCallback(jobject cb) {
     if (cb != NULL) {
         if (mCallbackNotification == NULL) {
-            mCallbackNotification = new AMessage(kWhatCallbackNotify, id());
+            mCallbackNotification = new AMessage(kWhatCallbackNotify, this);
         }
     } else {
         mCallbackNotification.clear();
diff --git a/media/jni/android_media_MediaDrm.cpp b/media/jni/android_media_MediaDrm.cpp
index d9de7a9..8302a34 100644
--- a/media/jni/android_media_MediaDrm.cpp
+++ b/media/jni/android_media_MediaDrm.cpp
@@ -92,6 +92,7 @@
     jint kEventKeyRequired;
     jint kEventKeyExpired;
     jint kEventVendorDefined;
+    jint kEventSessionReclaimed;
 } gEventTypes;
 
 struct KeyTypes {
@@ -194,6 +195,9 @@
         case DrmPlugin::kDrmPluginEventVendorDefined:
             jeventType = gEventTypes.kEventVendorDefined;
             break;
+        case DrmPlugin::kDrmPluginEventSessionReclaimed:
+            jeventType = gEventTypes.kEventSessionReclaimed;
+            break;
         default:
             ALOGE("Invalid event DrmPlugin::EventType %d, ignored", (int)eventType);
             return;
@@ -438,9 +442,11 @@
     Entry e = s.next();
 */
 
-static KeyedVector<String8, String8> HashMapToKeyedVector(JNIEnv *env, jobject &hashMap) {
+static KeyedVector<String8, String8> HashMapToKeyedVector(
+    JNIEnv *env, jobject &hashMap, bool* pIsOK) {
     jclass clazz = gFields.stringClassId;
     KeyedVector<String8, String8> keyedVector;
+    *pIsOK = true;
 
     jobject entrySet = env->CallObjectMethod(hashMap, gFields.hashmap.entrySet);
     if (entrySet) {
@@ -451,16 +457,22 @@
                 jobject entry = env->CallObjectMethod(iterator, gFields.iterator.next);
                 if (entry) {
                     jobject obj = env->CallObjectMethod(entry, gFields.entry.getKey);
-                    if (!env->IsInstanceOf(obj, clazz)) {
+                    if (obj == NULL || !env->IsInstanceOf(obj, clazz)) {
                         jniThrowException(env, "java/lang/IllegalArgumentException",
                                           "HashMap key is not a String");
+                        env->DeleteLocalRef(entry);
+                        *pIsOK = false;
+                        break;
                     }
                     jstring jkey = static_cast<jstring>(obj);
 
                     obj = env->CallObjectMethod(entry, gFields.entry.getValue);
-                    if (!env->IsInstanceOf(obj, clazz)) {
+                    if (obj == NULL || !env->IsInstanceOf(obj, clazz)) {
                         jniThrowException(env, "java/lang/IllegalArgumentException",
                                           "HashMap value is not a String");
+                        env->DeleteLocalRef(entry);
+                        *pIsOK = false;
+                        break;
                     }
                     jstring jvalue = static_cast<jstring>(obj);
 
@@ -565,6 +577,8 @@
     gEventTypes.kEventKeyExpired = env->GetStaticIntField(clazz, field);
     GET_STATIC_FIELD_ID(field, clazz, "EVENT_VENDOR_DEFINED", "I");
     gEventTypes.kEventVendorDefined = env->GetStaticIntField(clazz, field);
+    GET_STATIC_FIELD_ID(field, clazz, "EVENT_SESSION_RECLAIMED", "I");
+    gEventTypes.kEventSessionReclaimed = env->GetStaticIntField(clazz, field);
 
     GET_STATIC_FIELD_ID(field, clazz, "KEY_TYPE_STREAMING", "I");
     gKeyTypes.kKeyTypeStreaming = env->GetStaticIntField(clazz, field);
@@ -763,7 +777,11 @@
 
     KeyedVector<String8, String8> optParams;
     if (joptParams != NULL) {
-        optParams = HashMapToKeyedVector(env, joptParams);
+        bool isOK;
+        optParams = HashMapToKeyedVector(env, joptParams, &isOK);
+        if (!isOK) {
+            return NULL;
+        }
     }
 
     Vector<uint8_t> request;
diff --git a/media/jni/android_media_MediaMetadataRetriever.cpp b/media/jni/android_media_MediaMetadataRetriever.cpp
index 93138fa..2f6bbf4 100644
--- a/media/jni/android_media_MediaMetadataRetriever.cpp
+++ b/media/jni/android_media_MediaMetadataRetriever.cpp
@@ -40,7 +40,6 @@
 struct fields_t {
     jfieldID context;
     jclass bitmapClazz;  // Must be a global ref
-    jfieldID nativeBitmap;
     jmethodID createBitmapMethod;
     jmethodID createScaledBitmapMethod;
     jclass configClazz;  // Must be a global ref
@@ -282,8 +281,7 @@
         return NULL;
     }
 
-    SkBitmap *bitmap =
-            (SkBitmap *) env->GetLongField(jBitmap, fields.nativeBitmap);
+    SkBitmap *bitmap = GraphicsJNI::getSkBitmap(env, jBitmap);
 
     bitmap->lockPixels();
     rotate((uint16_t*)bitmap->getPixels(),
@@ -421,10 +419,6 @@
     if (fields.createScaledBitmapMethod == NULL) {
         return;
     }
-    fields.nativeBitmap = env->GetFieldID(fields.bitmapClazz, "mNativeBitmap", "J");
-    if (fields.nativeBitmap == NULL) {
-        return;
-    }
 
     jclass configClazz = env->FindClass("android/graphics/Bitmap$Config");
     if (configClazz == NULL) {
diff --git a/media/jni/android_media_MediaPlayer.cpp b/media/jni/android_media_MediaPlayer.cpp
index 820de5b..55643f7 100644
--- a/media/jni/android_media_MediaPlayer.cpp
+++ b/media/jni/android_media_MediaPlayer.cpp
@@ -402,6 +402,18 @@
 }
 
 static void
+android_media_MediaPlayer_setPlaybackRate(JNIEnv *env, jobject thiz, jfloat rate)
+{
+    sp<MediaPlayer> mp = getMediaPlayer(env, thiz);
+    if (mp == NULL) {
+        jniThrowException(env, "java/lang/IllegalStateException", NULL);
+        return;
+    }
+    ALOGV("setPlaybackRate: %f", rate);
+    process_media_player_call(env, thiz, mp->setPlaybackRate(rate), NULL, NULL);
+}
+
+static void
 android_media_MediaPlayer_seekTo(JNIEnv *env, jobject thiz, jint msec)
 {
     sp<MediaPlayer> mp = getMediaPlayer(env, thiz);
@@ -867,6 +879,7 @@
     {"_stop",               "()V",                              (void *)android_media_MediaPlayer_stop},
     {"getVideoWidth",       "()I",                              (void *)android_media_MediaPlayer_getVideoWidth},
     {"getVideoHeight",      "()I",                              (void *)android_media_MediaPlayer_getVideoHeight},
+    {"_setPlaybackRate",    "(F)V",                             (void *)android_media_MediaPlayer_setPlaybackRate},
     {"seekTo",              "(I)V",                             (void *)android_media_MediaPlayer_seekTo},
     {"_pause",              "()V",                              (void *)android_media_MediaPlayer_pause},
     {"isPlaying",           "()Z",                              (void *)android_media_MediaPlayer_isPlaying},
diff --git a/media/jni/soundpool/SoundPool.cpp b/media/jni/soundpool/SoundPool.cpp
index a73209b..1205f9d 100644
--- a/media/jni/soundpool/SoundPool.cpp
+++ b/media/jni/soundpool/SoundPool.cpp
@@ -626,7 +626,7 @@
        goto error;
     }
 
-    if ((numChannels < 1) || (numChannels > 2)) {
+    if ((numChannels < 1) || (numChannels > 8)) {
         ALOGE("Sample channel count (%d) out of range", numChannels);
         status = BAD_VALUE;
         goto error;
@@ -689,8 +689,10 @@
         size_t frameCount = 0;
 
         if (loop) {
-            frameCount = sample->size()/numChannels/
-                ((sample->format() == AUDIO_FORMAT_PCM_16_BIT) ? sizeof(int16_t) : sizeof(uint8_t));
+            const audio_format_t format = sample->format();
+            const size_t frameSize = audio_is_linear_pcm(format)
+                    ? numChannels * audio_bytes_per_sample(format) : 1;
+            frameCount = sample->size() / frameSize;
         }
 
 #ifndef USE_SHARED_MEM_BUFFER
diff --git a/media/jni/soundpool/SoundPool.h b/media/jni/soundpool/SoundPool.h
index 9d9cbdf..d19cd91 100644
--- a/media/jni/soundpool/SoundPool.h
+++ b/media/jni/soundpool/SoundPool.h
@@ -72,8 +72,8 @@
     volatile int32_t    mRefCount;
     uint16_t            mSampleID;
     uint16_t            mSampleRate;
-    uint8_t             mState : 3;
-    uint8_t             mNumChannels : 2;
+    uint8_t             mState;
+    uint8_t             mNumChannels;
     audio_format_t      mFormat;
     int                 mFd;
     int64_t             mOffset;
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/integration/CameraBinderTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/integration/CameraBinderTest.java
index cc50c43..362bbc4 100644
--- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/integration/CameraBinderTest.java
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/integration/CameraBinderTest.java
@@ -316,6 +316,11 @@
                 throws RemoteException {
             Log.v(TAG, String.format("Camera %d has status changed to 0x%x", cameraId, status));
         }
+        public void onTorchStatusChanged(int status, String cameraId)
+                throws RemoteException {
+            Log.v(TAG, String.format("Camera %s has torch status changed to 0x%x",
+                    cameraId, status));
+        }
     }
 
     /**
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/integration/CameraDeviceBinderTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/integration/CameraDeviceBinderTest.java
index 3cae19d..d756d05 100644
--- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/integration/CameraDeviceBinderTest.java
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/integration/CameraDeviceBinderTest.java
@@ -161,8 +161,7 @@
         assertFalse(request.isEmpty());
         assertFalse(metadata.isEmpty());
         if (needStream) {
-            int streamId = mCameraUser.createStream(/* ignored */10, /* ignored */20,
-                    /* ignored */30, mSurface);
+            int streamId = mCameraUser.createStream(mSurface);
             assertEquals(0, streamId);
             request.addTarget(mSurface);
         }
@@ -235,12 +234,11 @@
 
     @SmallTest
     public void testCreateStream() throws Exception {
-        int streamId = mCameraUser.createStream(/* ignored */10, /* ignored */20, /* ignored */30,
-                mSurface);
+        int streamId = mCameraUser.createStream(mSurface);
         assertEquals(0, streamId);
 
         assertEquals(CameraBinderTestUtils.ALREADY_EXISTS,
-                mCameraUser.createStream(/* ignored */0, /* ignored */0, /* ignored */0, mSurface));
+                mCameraUser.createStream(mSurface));
 
         assertEquals(CameraBinderTestUtils.NO_ERROR, mCameraUser.deleteStream(streamId));
     }
@@ -257,20 +255,18 @@
     public void testCreateStreamTwo() throws Exception {
 
         // Create first stream
-        int streamId = mCameraUser.createStream(/* ignored */0, /* ignored */0, /* ignored */0,
-                mSurface);
+        int streamId = mCameraUser.createStream(mSurface);
         assertEquals(0, streamId);
 
         assertEquals(CameraBinderTestUtils.ALREADY_EXISTS,
-                mCameraUser.createStream(/* ignored */0, /* ignored */0, /* ignored */0, mSurface));
+                mCameraUser.createStream(mSurface));
 
         // Create second stream with a different surface.
         SurfaceTexture surfaceTexture = new SurfaceTexture(/* ignored */0);
         surfaceTexture.setDefaultBufferSize(640, 480);
         Surface surface2 = new Surface(surfaceTexture);
 
-        int streamId2 = mCameraUser.createStream(/* ignored */0, /* ignored */0, /* ignored */0,
-                surface2);
+        int streamId2 = mCameraUser.createStream(surface2);
         assertEquals(1, streamId2);
 
         // Clean up streams
diff --git a/native/graphics/jni/Android.mk b/native/graphics/jni/Android.mk
index 88954f0..91c9ac6 100644
--- a/native/graphics/jni/Android.mk
+++ b/native/graphics/jni/Android.mk
@@ -30,5 +30,8 @@
 
 LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
 
+# TODO: This is to work around b/19059885. Remove after root cause is fixed
+LOCAL_LDFLAGS_arm := -Wl,--hash-style=sysv
+
 include $(BUILD_SHARED_LIBRARY)
 
diff --git a/native/graphics/jni/bitmap.cpp b/native/graphics/jni/bitmap.cpp
index ea32edc..ddb01a0 100644
--- a/native/graphics/jni/bitmap.cpp
+++ b/native/graphics/jni/bitmap.cpp
@@ -27,7 +27,7 @@
         return ANDROID_BITMAP_RESULT_BAD_PARAMETER;
     }
 
-    SkBitmap* bm = GraphicsJNI::getNativeBitmap(env, jbitmap);
+    SkBitmap* bm = GraphicsJNI::getSkBitmap(env, jbitmap);
     if (NULL == bm) {
         return ANDROID_BITMAP_RESULT_JNI_EXCEPTION;
     }
@@ -64,7 +64,7 @@
         return ANDROID_BITMAP_RESULT_BAD_PARAMETER;
     }
 
-    SkBitmap* bm = GraphicsJNI::getNativeBitmap(env, jbitmap);
+    SkBitmap* bm = GraphicsJNI::getSkBitmap(env, jbitmap);
     if (NULL == bm) {
         return ANDROID_BITMAP_RESULT_JNI_EXCEPTION;
     }
@@ -87,7 +87,7 @@
         return ANDROID_BITMAP_RESULT_BAD_PARAMETER;
     }
 
-    SkBitmap* bm = GraphicsJNI::getNativeBitmap(env, jbitmap);
+    SkBitmap* bm = GraphicsJNI::getSkBitmap(env, jbitmap);
     if (NULL == bm) {
         return ANDROID_BITMAP_RESULT_JNI_EXCEPTION;
     }
diff --git a/opengl/java/android/opengl/GLUtils.java b/opengl/java/android/opengl/GLUtils.java
index a9d33dd..4d890c9 100644
--- a/opengl/java/android/opengl/GLUtils.java
+++ b/opengl/java/android/opengl/GLUtils.java
@@ -29,14 +29,6 @@
 
 public final class GLUtils {
 
-    /*
-     * We use a class initializer to allow the native code to cache some
-     * field offsets.
-     */
-    static {
-        nativeClassInit();
-    }
-
     private GLUtils() {
     }
 
@@ -275,8 +267,6 @@
      */
     native public static void setTracingLevel(int level);
 
-    native private static void nativeClassInit();
-
     native private static int native_getInternalFormat(Bitmap bitmap);
     native private static int native_getType(Bitmap bitmap);
     native private static int native_texImage2D(int target, int level, int internalformat,
diff --git a/packages/CaptivePortalLogin/res/values-en-rGB/strings.xml b/packages/CaptivePortalLogin/res/values-en-rGB/strings.xml
index 687a14e..bfda753 100644
--- a/packages/CaptivePortalLogin/res/values-en-rGB/strings.xml
+++ b/packages/CaptivePortalLogin/res/values-en-rGB/strings.xml
@@ -4,5 +4,5 @@
     <string name="app_name" msgid="5934709770924185752">"CaptivePortalLogin"</string>
     <string name="action_use_network" msgid="6076184727448466030">"Use this network as is"</string>
     <string name="action_do_not_use_network" msgid="4577366536956516683">"Do not use this network"</string>
-    <string name="action_bar_label" msgid="2573986763322074279">"Sign-in to network"</string>
+    <string name="action_bar_label" msgid="2573986763322074279">"Sign in to network"</string>
 </resources>
diff --git a/packages/CaptivePortalLogin/res/values-en-rIN/strings.xml b/packages/CaptivePortalLogin/res/values-en-rIN/strings.xml
index 687a14e..bfda753 100644
--- a/packages/CaptivePortalLogin/res/values-en-rIN/strings.xml
+++ b/packages/CaptivePortalLogin/res/values-en-rIN/strings.xml
@@ -4,5 +4,5 @@
     <string name="app_name" msgid="5934709770924185752">"CaptivePortalLogin"</string>
     <string name="action_use_network" msgid="6076184727448466030">"Use this network as is"</string>
     <string name="action_do_not_use_network" msgid="4577366536956516683">"Do not use this network"</string>
-    <string name="action_bar_label" msgid="2573986763322074279">"Sign-in to network"</string>
+    <string name="action_bar_label" msgid="2573986763322074279">"Sign in to network"</string>
 </resources>
diff --git a/packages/CaptivePortalLogin/res/values/strings.xml b/packages/CaptivePortalLogin/res/values/strings.xml
index 1b0f0a4..8348be9 100644
--- a/packages/CaptivePortalLogin/res/values/strings.xml
+++ b/packages/CaptivePortalLogin/res/values/strings.xml
@@ -4,6 +4,6 @@
     <string name="app_name">CaptivePortalLogin</string>
     <string name="action_use_network">Use this network as is</string>
     <string name="action_do_not_use_network">Do not use this network</string>
-    <string name="action_bar_label">Sign-in to network</string>
+    <string name="action_bar_label">Sign in to network</string>
 
 </resources>
diff --git a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
index d898555..2a9f59f 100644
--- a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
+++ b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
@@ -31,13 +31,11 @@
 import android.net.http.SslError;
 import android.os.Bundle;
 import android.provider.Settings;
-import android.provider.Settings.Global;
 import android.util.ArrayMap;
 import android.util.Log;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
-import android.view.Window;
 import android.webkit.SslErrorHandler;
 import android.webkit.WebChromeClient;
 import android.webkit.WebSettings;
diff --git a/packages/DocumentsUI/src/com/android/documentsui/DirectoryView.java b/packages/DocumentsUI/src/com/android/documentsui/DirectoryView.java
index 4f52a03d..4893652 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/DirectoryView.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/DirectoryView.java
@@ -17,9 +17,6 @@
 package com.android.documentsui;
 
 import android.content.Context;
-import android.graphics.Rect;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.InsetDrawable;
 import android.util.AttributeSet;
 import android.widget.FrameLayout;
 
diff --git a/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java b/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java
index 416aeb0..5378ea9 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java
@@ -19,7 +19,6 @@
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.content.pm.ProviderInfo;
-import android.content.res.Resources;
 import android.graphics.drawable.Drawable;
 import android.provider.DocumentsContract.Document;
 import android.util.TypedValue;
diff --git a/packages/Keyguard/AndroidManifest.xml b/packages/Keyguard/AndroidManifest.xml
index 352317d..e19246c 100644
--- a/packages/Keyguard/AndroidManifest.xml
+++ b/packages/Keyguard/AndroidManifest.xml
@@ -40,6 +40,7 @@
     <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
     <uses-permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" />
     <uses-permission android:name="android.permission.TRUST_LISTENER" />
+    <uses-permission android:name="android.permission.USE_FINGERPRINT" />
 
     <application android:label="@string/app_name"
         android:process="com.android.systemui"
diff --git a/packages/Keyguard/res/values-fa/strings.xml b/packages/Keyguard/res/values-fa/strings.xml
index b297f09..367c411 100644
--- a/packages/Keyguard/res/values-fa/strings.xml
+++ b/packages/Keyguard/res/values-fa/strings.xml
@@ -30,7 +30,7 @@
     <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"برای بازکردن قفل، پین را تایپ کنید"</string>
     <string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"پین کد اشتباه است."</string>
     <string name="keyguard_charged" msgid="3272223906073492454">"شارژ شد"</string>
-    <string name="keyguard_plugged_in" msgid="9087497435553252863">"شارژ کردن"</string>
+    <string name="keyguard_plugged_in" msgid="9087497435553252863">"در حال شارژ شدن"</string>
     <string name="keyguard_low_battery" msgid="8143808018719173859">"شارژر خود را وصل کنید."</string>
     <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"برای بازگشایی قفل روی منو فشار دهید."</string>
     <string name="keyguard_network_locked_message" msgid="9169717779058037168">"شبکه قفل شد"</string>
diff --git a/packages/Keyguard/res/values-pl/strings.xml b/packages/Keyguard/res/values-pl/strings.xml
index b47b76e..40cd5e6 100644
--- a/packages/Keyguard/res/values-pl/strings.xml
+++ b/packages/Keyguard/res/values-pl/strings.xml
@@ -79,7 +79,7 @@
     <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"Zbyt wiele prób narysowania wzoru"</string>
     <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"Po raz <xliff:g id="NUMBER_0">%d</xliff:g> wpisałeś nieprawidłowy PIN. \n\nSpróbuj ponownie za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string>
     <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"Po raz <xliff:g id="NUMBER_0">%d</xliff:g> wpisałeś nieprawidłowe hasło. \n\nSpróbuj ponownie za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string>
-    <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Po raz <xliff:g id="NUMBER_0">%d</xliff:g> narysowałeś nieprawidłowy wzór odblokowania. \n\nSpróbuj ponownie za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string>
+    <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"<xliff:g id="NUMBER_0">%d</xliff:g> razy narysowałeś nieprawidłowy wzór odblokowania. \n\nSpróbuj ponownie za <xliff:g id="NUMBER_1">%d</xliff:g> s."</string>
     <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="8774056606869646621">"Próbowałeś <xliff:g id="NUMBER_0">%d</xliff:g> razy nieprawidłowo odblokować tablet. Po kolejnych <xliff:g id="NUMBER_1">%d</xliff:g> nieudanych próbach tablet zostanie zresetowany, co spowoduje skasowanie z niego wszystkich danych."</string>
     <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="1843331751334128428">"Próbowałeś <xliff:g id="NUMBER_0">%d</xliff:g> razy nieprawidłowo odblokować telefon. Po kolejnych <xliff:g id="NUMBER_1">%d</xliff:g> nieudanych próbach telefon zostanie zresetowany, co spowoduje skasowanie z niego wszystkich danych."</string>
     <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="258925501999698032">"Próbowałeś <xliff:g id="NUMBER">%d</xliff:g> razy nieprawidłowo odblokować tablet. Zostanie on zresetowany, co spowoduje skasowanie z niego wszystkich danych."</string>
diff --git a/packages/Keyguard/src/com/android/keyguard/AlphaOptimizedImageButton.java b/packages/Keyguard/src/com/android/keyguard/AlphaOptimizedImageButton.java
index eda790f..58c79b4 100644
--- a/packages/Keyguard/src/com/android/keyguard/AlphaOptimizedImageButton.java
+++ b/packages/Keyguard/src/com/android/keyguard/AlphaOptimizedImageButton.java
@@ -19,7 +19,6 @@
 import android.content.Context;
 import android.util.AttributeSet;
 import android.widget.ImageButton;
-import android.widget.RelativeLayout;
 
 /**
  * A frame layout which does not have overlapping renderings commands and therefore does not need a
diff --git a/packages/Keyguard/src/com/android/keyguard/AlphaOptimizedLinearLayout.java b/packages/Keyguard/src/com/android/keyguard/AlphaOptimizedLinearLayout.java
index 36da6f1..2c6c4fa 100644
--- a/packages/Keyguard/src/com/android/keyguard/AlphaOptimizedLinearLayout.java
+++ b/packages/Keyguard/src/com/android/keyguard/AlphaOptimizedLinearLayout.java
@@ -18,7 +18,6 @@
 
 import android.content.Context;
 import android.util.AttributeSet;
-import android.view.View;
 import android.widget.LinearLayout;
 
 /**
diff --git a/packages/Keyguard/src/com/android/keyguard/AppearAnimationCreator.java b/packages/Keyguard/src/com/android/keyguard/AppearAnimationCreator.java
index 3ff2cc0..e4706b6 100644
--- a/packages/Keyguard/src/com/android/keyguard/AppearAnimationCreator.java
+++ b/packages/Keyguard/src/com/android/keyguard/AppearAnimationCreator.java
@@ -16,7 +16,6 @@
 
 package com.android.keyguard;
 
-import android.animation.Animator;
 import android.view.animation.Interpolator;
 
 /**
diff --git a/packages/Keyguard/src/com/android/keyguard/CarrierText.java b/packages/Keyguard/src/com/android/keyguard/CarrierText.java
index c023dc6..7d0b81d 100644
--- a/packages/Keyguard/src/com/android/keyguard/CarrierText.java
+++ b/packages/Keyguard/src/com/android/keyguard/CarrierText.java
@@ -20,10 +20,11 @@
 import java.util.Locale;
 
 import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
 import android.content.res.TypedArray;
 import android.net.ConnectivityManager;
 import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
 import android.text.TextUtils;
 import android.text.method.SingleLineTransformationMethod;
 import android.util.AttributeSet;
@@ -33,7 +34,7 @@
 
 import com.android.internal.telephony.IccCardConstants;
 import com.android.internal.telephony.IccCardConstants.State;
-import com.android.internal.widget.LockPatternUtils;
+import com.android.internal.telephony.TelephonyIntents;
 
 public class CarrierText extends TextView {
     private static final boolean DEBUG = KeyguardConstants.DEBUG;
@@ -122,10 +123,27 @@
                         subs.get(0).getCarrierName());
             } else {
                 // We don't have a SubscriptionInfo to get the emergency calls only from.
-                // Lets just make it ourselves.
+                // Grab it from the old sticky broadcast if possible instead. We can use it
+                // here because no subscriptions are active, so we don't have
+                // to worry about MSIM clashing.
+                CharSequence text =
+                        getContext().getText(com.android.internal.R.string.emergency_calls_only);
+                Intent i = getContext().registerReceiver(null,
+                        new IntentFilter(TelephonyIntents.SPN_STRINGS_UPDATED_ACTION));
+                if (i != null) {
+                    String spn = "";
+                    String plmn = "";
+                    if (i.getBooleanExtra(TelephonyIntents.EXTRA_SHOW_SPN, false)) {
+                        spn = i.getStringExtra(TelephonyIntents.EXTRA_SPN);
+                    }
+                    if (i.getBooleanExtra(TelephonyIntents.EXTRA_SHOW_PLMN, false)) {
+                        plmn = i.getStringExtra(TelephonyIntents.EXTRA_PLMN);
+                    }
+                    if (DEBUG) Log.d(TAG, "Getting plmn/spn sticky brdcst " + plmn + "/" + spn);
+                    text = concatenate(plmn, spn);
+                }
                 displayText =  makeCarrierStringOnEmergencyCapable(
-                        getContext().getText(R.string.keyguard_missing_sim_message_short),
-                        getContext().getText(com.android.internal.R.string.emergency_calls_only));
+                        getContext().getText(R.string.keyguard_missing_sim_message_short), text);
             }
         }
         setText(displayText);
diff --git a/packages/Keyguard/src/com/android/keyguard/DisappearAnimationUtils.java b/packages/Keyguard/src/com/android/keyguard/DisappearAnimationUtils.java
index 6fff0ba..517d96a 100644
--- a/packages/Keyguard/src/com/android/keyguard/DisappearAnimationUtils.java
+++ b/packages/Keyguard/src/com/android/keyguard/DisappearAnimationUtils.java
@@ -17,7 +17,6 @@
 package com.android.keyguard;
 
 import android.content.Context;
-import android.view.View;
 import android.view.animation.AnimationUtils;
 import android.view.animation.Interpolator;
 
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java
index b2e4728..322be91 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java
@@ -17,7 +17,6 @@
 package com.android.keyguard;
 
 import android.content.Context;
-import android.graphics.drawable.Drawable;
 import android.os.CountDownTimer;
 import android.os.SystemClock;
 import android.util.AttributeSet;
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java
index 10ce426..a88497c 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java
@@ -22,13 +22,11 @@
 import android.content.res.Resources;
 import android.graphics.Canvas;
 import android.media.AudioManager;
-import android.os.Bundle;
 import android.os.SystemClock;
 import android.telephony.TelephonyManager;
 import android.util.AttributeSet;
 import android.util.Log;
 import android.view.KeyEvent;
-import android.view.MotionEvent;
 import android.view.accessibility.AccessibilityEvent;
 import android.widget.FrameLayout;
 
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardMessageArea.java b/packages/Keyguard/src/com/android/keyguard/KeyguardMessageArea.java
index 236cbf68..7ddeab4 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardMessageArea.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardMessageArea.java
@@ -19,9 +19,7 @@
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
 import android.animation.ObjectAnimator;
-import android.content.ContentResolver;
 import android.content.Context;
-import android.os.BatteryManager;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.SystemClock;
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
index 755479f..396fe4f 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -51,8 +51,6 @@
 import com.android.internal.telephony.IccCardConstants.State;
 import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.TelephonyIntents;
-import com.android.internal.telephony.TelephonyProperties;
-
 import android.service.fingerprint.FingerprintManager;
 import android.service.fingerprint.FingerprintManagerReceiver;
 import android.service.fingerprint.FingerprintUtils;
@@ -373,24 +371,11 @@
     }
 
     private boolean isTrustDisabled(int userId) {
-        final DevicePolicyManager dpm =
-                (DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
-        if (dpm != null) {
-                // TODO once UI is finalized
-                final boolean disabledByGlobalActions = false;
-                final boolean disabledBySettings = false;
-
-                // Don't allow trust agent if device is secured with a SIM PIN. This is here
-                // mainly because there's no other way to prompt the user to enter their SIM PIN
-                // once they get past the keyguard screen.
-                final boolean disabledBySimPin = isSimPinSecure();
-
-                final boolean disabledByDpm = (dpm.getKeyguardDisabledFeatures(null, userId)
-                        & DevicePolicyManager.KEYGUARD_DISABLE_TRUST_AGENTS) != 0;
-                return disabledByDpm || disabledByGlobalActions || disabledBySettings
-                        || disabledBySimPin;
-        }
-        return false;
+        // Don't allow trust agent if device is secured with a SIM PIN. This is here
+        // mainly because there's no other way to prompt the user to enter their SIM PIN
+        // once they get past the keyguard screen.
+        final boolean disabledBySimPin = isSimPinSecure();
+        return disabledBySimPin;
     }
 
     private boolean isFingerprintDisabled(int userId) {
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java
index f610fec..f0e2389 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java
@@ -15,7 +15,6 @@
  */
 package com.android.keyguard;
 
-import android.app.PendingIntent;
 import android.app.admin.DevicePolicyManager;
 import android.graphics.Bitmap;
 import android.media.AudioManager;
diff --git a/packages/Keyguard/src/com/android/keyguard/NumPadKey.java b/packages/Keyguard/src/com/android/keyguard/NumPadKey.java
index 681db80..ef8bb0b 100644
--- a/packages/Keyguard/src/com/android/keyguard/NumPadKey.java
+++ b/packages/Keyguard/src/com/android/keyguard/NumPadKey.java
@@ -18,17 +18,13 @@
 
 import android.content.Context;
 import android.content.res.TypedArray;
-import android.graphics.drawable.Drawable;
-import android.os.Debug;
 import android.os.PowerManager;
 import android.os.SystemClock;
 import android.util.AttributeSet;
 import android.view.HapticFeedbackConstants;
-import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityEvent;
 import android.widget.TextView;
 
 import com.android.internal.widget.LockPatternUtils;
diff --git a/packages/PrintSpooler/src/com/android/printspooler/model/PrintSpoolerProvider.java b/packages/PrintSpooler/src/com/android/printspooler/model/PrintSpoolerProvider.java
index 8537d6c..06723c3 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/model/PrintSpoolerProvider.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/model/PrintSpoolerProvider.java
@@ -20,9 +20,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.ServiceConnection;
-import android.os.Debug;
 import android.os.IBinder;
-import android.util.Log;
 
 public class PrintSpoolerProvider implements ServiceConnection {
     private final Context mContext;
diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml
index 870afeb..b5e49ce 100644
--- a/packages/SettingsLib/res/values/strings.xml
+++ b/packages/SettingsLib/res/values/strings.xml
@@ -76,6 +76,17 @@
     <string name="bluetooth_connecting">Connecting\u2026</string>
     <!-- Bluetooth settings.  Message when connected to a device. [CHAR LIMIT=40] -->
     <string name="bluetooth_connected">Connected</string>
+    <!--Bluetooth settings screen, summary text under individual Bluetooth devices when pairing -->
+    <string name="bluetooth_pairing">Pairing\u2026</string>
+
+    <!-- Bluetooth settings.  Message when connected to a device, except for phone audio. [CHAR LIMIT=40] -->
+    <string name="bluetooth_connected_no_headset">Connected (no phone)</string>
+    <!-- Bluetooth settings.  Message when connected to a device, except for media audio. [CHAR LIMIT=40] -->
+    <string name="bluetooth_connected_no_a2dp">Connected (no media)</string>
+    <!-- Bluetooth settings.  Message when connected to a device, except for map. [CHAR LIMIT=40] -->
+    <string name="bluetooth_connected_no_map">Connected (no message access)</string>
+    <!-- Bluetooth settings.  Message when connected to a device, except for phone/media audio. [CHAR LIMIT=40] -->
+    <string name="bluetooth_connected_no_headset_no_a2dp">Connected (no phone or media)</string>
 
     <!-- Bluetooth settings.  The user-visible string that is used whenever referring to the A2DP profile. -->
     <string name="bluetooth_profile_a2dp">Media audio</string>
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothCallback.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothCallback.java
index b802f58..4c41b49 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothCallback.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothCallback.java
@@ -27,4 +27,5 @@
     void onDeviceAdded(CachedBluetoothDevice cachedDevice);
     void onDeviceDeleted(CachedBluetoothDevice cachedDevice);
     void onDeviceBondStateChanged(CachedBluetoothDevice cachedDevice, int bondState);
+    void onConnectionStateChanged(CachedBluetoothDevice cachedDevice, int state);
 }
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothDiscoverableTimeoutReceiver.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothDiscoverableTimeoutReceiver.java
index acb7e7a..69b45e5 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothDiscoverableTimeoutReceiver.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothDiscoverableTimeoutReceiver.java
@@ -21,7 +21,6 @@
 import android.app.PendingIntent;
 import android.bluetooth.BluetoothAdapter;
 import android.content.BroadcastReceiver;
-import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.util.Log;
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothEventManager.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothEventManager.java
index 7c92368..5d6b2f1 100755
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothEventManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothEventManager.java
@@ -81,6 +81,9 @@
 
         // Bluetooth on/off broadcasts
         addHandler(BluetoothAdapter.ACTION_STATE_CHANGED, new AdapterStateChangedHandler());
+        // Generic connected/not broadcast
+        addHandler(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED,
+                new ConnectionStateChangedHandler());
 
         // Discovery broadcasts
         addHandler(BluetoothAdapter.ACTION_DISCOVERY_STARTED, new ScanningStateChangedHandler(true));
@@ -183,8 +186,6 @@
                 cachedDevice = mDeviceManager.addDevice(mLocalAdapter, mProfileManager, device);
                 Log.d(TAG, "DeviceFoundHandler created new CachedBluetoothDevice: "
                         + cachedDevice);
-                // callback to UI to create Preference for new device
-                dispatchDeviceAdded(cachedDevice);
             }
             cachedDevice.setRssi(rssi);
             cachedDevice.setBtClass(btClass);
@@ -193,7 +194,25 @@
         }
     }
 
-    private void dispatchDeviceAdded(CachedBluetoothDevice cachedDevice) {
+    private class ConnectionStateChangedHandler implements Handler {
+        @Override
+        public void onReceive(Context context, Intent intent, BluetoothDevice device) {
+            CachedBluetoothDevice cachedDevice = mDeviceManager.findDevice(device);
+            int state = intent.getIntExtra(BluetoothAdapter.EXTRA_CONNECTION_STATE,
+                    BluetoothAdapter.ERROR);
+            dispatchConnectionStateChanged(cachedDevice, state);
+        }
+    }
+
+    private void dispatchConnectionStateChanged(CachedBluetoothDevice cachedDevice, int state) {
+        synchronized (mCallbacks) {
+            for (BluetoothCallback callback : mCallbacks) {
+                callback.onConnectionStateChanged(cachedDevice, state);
+            }
+        }
+    }
+
+    void dispatchDeviceAdded(CachedBluetoothDevice cachedDevice) {
         synchronized (mCallbacks) {
             for (BluetoothCallback callback : mCallbacks) {
                 callback.onDeviceAdded(cachedDevice);
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java
index ddcc49f7..e1cb878 100755
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java
@@ -28,6 +28,8 @@
 import android.util.Log;
 import android.bluetooth.BluetoothAdapter;
 
+import com.android.settingslib.R;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -784,4 +786,62 @@
             setPhonebookPermissionChoice(CachedBluetoothDevice.ACCESS_ALLOWED);
         }
     }
+
+    public int getMaxConnectionState() {
+        int maxState = BluetoothProfile.STATE_DISCONNECTED;
+        for (LocalBluetoothProfile profile : getProfiles()) {
+            int connectionStatus = getProfileConnectionState(profile);
+            if (connectionStatus > maxState) {
+                maxState = connectionStatus;
+            }
+        }
+        return maxState;
+    }
+
+    /**
+     * @return resource for string that discribes the connection state of this device.
+     */
+    public int getConnectionSummary() {
+        boolean profileConnected = false;       // at least one profile is connected
+        boolean a2dpNotConnected = false;       // A2DP is preferred but not connected
+        boolean headsetNotConnected = false;    // Headset is preferred but not connected
+
+        for (LocalBluetoothProfile profile : getProfiles()) {
+            int connectionStatus = getProfileConnectionState(profile);
+
+            switch (connectionStatus) {
+                case BluetoothProfile.STATE_CONNECTING:
+                case BluetoothProfile.STATE_DISCONNECTING:
+                    return Utils.getConnectionStateSummary(connectionStatus);
+
+                case BluetoothProfile.STATE_CONNECTED:
+                    profileConnected = true;
+                    break;
+
+                case BluetoothProfile.STATE_DISCONNECTED:
+                    if (profile.isProfileReady()) {
+                        if (profile instanceof A2dpProfile) {
+                            a2dpNotConnected = true;
+                        } else if (profile instanceof HeadsetProfile) {
+                            headsetNotConnected = true;
+                        }
+                    }
+                    break;
+            }
+        }
+
+        if (profileConnected) {
+            if (a2dpNotConnected && headsetNotConnected) {
+                return R.string.bluetooth_connected_no_headset_no_a2dp;
+            } else if (a2dpNotConnected) {
+                return R.string.bluetooth_connected_no_a2dp;
+            } else if (headsetNotConnected) {
+                return R.string.bluetooth_connected_no_headset;
+            } else {
+                return R.string.bluetooth_connected;
+            }
+        }
+
+        return getBondState() == BluetoothDevice.BOND_BONDING ? R.string.bluetooth_pairing : 0;
+    }
 }
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManager.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManager.java
index 65db95f..a9f4bd3 100755
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManager.java
@@ -35,9 +35,11 @@
     private Context mContext;
     private final List<CachedBluetoothDevice> mCachedDevices =
             new ArrayList<CachedBluetoothDevice>();
+    private final LocalBluetoothManager mBtManager;
 
-    CachedBluetoothDeviceManager(Context context) {
+    CachedBluetoothDeviceManager(Context context, LocalBluetoothManager localBtManager) {
         mContext = context;
+        mBtManager = localBtManager;
     }
 
     public synchronized Collection<CachedBluetoothDevice> getCachedDevicesCopy() {
@@ -88,6 +90,7 @@
             profileManager, device);
         synchronized (mCachedDevices) {
             mCachedDevices.add(newDevice);
+            mBtManager.getEventManager().dispatchDeviceAdded(newDevice);
         }
         return newDevice;
     }
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothAdapter.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothAdapter.java
index 0c1adec..e3d2a99 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothAdapter.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothAdapter.java
@@ -122,6 +122,10 @@
         return mAdapter.isEnabled();
     }
 
+    public int getConnectionState() {
+        return mAdapter.getConnectionState();
+    }
+
     public void setDiscoverableTimeout(int timeout) {
         mAdapter.setDiscoverableTimeout(timeout);
     }
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothManager.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothManager.java
index 4adc62e..623ccc3 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothManager.java
@@ -68,7 +68,7 @@
         mContext = context;
         mLocalAdapter = adapter;
 
-        mCachedDeviceManager = new CachedBluetoothDeviceManager(context);
+        mCachedDeviceManager = new CachedBluetoothDeviceManager(context, this);
         mEventManager = new BluetoothEventManager(mLocalAdapter,
                 mCachedDeviceManager, context);
         mProfileManager = new LocalBluetoothProfileManager(context,
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfileManager.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfileManager.java
index b0a7b27..8f5e1f1 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfileManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfileManager.java
@@ -22,22 +22,16 @@
 import android.bluetooth.BluetoothMap;
 import android.bluetooth.BluetoothInputDevice;
 import android.bluetooth.BluetoothPan;
-import android.bluetooth.BluetoothPbap;
 import android.bluetooth.BluetoothProfile;
 import android.bluetooth.BluetoothUuid;
 import android.content.Context;
 import android.content.Intent;
 import android.os.ParcelUuid;
 import android.util.Log;
-import android.os.Handler;
-import android.os.Message;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Set;
-import java.util.List;
 
 /**
  * LocalBluetoothProfileManager provides access to the LocalBluetoothProfile
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/PbapServerProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/PbapServerProfile.java
index a552b24a..9e76933 100755
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/PbapServerProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/PbapServerProfile.java
@@ -16,7 +16,6 @@
 
 package com.android.settingslib.bluetooth;
 
-import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothClass;
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothPbap;
@@ -28,9 +27,6 @@
 
 import com.android.settingslib.R;
 
-import java.util.HashMap;
-import java.util.List;
-
 /**
  * PBAPServer Profile
  */
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
index 0d03ed9..84e66ff 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
@@ -17,6 +17,7 @@
 package com.android.providers.settings;
 
 import android.os.Handler;
+import android.os.HandlerThread;
 import android.os.Message;
 import android.os.SystemClock;
 import android.provider.Settings;
@@ -26,7 +27,6 @@
 import android.util.Slog;
 import android.util.Xml;
 import com.android.internal.annotations.GuardedBy;
-import com.android.internal.os.BackgroundThread;
 import libcore.io.IoUtils;
 import libcore.util.Objects;
 import org.xmlpull.v1.XmlPullParser;
@@ -153,7 +153,7 @@
         final int settingCount = mSettings.size();
         for (int i = settingCount - 1; i >= 0; i--) {
             String name = mSettings.keyAt(i);
-            // Settings defined by use are never dropped.
+            // Settings defined by us are never dropped.
             if (Settings.System.PUBLIC_SETTINGS.contains(name)
                     || Settings.System.PRIVATE_SETTINGS.contains(name)) {
                 continue;
@@ -354,6 +354,7 @@
 
             XmlSerializer serializer = Xml.newSerializer();
             serializer.setOutput(out, "utf-8");
+            serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
             serializer.startDocument(null, true);
             serializer.startTag(null, TAG_SETTINGS);
             serializer.attribute(null, ATTR_VERSION, String.valueOf(version));
@@ -383,7 +384,7 @@
             }
 
         } catch (IOException e) {
-            Slog.w(LOG_TAG, "Failed to write settings, restoring backup", e);
+            Slog.wtf(LOG_TAG, "Failed to write settings, restoring backup", e);
             destination.failWrite(out);
         } finally {
             IoUtils.closeQuietly(out);
@@ -469,7 +470,7 @@
     private void skipEmptyTextTags(XmlPullParser parser)
             throws IOException, XmlPullParserException {
         while (accept(parser, XmlPullParser.TEXT, null)
-                && "\n".equals(parser.getText())) {
+                && parser.isWhitespace()) {
             parser.next();
         }
     }
@@ -493,7 +494,7 @@
         public static final int MSG_PERSIST_SETTINGS = 1;
 
         public MyHandler() {
-            super(BackgroundThread.getHandler().getLooper());
+            super(PersistThread.getInstance().getLooper());
         }
 
         @Override
@@ -573,4 +574,24 @@
             return true;
         }
     }
+
+    private static final class PersistThread extends HandlerThread {
+        private static final Object sLock = new Object();
+
+        private static PersistThread sInstance;
+
+        private PersistThread() {
+            super("settings.persist");
+        }
+
+        public static PersistThread getInstance() {
+            synchronized (sLock) {
+                if (sInstance == null) {
+                    sInstance = new PersistThread();
+                    sInstance.start();
+                }
+                return sInstance;
+            }
+        }
+    }
 }
diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml
index 035bb0e..158e133 100644
--- a/packages/SystemUI/AndroidManifest.xml
+++ b/packages/SystemUI/AndroidManifest.xml
@@ -47,6 +47,7 @@
     <!-- Networking and telephony -->
     <uses-permission android:name="android.permission.BLUETOOTH" />
     <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
+    <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
@@ -103,6 +104,7 @@
     <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
     <uses-permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" />
     <uses-permission android:name="android.permission.TRUST_LISTENER" />
+    <uses-permission android:name="android.permission.USE_FINGERPRINT" />
 
     <!-- Recents -->
     <uses-permission android:name="android.permission.BIND_APPWIDGET" />
diff --git a/packages/SystemUI/res/drawable/ic_collapse_children.xml b/packages/SystemUI/res/drawable/ic_collapse_children.xml
new file mode 100644
index 0000000..b0ce1e6
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_collapse_children.xml
@@ -0,0 +1,19 @@
+<!--
+  ~ 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
+  -->
+
+<inset xmlns:android="http://schemas.android.com/apk/res/android"
+       android:insetTop="2dp"
+       android:drawable="@drawable/ic_expand_less"/>
diff --git a/packages/SystemUI/res/drawable/ic_expand_children.xml b/packages/SystemUI/res/drawable/ic_expand_children.xml
new file mode 100644
index 0000000..1762be4
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_expand_children.xml
@@ -0,0 +1,18 @@
+<!--
+  ~ 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
+  -->
+<inset xmlns:android="http://schemas.android.com/apk/res/android"
+       android:insetTop="2dp"
+       android:drawable="@drawable/ic_expand_more"/>
diff --git a/packages/SystemUI/res/drawable/ic_expand_less.xml b/packages/SystemUI/res/drawable/ic_expand_less.xml
new file mode 100644
index 0000000..e968013
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_expand_less.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="20.0dp"
+        android:height="20.0dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0">
+    <path
+        android:pathData="M12.000000,8.000000l-6.000000,6.000000 1.400000,1.400000 4.600000,-4.599999 4.600000,4.599999 1.400000,-1.400000z"
+        android:fillColor="#FF000000"/>
+</vector>
diff --git a/packages/SystemUI/res/drawable/ic_expand_more.xml b/packages/SystemUI/res/drawable/ic_expand_more.xml
new file mode 100644
index 0000000..72e98ec
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_expand_more.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="20.0dp"
+        android:height="20.0dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0">
+    <path
+        android:pathData="M16.600000,8.600000l-4.600000,4.599999 -4.600000,-4.599999 -1.400000,1.400000 6.000000,6.000000 6.000000,-6.000000z"
+        android:fillColor="#FF000000"/>
+</vector>
diff --git a/packages/SystemUI/res/drawable/stat_sys_ringer_silent.xml b/packages/SystemUI/res/drawable/stat_sys_ringer_silent.xml
new file mode 100644
index 0000000..36e6cef
--- /dev/null
+++ b/packages/SystemUI/res/drawable/stat_sys_ringer_silent.xml
@@ -0,0 +1,27 @@
+<!--
+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.
+-->
+<inset xmlns:android="http://schemas.android.com/apk/res/android"
+        android:insetLeft="3dp"
+        android:insetRight="3dp">
+    <vector android:width="18dp"
+            android:height="18dp"
+            android:viewportWidth="48.0"
+            android:viewportHeight="48.0">
+        <path
+            android:fillColor="#FFFFFFFF"
+            android:pathData="M23.000000,44.000000c2.200000,0.000000 4.000000,-1.800000 4.000000,-4.000000l-8.000000,0.000000C19.000000,42.200001 20.799999,44.000000 23.000000,44.000000zM36.000000,21.000000c0.000000,-6.100000 -4.300000,-11.300000 -10.000000,-12.600000L26.000000,7.000000c0.000000,-1.700000 -1.300000,-3.000000 -3.000000,-3.000000c-1.700000,0.000000 -3.000000,1.300000 -3.000000,3.000000l0.000000,1.400000c-1.000000,0.200000 -2.000000,0.600000 -2.900000,1.100000L36.000000,28.400000L36.000000,21.000000zM35.500000,38.000000l4.000000,4.000000l2.500000,-2.500000L8.500000,6.000000L6.000000,8.500000l5.800000,5.800000C10.700000,16.299999 10.000000,18.600000 10.000000,21.000000l0.000000,11.000000l-4.000000,4.000000l0.000000,2.000000L35.500000,38.000000z"/>
+    </vector>
+</inset>
diff --git a/packages/SystemUI/res/layout/notification_children_container.xml b/packages/SystemUI/res/layout/notification_children_container.xml
new file mode 100644
index 0000000..ac6a000
--- /dev/null
+++ b/packages/SystemUI/res/layout/notification_children_container.xml
@@ -0,0 +1,21 @@
+<?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.statusbar.stack.NotificationChildrenContainer
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content" />
diff --git a/packages/SystemUI/res/layout/notification_children_divider.xml b/packages/SystemUI/res/layout/notification_children_divider.xml
new file mode 100644
index 0000000..f011afe
--- /dev/null
+++ b/packages/SystemUI/res/layout/notification_children_divider.xml
@@ -0,0 +1,23 @@
+<?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.statusbar.AlphaOptimizedView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/notification_more_divider"
+    android:layout_width="match_parent"
+    android:layout_height="@dimen/notification_children_divider_height"
+    android:background="@*android:drawable/notification_template_divider" />
diff --git a/packages/SystemUI/res/layout/notification_collapse_button.xml b/packages/SystemUI/res/layout/notification_collapse_button.xml
new file mode 100644
index 0000000..3ec5f63
--- /dev/null
+++ b/packages/SystemUI/res/layout/notification_collapse_button.xml
@@ -0,0 +1,33 @@
+<?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
+  -->
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="@dimen/notification_bottom_decor_height">
+    <TextView
+        android:id="@+id/notification_expand_button"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/notification_bottom_decor_height"
+        android:background="@null"
+        android:layout_gravity="top|center_horizontal"
+        android:gravity="center_vertical|center_horizontal"
+        android:textAppearance="@*android:style/TextAppearance.Material.Notification.Title"
+        android:text="@string/notification_collapse_button_text"
+        android:drawableEnd="@drawable/ic_collapse_children"
+        android:drawablePadding="1dp"
+        />
+</FrameLayout>
diff --git a/packages/SystemUI/res/layout/notification_expand_button.xml b/packages/SystemUI/res/layout/notification_expand_button.xml
new file mode 100644
index 0000000..3c478f7
--- /dev/null
+++ b/packages/SystemUI/res/layout/notification_expand_button.xml
@@ -0,0 +1,40 @@
+<?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
+  -->
+
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="@dimen/notification_bottom_decor_height">
+    <TextView
+        android:id="@+id/notification_expand_button"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/notification_bottom_decor_height"
+        android:background="@null"
+        android:layout_gravity="top|center_horizontal"
+        android:gravity="center_vertical|center_horizontal"
+        android:textAppearance="@*android:style/TextAppearance.Material.Notification.Title"
+        android:text="@string/notification_expand_button_text"
+        android:drawableEnd="@drawable/ic_expand_children"
+        android:drawablePadding="1dp"
+        />
+    <com.android.systemui.statusbar.AlphaOptimizedView
+        android:id="@+id/notification_expand_divider"
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:layout_gravity="top|center"
+        android:background="@*android:drawable/notification_template_divider" />
+</FrameLayout>
diff --git a/packages/SystemUI/res/layout/remote_input.xml b/packages/SystemUI/res/layout/remote_input.xml
new file mode 100644
index 0000000..8ca5634
--- /dev/null
+++ b/packages/SystemUI/res/layout/remote_input.xml
@@ -0,0 +1,46 @@
+<?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
+  -->
+
+<!-- FrameLayout -->
+<com.android.systemui.statusbar.policy.RemoteInputView
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        android:theme="@style/systemui_theme_light"
+        android:layout_height="match_parent"
+        android:layout_width="match_parent"
+        android:paddingStart="4dp"
+        android:paddingEnd="2dp"
+        android:paddingBottom="4dp"
+        android:paddingTop="2dp">
+
+    <view class="com.android.systemui.statusbar.policy.RemoteInputView$RemoteEditText"
+            android:id="@+id/remote_input_text"
+            android:layout_height="wrap_content"
+            android:layout_width="match_parent"
+            android:singleLine="true"
+            android:imeOptions="actionSend" />
+
+    <ProgressBar
+            android:id="@+id/remote_input_progress"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="bottom"
+            android:visibility="invisible"
+            android:indeterminate="true"
+            style="?android:attr/progressBarStyleHorizontal" />
+
+</com.android.systemui.statusbar.policy.RemoteInputView>
diff --git a/packages/SystemUI/res/layout/status_bar_notification_row.xml b/packages/SystemUI/res/layout/status_bar_notification_row.xml
index e9d86d6..ea7ce96 100644
--- a/packages/SystemUI/res/layout/status_bar_notification_row.xml
+++ b/packages/SystemUI/res/layout/status_bar_notification_row.xml
@@ -53,6 +53,22 @@
         />
 
     <ViewStub
+        android:layout="@layout/notification_children_container"
+        android:id="@+id/child_container_stub"
+        android:inflatedId="@+id/notification_children_container"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        />
+
+    <ViewStub
+        android:layout="@layout/notification_expand_button"
+        android:id="@+id/more_button_stub"
+        android:inflatedId="@+id/notification_more_button_container"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/notification_bottom_decor_height"
+        />
+
+    <ViewStub
         android:layout="@layout/notification_guts"
         android:id="@+id/notification_guts_stub"
         android:inflatedId="@+id/notification_guts"
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index 2d458fa..1bebed2 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Vliegtuigmodus aan."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Vliegtuigmodus afgeskakel."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Vliegtuigmodus aangeskakel."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Moenie steur nie aan, net prioriteit."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Moenie steur nie aan, geen onderbrekings nie."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Moenie steur nie af."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Moenie steur nie is afgeskakel."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Moenie steur nie is aangeskakel."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth af."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth aan."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth koppel tans."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Sluimer"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Vliegtuigmodus"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Moenie steur nie"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Net prioriteit"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Geen onderbrekings nie"</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> toestelle)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth af"</string>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index 3248d7a..bb77467 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"አትረብሽ በርቷል፣ ምንም ማቋረጦች የሉም።"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"አትረብሽ ጠፍቷል።"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"አትረብሽ ጠፍቷል።"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"አትረብሽ በርቷል።"</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"ብሉቱዝ ጠፍቷል።"</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"ብሉቱዝ በርቷል።"</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"ብሉቱዝ በመገናኘት ላይ።"</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"የቀን ህልም"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"ኤተርኔት"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"የአውሮፕላን ሁነታ"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"አትረብሽ"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"ቅድሚያ የሚሰጠው ብቻ"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"ምንም ማቋረጦች የሉም"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"ብሉቱዝ"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"ብሉቱዝ (<xliff:g id="NUMBER">%d</xliff:g> መሣሪያዎች)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"ብሉቱዝ ጠፍቷል"</string>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index f933a12..3143414 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -180,6 +180,11 @@
     <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="5910777408232088752">"تم تشغيل \"الرجاء عدم الإزعاج\"، ممنوع الإزعاج."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"تم تعطيل \"الرجاء عدم الإزعاج\"."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"تم تعطيل \"الرجاء عدم الإزعاج\"."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"تم تشغيل \"الرجاء عدم الإزعاج\"."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"إيقاف البلوتوث."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"تشغيل البلوتوث."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"جارٍ توصيل البلوتوث."</string>
@@ -228,6 +233,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"حلم اليقظة"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"وضع الطائرة"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"الرجاء عدم الإزعاج"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"الأولوية فقط"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"عدم الإزعاج"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"بلوتوث"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"بلوتوث (<xliff:g id="NUMBER">%d</xliff:g> من الأجهزة)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"إيقاف البلوتوث"</string>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index 6212b3f..68da9ea 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"Настройката „Не безпокойте“ е включена – без прекъсвания."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Настройката „Не безпокойте“ е изключена."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Настройката „Не безпокойте“ е изключена."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Настройката „Не безпокойте“ е включена."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Функцията за Bluetooth е изключена."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Функцията за Bluetooth е включена."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Установява се връзка през Bluetooth."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Мечта"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Самолетен режим"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Не безпокойте"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Само с приоритет"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Без прекъсвания"</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> устройства)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth е изключен"</string>
diff --git a/packages/SystemUI/res/values-bn-rBD/strings.xml b/packages/SystemUI/res/values-bn-rBD/strings.xml
index a6fc71f..049552c 100644
--- a/packages/SystemUI/res/values-bn-rBD/strings.xml
+++ b/packages/SystemUI/res/values-bn-rBD/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"“বিরক্ত করবেন না” চালু করবেন, কোন বাধা নয়"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"“বিরক্ত করবেন না” বন্ধ৷"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"বিরক্ত করবেন না বন্ধ রয়েছে৷"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"বিরক্ত করবেন না চালু রয়েছে৷"</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth বন্ধ আছে।"</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth চালু আছে।"</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth সংযুক্ত হচ্ছে।"</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"স্ক্রিনসেভার"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"ইথারনেট"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"বিমান মোড"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"বিরক্ত করবেন না"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"শুধুমাত্র অগ্রাধিকার"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"কোনো বাধা নয়"</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> টি ডিভাইস)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth বন্ধ"</string>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index d48be7e..c2af030 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -178,6 +178,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"El Mode d\'avió està activat."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"S\'ha desactivat el Mode d\'avió."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"S\'ha activat el Mode d\'avió."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"El mode No molesteu està activat (només amb prioritat)."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"El mode No molesteu està activat (cap interrupció)."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"El mode No molesteu està desactivat."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"S\'ha desactivat el mode No molesteu."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"S\'ha activat el mode No molesteu."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"El Bluetooth està desactivat."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"El Bluetooth està activat."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"S\'està connectant el Bluetooth."</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Estalvi de pantalla"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Mode d\'avió"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"No molesteu"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Només amb prioritat"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Cap interrupció"</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> dispositius)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth desactivat"</string>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index 8c7428b..f4ff102 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -180,6 +180,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Režim Letadlo je zapnutý."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Režim Letadlo je vypnutý."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Režim Letadlo je zapnutý."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Stav Nerušit je zapnutý – pouze prioritní vyrušení."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Stav Nerušit je zapnutý – žádná vyrušení."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Stav Nerušit je vypnutý."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Stav Nerušit je vypnutý"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Stav Nerušit je zapnutý."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Rozhraní Bluetooth je vypnuto."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Rozhraní Bluetooth je zapnuto."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Probíhá připojování rozhraní Bluetooth."</string>
@@ -228,6 +233,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Spořič obrazovky"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Režim Letadlo"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Nerušit"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Pouze prioritní"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Žádná vyrušení"</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> zařízení)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Rozhraní Bluetooth je vypnuto"</string>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index ff21bc9..a565263 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Flytilstand er slået til."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Flytilstand er slået fra."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Flytilstand er slået til."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"\"Vil ikke forstyrres\" er slået til, kun prioritet."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"\"Vil ikke forstyrres\" er slået til, ingen afbrydelser."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"\"Vil ikke forstyrres\" er slået fra."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"\"Vil ikke forstyrres\" er slået fra."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"\"Vil ikke forstyrres\" er slået til."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth er slået fra."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth er slået til."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Opretter forbindelse til Bluetooth."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Dagdrøm"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Flytilstand"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Vil ikke forstyrres"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Kun prioritet"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Ingen afbrydelser"</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> enheder)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth slået fra"</string>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index a5685ee..4f9ea15 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -178,6 +178,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Flugmodus aktiviert"</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Der Flugmodus ist deaktiviert."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Der Flugmodus ist aktiviert."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"\"Nicht stören\" an, nur wichtige Unterbrechungen"</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"\"Nicht stören\" an, keine Unterbrechungen"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"\"Nicht stören\" aus"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"\"Nicht stören\" deaktiviert"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"\"Nicht stören\" aktiviert"</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth deaktiviert"</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth aktiviert"</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Verbindung mit Bluetooth wird hergestellt."</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Daydream"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Flugmodus"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Nicht stören"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Nur wichtige Unterbrechungen"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Keine Unterbrechungen"</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> Geräte)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth aus"</string>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index ec61344..f9e83ce 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -178,6 +178,11 @@
     <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="5910777408232088752">"Η λειτουργία \"Μην ενοχλείτε\" ενεργοποιήθηκε, χωρίς διακοπές."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Η λειτουργία \"Μην ενοχλείτε\" απενεργοποιήθηκε."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Η λειτουργία \"Μην ενοχλείτε\" απενεργοποιήθηκε."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Η λειτουργία \"Μην ενοχλείτε\" ενεργοποιήθηκε."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Ανενεργό Bluetooth."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Ενεργό Bluetooth."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Σύνδεση Bluetooth."</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Daydream"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Λειτουργία πτήσης"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Μην ενοχλείτε"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Μόνο προτεραιότητας"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Χωρίς διακοπές"</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> συσκευές)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Απενεργοποιημένο Bluetooth"</string>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index c6cc776..7edf0b9 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Aeroplane mode on."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Aeroplane mode turned off."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Aeroplane mode turned on."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"\'Do not disturb\' on, priority only."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"\'Do not disturb\' on, no interruptions."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"\'Do not disturb\' off."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"\'Do not disturb\' turned off."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"\'Do not disturb\' turned on."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth off."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth on."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth connecting."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Daydream"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Aeroplane mode"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Do not disturb"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Priority only"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"No interruptions"</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> Devices)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth Off"</string>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index c6cc776..7edf0b9 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Aeroplane mode on."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Aeroplane mode turned off."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Aeroplane mode turned on."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"\'Do not disturb\' on, priority only."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"\'Do not disturb\' on, no interruptions."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"\'Do not disturb\' off."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"\'Do not disturb\' turned off."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"\'Do not disturb\' turned on."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth off."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth on."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth connecting."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Daydream"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Aeroplane mode"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Do not disturb"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Priority only"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"No interruptions"</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> Devices)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth Off"</string>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index a04779b..c8753ea 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -178,6 +178,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Modo de avión: activado"</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Modo de avión desactivado"</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Modo de avión activado"</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"No molestar activado (solo prioridad)"</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"No molestar activado (sin interrupciones)"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"No molestar desactivado"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"No molestar desactivado"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"No molestar activado"</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth desactivado"</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth activado"</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth conectándose"</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Activar protector"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Modo avión"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"No molestar"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Solo prioridad"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Sin interrupciones"</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> dispositivos)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth desactivado"</string>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index a9103a8..ea77484 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Modo avión activado."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Modo avión desactivado."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Modo avión activado."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"No molestar activado (solo prioritarias)."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"No molestar activado (sin interrupciones)."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"No molestar desactivado."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"No molestar desactivado."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"No molestar activado."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth desactivado."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth activado."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Conectando Bluetooth."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Salvapantallas"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Modo avión"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"No molestar"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Solo prioritarias"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Sin interrupciones"</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> dispositivos)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth desactivado"</string>
diff --git a/packages/SystemUI/res/values-et-rEE/strings.xml b/packages/SystemUI/res/values-et-rEE/strings.xml
index 4f891e3..07db861 100644
--- a/packages/SystemUI/res/values-et-rEE/strings.xml
+++ b/packages/SystemUI/res/values-et-rEE/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Lennukirežiim on sees."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Lennukirežiim on välja lülitatud."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Lennukirežiim on sisse lülitatud."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Funktsioon Mitte segada on sisse lülitatud (ainult prioriteetsed)."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Funktsioon Mitte segada on sisse lülitatud (mitte ühtegi katkestust)."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Funktsioon Mitte segada on välja lülitatud."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Funktsioon Mitte segada on välja lülitatud."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Funktsioon Mitte segada on sisse lülitatud."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth on väljas."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth on sees."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetoothi ühendatakse."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Unistus"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Lennurežiim"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Mitte segada"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Ainult prioriteetsed"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Mitte ühtegi katkestust"</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> seadet)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth on väljas"</string>
diff --git a/packages/SystemUI/res/values-eu-rES/strings.xml b/packages/SystemUI/res/values-eu-rES/strings.xml
index 3697b05..317056c 100644
--- a/packages/SystemUI/res/values-eu-rES/strings.xml
+++ b/packages/SystemUI/res/values-eu-rES/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Hegaldi modua aktibatuta dago."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Hegaldi modua desaktibatu egin da."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Hegaldi modua aktibatu egin da."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"\"Ez molestatu\" aukera aktibatuta dago, lehentasunezkoak soilik."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"\"Ez molestatu\" aukera aktibatuta dago, etenaldirik gabe."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"\"Ez molestatu\" aukera desaktibatuta dago."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"\"Ez molestatu\" aukera desaktibatuta dago."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"\"Ez molestatu\" aukera aktibatuta dago."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth konexioa desaktibatuta dago."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth konexioa aktibatuta dago."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth bidez konektatzen ari da."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Pantaila-babeslea"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Hegaldi modua"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Ez molestatu"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Lehentasunezkoak soilik"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Etenaldirik gabe"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Bluetootha (<xliff:g id="NUMBER">%d</xliff:g> gailu)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetootha desaktibatuta"</string>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index 602d1c2..0806a01 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"«مزاحم نشوید» روشن است، وقفه ایجاد نشود."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"«مزاحم نشوید» خاموش است."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"«مزاحم نشوید» خاموش شد."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"«مزاحم نشوید» روشن شد."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"بلوتوث خاموش است."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"بلوتوث روشن است."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"بلوتوث در حال اتصال است."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"رویاپردازی"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"اترنت"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"حالت هواپیما"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"مزاحم نشوید"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"فقط اولویت‌دار"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"وقفه ایجاد نشود"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"بلوتوث"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"بلوتوث ( <xliff:g id="NUMBER">%d</xliff:g> دستگاه)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"بلوتوث خاموش"</string>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index 4224e30..4f8a315 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Lentokonetila on päällä."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Lentokonetila poistettiin käytöstä."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Lentokonetila otettiin käyttöön."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Älä häiritse -tila on päällä, vain tärkeät."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Älä häiritse -tila on päällä, ei keskeytyksiä."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Älä häiritse -tila on pois päältä."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Älä häiritse -tila on pois päältä."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Älä häiritse -tila on päällä."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth on pois päältä."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth on päällä."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetoothia yhdistetään."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Unelmat"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Lentokonetila"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Älä häiritse"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Vain tärkeät"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Ei häiriöitä"</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> laitetta)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth pois käytöstä"</string>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index b064d0e..8c03ea8 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -178,6 +178,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Mode Avion : activé"</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Le mode Avion est désactivé."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Le mode Avion est activé."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Mode « Ne pas déranger » activé, interruptions prioritaires uniquement."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Mode « Ne pas déranger » activé, sans interruption."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Mode « Ne pas déranger » désactivé."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Le mode « Ne pas déranger » a bien été désactivé."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Le mode « Ne pas déranger » a bien été activé."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth désactivé."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth activé."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Connexion Bluetooth en cours..."</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Écran de veille"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Mode Avion"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Ne pas déranger"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Priorités seulement"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Aucune interruption"</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> appareils)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"BLUETOOTH DÉSACTIVÉ"</string>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index 5af507b..71cf95d 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -178,6 +178,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Mode Avion activé"</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Le mode Avion est désactivé."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Le mode Avion est activé."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Mode \"Ne pas déranger\" activé, interruptions prioritaires uniquement"</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Mode \"Ne pas déranger\" activé, sans interruption"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Mode \"Ne pas déranger\" désactivé"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Le mode \"Ne pas déranger\" a bien été désactivé."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Le mode \"Ne pas déranger\" a bien été activé."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth désactivé."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth activé."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Connexion Bluetooth en cours..."</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Écran de veille interactif"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Mode avion"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Ne pas déranger"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Prioritaires uniquement"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Aucune interruption"</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> appareils)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth désactivé"</string>
diff --git a/packages/SystemUI/res/values-gl-rES/strings.xml b/packages/SystemUI/res/values-gl-rES/strings.xml
index 9b3d62e..cb6292e 100644
--- a/packages/SystemUI/res/values-gl-rES/strings.xml
+++ b/packages/SystemUI/res/values-gl-rES/strings.xml
@@ -178,6 +178,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Modo avión activado."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Desactivouse o modo avión."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Activouse o modo avión."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Non molestar activado, só prioridade."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Non molestar activado, sen interrupcións."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"A opción Non molestar está desactivada."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Desactivouse a opción Non molestar."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Activouse a opción Non molestar."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth desactivado."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth activado."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth conectando."</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Protector pantalla"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Modo avión"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Non molestar"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Só prioridade"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Sen interrupcións"</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> dispositivos)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth desactivado"</string>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index 65ee915..fde6fd2 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"परेशान ना करें चालू है, कोई बाधा नहीं."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"परेशान ना करें बंद."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"परेशान ना करें बंद किया गया."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"परेशान ना करें चालू किया गया."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"ब्लूटूथ बंद है."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"ब्लूटूथ चालू है."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"ब्लूटूथ कनेक्‍ट हो रहा है."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"स्क्रीनसेवर"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"ईथरनेट"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"हवाई जहाज़ मोड"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"परेशान ना करें"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"केवल प्राथमिकता"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"कोई मेसज और कॉल को नहीं रोका गया"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"ब्लूटूथ"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"ब्लूटूथ (<xliff:g id="NUMBER">%d</xliff:g> डिवाइस)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"ब्लूटूथ बंद"</string>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index 113a0cf..5623bb3 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -177,6 +177,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Način rada u zrakoplovu uključen."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Način rada u zrakoplovu isključen."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Način rada u zrakoplovu uključen."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"\"Ne ometaj\" uključeno, samo prioritetno."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"\"Ne ometaj\" uključeno, bez prekida."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"\"Ne ometaj\" isključeno."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"\"Ne ometaj\" isključeno."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"\"Ne ometaj\" uključeno."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth isključen."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth uključen."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth se povezuje."</string>
@@ -225,6 +230,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Sanjarenje"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Način rada u zrakoplovu"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Ne ometaj"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Samo prioritetno"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Bez prekida"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Bluetooth (broj uređaja: <xliff:g id="NUMBER">%d</xliff:g>)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth isključen"</string>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index bdad948..2eee0f5 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Repülős üzemmód bekapcsolva."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Repülős üzemmód kikapcsolva."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Repülős üzemmód bekapcsolva."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"A „Ne zavarjanak” mód bekapcsolva. Csak prioritásos."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"A „Ne zavarjanak” mód bekapcsolva. Nincsenek értesítések."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"A „Ne zavarjanak” mód kikapcsolva."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"A „Ne zavarjanak” mód kikapcsolva."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"A „Ne zavarjanak” mód bekapcsolva."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth kikapcsolva."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth bekapcsolva."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth csatlakoztatása folyamatban."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Álmodozás"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Repülőgép üzemmód"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Ne zavarjanak"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Csak prioritásos"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Ne zavarjon"</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> eszköz)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth kikapcsolva"</string>
diff --git a/packages/SystemUI/res/values-hy-rAM/strings.xml b/packages/SystemUI/res/values-hy-rAM/strings.xml
index 6cc1292..86493aa 100644
--- a/packages/SystemUI/res/values-hy-rAM/strings.xml
+++ b/packages/SystemUI/res/values-hy-rAM/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"Չխանգարելու ընտրանքը միացված է: Չընդհատել:"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Չխանգարելու ընտրանքն անջատված է:"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Չխանգարելու ընտրանքն անջատվեց:"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Չխանգարելու ընտրանքը միացվեց:"</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth-ն անջատված է:"</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth-ը միացված է:"</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth-ը միանում է:"</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Ցերեկային ռեժիմ"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Ինքնաթիռային ռեժիմ"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Չխանգարել"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Միայն կարևոր ծանուցումների դեպքում"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Չընդհատել"</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> սարք)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth-ն անջատված է"</string>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index 26cad0c..194f289 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Mode pesawat aktif."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Mode pesawat dinonaktifkan."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Mode pesawat diaktifkan."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Status \"Jangan ganggu\" aktif, hanya untuk prioritas."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Status \"Jangan ganggu\" aktif, tanpa gangguan."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Status \"Jangan ganggu\" nonaktif."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Status \"Jangan ganggu\" dinonaktifkan."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Status \"Jangan ganggu\" diaktifkan."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth nonaktif."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth aktif."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth menyambung."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Lamunan"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Mode pesawat"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Jangan ganggu"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Hanya untuk prioritas"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Tanpa gangguan"</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> Perangkat)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth Mati"</string>
diff --git a/packages/SystemUI/res/values-is-rIS/strings.xml b/packages/SystemUI/res/values-is-rIS/strings.xml
index c7afebc..ad57267 100644
--- a/packages/SystemUI/res/values-is-rIS/strings.xml
+++ b/packages/SystemUI/res/values-is-rIS/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Kveikt á flugstillingu."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Slökkt á flugstillingu."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Kveikt á flugstillingu."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Kveikt á „Ónáðið ekki“, aðeins forgangur."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Kveikt á „Ónáðið ekki“, engar truflanir."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Slökkt á „Ónáðið ekki“."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Slökkt á „Ónáðið ekki“."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Kveikt á „Ónáðið ekki“."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Slökkt á Bluetooth."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Kveikt á Bluetooth."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth tengist."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Skjávari"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Flugstilling"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Ónáðið ekki"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Aðeins forgangur"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Engar truflanir"</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> tæki)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Slökkt á Bluetooth"</string>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index 7f5224e..2d21c98 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -178,6 +178,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Modalità aereo attiva."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Modalità aereo disattivata."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Modalità aereo attivata."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"\"Non disturbare\" attivo, solo con priorità."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"\"Non disturbare\" attivo, nessuna interruzione."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"\"Non disturbare\" non attivo."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"\"Non disturbare\" non attivo."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"\"Non disturbare\" attivo."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth non attivo."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth attivo."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Collegamento Bluetooth."</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Daydream"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Modalità aereo"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Non disturbare"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Solo con priorità"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Nessuna interruzione"</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> dispositivi)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth spento"</string>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index 5090ca7..c1bfc3e 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -178,6 +178,11 @@
     <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="5910777408232088752">"\'נא לא להפריע\' פועל. ללא הפרעות."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"\'נא לא להפריע\' כבוי."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"\'נא לא להפריע\' כבוי."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"\'נא לא להפריע\' פועל."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"‏Bluetooth כבוי."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"‏Bluetooth מופעל."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"‏Bluetooth מתחבר."</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"חלום בהקיץ"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"מצב טיסה"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"נא לא להפריע"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"עדיפות בלבד"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"ללא הפרעות"</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> מכשירים)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"‏Bluetooth מופסק"</string>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index d106f91..a66dd37 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -178,6 +178,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"機内モードがONです。"</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"機内モードをOFFにしました。"</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"機内モードをONにしました。"</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"[通知を非表示]はONで、重要な通知のみです。"</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"[通知を非表示]はONで、サイレントです。"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"[通知を非表示]はOFFです。"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"[通知を非表示]をOFFにしました。"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"[通知を非表示]をONにしました。"</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"BluetoothがOFFです。"</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"BluetoothがONです。"</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetoothに接続しています。"</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"スクリーンセーバー"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"イーサネット"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"機内モード"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"通知を非表示"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"重要な通知のみ"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"サイレント"</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>)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth OFF"</string>
diff --git a/packages/SystemUI/res/values-ka-rGE/strings.xml b/packages/SystemUI/res/values-ka-rGE/strings.xml
index cb8c609..ee110da 100644
--- a/packages/SystemUI/res/values-ka-rGE/strings.xml
+++ b/packages/SystemUI/res/values-ka-rGE/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"ჩართულია რეჟიმი „არ შემაწუხოთ\", შეწყვეტის გარეშე."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"„არ შემაწუხოთ“ გამორთულია"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"„არ შემაწუხოთ\" რეჟიმი გამორთულია."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"„არ შემაწუხოთ\" რეჟიმი ჩართულია."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth გამორთულია."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth ჩართულია."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"მიმდინარეობს Bluetooth-თან დაკავშირება."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Daydream"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"ეთერნეტი"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"თვითმფრინავის რეჟიმი"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"არ შემაწუხოთ"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"მხოლოდ პრიორიტეტული"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"შეფერხებების გაეშე"</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> მოწყობილობა)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth გამორთულია"</string>
diff --git a/packages/SystemUI/res/values-kk-rKZ/strings.xml b/packages/SystemUI/res/values-kk-rKZ/strings.xml
index a6077a1..da4223d 100644
--- a/packages/SystemUI/res/values-kk-rKZ/strings.xml
+++ b/packages/SystemUI/res/values-kk-rKZ/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"Мазаламау режимі қосулы, үзілістерсіз"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Мазаламау режимі өшірулі"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Мазаламау режимі өшірілді."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Мазаламау режимі қосылды."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth өшірулі."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth қосулы."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth қосылуда."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Қалғу"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Этернет"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Ұшақ режимі"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Мазаламау"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Тек басымдық"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Үзулерсіз"</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> құрылғылары)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth өшірулі"</string>
diff --git a/packages/SystemUI/res/values-km-rKH/strings.xml b/packages/SystemUI/res/values-km-rKH/strings.xml
index 7e9eb9a..c995637 100644
--- a/packages/SystemUI/res/values-km-rKH/strings.xml
+++ b/packages/SystemUI/res/values-km-rKH/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"បានបើកមុខងារកុំរំខាន សូមកុំរំខាន"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"បានបិទមុខងារកុំរំខាន។"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"បានបិទមុខងារកុំរំខាន។"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"បានបើកមុខងារកុំរំខាន។"</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"បិទ​ប៊្លូធូស។"</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"បើក​ប៊្លូធូស។"</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"ការ​​​ភ្ជាប់​ប៊្លូធូស។"</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"ធាតុ​រក្សា​អេក្រង់"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"អ៊ីសឺរណិត"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"របៀបពេល​​ជិះ​យន្តហោះ"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"កុំរំខាន"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"អាទិភាពប៉ុណ្ណោះ"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"សូមកុំរំខាន"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"ប៊្លូធូស"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"ប៊្លូធូស (ឧបករណ៍ <xliff:g id="NUMBER">%d</xliff:g>)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"​ប៊្លូធូស​បាន​បិទ"</string>
diff --git a/packages/SystemUI/res/values-kn-rIN/strings.xml b/packages/SystemUI/res/values-kn-rIN/strings.xml
index 85fefec..64d4ff9 100644
--- a/packages/SystemUI/res/values-kn-rIN/strings.xml
+++ b/packages/SystemUI/res/values-kn-rIN/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಆನ್ ಆಗಿದೆ, ಯಾವುದೇ ಅಡಚಣೆಗಳಿಲ್ಲ."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಆಫ್ ಆಗಿದೆ."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"ತೊಂದರೆ ಮಾಡಬೇಡಿ ಆಫ್ ಮಾಡಲಾಗಿದೆ."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಆನ್ ಮಾಡಲಾಗಿದೆ."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"ಬ್ಲೂಟೂತ್ ಆಫ್ ಆಗಿದೆ."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"ಬ್ಲೂಟೂತ್ ಆನ್ ಆಗಿದೆ."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"ಬ್ಲೂಟೂತ್ ಸಂಪರ್ಕಪಡಿಸಲಾಗುತ್ತಿದೆ."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"ಡೇಡ್ರೀಮ್"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"ಇಥರ್ನೆಟ್"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"ಏರ್‌ಪ್ಲೇನ್ ಮೋಡ್"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"ಆದ್ಯತೆ ಮಾತ್ರ"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"ಯಾವುದೇ ಅಡಚಣೆಗಳಿಲ್ಲ"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"ಬ್ಲೂಟೂತ್‌"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"ಬ್ಲೂಟೂತ್‌ (<xliff:g id="NUMBER">%d</xliff:g> ಸಾಧನಗಳು)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"ಬ್ಲೂಟೂತ್‌ ಆಫ್"</string>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index d6f8219..e30bc2a 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"알림 일시중지 사용, 방해 금지"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"알림 일시중지 사용 중지"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"알림 일시중지가 사용 중지되었습니다."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"알림 일시중지를 사용합니다."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"블루투스: 사용 안함"</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"블루투스: 사용"</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"블루투스에 연결 중입니다."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"화면 보호기"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"이더넷"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"비행기 모드"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"알림 일시중지"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"중요 알림만"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"방해 금지"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"블루투스"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"블루투스(<xliff:g id="NUMBER">%d</xliff:g>개의 기기)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"블루투스 사용 안함"</string>
diff --git a/packages/SystemUI/res/values-ky-rKG/strings.xml b/packages/SystemUI/res/values-ky-rKG/strings.xml
index 0029d67..5899a87 100644
--- a/packages/SystemUI/res/values-ky-rKG/strings.xml
+++ b/packages/SystemUI/res/values-ky-rKG/strings.xml
@@ -201,6 +201,11 @@
     <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="5910777408232088752">"Тынчымды алба деген күйүк, үзгүлтүккө учуратуулар жок."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Тынчымды алба деген өчүк."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Тынчымды алба деген өчүрүлдү."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Тынчымды алба деген күйгүзүлдү."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth өчүк."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth күйүк."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth туташууда."</string>
@@ -249,6 +254,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Кыялдануу"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Учак тартиби"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Тынчымды алба"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Артыкчылык гана"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Үзгүлтүксүз"</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> түзмөк)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth өчүк"</string>
diff --git a/packages/SystemUI/res/values-lo-rLA/strings.xml b/packages/SystemUI/res/values-lo-rLA/strings.xml
index cc3d0cc..455d361 100644
--- a/packages/SystemUI/res/values-lo-rLA/strings.xml
+++ b/packages/SystemUI/res/values-lo-rLA/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"ຫ້າມ​ລະ​ກວນ​ເປີດ​ຢູ່, ບໍ່​ມີ​ການ​ຂັດ​ຈັງ​ຫວະ."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"ຫ້າມ​ລົບ​ກວນປິດຢູ່."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"ຢ່າ​ລົບ​ກວນ​ປິດ​ແລ້ວ."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"ຢ່າ​ລົບ​ກວນ​ເປີດ​ແລ້ວ."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth ປິດ."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth ເປີດ."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"ກຳ​ລັງ​ເຊື່ອມ​ຕໍ່ Bluetooth."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Daydream"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"ໂໝດຢູ່ໃນຍົນ"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"ຫ້າມ​ລົບ​ກວນ"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"ບຸ​ລິ​ມະ​ສິດເທົ່າ​ນັ້ນ"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"ບໍ່​ມີ​ການ​ລົບກວນ"</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> ອຸປະກອນ)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth ປິດ"</string>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index b83f88f..a96d51e 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -178,6 +178,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Lėktuvo režimas įjungtas."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Lėktuvo režimas išjungtas."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Lėktuvo režimas įjungtas."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Funkcija „Netrukdyti“ įjungta. Tik prioritetiniai įvykiai."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Funkcija „Netrukdyti“ įjungta. Jokių pertraukčių."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Funkcija „Netrukdyti“ išjungta."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Funkcija „Netrukdyti“ išjungta."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Funkcija „Netrukdyti“ įjungta."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"„Bluetooth“ išjungtas."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"„Bluetooth“ įjungtas."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Prijungiamas „Bluetooth“."</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Svajonė"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Eternetas"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Lėktuvo režimas"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Netrukdyti"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Tik prioritetiniai įvykiai"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Jokių pertraukčių"</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> įreng.)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"„Bluetooth“ išjungta"</string>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index cc2702b..6ac122c 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -177,6 +177,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Lidojuma režīms ir ieslēgts."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Lidojuma režīms ir izslēgts."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Lidojuma režīms ir ieslēgts."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Statuss Netraucēt ir ieslēgts, izvēlēts iestatījums Tikai prioritārie."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Statuss Netraucēt ir ieslēgts, izvēlēts iestatījums Bez pārtraukumiem."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Statuss Netraucēt ir izslēgts."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Statuss Netraucēt tika izslēgts."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Statuss Netraucēt tika ieslēgts."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth savienojums ir izslēgts."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth savienojums ir ieslēgts."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Notiek Bluetooth savienojuma izveide."</string>
@@ -225,6 +230,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Ekrānsaudzētājs"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Tīkls Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Lidojuma režīms"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Netraucēt"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Tikai prioritārie"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Bez pārtraukumiem"</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> ierīce(-es))"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth savienojums ir izslēgts."</string>
diff --git a/packages/SystemUI/res/values-mk-rMK/strings.xml b/packages/SystemUI/res/values-mk-rMK/strings.xml
index a5bb833..e33d88e 100644
--- a/packages/SystemUI/res/values-mk-rMK/strings.xml
+++ b/packages/SystemUI/res/values-mk-rMK/strings.xml
@@ -178,6 +178,11 @@
     <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="5910777408232088752">"„Не вознемирувај“ е вклучено, без прекини."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"„Не вознемирувај“ е исклучено."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"„Не вознемирувај“ е исклучено."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"„Не вознемирувај“ е вклучено."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth е исклучен."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth е вклучен."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth се поврзува."</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Daydream"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Етернет"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Режим на работа во авион"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Не вознемирувај"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Само приоритетно"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Без прекини"</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> уреди)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth е исклучен"</string>
diff --git a/packages/SystemUI/res/values-ml-rIN/strings.xml b/packages/SystemUI/res/values-ml-rIN/strings.xml
index cc2188b..ff0fae1 100644
--- a/packages/SystemUI/res/values-ml-rIN/strings.xml
+++ b/packages/SystemUI/res/values-ml-rIN/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"ശല്യപ്പെടുത്തരുത് എന്നത് ഓണാണ്, തടസ്സങ്ങളൊന്നുമില്ല."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"ശല്ല്യപ്പെടുത്തരുത് എന്നത് ഓഫാണ്."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"ശല്യപ്പെടുത്തരുത് എന്നത് ഓഫാക്കി."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"ശല്യപ്പെടുത്തരുത് എന്നത് ഓണാക്കി."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"ബ്ലൂടൂത്ത് ഓഫാണ്."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"ബ്ലൂടൂത്ത് ഓണാണ്."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"ബ്ലൂടൂത്ത് കണക്‌റ്റുചെയ്യുന്നു."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"ഡേഡ്രീം"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"ഇതർനെറ്റ്"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"ഫ്ലൈറ്റ് മോഡ്"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"ശല്ല്യപ്പെടുത്തരുത്"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"മുൻഗണന മാത്രം"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"തടസ്സങ്ങളൊന്നുമില്ല"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"ബ്ലൂടൂത്ത്"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"ബ്ലൂടൂത്ത് (<xliff:g id="NUMBER">%d</xliff:g> ഉപകരണങ്ങൾ)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"ബ്ലൂടൂത്ത് ഓഫുചെയ്യുക"</string>
diff --git a/packages/SystemUI/res/values-mn-rMN/strings.xml b/packages/SystemUI/res/values-mn-rMN/strings.xml
index fd16012..4c32722 100644
--- a/packages/SystemUI/res/values-mn-rMN/strings.xml
+++ b/packages/SystemUI/res/values-mn-rMN/strings.xml
@@ -174,6 +174,11 @@
     <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="5910777408232088752">"Бүү саад болно уу. Аливаа саад учруулахгүй байна уу."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Бүү саад бол."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Идэвхгүй болгох үйлдэлд бүү саад бол."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Идэвхжүүлэх үйлдэлд бүү саад бол."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Блютүүт идэвхгүй."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Блютүүт идэвхтэй."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Блютүүтийг холбож байна."</string>
@@ -222,6 +227,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Daydream"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Этернет"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Нислэгийн горим"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Бүү саад бол"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Зөвхөн чухал зүйлс"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Аливаа саад байхгүй байх"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Блютүүт"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Блютүүт (<xliff:g id="NUMBER">%d</xliff:g> төхөөрөмж)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Блютүүт унтраалттай"</string>
diff --git a/packages/SystemUI/res/values-mr-rIN/strings.xml b/packages/SystemUI/res/values-mr-rIN/strings.xml
index afaa65d..544d3d2 100644
--- a/packages/SystemUI/res/values-mr-rIN/strings.xml
+++ b/packages/SystemUI/res/values-mr-rIN/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"व्यत्यय आणू नका चालू, कोणताही व्यत्यय नाही."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"व्यत्यय आणू नका बंद."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"व्यत्यय आणू नका बंद करा"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"व्यत्यय आणू नका चालू करा"</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"ब बंद."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"ब चालू."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"ब कनेक्ट करत आहे."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"डेड्रीम"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"इथरनेट"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"विमान मोड"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"व्यत्यय आणू नका"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"केवळ प्राधान्य"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"कोणतेही व्यत्यय नाही"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"ब्लूटुथ"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"ब (<xliff:g id="NUMBER">%d</xliff:g> डिव्हाइसेस)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"ब बंद"</string>
diff --git a/packages/SystemUI/res/values-ms-rMY/strings.xml b/packages/SystemUI/res/values-ms-rMY/strings.xml
index d0f3213..968624a 100644
--- a/packages/SystemUI/res/values-ms-rMY/strings.xml
+++ b/packages/SystemUI/res/values-ms-rMY/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Mod pesawat dihidupkan."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Mod pesawat dimatikan."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Mod pesawat dihidupkan."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Jangan ganggu dihidupkan, perkara penting sahaja."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Jangan ganggu dihidupkan, tiada gangguan."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Jangan ganggu dimatikan."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Jangan ganggu dimatikan."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Jangan ganggu dihidupkan."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth dimatikan."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth dihidupkan."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth menyambung."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Lamun"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Mod kapal terbang"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Jangan ganggu"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Keutamaan sahaja"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Tiada gangguan"</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> Peranti)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth Dimatikan"</string>
diff --git a/packages/SystemUI/res/values-my-rMM/strings.xml b/packages/SystemUI/res/values-my-rMM/strings.xml
index b572ba2..9e03b40 100644
--- a/packages/SystemUI/res/values-my-rMM/strings.xml
+++ b/packages/SystemUI/res/values-my-rMM/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"မနှောင့်ယှက်ပါနှင့် ဖွင့်ထားသည်၊ အနှောင့်အယှက်များ မရှိပါ။"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"မနှောင့်ယှက်ပါနှင့် ကိုပိတ်ထားသည်။"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"မနှောင့်ယှက်ပါနှင့် ကိုပိတ်ထားသည်။"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"မနှောင့်ယှက်ပါနှင့်ကို ဖွင့်ထားသည်။"</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"ဘလူးတုသ် ပိတ်ထား."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"ဘလူးတုသ် ဖွင့်ထား။"</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"ဘလူးတုသ် ချိတ်ဆက်နေ။"</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"ဒေးဒရင်းမ်"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"အီသာနက်"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"လေယာဥ်ပျံပေါ်အသုံးပြုသောစနစ်"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"မနှောက်ယှက်ပါနှင့်"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"ဦးစားပေးများသာ"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"ကြားဖြတ်ဝင်မှု ခွင့်မပြုရန်"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"ဘလူးတု"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"ဘလူးတု (<xliff:g id="NUMBER">%d</xliff:g> စက်များ)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"ဘလူးတု ပိတ်ထားရန်"</string>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index b78723c..a4c6a8e 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Flymodus er på."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Flymodus er slått av."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Flymodus er slått på."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"«Ikke forstyrr» er på – bare prioritert."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"«Ikke forstyrr» er på – ingen avbrytelser."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"«Ikke forstyrr» er av."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"«Ikke forstyrr» er slått av."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"«Ikke forstyrr» er slått på."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth er av."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth er på."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth kobler til."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Dagdrøm"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Flymodus"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"«Ikke forstyrr»"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Bare prioritet"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Ingen forstyrrelser"</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> enheter)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth er slått av"</string>
diff --git a/packages/SystemUI/res/values-ne-rNP/strings.xml b/packages/SystemUI/res/values-ne-rNP/strings.xml
index 45e338a..a6869a5 100644
--- a/packages/SystemUI/res/values-ne-rNP/strings.xml
+++ b/packages/SystemUI/res/values-ne-rNP/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"बाधा नपुर्याउँनुहोस्, कुनै पनि अवरोध छैनन्।"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"निष्क्रियलाई बाधा नपुर्‍याउनुहोस्"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"निष्क्रिय गरिएकालाई अवरोध नपुर्‍याउनुहोस्।"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"सक्रिय रहेकोलाई अवरोध नपुर्‍याउनुहोस्।"</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"ब्लुटुथ बन्द छ।"</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"ब्लुटुथ खुला छ।"</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"ब्लुटुथ जोडीदै।"</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"दिवासपना"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"हवाइजहाज मोड"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"बाधा नपुर्याउँनुहोस्"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"प्राथमिकता मात्र"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"कुनै अवरोधहरू छैन"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"ब्लुटुथ"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"ब्लुटुथ (<xliff:g id="NUMBER">%d</xliff:g> उपकरणहरू)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"ब्लुटुथ बन्द"</string>
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index 4006618..d69cf29 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -44,7 +44,7 @@
     <string name="battery_saver_start_action" msgid="5576697451677486320">"Accubesparing inschakelen"</string>
     <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"Instellingen"</string>
     <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wifi"</string>
-    <string name="status_bar_settings_airplane" msgid="4879879698500955300">"Vliegmodus"</string>
+    <string name="status_bar_settings_airplane" msgid="4879879698500955300">"Vliegtuigmodus"</string>
     <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"Scherm automatisch draaien"</string>
     <string name="status_bar_settings_mute_label" msgid="554682549917429396">"DEMPEN"</string>
     <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AUTO"</string>
@@ -144,7 +144,7 @@
     <string name="accessibility_data_connection_wifi" msgid="2324496756590645221">"Wifi"</string>
     <string name="accessibility_no_sim" msgid="8274017118472455155">"Geen simkaart."</string>
     <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth-tethering."</string>
-    <string name="accessibility_airplane_mode" msgid="834748999790763092">"Vliegmodus."</string>
+    <string name="accessibility_airplane_mode" msgid="834748999790763092">"Vliegtuigmodus."</string>
     <string name="accessibility_battery_level" msgid="7451474187113371965">"Accu: <xliff:g id="NUMBER">%d</xliff:g> procent."</string>
     <string name="accessibility_settings_button" msgid="799583911231893380">"Systeeminstellingen."</string>
     <string name="accessibility_notifications_button" msgid="4498000369779421892">"Meldingen."</string>
@@ -172,10 +172,15 @@
     <string name="accessibility_quick_settings_wifi_changed_on" msgid="6440117170789528622">"Wifi ingeschakeld."</string>
     <string name="accessibility_quick_settings_mobile" msgid="4876806564086241341">"Mobiel <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">"Accu: <xliff:g id="STATE">%s</xliff:g>."</string>
-    <string name="accessibility_quick_settings_airplane_off" msgid="7786329360056634412">"Vliegmodus uit."</string>
-    <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Vliegmodus aan."</string>
-    <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Vliegmodus uitgeschakeld."</string>
-    <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Vliegmodus ingeschakeld."</string>
+    <string name="accessibility_quick_settings_airplane_off" msgid="7786329360056634412">"Vliegtuigmodus uit."</string>
+    <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Vliegtuigmodus aan."</string>
+    <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Vliegtuigmodus uitgeschakeld."</string>
+    <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Vliegtuigmodus ingeschakeld."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Niet storen aan, alleen prioriteit."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Niet storen aan, geen onderbrekingen."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Niet storen uit."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Niet storen uitgeschakeld."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Niet storen ingeschakeld."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth uit."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth aan."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth-verbinding wordt gemaakt."</string>
@@ -223,7 +228,10 @@
     <string name="dessert_case" msgid="1295161776223959221">"Dessertshowcase"</string>
     <string name="start_dreams" msgid="7219575858348719790">"Dagdroom"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
-    <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Vliegmodus"</string>
+    <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Vliegtuigmodus"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Niet storen"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Alleen prioriteit"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Geen onderbrekingen"</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> apparaten)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth uit"</string>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index 1b9e1d4..4e43853 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -178,6 +178,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Tryb samolotowy jest włączony."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Tryb samolotowy został wyłączony."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Tryb samolotowy został włączony."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Nie przeszkadzać (włączone, tylko priorytetowe)."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Nie przeszkadzać (włączone, bez przeszkadzania)."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Nie przeszkadzać (wyłączone)."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Nieprzeszkadzanie wyłączone."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Nieprzeszkadzanie włączone."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth wyłączony."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth włączony."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Nawiązywanie połączenia Bluetooth."</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Wygaszacz ekranu"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Tryb samolotowy"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Nie przeszkadzać"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Tylko priorytetowe"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Bez przeszkadzania"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Bluetooth (urządzenia: <xliff:g id="NUMBER">%d</xliff:g>)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth wył."</string>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index 4cdb511..ff7d2d6 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Modo de avião ligado."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Modo de avião desligado."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Modo de avião ligado."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Não incomodar ligado, apenas prioridade."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Não incomodar ligado, sem interrupções."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Não incomodar desligado."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Não incomodar desligado."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Não incomodar ligado."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth desligado."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth ligado."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"A ligar o Bluetooth."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Daydream"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Modo de avião"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Não incomodar"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Apenas prioridade"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Sem interrupções"</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> Dispositivos)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth desat."</string>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index 461ac26..1acdace 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -178,6 +178,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Modo avião ativado."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"O modo avião foi desativado."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"O modo avião foi ativado."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"\"Não perturbe\" ativado, somente prioridade."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"\"Não perturbe\" ativado, sem interrupções."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"\"Não perturbe\" desativado."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"\"Não perturbe\" desativado."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"\"Não perturbe\" ativado."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth desativado."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth ativado."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Conectando Bluetooth."</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Daydream"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Modo avião"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Não perturbe"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Só prioridade"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Sem interrupções"</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> dispositivos)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth desativado"</string>
@@ -305,8 +313,8 @@
     <string name="speed_bump_explanation" msgid="1288875699658819755">"Notificações menos urgentes abaixo"</string>
     <string name="notification_tap_again" msgid="8524949573675922138">"Toque novamente para abrir"</string>
     <string name="keyguard_unlock" msgid="8043466894212841998">"Deslize para cima para desbloquear"</string>
-    <string name="phone_hint" msgid="3101468054914424646">"Deslize para a direita para usar o telefone"</string>
-    <string name="camera_hint" msgid="5241441720959174226">"Deslize para a esquerda para usar a câmera"</string>
+    <string name="phone_hint" msgid="3101468054914424646">"Deslize à direita p/ usar o telefone"</string>
+    <string name="camera_hint" msgid="5241441720959174226">"Deslize à esquerda p/ usar a câmera"</string>
     <string name="interruption_level_none" msgid="3831278883136066646">"Nenhum"</string>
     <string name="interruption_level_priority" msgid="6517366750688942030">"Prioridade"</string>
     <string name="interruption_level_all" msgid="1330581184930945764">"Tudo"</string>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index fbaf763..71137b0 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -177,6 +177,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Modul Avion este activat."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Modul Avion este dezactivat."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Modul Avion este activat."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Setarea „Nu deranja” este activată – numai prioritare."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Setarea „Nu deranja” este activată – fără întreruperi."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Setarea „Nu deranja” este dezactivată."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Setarea „Nu deranja” a fost dezactivată."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Setarea „Nu deranja” a fost activată."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Conexiunea prin Bluetooth este dezactivată."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Conexiunea prin Bluetooth este activată."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Se conectează prin Bluetooth."</string>
@@ -225,6 +230,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Daydream"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Mod Avion"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Nu deranja"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Numai cu prioritate"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Fără întreruperi"</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> dispozitive)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth dezactivat"</string>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index b57ccb3..4ca33f6 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -180,6 +180,11 @@
     <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="5910777408232088752">"Включен режим \"Не беспокоить\". Все оповещения отключены."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Режим \"Не беспокоить\" выключен."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Режим \"Не беспокоить\" выключен."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Режим \"Не беспокоить\" включен."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Модуль Bluetooth отключен."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Модуль Bluetooth включен."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth-соединение устанавливается."</string>
@@ -228,6 +233,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Заставка"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Режим полета"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Не беспокоить"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Только важные"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Без оповещений"</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>)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth выкл."</string>
@@ -306,8 +314,8 @@
     <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>
     <string name="notification_tap_again" msgid="8524949573675922138">"Нажмите ещё раз, чтобы открыть"</string>
-    <string name="keyguard_unlock" msgid="8043466894212841998">"Для разблокировки проведите пальцем по экрану"</string>
-    <string name="phone_hint" msgid="3101468054914424646">"Чтобы открыть приложение \"Телефон\", пролистните вправо"</string>
+    <string name="keyguard_unlock" msgid="8043466894212841998">"Проведите вверх, чтобы разблокировать"</string>
+    <string name="phone_hint" msgid="3101468054914424646">"Чтобы позвонить, пролистните вправо"</string>
     <string name="camera_hint" msgid="5241441720959174226">"Чтобы включить камеру, пролистните влево"</string>
     <string name="interruption_level_none" msgid="3831278883136066646">"Не беспокоить"</string>
     <string name="interruption_level_priority" msgid="6517366750688942030">"Важные"</string>
diff --git a/packages/SystemUI/res/values-si-rLK/strings.xml b/packages/SystemUI/res/values-si-rLK/strings.xml
index e6ec65f..003b784 100644
--- a/packages/SystemUI/res/values-si-rLK/strings.xml
+++ b/packages/SystemUI/res/values-si-rLK/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"බාධා නොකරන්න ක්‍රියාත්මකයි, බාධා කිරීම් නැත."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"බාධා නොකරන්න ක්‍රියා විරහිතයි."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"බාධා නොකරන්න ක්‍රියා විරහිත කරන ලදි."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"බාධා නොකරන්න ක්‍රියාත්මක කරන ලදි"</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"බ්ලූටූත් අක්‍රියයි."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"බ්ලූටූත් සක්‍රියයි."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"බ්ලූටූත් සම්බන්ධවෙමින්."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"දවල් හීනය"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"ඊතර නෙට්"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"අහස්යානා ආකාරය"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"බාධා නොකරන්න"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"ප්‍රමුඛතාව පමණයි"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"බාධා කිරීම් නැත"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"බ්ලූටූත්"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"බ්ලූටූත් (උපාංග <xliff:g id="NUMBER">%d</xliff:g>)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"බ්ලූටූත් අක්‍රියයි"</string>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index eba3977..fa68d55 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -180,6 +180,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Režim v lietadle je zapnutý."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Režim v lietadle je vypnutý."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Režim v lietadle je zapnutý."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Stav Nerušiť je zapnutý, iba prioritné."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Stav Nerušiť je zapnutý, žiadne prerušenia."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Stav Nerušiť je vypnutý."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Stav Nerušiť je vypnutý."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Stav Nerušiť je zapnutý."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Rozhranie Bluetooth je vypnuté."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Rozhranie Bluetooth je zapnuté."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Rozhranie Bluetooth sa pripája."</string>
@@ -228,6 +233,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Šetrič obrazovky"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Režim v lietadle"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Nerušiť"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Iba prioritné"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Žiadne prerušenia"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Rozhranie Bluetooth (počet zariadení: <xliff:g id="NUMBER">%d</xliff:g>)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Rozhranie Bluetooth je vypnuté"</string>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index 65d684b..d70ca47 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -178,6 +178,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Način za letalo je vklopljen."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Način za letalo je izklopljen."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Način za letalo je vklopljen."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Način »ne moti« je vklopljen, samo prednostno."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Način »ne moti« je vklopljen, ni prekinitev."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Način »ne moti« je izklopljen."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Način »ne moti« je izklopljen."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Način »ne moti« je vklopljen."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth je izklopljen."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth je vklopljen."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Povezava Bluetooth se vzpostavlja."</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Sanjarjenje"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Način za letalo"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Ne moti"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Samo prednostno"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Brez prekinitev"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Bluetooth (št. naprav: <xliff:g id="NUMBER">%d</xliff:g>)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth izklopljen"</string>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index fca2a8a..ca87db0 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -177,6 +177,11 @@
     <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="5910777408232088752">"Подешавање Не узнемиравај је укључено, без прекида."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Подешавање Не узнемиравај је искључено."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Подешавање Не узнемиравај је искључено."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Подешавање Не узнемиравај је укључено."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth је искључен."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth је укључен."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth се повезује."</string>
@@ -225,6 +230,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Сањарење"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Етернет"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Режим рада у авиону"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Не узнемиравај"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Само приоритетни прекиди"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Без прекида"</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> уређаја)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth искључен"</string>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index 020e777..07e0ef7 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Flygplansläge på."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Flygplansläget har inaktiverats."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Flygplansläget har aktiverats."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Stör ej har aktiverats. Endast prioriterade."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Stör ej har aktiverats. Inga avbrott."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Stör ej av."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Stör ej har inaktiverats."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Stör ej har aktiverats."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth av."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth på."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Ansluter Bluetooth."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Dagdröm"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Flygplansläge"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Stör ej"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Endast prioriterade"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Inga avbrott"</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> enheter)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth av"</string>
@@ -295,7 +303,7 @@
     <string name="description_direction_left" msgid="7207478719805562165">"Dra åt vänster för <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string>
     <string name="zen_no_interruptions_with_warning" msgid="4396898053735625287">"Inga avbrott. Inte ens alarm."</string>
     <string name="zen_no_interruptions" msgid="7970973750143632592">"Inga avbrott"</string>
-    <string name="zen_important_interruptions" msgid="3477041776609757628">"Endast prioriterade avbrott"</string>
+    <string name="zen_important_interruptions" msgid="3477041776609757628">"Endast prioriterade samtal och aviseringar"</string>
     <string name="zen_alarm_information_time" msgid="5235772206174372272">"Nästa alarm är kl. <xliff:g id="ALARM_TIME">%s</xliff:g>"</string>
     <string name="zen_alarm_information_day_time" msgid="8422733576255047893">"Nästa alarm är <xliff:g id="ALARM_DAY_AND_TIME">%s</xliff:g>"</string>
     <string name="zen_alarm_warning" msgid="6873910860111498041">"Alarmet kommer inte att höras kl. <xliff:g id="ALARM_TIME">%s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index ca4baee..70764d9 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Hali ya ndegeni imewashwa."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Hali ya ndegeni imezimwa."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Hali ya ndegeni imewashwa."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Kipengee cha usinisumbue kimewashwa, kipaumbele pekee."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Kipengee cha usinisumbue kimewashwa, hakuna kukatizwa."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Kipengee cha usinisumbue kimezimwa."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Kipengee cha usinisumbue kimezimwa."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Kipengee cha usinisumbue kimewashwa."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth imezimwa."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth imewashwa."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth inaunganishwa."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Hali Tulivu"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Hali ya ndege"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Usinisumbue"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Kipaumbele tu"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Hakuna kukatizwa"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Bluetooth (Vifaa <xliff:g id="NUMBER">%d</xliff:g>)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth Imezimwa"</string>
diff --git a/packages/SystemUI/res/values-ta-rIN/strings.xml b/packages/SystemUI/res/values-ta-rIN/strings.xml
index b716bda..782a16f 100644
--- a/packages/SystemUI/res/values-ta-rIN/strings.xml
+++ b/packages/SystemUI/res/values-ta-rIN/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"தொந்தரவு செய்ய வேண்டாம் என்பது இயக்கப்பட்டது, குறுக்கீடுகள் இல்லை."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"தொந்தரவு செய்ய வேண்டாம் என்பது முடக்கப்பட்டது."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"தொந்தரவு செய்ய வேண்டாம் என்பது முடக்கப்பட்டது."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"தொந்தரவு செய்ய வேண்டாம் என்பது இயக்கப்பட்டது."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"புளூடூத் முடக்கத்தில்."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"புளூடூத் இயக்கத்தில்."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"புளூடூத் இணைக்கப்படுகிறது."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"பகல்கனா"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"ஈதர்நெட்"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"விமானப் பயன்முறை"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"தொந்தரவு செய்ய வேண்டாம்"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"முதன்மை மட்டும்"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"குறுக்கீடுகள் வேண்டாம்"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"புளூடூத்"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"புளூடூத் (<xliff:g id="NUMBER">%d</xliff:g> சாதனங்கள்)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"புளூடூத் ஐ முடக்கு"</string>
diff --git a/packages/SystemUI/res/values-te-rIN/strings.xml b/packages/SystemUI/res/values-te-rIN/strings.xml
index 97ea24c..5014213 100644
--- a/packages/SystemUI/res/values-te-rIN/strings.xml
+++ b/packages/SystemUI/res/values-te-rIN/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"అంతరాయం కలిగించవద్దు ఆన్‌లో ఉంది, అంతరాయాలు ఉండవు."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"అంతరాయం కలిగించవద్దు ఆఫ్‌లో ఉంది."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"అంతరాయం కలిగించవద్దు ఆఫ్ చేయబడింది."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"అంతరాయం కలిగించవద్దు ఆన్ చేయబడింది."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"బ్లూటూత్ ఆఫ్‌లో ఉంది."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"బ్లూటూత్ ఆన్‌లో ఉంది."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"బ్లూటూత్ కనెక్ట్ అవుతోంది."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"డేడ్రీమ్"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"ఈథర్‌నెట్"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"ఎయిర్‌ప్లేన్ మోడ్"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"అంతరాయం కలిగించవద్దు"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"ప్రాధాన్యత మాత్రమే"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"అంతరాయాలు ఉండవు"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"బ్లూటూత్"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"బ్లూటూత్ (<xliff:g id="NUMBER">%d</xliff:g> పరికరాలు)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"బ్లూటూత్ ఆఫ్‌లో ఉంది"</string>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index 286d390..5331df8 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"การห้ามรบกวนเปิดอยู่ ห้ามรบกวน"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"การห้ามรบกวนปิดอยู่"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"ปิดการห้ามรบกวนแล้ว"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"เปิดการห้ามรบกวนแล้ว"</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"บลูทูธปิดอยู่"</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"บลูทูธเปิดอยู่"</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"กำลังเชื่อมต่อบลูทูธ"</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"เดย์ดรีม"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"อีเทอร์เน็ต"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"โหมดใช้บนเครื่องบิน"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"ห้ามรบกวน"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"เฉพาะเรื่องสำคัญ"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"ไม่มีการรบกวน"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"บลูทูธ"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"บลูทูธ (<xliff:g id="NUMBER">%d</xliff:g> อุปกรณ์)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"ปิดบลูทูธ"</string>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index 95d16d0..e7a0ca5 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Naka-on ang Airplane mode."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Na-off ang Airplane mode."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Na-on ang Airplane mode."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Naka-on ang huwag istorbohin, priyoridad lang."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Naka-on ang huwag istorbohin, walang mga paggambala."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Naka-off ang huwag istorbohin."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Na-off na ang huwag istorbohin"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Na-on na ang huwag istorbohin."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Naka-off ang Bluetooth."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Naka-on ang Bluetooth."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Kumokonekta ang Bluetooth."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Daydream"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Airplane mode"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Huwag istorbohin"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Priyoridad lang"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Walang mga paggambala"</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> (na) Device)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Naka-off ang Bluetooth"</string>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index 10ca6fe..b6396d9 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Uçak modu açık."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Uçak modu kapatıldı."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Uçak modu açıldı."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Rahatsız etmeyin ayarı açık, yalnızca öncelikliler."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Rahatsız etmeyin ayarı açık, kesme yok."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"\"Rahatsız etmeyin\" ayarı kapalı."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"\"Rahatsız etmeyin\" ayarı kapalı."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"\"Rahatsız etmeyin\" ayarı açık."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth kapalı."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth açık."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth bağlanıyor."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Hafif uyku"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Uçak modu"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Rahatsız etmeyin"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Yalnızca öncelikliler"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Kesme yok"</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> Cihaz)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth Kapalı"</string>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index ef6c28d..a384785 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -178,6 +178,11 @@
     <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="5910777408232088752">"Режим \"Не турбувати\" ввімкнено, без сповіщень."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Режим \"Не турбувати\" вимкнено."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Режим \"Не турбувати\" вимкнено."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Режим \"Не турбувати\" ввімкнено."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth вимк."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth увімк."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Під’єднання Bluetooth."</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Заставка"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Режим польоту"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Не турбувати"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Лише пріоритетні"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Без сповіщень"</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>)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth вимкнено"</string>
diff --git a/packages/SystemUI/res/values-ur-rPK/strings.xml b/packages/SystemUI/res/values-ur-rPK/strings.xml
index ec66ac4..ae10600 100644
--- a/packages/SystemUI/res/values-ur-rPK/strings.xml
+++ b/packages/SystemUI/res/values-ur-rPK/strings.xml
@@ -176,6 +176,11 @@
     <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="5910777408232088752">"ڈسٹرب نہ کریں آن ہے، کوئی مداخلتیں نہیں۔"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"ڈسٹرب نہ کریں آف ہے۔"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"ڈسٹرب نہ کریں کو آف کر دیا گیا۔"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"ڈسٹرب نہ کریں کو آن کر دیا گیا۔"</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"بلوٹوتھ آف ہے۔"</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"بلوٹوتھ آن ہے۔"</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"بلوٹوتھ منسلک ہو رہا ہے۔"</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Daydream"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"ایتھرنیٹ"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"ہوائی جہاز طرز"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"ڈسٹرب نہ کریں"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"صرف ترجیحی"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"کوئی مداخلتیں نہیں"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"بلوٹوتھ"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"بلوٹوتھ (<xliff:g id="NUMBER">%d</xliff:g> آلات)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"بلوٹوتھ آف ہے"</string>
diff --git a/packages/SystemUI/res/values-uz-rUZ/strings.xml b/packages/SystemUI/res/values-uz-rUZ/strings.xml
index 439adcf..d83ab3a 100644
--- a/packages/SystemUI/res/values-uz-rUZ/strings.xml
+++ b/packages/SystemUI/res/values-uz-rUZ/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Parvoz rejimi yoqilgan."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Parvoz rejimi o‘chirildi."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Parvoz rejimi yoqildi."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"“Bezovta qilinmasin” funksiyasi yoqilgan, faqat muhim bildirishnomalar ko‘rsatiladi."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"“Bezovta qilinmasin” funksiyasi yoqilgan, bezovta qilinmaydi."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"“Bezovta qilinmasin” funksiyasi o‘chirilgan."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"“Bezovta qilinmasin” funksiyasi o‘chirildi."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"“Bezovta qilinmasin” funksiyasi yoqildi."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth o‘chirilgan."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth yoqilgan."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth ulanmoqda."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Tush kurish"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Parvoz rejimi"</string>
+    <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_none_label" msgid="7309935569360609114">"Tanaffuslarsiz"</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>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index 759a4fb..781e8d0 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Chế độ trên máy bay bật."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Đã tắt chế độ trên máy bay."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Đã bật chế độ trên máy bay."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Bật tính năng không làm phiền, chỉ ưu tiên."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Bật tính năng không làm phiền, không có gián đoạn."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Tắt tính năng không làm phiền."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Đã tắt tính năng không làm phiền."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Đã bật tính năng không làm phiền."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth tắt."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth bật."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Đang kết nối Bluetooth."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Chế độ ngủ"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Chế độ trên máy bay"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Không làm phiền"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Chỉ ưu tiên"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Không có gián đoạn nào"</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> thiết bị)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Đã tắt Bluetooth"</string>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index 1c39be4..d12e309 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -178,6 +178,11 @@
     <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="5910777408232088752">"勿扰模式已开启,禁止打扰。"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"勿扰模式关闭。"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"已关闭勿扰模式。"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"已开启勿扰模式。"</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"蓝牙关闭。"</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"蓝牙开启。"</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"蓝牙连接中。"</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"互动屏保"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"有线网络"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"飞行模式"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"勿扰"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"仅限优先打扰"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"禁止打扰"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"蓝牙"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"蓝牙(<xliff:g id="NUMBER">%d</xliff:g> 台设备)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"蓝牙:关闭"</string>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index a4f4f45..aeb7111 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -178,6 +178,11 @@
     <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="5910777408232088752">"開啟「請勿騷擾」,不允許干擾。"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"「請勿騷擾」關閉"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"已關閉「請勿騷擾」。"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"已開啟「請勿騷擾」。"</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"藍牙已關閉。"</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"藍牙已開啟。"</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"正在建立藍牙連線。"</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Daydream"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"以太網"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"飛行模式"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"請勿騷擾"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"僅限優先"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"不允許干擾"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"藍牙"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"藍牙 (<xliff:g id="NUMBER">%d</xliff:g> 部裝置)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"藍牙關閉"</string>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index b38991d..b7079f8 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -178,6 +178,11 @@
     <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="5910777408232088752">"「零打擾」設定為開啟,不接受任何干擾。"</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"「零打擾」設定為關閉。"</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"已停用「零打擾」設定。"</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"已啟用「零打擾」設定。"</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"藍牙已關閉。"</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"藍牙已開啟。"</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"正在建立藍牙連線。"</string>
@@ -226,6 +231,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"休眠模式"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"乙太網路"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"飛航模式"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"零打擾"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"僅顯示優先通知"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"無干擾"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"藍牙"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"藍牙 (<xliff:g id="NUMBER">%d</xliff:g> 個裝置)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"關閉藍牙"</string>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index 7f3ac02..51ba633 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -176,6 +176,11 @@
     <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Imodi yendiza ivuliwe."</string>
     <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Imodi yendiza ivaliwe."</string>
     <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Imodi yendiza ivuliwe."</string>
+    <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"Ukungaphazamisi kuvuliwe, okubalulekile kuphela."</string>
+    <string name="accessibility_quick_settings_dnd_none_on" msgid="5910777408232088752">"Ungaphazamisi, akukho ukuphazamiseka."</string>
+    <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"Ukungaphazamisi kuvaliwe."</string>
+    <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"Ukungaphazamisi kuvaliwe."</string>
+    <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"Ukungaphazamisi kuvuliwe."</string>
     <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"I-Bluetooth ivaliwe."</string>
     <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"I-Bluetooth ivuliwe."</string>
     <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"I-Bluetooth iyaxhuma."</string>
@@ -224,6 +229,9 @@
     <string name="start_dreams" msgid="7219575858348719790">"Ukuphupha emini"</string>
     <string name="ethernet_label" msgid="7967563676324087464">"I-Ethernet"</string>
     <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Isimo sendiza"</string>
+    <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Ungaphazamisi"</string>
+    <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Okubalulekile kuphela"</string>
+    <string name="quick_settings_dnd_none_label" msgid="7309935569360609114">"Azikho iziphazamiso"</string>
     <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"I-Bluetooth"</string>
     <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"I-Bluetooth (<xliff:g id="NUMBER">%d</xliff:g> amadivayisi)"</string>
     <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"I-Bluetooth ivaliwe"</string>
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index 4c0cea8..d4aeab6 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -42,7 +42,8 @@
     <color name="qs_tile_divider">#29ffffff</color><!-- 16% white -->
     <color name="qs_tile_text">#B3FFFFFF</color><!-- 70% white -->
     <color name="qs_subhead">#99FFFFFF</color><!-- 60% white -->
-    <color name="qs_detail_empty">#24B0BEC5</color><!-- 14% blue grey 200-->
+    <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_transition">#66FFFFFF</color>
     <color name="qs_detail_progress_track">#99009688</color><!-- 60% deep teal 500 -->
     <color name="data_usage_secondary">#99FFFFFF</color><!-- 60% white -->
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 95a4009..c24cd64 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -376,6 +376,18 @@
     <!-- radius of the corners of the material rounded rect background but negative-->
     <dimen name="notification_material_rounded_rect_radius_negative">-2dp</dimen>
 
+    <!-- height of the bottom decor below the notification if present (eg. an expand action) -->
+    <dimen name="notification_bottom_decor_height">48dp</dimen>
+
+    <!-- The padding between notification children -->
+    <dimen name="notification_children_padding">2dp</dimen>
+
+    <!-- The height of the divider between the notfication children -->
+    <dimen name="notification_children_divider_height">1dp</dimen>
+
+    <!-- The vertical distance from which the notification appear when children are expanded -->
+    <dimen name="notification_appear_distance">140dp</dimen>
+
     <!-- end margin for multi user switch in expanded quick settings -->
     <dimen name="multi_user_switch_expanded_margin">8dp</dimen>
 
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 1b1b525..d9aff44 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -924,6 +924,12 @@
     <!-- continue action for notification educating the user about enabling notifications on the lockscreen. [CHAR LIMIT=20] -->
     <string name="hidden_notifications_setup">Set up</string>
 
+    <!-- Text for the button to expand the notifications to show notification children [CHAR LIMIT=20] -->
+    <string name="notification_expand_button_text">See all</string>
+
+    <!-- Text for the button to expand the notifications to hide notification children [CHAR LIMIT=20] -->
+    <string name="notification_collapse_button_text">Hide all</string>
+
     <!-- Accessibility string for current zen mode and selected exit condition. A template that simply concatenates existing mode string and the current condition description. [CHAR LIMIT=20] -->
     <string name="zen_mode_and_condition"><xliff:g id="zen_mode" example="Priority interruptions only">%1$s</xliff:g>. <xliff:g id="exit_condition" example="For one hour">%2$s</xliff:g></string>
 
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index bf19b8d..07fcb82 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -145,6 +145,7 @@
 
     <style name="TextAppearance.QS.DetailButton">
         <item name="android:textSize">@dimen/qs_detail_button_text_size</item>
+        <item name="android:textColor">@color/qs_detail_button</item>
         <item name="android:textAllCaps">true</item>
         <item name="android:fontFamily">sans-serif-medium</item>
         <item name="android:gravity">center</item>
@@ -210,6 +211,11 @@
         <item name="android:colorControlActivated">@color/system_accent_color</item>
     </style>
 
+    <style name="systemui_theme_light" parent="@android:style/Theme.DeviceDefault.Light">
+        <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">
         <item name="android:colorPrimary">@color/system_primary_color</item>
         <item name="android:colorControlActivated">@color/system_accent_color</item>
diff --git a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
index f2f087f..9bb626d 100755
--- a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
+++ b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
@@ -24,7 +24,6 @@
 import android.content.res.TypedArray;
 import android.graphics.Canvas;
 import android.graphics.Color;
-import android.graphics.ColorFilter;
 import android.graphics.Paint;
 import android.graphics.Path;
 import android.graphics.PorterDuff;
diff --git a/packages/SystemUI/src/com/android/systemui/ExpandHelper.java b/packages/SystemUI/src/com/android/systemui/ExpandHelper.java
index d42ac61..bc7f745 100644
--- a/packages/SystemUI/src/com/android/systemui/ExpandHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/ExpandHelper.java
@@ -22,7 +22,6 @@
 import android.animation.ObjectAnimator;
 import android.content.Context;
 import android.media.AudioAttributes;
-import android.media.AudioManager;
 import android.os.Vibrator;
 import android.util.Log;
 import android.view.Gravity;
@@ -147,14 +146,14 @@
         }
         public void setHeight(float h) {
             if (DEBUG_SCALE) Log.v(TAG, "SetHeight: setting to " + h);
-            mView.setActualHeight((int) h);
+            mView.setContentHeight((int) h);
             mCurrentHeight = h;
         }
         public float getHeight() {
-            return mView.getActualHeight();
+            return mView.getContentHeight();
         }
         public int getNaturalHeight(int maximum) {
-            return Math.min(maximum, mView.getMaxHeight());
+            return Math.min(maximum, mView.getMaxContentHeight());
         }
     }
 
@@ -387,7 +386,8 @@
     }
 
     private boolean isFullyExpanded(ExpandableView underFocus) {
-        return underFocus.getIntrinsicHeight() == underFocus.getMaxHeight();
+        return underFocus.areChildrenExpanded() || underFocus.getIntrinsicHeight()
+                - underFocus.getBottomDecorHeight() == underFocus.getMaxContentHeight();
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
index 7c725b3..6888d0e 100644
--- a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
+++ b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
@@ -21,10 +21,8 @@
 
 import android.app.ActivityManager;
 import android.app.WallpaperManager;
-import android.content.BroadcastReceiver;
 import android.content.ComponentCallbacks2;
 import android.content.Context;
-import android.content.Intent;
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.Point;
diff --git a/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java b/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java
index 2ff8f8a..eddf2b1 100644
--- a/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/ViewInvertHelper.java
@@ -26,8 +26,6 @@
 import android.view.animation.AnimationUtils;
 import android.view.animation.Interpolator;
 
-import com.android.systemui.statusbar.phone.NotificationPanelView;
-
 /**
  * Helper to invert the colors of views and fade between the states.
  */
diff --git a/packages/SystemUI/src/com/android/systemui/egg/LLandActivity.java b/packages/SystemUI/src/com/android/systemui/egg/LLandActivity.java
index b9f8106..50221d3 100644
--- a/packages/SystemUI/src/com/android/systemui/egg/LLandActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/egg/LLandActivity.java
@@ -18,7 +18,6 @@
 
 import android.app.Activity;
 import android.os.Bundle;
-import android.util.Log;
 import android.widget.TextView;
 
 import com.android.systemui.R;
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
index 1cf0129..275a6be 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
@@ -172,7 +172,7 @@
     private static final String KEYGUARD_ANALYTICS_SETTING = "keyguard_analytics";
 
     /** The stream type that the lock sounds are tied to. */
-    private int mMasterStreamType;
+    private int mUiSoundsStreamType;
 
     private AlarmManager mAlarmManager;
     private AudioManager mAudioManager;
@@ -439,6 +439,8 @@
         public void onFingerprintRecognized(int userId) {
             if (mStatusBarKeyguardViewManager.isBouncerShowing()) {
                 mViewMediatorCallback.keyguardDone(true);
+            } else {
+                mStatusBarKeyguardViewManager.animateCollapsePanels();
             }
         };
 
@@ -1242,10 +1244,10 @@
             if (mAudioManager == null) {
                 mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
                 if (mAudioManager == null) return;
-                mMasterStreamType = mAudioManager.getMasterStreamType();
+                mUiSoundsStreamType = mAudioManager.getUiSoundsStreamType();
             }
             // If the stream is muted, don't play the sound
-            if (mAudioManager.isStreamMute(mMasterStreamType)) return;
+            if (mAudioManager.isStreamMute(mUiSoundsStreamType)) return;
 
             mLockSoundStreamId = mLockSounds.play(soundId,
                     mLockSoundVolume, mLockSoundVolume, 1/*priortiy*/, 0/*loop*/, 1.0f/*rate*/);
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java b/packages/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java
index c23f45d..88d0997 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java
@@ -18,8 +18,6 @@
 
 import android.app.Activity;
 import android.app.AlertDialog;
-import android.app.PendingIntent;
-import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
@@ -32,16 +30,10 @@
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.util.Log;
-import android.view.LayoutInflater;
 import android.view.WindowManager;
 import android.widget.CheckBox;
 import android.widget.CompoundButton;
-import android.widget.TextView;
-
-import com.android.internal.app.AlertActivity;
-import com.android.internal.app.AlertController;
 import com.android.systemui.R;
-import com.android.systemui.statusbar.phone.SystemUIDialog;
 
 public class MediaProjectionPermissionActivity extends Activity
         implements DialogInterface.OnClickListener, CheckBox.OnCheckedChangeListener,
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java b/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java
index a0b6e82..0ab644a 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java
@@ -18,12 +18,10 @@
 import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
-import android.content.res.Configuration;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
 import android.util.Log;
-import android.util.TypedValue;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View.OnClickListener;
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
index 7f944f0..f4fd6a2 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
@@ -26,7 +26,6 @@
 import android.os.Handler;
 import android.os.Message;
 import android.util.AttributeSet;
-import android.util.TypedValue;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
index c15566f..b42b5f6 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
@@ -16,6 +16,8 @@
 
 package com.android.systemui.qs.tiles;
 
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 import android.content.Intent;
 import android.provider.Settings;
@@ -23,13 +25,14 @@
 import android.view.View;
 import android.view.ViewGroup;
 
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.systemui.R;
 import com.android.systemui.qs.QSDetailItems;
 import com.android.systemui.qs.QSDetailItems.Item;
 import com.android.systemui.qs.QSTile;
 import com.android.systemui.statusbar.policy.BluetoothController;
-import com.android.systemui.statusbar.policy.BluetoothController.PairedDevice;
 
+import java.util.Collection;
 import java.util.Set;
 
 /** Quick settings tile: Bluetooth **/
@@ -143,7 +146,7 @@
             refreshState();
         }
         @Override
-        public void onBluetoothPairedDevicesChanged() {
+        public void onBluetoothDevicesChanged() {
             mUiHandler.post(new Runnable() {
                 @Override
                 public void run() {
@@ -199,19 +202,21 @@
         private void updateItems() {
             if (mItems == null) return;
             Item[] items = null;
-            final Set<PairedDevice> devices = mController.getPairedDevices();
+            final Collection<CachedBluetoothDevice> devices = mController.getDevices();
             if (devices != null) {
-                items = new Item[devices.size()];
+                items = new Item[getBondedCount(devices)];
                 int i = 0;
-                for (PairedDevice device : devices) {
+                for (CachedBluetoothDevice device : devices) {
+                    if (device.getBondState() == BluetoothDevice.BOND_NONE) continue;
                     final Item item = new Item();
                     item.icon = R.drawable.ic_qs_bluetooth_on;
-                    item.line1 = device.name;
-                    if (device.state == PairedDevice.STATE_CONNECTED) {
+                    item.line1 = device.getName();
+                    int state = device.getMaxConnectionState();
+                    if (state == BluetoothProfile.STATE_CONNECTED) {
                         item.icon = R.drawable.ic_qs_bluetooth_connected;
                         item.line2 = mContext.getString(R.string.quick_settings_connected);
                         item.canDisconnect = true;
-                    } else if (device.state == PairedDevice.STATE_CONNECTING) {
+                    } else if (state == BluetoothProfile.STATE_CONNECTING) {
                         item.icon = R.drawable.ic_qs_bluetooth_connecting;
                         item.line2 = mContext.getString(R.string.quick_settings_connecting);
                     }
@@ -222,11 +227,22 @@
             mItems.setItems(items);
         }
 
+        private int getBondedCount(Collection<CachedBluetoothDevice> devices) {
+            int ct = 0;
+            for (CachedBluetoothDevice device : devices) {
+                if (device.getBondState() != BluetoothDevice.BOND_NONE) {
+                    ct++;
+                }
+            }
+            return ct;
+        }
+
         @Override
         public void onDetailItemClick(Item item) {
             if (item == null || item.tag == null) return;
-            final PairedDevice device = (PairedDevice) item.tag;
-            if (device != null && device.state == PairedDevice.STATE_DISCONNECTED) {
+            final CachedBluetoothDevice device = (CachedBluetoothDevice) item.tag;
+            if (device != null && device.getMaxConnectionState()
+                    == BluetoothProfile.STATE_DISCONNECTED) {
                 mController.connect(device);
             }
         }
@@ -234,7 +250,7 @@
         @Override
         public void onDetailItemDisconnect(Item item) {
             if (item == null || item.tag == null) return;
-            final PairedDevice device = (PairedDevice) item.tag;
+            final CachedBluetoothDevice device = (CachedBluetoothDevice) item.tag;
             if (device != null) {
                 mController.disconnect(device);
             }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/UserDetailItemView.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/UserDetailItemView.java
index c55cbccb..21c5c96 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/UserDetailItemView.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/UserDetailItemView.java
@@ -28,7 +28,6 @@
 import android.graphics.Typeface;
 import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
-import android.util.TypedValue;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java
index e0b4c2f..1561f70 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java
@@ -18,7 +18,6 @@
 
 import android.app.Activity;
 import android.app.ActivityOptions;
-import android.app.Dialog;
 import android.app.SearchManager;
 import android.appwidget.AppWidgetHostView;
 import android.appwidget.AppWidgetManager;
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 925d17e..84544ff 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/misc/Utilities.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/misc/Utilities.java
@@ -33,7 +33,7 @@
     private static Method sPropertyMethod;
     static {
         try {
-            Class<?> c = Class.forName("android.view.GLES20Canvas");
+            Class<?> c = Class.forName("android.view.DisplayListCanvas");
             sPropertyMethod = c.getDeclaredMethod("setProperty", String.class, String.class);
             if (!sPropertyMethod.isAccessible()) sPropertyMethod.setAccessible(true);
         } catch (ClassNotFoundException e) {
diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoadPlan.java b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoadPlan.java
index 788e473..5d98dda 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoadPlan.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoadPlan.java
@@ -156,6 +156,7 @@
 
             if (!mConfig.multiStackEnabled ||
                     Constants.DebugFlags.App.EnableMultiStackToSingleStack) {
+                firstStackId = 0;
                 ArrayList<Task> stackTasks = stacksTasks.get(firstStackId);
                 if (stackTasks == null) {
                     stackTasks = new ArrayList<Task>();
diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java
index 887aaba..3192fe6 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java
@@ -33,7 +33,6 @@
 import com.android.systemui.recents.RecentsConfiguration;
 import com.android.systemui.recents.misc.SystemServicesProxy;
 
-import java.util.Collection;
 import java.util.concurrent.ConcurrentLinkedQueue;
 
 
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/FakeShadowDrawable.java b/packages/SystemUI/src/com/android/systemui/recents/views/FakeShadowDrawable.java
index 72f9001..509ad1b 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/FakeShadowDrawable.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/FakeShadowDrawable.java
@@ -159,9 +159,9 @@
     }
 
     @Override
-    public void setColorFilter(ColorFilter cf) {
-        mCornerShadowPaint.setColorFilter(cf);
-        mEdgeShadowPaint.setColorFilter(cf);
+    public void setColorFilter(ColorFilter colorFilter) {
+        mCornerShadowPaint.setColorFilter(colorFilter);
+        mEdgeShadowPaint.setColorFilter(colorFilter);
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java b/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java
index ea4c4ba..d46e41b 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java
@@ -42,7 +42,6 @@
 import com.android.systemui.recents.model.TaskStack;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 
 /**
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 81e960a..ca08319 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java
@@ -24,7 +24,6 @@
 import android.animation.ValueAnimator;
 import android.content.Context;
 import android.content.res.ColorStateList;
-import android.content.res.Resources;
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.Outline;
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewTransform.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewTransform.java
index 42c0f9f..bba7682 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewTransform.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewTransform.java
@@ -21,7 +21,6 @@
 import android.view.View;
 import android.view.ViewPropertyAnimator;
 import android.view.animation.Interpolator;
-import com.android.systemui.recents.Constants;
 
 
 /* The transform state for a task view */
diff --git a/packages/SystemUI/src/com/android/systemui/settings/BrightnessDialog.java b/packages/SystemUI/src/com/android/systemui/settings/BrightnessDialog.java
index a1704ff..74267a5 100644
--- a/packages/SystemUI/src/com/android/systemui/settings/BrightnessDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/settings/BrightnessDialog.java
@@ -17,11 +17,7 @@
 package com.android.systemui.settings;
 
 import android.app.Activity;
-import android.app.Dialog;
-import android.content.Context;
-import android.content.res.Resources;
 import android.os.Bundle;
-import android.os.Handler;
 import android.view.Gravity;
 import android.view.KeyEvent;
 import android.view.Window;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java
index e021cd4..0e5fd94 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java
@@ -94,7 +94,7 @@
             = new PathInterpolator(0, 0, 0.5f, 1);
     private final int mTintedRippleColor;
     private final int mLowPriorityRippleColor;
-    private final int mNormalRippleColor;
+    protected final int mNormalRippleColor;
 
     private boolean mDimmed;
     private boolean mDark;
@@ -115,7 +115,7 @@
     private OnActivatedListener mOnActivatedListener;
 
     private final Interpolator mLinearOutSlowInInterpolator;
-    private final Interpolator mFastOutSlowInInterpolator;
+    protected final Interpolator mFastOutSlowInInterpolator;
     private final Interpolator mSlowOutFastInInterpolator;
     private final Interpolator mSlowOutLinearInInterpolator;
     private final Interpolator mLinearInterpolator;
@@ -678,7 +678,7 @@
         }
     }
 
-    private int getRippleColor() {
+    protected int getRippleColor() {
         if (mBgTint != 0) {
             return mTintedRippleColor;
         } else if (mShowingLegacyBackground) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/AlphaOptimizedButton.java b/packages/SystemUI/src/com/android/systemui/statusbar/AlphaOptimizedButton.java
new file mode 100644
index 0000000..87c12c2
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/AlphaOptimizedButton.java
@@ -0,0 +1,48 @@
+/*
+ * 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 com.android.systemui.statusbar;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.Button;
+
+/**
+ * A Button which doesn't have overlapping drawing commands
+ */
+public class AlphaOptimizedButton extends Button {
+    public AlphaOptimizedButton(Context context) {
+        super(context);
+    }
+
+    public AlphaOptimizedButton(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public AlphaOptimizedButton(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+    }
+
+    public AlphaOptimizedButton(Context context, AttributeSet attrs, int defStyleAttr,
+            int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+    }
+
+    @Override
+    public boolean hasOverlappingRendering() {
+        return false;
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/AlphaOptimizedFrameLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/AlphaOptimizedFrameLayout.java
index a835c0e..359272e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/AlphaOptimizedFrameLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/AlphaOptimizedFrameLayout.java
@@ -19,7 +19,6 @@
 import android.content.Context;
 import android.util.AttributeSet;
 import android.widget.FrameLayout;
-import android.widget.LinearLayout;
 
 /**
  * A frame layout which does not have overlapping renderings commands and therefore does not need a
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/AlphaOptimizedImageView.java b/packages/SystemUI/src/com/android/systemui/statusbar/AlphaOptimizedImageView.java
index 094161d..858c118 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/AlphaOptimizedImageView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/AlphaOptimizedImageView.java
@@ -18,7 +18,6 @@
 
 import android.content.Context;
 import android.util.AttributeSet;
-import android.view.View;
 import android.widget.ImageView;
 
 /**
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
index ca54349..fab7409 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
@@ -24,6 +24,7 @@
 import android.app.Notification;
 import android.app.NotificationManager;
 import android.app.PendingIntent;
+import android.app.RemoteInput;
 import android.app.TaskStackBuilder;
 import android.app.admin.DevicePolicyManager;
 import android.content.BroadcastReceiver;
@@ -49,6 +50,7 @@
 import android.os.PowerManager;
 import android.os.RemoteException;
 import android.os.ServiceManager;
+import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.Settings;
@@ -59,6 +61,7 @@
 import android.service.notification.StatusBarNotification;
 import android.text.TextUtils;
 import android.util.Log;
+import android.util.Slog;
 import android.util.SparseArray;
 import android.util.SparseBooleanArray;
 import android.view.Display;
@@ -70,7 +73,6 @@
 import android.view.ViewGroup;
 import android.view.ViewGroup.LayoutParams;
 import android.view.ViewParent;
-import android.view.ViewStub;
 import android.view.WindowManager;
 import android.view.WindowManagerGlobal;
 import android.view.accessibility.AccessibilityManager;
@@ -94,9 +96,11 @@
 import com.android.systemui.recents.Recents;
 import com.android.systemui.statusbar.NotificationData.Entry;
 import com.android.systemui.statusbar.phone.NavigationBarView;
+import com.android.systemui.statusbar.phone.NotificationGroupManager;
 import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
 import com.android.systemui.statusbar.policy.HeadsUpNotificationView;
 import com.android.systemui.statusbar.policy.PreviewInflater;
+import com.android.systemui.statusbar.policy.RemoteInputView;
 import com.android.systemui.statusbar.stack.NotificationStackScrollLayout;
 
 import java.util.ArrayList;
@@ -116,6 +120,11 @@
     // STOPSHIP disable once we resolve b/18102199
     private static final boolean NOTIFICATION_CLICK_DEBUG = true;
 
+    public static final boolean ENABLE_REMOTE_INPUT =
+            Build.IS_DEBUGGABLE && SystemProperties.getBoolean("debug.enable_remote_input", false);
+    public static final boolean ENABLE_CHILD_NOTIFICATIONS = Build.IS_DEBUGGABLE
+                    && SystemProperties.getBoolean("debug.child_notifs", false);
+
     protected static final int MSG_SHOW_RECENT_APPS = 1019;
     protected static final int MSG_HIDE_RECENT_APPS = 1020;
     protected static final int MSG_TOGGLE_RECENTS_APPS = 1021;
@@ -149,6 +158,8 @@
     protected NotificationData mNotificationData;
     protected NotificationStackScrollLayout mStackScroller;
 
+    protected NotificationGroupManager mGroupManager = new NotificationGroupManager();
+
     // for heads up notifications
     protected HeadsUpNotificationView mHeadsUpNotificationView;
     protected int mHeadsUpNotificationDecay;
@@ -409,7 +420,7 @@
                 @Override
                 public void run() {
                     for (StatusBarNotification sbn : notifications) {
-                        addNotification(sbn, currentRanking);
+                        addNotification(sbn, currentRanking, null /* oldEntry */);
                     }
                 }
             });
@@ -419,61 +430,69 @@
         public void onNotificationPosted(final StatusBarNotification sbn,
                 final RankingMap rankingMap) {
             if (DEBUG) Log.d(TAG, "onNotificationPosted: " + sbn);
-            mHandler.post(new Runnable() {
-                @Override
-                public void run() {
-                    Notification n = sbn.getNotification();
-                    boolean isUpdate = mNotificationData.get(sbn.getKey()) != null
-                            || isHeadsUp(sbn.getKey());
+            if (sbn != null) {
+                mHandler.post(new Runnable() {
+                    @Override
+                    public void run() {
+                        processForRemoteInput(sbn.getNotification());
+                        Notification n = sbn.getNotification();
+                        boolean isUpdate = mNotificationData.get(sbn.getKey()) != null
+                                || isHeadsUp(sbn.getKey());
 
-                    // Ignore children of notifications that have a summary, since we're not
-                    // going to show them anyway. This is true also when the summary is canceled,
-                    // because children are automatically canceled by NoMan in that case.
-                    if (n.isGroupChild() &&
-                            mNotificationData.isGroupWithSummary(sbn.getGroupKey())) {
-                        if (DEBUG) {
-                            Log.d(TAG, "Ignoring group child due to existing summary: " + sbn);
+                        // In case we don't allow child notifications, we ignore children of
+                        // notifications that have a summary, since we're not going to show them
+                        // anyway. This is true also when the summary is canceled,
+                        // because children are automatically canceled by NoMan in that case.
+                        if (!ENABLE_CHILD_NOTIFICATIONS
+                            && mGroupManager.isChildInGroupWithSummary(sbn)) {
+                            if (DEBUG) {
+                                Log.d(TAG, "Ignoring group child due to existing summary: " + sbn);
+                            }
+
+                            // Remove existing notification to avoid stale data.
+                            if (isUpdate) {
+                                removeNotification(sbn.getKey(), rankingMap);
+                            } else {
+                                mNotificationData.updateRanking(rankingMap);
+                            }
+                            return;
                         }
-
-                        // Remove existing notification to avoid stale data.
                         if (isUpdate) {
-                            removeNotification(sbn.getKey(), rankingMap);
+                            updateNotification(sbn, rankingMap);
                         } else {
-                            mNotificationData.updateRanking(rankingMap);
+                            addNotification(sbn, rankingMap, null /* oldEntry */);
                         }
-                        return;
                     }
-                    if (isUpdate) {
-                        updateNotification(sbn, rankingMap);
-                    } else {
-                        addNotification(sbn, rankingMap);
-                    }
-                }
-            });
+                });
+            }
         }
 
         @Override
-        public void onNotificationRemoved(final StatusBarNotification sbn,
+        public void onNotificationRemoved(StatusBarNotification sbn,
                 final RankingMap rankingMap) {
             if (DEBUG) Log.d(TAG, "onNotificationRemoved: " + sbn);
-            mHandler.post(new Runnable() {
-                @Override
-                public void run() {
-                    removeNotification(sbn.getKey(), rankingMap);
-                }
-            });
+            if (sbn != null) {
+                final String key = sbn.getKey();
+                mHandler.post(new Runnable() {
+                    @Override
+                    public void run() {
+                        removeNotification(key, rankingMap);
+                    }
+                });
+            }
         }
 
         @Override
         public void onNotificationRankingUpdate(final RankingMap rankingMap) {
             if (DEBUG) Log.d(TAG, "onRankingUpdate");
+            if (rankingMap != null) {
             mHandler.post(new Runnable() {
                 @Override
                 public void run() {
                     updateNotificationRanking(rankingMap);
                 }
             });
-        }
+        }                            }
 
     };
 
@@ -693,6 +712,11 @@
         return null;
     }
 
+    @Override
+    public NotificationGroupManager getGroupManager() {
+        return mGroupManager;
+    }
+
     /**
      * Takes the necessary steps to prepare the status bar for starting an activity, then starts it.
      * @param action A dismiss action that is called if it's safe to start the activity.
@@ -825,16 +849,13 @@
         }, false /* afterKeyguardGone */);
     }
 
-    private void inflateGuts(ExpandableNotificationRow row) {
-        ViewStub stub = (ViewStub) row.findViewById(R.id.notification_guts_stub);
-        if (stub != null) {
-            stub.inflate();
-        }
+    private void bindGuts(ExpandableNotificationRow row) {
+        row.inflateGuts();
         final StatusBarNotification sbn = row.getStatusBarNotification();
         PackageManager pmUser = getPackageManagerForUser(
                 sbn.getUser().getIdentifier());
         row.setTag(sbn.getPackageName());
-        final View guts = row.findViewById(R.id.notification_guts);
+        final View guts = row.getGuts();
         final String pkg = sbn.getPackageName();
         String appname = pkg;
         Drawable pkgicon = null;
@@ -912,11 +933,11 @@
                     return false;
                 }
 
-                inflateGuts((ExpandableNotificationRow) v);
+                ExpandableNotificationRow row = (ExpandableNotificationRow) v;
+                bindGuts(row);
 
                 // Assume we are a status_bar_notification_row
-                final NotificationGuts guts = (NotificationGuts) v.findViewById(
-                        R.id.notification_guts);
+                final NotificationGuts guts = row.getGuts();
                 if (guts == null) {
                     // This view has no guts. Examples are the more card or the dismiss all view
                     return false;
@@ -1277,12 +1298,12 @@
     protected void workAroundBadLayerDrawableOpacity(View v) {
     }
 
-    private boolean inflateViews(NotificationData.Entry entry, ViewGroup parent) {
+    protected boolean inflateViews(NotificationData.Entry entry, ViewGroup parent) {
             return inflateViews(entry, parent, false);
     }
 
     protected boolean inflateViewsForHeadsUp(NotificationData.Entry entry, ViewGroup parent) {
-            return inflateViews(entry, parent, true);
+        return inflateViews(entry, parent, true);
     }
 
     private boolean inflateViews(NotificationData.Entry entry, ViewGroup parent, boolean isHeadsUp) {
@@ -1323,6 +1344,7 @@
             hasUserChangedExpansion = row.hasUserChangedExpansion();
             userExpanded = row.isUserExpanded();
             userLocked = row.isUserLocked();
+            entry.row.setHeadsUp(isHeadsUp);
             entry.reset();
             if (hasUserChangedExpansion) {
                 row.setUserExpanded(userExpanded);
@@ -1334,6 +1356,7 @@
             row = (ExpandableNotificationRow) inflater.inflate(R.layout.status_bar_notification_row,
                     parent, false);
             row.setExpansionLogger(this, entry.notification.getKey());
+            row.setGroupManager(mGroupManager);
         }
 
         workAroundBadLayerDrawableOpacity(row);
@@ -1350,6 +1373,9 @@
                 (NotificationContentView) row.findViewById(R.id.expandedPublic);
 
         row.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
+        if (ENABLE_REMOTE_INPUT) {
+            row.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
+        }
 
         PendingIntent contentIntent = sbn.getNotification().contentIntent;
         if (contentIntent != null) {
@@ -1511,9 +1537,103 @@
         }
         row.setUserLocked(userLocked);
         row.setStatusBarNotification(entry.notification);
+        applyRemoteInput(entry);
         return true;
     }
 
+    /**
+     * Adds RemoteInput actions from the WearableExtender; to be removed once more apps support this
+     * via first-class API.
+     *
+     * TODO: Remove once enough apps specify remote inputs on their own.
+     */
+    private void processForRemoteInput(Notification n) {
+        if (!ENABLE_REMOTE_INPUT) return;
+
+        if (n.extras != null && n.extras.containsKey("android.wearable.EXTENSIONS") &&
+                (n.actions == null || n.actions.length == 0)) {
+            Notification.Action viableAction = null;
+            Notification.WearableExtender we = new Notification.WearableExtender(n);
+
+            List<Notification.Action> actions = we.getActions();
+            final int numActions = actions.size();
+
+            for (int i = 0; i < numActions; i++) {
+                Notification.Action action = actions.get(i);
+                RemoteInput[] remoteInputs = action.getRemoteInputs();
+                for (RemoteInput ri : action.getRemoteInputs()) {
+                    if (ri.getAllowFreeFormInput()) {
+                        viableAction = action;
+                        break;
+                    }
+                }
+                if (viableAction != null) {
+                    break;
+                }
+            }
+
+            if (viableAction != null) {
+                Notification stripped = n.clone();
+                Notification.Builder.stripForDelivery(stripped);
+                stripped.actions = new Notification.Action[] { viableAction };
+                stripped.extras.putBoolean("android.rebuild.contentView", true);
+                stripped.contentView = null;
+                stripped.extras.putBoolean("android.rebuild.bigView", true);
+                stripped.bigContentView = null;
+
+                // Don't create the HUN input view for now because input doesn't work there yet.
+                // TODO: Enable once HUNs can take remote input correctly.
+                if (false) {
+                    stripped.extras.putBoolean("android.rebuild.hudView", true);
+                    stripped.headsUpContentView = null;
+                }
+
+                Notification rebuilt = Notification.Builder.rebuild(mContext, stripped);
+
+                n.actions = rebuilt.actions;
+                n.bigContentView = rebuilt.bigContentView;
+                n.headsUpContentView = rebuilt.headsUpContentView;
+                n.publicVersion = rebuilt.publicVersion;
+            }
+        }
+    }
+
+    private void applyRemoteInput(final Entry entry) {
+        if (!ENABLE_REMOTE_INPUT) return;
+
+        RemoteInput remoteInput = null;
+
+        // See if the notification has exactly one action and this action allows free-form input
+        // TODO: relax restrictions once we support more than one remote input action.
+        Notification.Action[] actions = entry.notification.getNotification().actions;
+        if (actions != null && actions.length == 1) {
+            if (actions[0].getRemoteInputs() != null) {
+                for (RemoteInput ri : actions[0].getRemoteInputs()) {
+                    if (ri.getAllowFreeFormInput()) {
+                        remoteInput = ri;
+                        break;
+                    }
+                }
+            }
+        }
+
+        // See if we have somewhere to put that remote input
+        ViewGroup actionContainer = null;
+        if (remoteInput != null && entry.expandedBig != null) {
+            View actionContainerCandidate = entry.expandedBig
+                    .findViewById(com.android.internal.R.id.actions);
+            if (actionContainerCandidate instanceof ViewGroup) {
+                actionContainer = (ViewGroup) actionContainerCandidate;
+            }
+        }
+
+        if (actionContainer != null) {
+            actionContainer.removeAllViews();
+            actionContainer.addView(
+                    RemoteInputView.inflate(mContext, actionContainer, actions[0], remoteInput));
+        }
+    }
+
     public NotificationClicker makeClicker(PendingIntent intent, String notificationKey) {
         return new NotificationClicker(intent, notificationKey);
     }
@@ -1681,6 +1801,21 @@
         if (DEBUG) {
             Log.d(TAG, "createNotificationViews(notification=" + sbn);
         }
+        final StatusBarIconView iconView = createIcon(sbn);
+        if (iconView == null) {
+            return null;
+        }
+
+        // Construct the expanded view.
+        NotificationData.Entry entry = new NotificationData.Entry(sbn, iconView);
+        if (!inflateViews(entry, mStackScroller)) {
+            handleNotificationError(sbn, "Couldn't expand RemoteViews for: " + sbn);
+            return null;
+        }
+        return entry;
+    }
+
+    protected StatusBarIconView createIcon(StatusBarNotification sbn) {
         // Construct the icon.
         Notification n = sbn.getNotification();
         final StatusBarIconView iconView = new StatusBarIconView(mContext,
@@ -1697,13 +1832,7 @@
             handleNotificationError(sbn, "Couldn't create icon: " + ic);
             return null;
         }
-        // Construct the expanded view.
-        NotificationData.Entry entry = new NotificationData.Entry(sbn, iconView);
-        if (!inflateViews(entry, mStackScroller)) {
-            handleNotificationError(sbn, "Couldn't expand RemoteViews for: " + sbn);
-            return null;
-        }
-        return entry;
+        return iconView;
     }
 
     protected void addNotificationViews(Entry entry, RankingMap ranking) {
@@ -1743,22 +1872,25 @@
                     entry.row.setSystemExpanded(top);
                 }
             }
+            boolean isInvisibleChild = !mGroupManager.isVisible(entry.notification);
             boolean showOnKeyguard = shouldShowOnKeyguard(entry.notification);
             if ((isLockscreenPublicMode() && !mShowLockscreenNotifications) ||
                     (onKeyguard && (visibleNotifications >= maxKeyguardNotifications
-                            || !showOnKeyguard))) {
+                            || !showOnKeyguard || isInvisibleChild))) {
                 entry.row.setVisibility(View.GONE);
-                if (onKeyguard && showOnKeyguard) {
+                if (onKeyguard && showOnKeyguard && !isInvisibleChild) {
                     mKeyguardIconOverflowContainer.getIconsView().addNotification(entry);
                 }
             } else {
                 boolean wasGone = entry.row.getVisibility() == View.GONE;
                 entry.row.setVisibility(View.VISIBLE);
-                if (wasGone) {
-                    // notify the scroller of a child addition
-                    mStackScroller.generateAddAnimation(entry.row, true /* fromMoreCard */);
+                if (!isInvisibleChild) {
+                    if (wasGone) {
+                        // notify the scroller of a child addition
+                        mStackScroller.generateAddAnimation(entry.row, true /* fromMoreCard */);
+                    }
+                    visibleNotifications++;
                 }
-                visibleNotifications++;
             }
         }
 
@@ -1806,7 +1938,7 @@
     protected abstract boolean shouldDisableNavbarGestures();
 
     public abstract void addNotification(StatusBarNotification notification,
-            RankingMap ranking);
+            RankingMap ranking, Entry oldEntry);
     protected abstract void updateNotificationRanking(RankingMap ranking);
     public abstract void removeNotification(String key, RankingMap ranking);
 
@@ -1895,6 +2027,7 @@
                 && publicUnchanged) {
             if (DEBUG) Log.d(TAG, "reusing notification for key: " + key);
             oldEntry.notification = notification;
+            mGroupManager.onEntryUpdated(oldEntry, oldNotification);
             try {
                 if (oldEntry.icon != null) {
                     // Update the icon
@@ -1922,8 +2055,10 @@
                     }
                 } else {
                     if (shouldInterrupt && alertAgain) {
+                        mStackScroller.setRemoveAnimationEnabled(false);
                         removeNotificationViews(key, ranking);
-                        addNotification(notification, ranking);  //this will pop the headsup
+                        mStackScroller.setRemoveAnimationEnabled(true);
+                        addNotification(notification, ranking, oldEntry);  //this will pop the headsup
                     } else {
                         updateNotificationViews(oldEntry, notification);
                     }
@@ -1941,10 +2076,9 @@
             if (DEBUG) Log.d(TAG, "not reusing notification for key: " + key);
             if (wasHeadsUp) {
                 if (DEBUG) Log.d(TAG, "rebuilding heads up for key: " + key);
-                Entry newEntry = new Entry(notification, null);
                 ViewGroup holder = mHeadsUpNotificationView.getHolder();
-                if (inflateViewsForHeadsUp(newEntry, holder)) {
-                    mHeadsUpNotificationView.updateNotification(newEntry, alertAgain);
+                if (inflateViewsForHeadsUp(oldEntry, holder)) {
+                    mHeadsUpNotificationView.updateNotification(oldEntry, alertAgain);
                 } else {
                     Log.w(TAG, "Couldn't create new updated headsup for package "
                             + contentView.getPackage());
@@ -1952,17 +2086,21 @@
                 if (!shouldInterrupt) {
                     if (DEBUG) Log.d(TAG, "releasing heads up for key: " + key);
                     oldEntry.notification = notification;
+                    mGroupManager.onEntryUpdated(oldEntry, oldNotification);
                     mHeadsUpNotificationView.release();
                     return;
                 }
             } else {
                 if (shouldInterrupt && alertAgain) {
                     if (DEBUG) Log.d(TAG, "reposting to invoke heads up for key: " + key);
+                    mStackScroller.setRemoveAnimationEnabled(false);
                     removeNotificationViews(key, ranking);
-                    addNotification(notification, ranking);  //this will pop the headsup
+                    mStackScroller.setRemoveAnimationEnabled(true);
+                    addNotification(notification, ranking, oldEntry);  //this will pop the headsup
                 } else {
                     if (DEBUG) Log.d(TAG, "rebuilding update in place for key: " + key);
                     oldEntry.notification = notification;
+                    mGroupManager.onEntryUpdated(oldEntry, oldNotification);
                     final StatusBarIcon ic = new StatusBarIcon(notification.getPackageName(),
                             notification.getUser(),
                             n.icon,
@@ -2030,6 +2168,8 @@
         entry.row.setStatusBarNotification(notification);
         entry.row.notifyContentUpdated();
         entry.row.resetHeight();
+
+        applyRemoteInput(entry);
     }
 
     protected void notifyHeadsUpScreenOn(boolean screenOn) {
@@ -2144,6 +2284,14 @@
     }
 
     public boolean isKeyguardSecure() {
+        if (mStatusBarKeyguardViewManager == null) {
+            // startKeyguard() hasn't been called yet, so we don't know.
+            // Make sure anything that needs to know isKeyguardSecure() checks and re-checks this
+            // value onVisibilityChanged().
+            Slog.w(TAG, "isKeyguardSecure() called before startKeyguard(), returning false",
+                    new Throwable());
+            return false;
+        }
         return mStatusBarKeyguardViewManager.isSecure();
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/DismissViewButton.java b/packages/SystemUI/src/com/android/systemui/statusbar/DismissViewButton.java
index f2a5673..00665f4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/DismissViewButton.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/DismissViewButton.java
@@ -21,12 +21,9 @@
 import android.graphics.Rect;
 import android.graphics.drawable.AnimatedVectorDrawable;
 import android.graphics.drawable.Drawable;
-import android.os.SystemClock;
 import android.util.AttributeSet;
-import android.view.Choreographer;
 import android.view.View;
 import android.view.ViewGroup;
-import android.view.ViewRootImpl;
 import android.widget.Button;
 import com.android.systemui.R;
 import com.android.systemui.statusbar.stack.NotificationStackScrollLayout;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/DragDownHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/DragDownHelper.java
index c9f0260..15a092c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/DragDownHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/DragDownHelper.java
@@ -162,20 +162,20 @@
                 ? RUBBERBAND_FACTOR_EXPANDABLE
                 : RUBBERBAND_FACTOR_STATIC;
         float rubberband = heightDelta * rubberbandFactor;
-        if (expandable && (rubberband + child.getMinHeight()) > child.getMaxHeight()) {
-            float overshoot = (rubberband + child.getMinHeight()) - child.getMaxHeight();
+        if (expandable && (rubberband + child.getMinHeight()) > child.getMaxContentHeight()) {
+            float overshoot = (rubberband + child.getMinHeight()) - child.getMaxContentHeight();
             overshoot *= (1 - RUBBERBAND_FACTOR_STATIC);
             rubberband -= overshoot;
         }
-        child.setActualHeight((int) (child.getMinHeight() + rubberband));
+        child.setContentHeight((int) (child.getMinHeight() + rubberband));
     }
 
     private void cancelExpansion(final ExpandableView child) {
-        if (child.getActualHeight() == child.getMinHeight()) {
+        if (child.getContentHeight() == child.getMinHeight()) {
             return;
         }
-        ObjectAnimator anim = ObjectAnimator.ofInt(child, "actualHeight",
-                child.getActualHeight(), child.getMinHeight());
+        ObjectAnimator anim = ObjectAnimator.ofInt(child, "contentHeight",
+                child.getContentHeight(), child.getMinHeight());
         anim.setInterpolator(mInterpolator);
         anim.setDuration(SPRING_BACK_ANIMATION_LENGTH_MS);
         anim.addListener(new AnimatorListenerAdapter() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/EmptyShadeView.java b/packages/SystemUI/src/com/android/systemui/statusbar/EmptyShadeView.java
index 0825aa3..5db0699 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/EmptyShadeView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/EmptyShadeView.java
@@ -20,11 +20,9 @@
 import android.content.res.Configuration;
 import android.util.AttributeSet;
 import android.view.View;
-import android.view.animation.Interpolator;
 import android.widget.TextView;
 
 import com.android.systemui.R;
-import com.android.systemui.statusbar.phone.PhoneStatusBar;
 
 public class EmptyShadeView extends StackScrollerDecorView {
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
index a52d0f6..06a174e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java
@@ -16,9 +16,13 @@
 
 package com.android.systemui.statusbar;
 
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.ValueAnimator;
 import android.content.Context;
 import android.graphics.drawable.AnimatedVectorDrawable;
 import android.graphics.drawable.AnimationDrawable;
+import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.service.notification.StatusBarNotification;
 import android.util.AttributeSet;
@@ -26,12 +30,25 @@
 import android.view.View;
 import android.view.ViewStub;
 import android.view.accessibility.AccessibilityEvent;
+import android.view.animation.LinearInterpolator;
 import android.widget.ImageView;
+
 import com.android.systemui.R;
+import com.android.systemui.statusbar.phone.NotificationGroupManager;
+import com.android.systemui.statusbar.phone.PhoneStatusBar;
+import com.android.systemui.statusbar.stack.NotificationChildrenContainer;
+import com.android.systemui.statusbar.stack.StackScrollState;
+import com.android.systemui.statusbar.stack.StackStateAnimator;
+import com.android.systemui.statusbar.stack.StackViewState;
+
+import java.util.List;
 
 public class ExpandableNotificationRow extends ActivatableNotificationView {
+
+    private static final int DEFAULT_DIVIDER_ALPHA = 0x29;
+    private static final int COLORED_DIVIDER_ALPHA = 0x7B;
+    private final LinearInterpolator mLinearInterpolator = new LinearInterpolator();
     private int mRowMinHeight;
-    private int mRowMaxHeight;
 
     /** Does this row contain layouts that can adapt to row expansion */
     private boolean mExpandable;
@@ -70,6 +87,27 @@
 
     private StatusBarNotification mStatusBarNotification;
     private boolean mIsHeadsUp;
+    private View mExpandButton;
+    private View mExpandButtonDivider;
+    private ViewStub mExpandButtonStub;
+    private ViewStub mChildrenContainerStub;
+    private NotificationGroupManager mGroupManager;
+    private View mExpandButtonContainer;
+    private boolean mChildrenExpanded;
+    private NotificationChildrenContainer mChildrenContainer;
+    private ValueAnimator mChildExpandAnimator;
+    private float mChildrenExpandProgress;
+    private float mExpandButtonStart;
+    private ViewStub mGutsStub;
+    private boolean mHasExpandAction;
+    private boolean mIsSystemChildExpanded;
+    private OnClickListener mExpandClickListener = new OnClickListener() {
+        @Override
+        public void onClick(View v) {
+            mGroupManager.setGroupExpanded(mStatusBarNotification,
+                    !mChildrenExpanded);
+        }
+    };
 
     public void setIconAnimationRunning(boolean running) {
         setIconAnimationRunning(running, mPublicLayout);
@@ -119,6 +157,7 @@
     public void setStatusBarNotification(StatusBarNotification statusBarNotification) {
         mStatusBarNotification = statusBarNotification;
         updateVetoButton();
+        updateExpandButton();
     }
 
     public StatusBarNotification getStatusBarNotification() {
@@ -129,6 +168,101 @@
         mIsHeadsUp = isHeadsUp;
     }
 
+    public void setGroupManager(NotificationGroupManager groupManager) {
+        mGroupManager = groupManager;
+    }
+
+    public void addChildNotification(ExpandableNotificationRow row) {
+        addChildNotification(row, -1);
+    }
+
+    /**
+     * Add a child notification to this view.
+     *
+     * @param row the row to add
+     * @param childIndex the index to add it at, if -1 it will be added at the end
+     */
+    public void addChildNotification(ExpandableNotificationRow row, int childIndex) {
+        if (mChildrenContainer == null) {
+            mChildrenContainerStub.inflate();
+        }
+        mChildrenContainer.addNotification(row, childIndex);
+    }
+
+    public void removeChildNotification(ExpandableNotificationRow row) {
+        if (mChildrenContainer != null) {
+            mChildrenContainer.removeNotification(row);
+        }
+    }
+
+    @Override
+    public boolean areChildrenExpanded() {
+        return mChildrenExpanded;
+    }
+
+    public List<ExpandableNotificationRow> getNotificationChildren() {
+        return mChildrenContainer == null ? null : mChildrenContainer.getNotificationChildren();
+    }
+
+    /**
+     * Apply the order given in the list to the children.
+     *
+     * @param childOrder the new list order
+     * @return whether the list order has changed
+     */
+    public boolean applyChildOrder(List<ExpandableNotificationRow> childOrder) {
+        return mChildrenContainer != null && mChildrenContainer.applyChildOrder(childOrder);
+    }
+
+    public void getChildrenStates(StackScrollState resultState) {
+        if (mChildrenExpanded) {
+            StackViewState parentState = resultState.getViewStateForView(this);
+            mChildrenContainer.getState(resultState, parentState);
+        }
+    }
+
+    public void applyChildrenState(StackScrollState state) {
+        if (mChildrenExpanded) {
+            mChildrenContainer.applyState(state);
+        }
+    }
+
+    public void prepareExpansionChanged(StackScrollState state) {
+        if (mChildrenExpanded) {
+            mChildrenContainer.prepareExpansionChanged(state);
+        }
+    }
+
+    public void startChildAnimation(StackScrollState finalState,
+            StackStateAnimator stateAnimator, boolean withDelays, long delay, long duration) {
+        if (mChildrenExpanded) {
+            mChildrenContainer.startAnimationToState(finalState, stateAnimator, withDelays, delay,
+                    duration);
+        }
+    }
+
+    public ExpandableNotificationRow getViewAtPosition(float y) {
+        if (!mChildrenExpanded) {
+            return this;
+        } else {
+            ExpandableNotificationRow view = mChildrenContainer.getViewAtPosition(y);
+            return view == null ? this : view;
+        }
+    }
+
+    public NotificationGuts getGuts() {
+        return mGuts;
+    }
+
+    protected int calculateContentHeightFromActualHeight(int actualHeight) {
+        int realActualHeight = actualHeight;
+        if (hasBottomDecor()) {
+            realActualHeight -= getBottomDecorHeight();
+        }
+        realActualHeight = Math.max(getMinHeight(), realActualHeight);
+        return realActualHeight;
+    }
+
     public interface ExpansionLogger {
         public void logNotificationExpansion(String key, boolean userAction, boolean expanded);
     }
@@ -145,7 +279,7 @@
         super.reset();
         mRowMinHeight = 0;
         final boolean wasExpanded = isExpanded();
-        mRowMaxHeight = 0;
+        mMaxViewHeight = 0;
         mExpandable = false;
         mHasUserChangedExpansion = false;
         mUserLocked = false;
@@ -180,18 +314,94 @@
         super.onFinishInflate();
         mPublicLayout = (NotificationContentView) findViewById(R.id.expandedPublic);
         mPrivateLayout = (NotificationContentView) findViewById(R.id.expanded);
-        ViewStub gutsStub = (ViewStub) findViewById(R.id.notification_guts_stub);
-        gutsStub.setOnInflateListener(new ViewStub.OnInflateListener() {
+        mGutsStub = (ViewStub) findViewById(R.id.notification_guts_stub);
+        mGutsStub.setOnInflateListener(new ViewStub.OnInflateListener() {
             @Override
             public void onInflate(ViewStub stub, View inflated) {
                 mGuts = (NotificationGuts) inflated;
                 mGuts.setClipTopAmount(getClipTopAmount());
                 mGuts.setActualHeight(getActualHeight());
+                mGutsStub = null;
+            }
+        });
+        mExpandButtonStub = (ViewStub) findViewById(R.id.more_button_stub);
+        mExpandButtonStub.setOnInflateListener(new ViewStub.OnInflateListener() {
+
+            @Override
+            public void onInflate(ViewStub stub, View inflated) {
+                mExpandButtonContainer = inflated;
+                mExpandButton = inflated.findViewById(R.id.notification_expand_button);
+                mExpandButtonDivider = inflated.findViewById(R.id.notification_expand_divider);
+                mExpandButtonContainer.setOnClickListener(mExpandClickListener);
+            }
+        });
+        mChildrenContainerStub = (ViewStub) findViewById(R.id.child_container_stub);
+        mChildrenContainerStub.setOnInflateListener(new ViewStub.OnInflateListener() {
+
+            @Override
+            public void onInflate(ViewStub stub, View inflated) {
+                mChildrenContainer = (NotificationChildrenContainer) inflated;
+                mChildrenContainer.setCollapseClickListener(mExpandClickListener);
+                updateChildrenVisibility(false);
             }
         });
         mVetoButton = findViewById(R.id.veto);
     }
 
+    public void inflateGuts() {
+        if (mGuts == null) {
+            mGutsStub.inflate();
+        }
+    }
+
+    private void updateChildrenVisibility(boolean animated) {
+        if (mChildrenContainer == null) {
+            return;
+        }
+        if (mChildExpandAnimator != null) {
+            mChildExpandAnimator.cancel();
+        }
+        float targetProgress = mChildrenExpanded ? 1.0f : 0.0f;
+        if (animated) {
+            if (mChildrenExpanded) {
+                mChildrenContainer.setVisibility(VISIBLE);
+            }
+            mExpandButtonStart = mExpandButtonContainer.getTranslationY();
+            mChildExpandAnimator = ValueAnimator.ofFloat(mChildrenExpandProgress, targetProgress);
+            mChildExpandAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+                @Override
+                public void onAnimationUpdate(ValueAnimator animation) {
+                    setChildrenExpandProgress((float) animation.getAnimatedValue());
+                }
+            });
+            mChildExpandAnimator.addListener(new AnimatorListenerAdapter() {
+                @Override
+                public void onAnimationEnd(Animator animation) {
+                    mChildExpandAnimator = null;
+                    if (!mChildrenExpanded) {
+                        mChildrenContainer.setVisibility(INVISIBLE);
+                    }
+                }
+            });
+            mChildExpandAnimator.setInterpolator(mLinearInterpolator);
+            mChildExpandAnimator.setDuration(
+                    StackStateAnimator.ANIMATION_DURATION_EXPAND_CLICKED);
+            mChildExpandAnimator.start();
+        } else {
+            setChildrenExpandProgress(targetProgress);
+            mChildrenContainer.setVisibility(mChildrenExpanded ? VISIBLE : INVISIBLE);
+        }
+    }
+
+    private void setChildrenExpandProgress(float progress) {
+        mChildrenExpandProgress = progress;
+        updateExpandButtonAppearance();
+        NotificationContentView showingLayout = getShowingLayout();
+        float alpha = 1.0f - mChildrenExpandProgress;
+        alpha = PhoneStatusBar.ALPHA_OUT.getInterpolation(alpha);
+        showingLayout.setAlpha(alpha);
+    }
+
     @Override
     public boolean onRequestSendAccessibilityEventInternal(View child, AccessibilityEvent event) {
         if (super.onRequestSendAccessibilityEventInternal(child, event)) {
@@ -217,7 +427,7 @@
 
     public void setHeightRange(int rowMinHeight, int rowMaxHeight) {
         mRowMinHeight = rowMinHeight;
-        mRowMaxHeight = rowMaxHeight;
+        mMaxViewHeight = rowMaxHeight;
     }
 
     public boolean isExpandable() {
@@ -281,7 +491,7 @@
         if (expand != mIsSystemExpanded) {
             final boolean wasExpanded = isExpanded();
             mIsSystemExpanded = expand;
-            notifyHeightChanged();
+            notifyHeightChanged(false /* needsAnimation */);
             logExpansionEvent(false, wasExpanded);
         }
     }
@@ -295,7 +505,7 @@
             mExpansionDisabled = expansionDisabled;
             logExpansionEvent(false, wasExpanded);
             if (wasExpanded != isExpanded()) {
-                notifyHeightChanged();
+                notifyHeightChanged(false  /* needsAnimation */);
             }
         }
     }
@@ -313,9 +523,9 @@
     public void applyExpansionToLayout() {
         boolean expand = isExpanded();
         if (expand && mExpandable) {
-            setActualHeight(mMaxExpandHeight);
+            setContentHeight(mMaxExpandHeight);
         } else {
-            setActualHeight(mRowMinHeight);
+            setContentHeight(mRowMinHeight);
         }
     }
 
@@ -325,12 +535,26 @@
             return getActualHeight();
         }
         boolean inExpansionState = isExpanded();
-        if (!inExpansionState) {
-            // not expanded, so we return the collapsed size
-            return mRowMinHeight;
+        int maxContentHeight;
+        if ((!inExpansionState && !mChildrenExpanded) || mShowingPublicForIntrinsicHeight) {
+            maxContentHeight = mRowMinHeight;
+        } else if (mChildrenExpanded) {
+            maxContentHeight = mChildrenContainer.getIntrinsicHeight();
+        } else {
+            maxContentHeight = getMaxExpandHeight();
         }
+        return maxContentHeight + getBottomDecorHeight();
+    }
 
-        return mShowingPublicForIntrinsicHeight ? mRowMinHeight : getMaxExpandHeight();
+    @Override
+    protected boolean hasBottomDecor() {
+        return BaseStatusBar.ENABLE_CHILD_NOTIFICATIONS
+                && !mIsHeadsUp && mGroupManager.hasGroupChildren(mStatusBarNotification);
+    }
+
+    @Override
+    protected boolean canHaveBottomDecor() {
+        return BaseStatusBar.ENABLE_CHILD_NOTIFICATIONS && !mIsHeadsUp;
     }
 
     /**
@@ -343,7 +567,16 @@
      */
     private boolean isExpanded() {
         return !mExpansionDisabled
-                && (!hasUserChangedExpansion() && isSystemExpanded() || isUserExpanded());
+                && (!hasUserChangedExpansion() && (isSystemExpanded() || isSystemChildExpanded())
+                || isUserExpanded());
+    }
+
+    private boolean isSystemChildExpanded() {
+        return mIsSystemChildExpanded;
+    }
+
+    public void setSystemChildExpanded(boolean expanded) {
+        mIsSystemChildExpanded = expanded;
     }
 
     @Override
@@ -357,11 +590,20 @@
         mWasReset = false;
     }
 
+    @Override
+    protected boolean isChildInvisible(View child) {
+
+        // We don't want to layout the ChildrenContainer if this is a heads-up view, otherwise the
+        // view will get too high and the shadows will be off.
+        boolean isInvisibleChildContainer = child == mChildrenContainer && mIsHeadsUp;
+        return super.isChildInvisible(child) || isInvisibleChildContainer;
+    }
+
     private void updateMaxExpandHeight() {
         int intrinsicBefore = getIntrinsicHeight();
         mMaxExpandHeight = mPrivateLayout.getMaxHeight();
         if (intrinsicBefore != getIntrinsicHeight()) {
-            notifyHeightChanged();
+            notifyHeightChanged(false  /* needsAnimation */);
         }
     }
 
@@ -428,8 +670,127 @@
         mVetoButton.setVisibility(isClearable() && !mShowingPublic ? View.VISIBLE : View.GONE);
     }
 
+    public void setChildrenExpanded(boolean expanded, boolean animate) {
+        mChildrenExpanded = expanded;
+        updateChildrenVisibility(animate);
+    }
+
+    public void updateExpandButton() {
+        boolean hasExpand = hasBottomDecor();
+        if (hasExpand != mHasExpandAction) {
+            if (hasExpand) {
+                if (mExpandButtonContainer == null) {
+                    mExpandButtonStub.inflate();
+                }
+                mExpandButtonContainer.setVisibility(View.VISIBLE);
+                updateExpandButtonAppearance();
+                updateExpandButtonColor();
+            } else if (mExpandButtonContainer != null) {
+                mExpandButtonContainer.setVisibility(View.GONE);
+            }
+            notifyHeightChanged(true  /* needsAnimation */);
+        }
+        mHasExpandAction = hasExpand;
+    }
+
+    private void updateExpandButtonAppearance() {
+        if (mExpandButtonContainer == null) {
+            return;
+        }
+        float expandButtonAlpha = 0.0f;
+        float expandButtonTranslation = 0.0f;
+        float containerTranslation = 0.0f;
+        int minHeight = getMinHeight();
+        if (!mChildrenExpanded || mChildExpandAnimator != null) {
+            int expandActionHeight = getBottomDecorHeight();
+            int translationY = getActualHeight() - expandActionHeight;
+            if (translationY > minHeight) {
+                containerTranslation = translationY;
+                expandButtonAlpha = 1.0f;
+                expandButtonTranslation = 0.0f;
+            } else {
+                containerTranslation = minHeight;
+                float progress = expandActionHeight != 0
+                        ? (minHeight - translationY) / (float) expandActionHeight
+                        : 1.0f;
+                expandButtonTranslation = -progress * expandActionHeight * 0.7f;
+                float alphaProgress = Math.min(progress / 0.7f, 1.0f);
+                alphaProgress = PhoneStatusBar.ALPHA_OUT.getInterpolation(alphaProgress);
+                expandButtonAlpha = 1.0f - alphaProgress;
+            }
+        }
+        if (mChildExpandAnimator != null || mChildrenExpanded) {
+            expandButtonAlpha = (1.0f - mChildrenExpandProgress)
+                    * expandButtonAlpha;
+            expandButtonTranslation = (1.0f - mChildrenExpandProgress)
+                    * expandButtonTranslation;
+            float newTranslation = -getBottomDecorHeight();
+
+            // We don't want to take the actual height of the view as this is already
+            // interpolated by a custom interpolator leading to a confusing animation. We want
+            // to have a stable end value to interpolate in between
+            float collapsedHeight = !mChildrenExpanded
+                    ? Math.max(StackStateAnimator.getFinalActualHeight(this)
+                            - getBottomDecorHeight(), minHeight)
+                    : mExpandButtonStart;
+            float translationProgress = mFastOutSlowInInterpolator.getInterpolation(
+                    mChildrenExpandProgress);
+            containerTranslation = (1.0f - translationProgress) * collapsedHeight
+                    + translationProgress * newTranslation;
+        }
+        mExpandButton.setAlpha(expandButtonAlpha);
+        mExpandButtonDivider.setAlpha(expandButtonAlpha);
+        mExpandButton.setTranslationY(expandButtonTranslation);
+        mExpandButtonContainer.setTranslationY(containerTranslation);
+        NotificationContentView showingLayout = getShowingLayout();
+        float layoutTranslation =
+                mExpandButtonContainer.getTranslationY() - showingLayout.getContentHeight();
+        layoutTranslation = Math.min(layoutTranslation, 0);
+        if (!mChildrenExpanded && mChildExpandAnimator == null) {
+            // Needed for the DragDownHelper in order not to jump there, as the position
+            // can be negative for a short time.
+            layoutTranslation = 0;
+        }
+        showingLayout.setTranslationY(layoutTranslation);
+        if (mChildrenContainer != null) {
+            mChildrenContainer.setTranslationY(
+                    mExpandButtonContainer.getTranslationY() + getBottomDecorHeight());
+        }
+    }
+
+    private void updateExpandButtonColor() {
+        // TODO: This needs some more baking, currently only the divider is colored according to
+        // the tint, but legacy black doesn't work yet perfectly for the button etc.
+        int color = getRippleColor();
+        if (color == mNormalRippleColor) {
+            color = 0;
+        }
+        if (mExpandButtonDivider != null) {
+            applyTint(mExpandButtonDivider, color);
+        }
+        if (mChildrenContainer != null) {
+            mChildrenContainer.setTintColor(color);
+        }
+    }
+
+    public static void applyTint(View v, int color) {
+        int alpha;
+        if (color != 0) {
+            alpha = COLORED_DIVIDER_ALPHA;
+        } else {
+            color = 0xff000000;
+            alpha = DEFAULT_DIVIDER_ALPHA;
+        }
+        if (v.getBackground() instanceof ColorDrawable) {
+            ColorDrawable background = (ColorDrawable) v.getBackground();
+            background.mutate();
+            background.setColor(color);
+            background.setAlpha(alpha);
+        }
+    }
+
     public int getMaxExpandHeight() {
-        return mShowingPublicForIntrinsicHeight ? mRowMinHeight : mMaxExpandHeight;
+        return mMaxExpandHeight;
     }
 
     @Override
@@ -440,17 +801,19 @@
 
     @Override
     public void setActualHeight(int height, boolean notifyListeners) {
-        mPrivateLayout.setActualHeight(height);
-        mPublicLayout.setActualHeight(height);
+        super.setActualHeight(height, notifyListeners);
+        int contentHeight = calculateContentHeightFromActualHeight(height);
+        mPrivateLayout.setContentHeight(contentHeight);
+        mPublicLayout.setContentHeight(contentHeight);
         if (mGuts != null) {
             mGuts.setActualHeight(height);
         }
         invalidate();
-        super.setActualHeight(height, notifyListeners);
+        updateExpandButtonAppearance();
     }
 
     @Override
-    public int getMaxHeight() {
+    public int getMaxContentHeight() {
         NotificationContentView showingLayout = getShowingLayout();
         return showingLayout.getMaxHeight();
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java
index ebc663c..7ae0d6d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java
@@ -33,24 +33,32 @@
  */
 public abstract class ExpandableView extends FrameLayout {
 
-    private final int mMaxNotificationHeight;
-
-    private OnHeightChangedListener mOnHeightChangedListener;
+    private final int mBottomDecorHeight;
+    protected OnHeightChangedListener mOnHeightChangedListener;
+    protected int mMaxViewHeight;
     private int mActualHeight;
     protected int mClipTopAmount;
     private boolean mActualHeightInitialized;
     private boolean mDark;
     private ArrayList<View> mMatchParentViews = new ArrayList<View>();
+    private int mClipTopOptimization;
+    private static Rect mClipRect = new Rect();
 
     public ExpandableView(Context context, AttributeSet attrs) {
         super(context, attrs);
-        mMaxNotificationHeight = getResources().getDimensionPixelSize(
+        mMaxViewHeight = getResources().getDimensionPixelSize(
                 R.dimen.notification_max_height);
+        mBottomDecorHeight = resolveBottomDecorHeight();
+    }
+
+    protected int resolveBottomDecorHeight() {
+        return getResources().getDimensionPixelSize(
+                R.dimen.notification_bottom_decor_height);
     }
 
     @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        int ownMaxHeight = mMaxNotificationHeight;
+        int ownMaxHeight = mMaxViewHeight;
         int heightMode = MeasureSpec.getMode(heightMeasureSpec);
         boolean hasFixedHeight = heightMode == MeasureSpec.EXACTLY;
         boolean isHeightLimited = heightMode == MeasureSpec.AT_MOST;
@@ -63,6 +71,9 @@
         int childCount = getChildCount();
         for (int i = 0; i < childCount; i++) {
             View child = getChildAt(i);
+            if (child.getVisibility() == GONE || isChildInvisible(child)) {
+                continue;
+            }
             int childHeightSpec = newHeightSpec;
             ViewGroup.LayoutParams layoutParams = child.getLayoutParams();
             if (layoutParams.height != ViewGroup.LayoutParams.MATCH_PARENT) {
@@ -81,7 +92,8 @@
                 mMatchParentViews.add(child);
             }
         }
-        int ownHeight = hasFixedHeight ? ownMaxHeight : maxChildHeight;
+        int ownHeight = hasFixedHeight ? ownMaxHeight :
+                isHeightLimited ? Math.min(ownMaxHeight, maxChildHeight) : maxChildHeight;
         newHeightSpec = MeasureSpec.makeMeasureSpec(ownHeight, MeasureSpec.EXACTLY);
         for (View child : mMatchParentViews) {
             child.measure(getChildMeasureSpec(
@@ -90,6 +102,10 @@
         }
         mMatchParentViews.clear();
         int width = MeasureSpec.getSize(widthMeasureSpec);
+        if (canHaveBottomDecor()) {
+            // We always account for the expandAction as well.
+            ownHeight += mBottomDecorHeight;
+        }
         setMeasuredDimension(width, ownHeight);
     }
 
@@ -99,7 +115,7 @@
         if (!mActualHeightInitialized && mActualHeight == 0) {
             int initialHeight = getInitialHeight();
             if (initialHeight != 0) {
-                setActualHeight(initialHeight);
+                setContentHeight(initialHeight);
             }
         }
     }
@@ -140,13 +156,14 @@
     public void setActualHeight(int actualHeight, boolean notifyListeners) {
         mActualHeightInitialized = true;
         mActualHeight = actualHeight;
+        updateClipping();
         if (notifyListeners) {
-            notifyHeightChanged();
+            notifyHeightChanged(false  /* needsAnimation */);
         }
     }
 
-    public void setActualHeight(int actualHeight) {
-        setActualHeight(actualHeight, true);
+    public void setContentHeight(int contentHeight) {
+        setActualHeight(contentHeight + getBottomDecorHeight(), true);
     }
 
     /**
@@ -159,14 +176,39 @@
     }
 
     /**
+     * This view may have a bottom decor which will be placed below the content. If it has one, this
+     * view will be layouted higher than just the content by {@link #mBottomDecorHeight}.
+     * @return the height of the decor if it currently has one
+     */
+    public int getBottomDecorHeight() {
+        return hasBottomDecor() ? mBottomDecorHeight : 0;
+    }
+
+    /**
+     * @return whether this view may have a bottom decor at all. This will force the view to layout
+     *         itself higher than just it's content
+     */
+    protected boolean canHaveBottomDecor() {
+        return false;
+    }
+
+    /**
+     * @return whether this view has a decor view below it's content. This will make the intrinsic
+     *         height from {@link #getIntrinsicHeight()} higher as well
+     */
+    protected boolean hasBottomDecor() {
+        return false;
+    }
+
+    /**
      * @return The maximum height of this notification.
      */
-    public int getMaxHeight() {
+    public int getMaxContentHeight() {
         return getHeight();
     }
 
     /**
-     * @return The minimum height of this notification.
+     * @return The minimum content height of this notification.
      */
     public int getMinHeight() {
         return getHeight();
@@ -245,9 +287,9 @@
         return false;
     }
 
-    public void notifyHeightChanged() {
+    public void notifyHeightChanged(boolean needsAnimation) {
         if (mOnHeightChangedListener != null) {
-            mOnHeightChangedListener.onHeightChanged(this);
+            mOnHeightChangedListener.onHeightChanged(this, needsAnimation);
         }
     }
 
@@ -298,6 +340,41 @@
         outRect.top += getTranslationY() + getClipTopAmount();
     }
 
+    public int getContentHeight() {
+        return mActualHeight - getBottomDecorHeight();
+    }
+
+    /**
+     * @return whether the given child can be ignored for layouting and measuring purposes
+     */
+    protected boolean isChildInvisible(View child) {
+        return false;
+    }
+
+    public boolean areChildrenExpanded() {
+        return false;
+    }
+
+    private void updateClipping() {
+        mClipRect.set(0, mClipTopOptimization, getWidth(), getActualHeight());
+        setClipBounds(mClipRect);
+    }
+
+    public int getClipTopOptimization() {
+        return mClipTopOptimization;
+    }
+
+    /**
+     * Set that the view will be clipped by a given amount from the top. Contrary to
+     * {@link #setClipTopAmount} this amount doesn't effect shadows and the background.
+     *
+     * @param clipTopOptimization the amount to clip from the top
+     */
+    public void setClipTopOptimization(int clipTopOptimization) {
+        mClipTopOptimization = clipTopOptimization;
+        updateClipping();
+    }
+
     /**
      * A listener notifying when {@link #getActualHeight} changes.
      */
@@ -306,8 +383,9 @@
         /**
          * @param view the view for which the height changed, or {@code null} if just the top
          *             padding or the padding between the elements changed
+         * @param needsAnimation whether the view height needs to be animated
          */
-        void onHeightChanged(ExpandableView view);
+        void onHeightChanged(ExpandableView view, boolean needsAnimation);
 
         /**
          * Called when the view is reset and therefore the height will change abruptly
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/FlingAnimationUtils.java b/packages/SystemUI/src/com/android/systemui/statusbar/FlingAnimationUtils.java
index 9f0f84e..0fa088b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/FlingAnimationUtils.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/FlingAnimationUtils.java
@@ -17,7 +17,6 @@
 package com.android.systemui.statusbar;
 
 import android.animation.Animator;
-import android.animation.ValueAnimator;
 import android.content.Context;
 import android.view.ViewPropertyAnimator;
 import android.view.animation.AnimationUtils;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
index 914b3d8..745e75d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java
@@ -17,21 +17,16 @@
 package com.android.systemui.statusbar;
 
 import android.content.Context;
-import android.graphics.ColorFilter;
-import android.graphics.ColorMatrix;
-import android.graphics.ColorMatrixColorFilter;
 import android.graphics.Paint;
 import android.graphics.PorterDuff;
 import android.graphics.PorterDuffXfermode;
 import android.graphics.Rect;
-import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
 import android.view.View;
 import android.view.ViewTreeObserver;
 import android.view.animation.Interpolator;
 import android.view.animation.LinearInterpolator;
 import android.widget.FrameLayout;
-import android.widget.ImageView;
 import com.android.systemui.R;
 
 /**
@@ -52,7 +47,7 @@
 
     private int mSmallHeight;
     private int mClipTopAmount;
-    private int mActualHeight;
+    private int mContentHeight;
 
     private final Interpolator mLinearInterpolator = new LinearInterpolator();
 
@@ -102,7 +97,7 @@
         mSmallHeight = getResources().getDimensionPixelSize(R.dimen.notification_min_height);
         mContractedVisible = true;
         if (resetActualHeight) {
-            mActualHeight = mSmallHeight;
+            mContentHeight = mSmallHeight;
         }
     }
 
@@ -159,12 +154,17 @@
         }
     }
 
-    public void setActualHeight(int actualHeight) {
-        mActualHeight = actualHeight;
+    public void setContentHeight(int contentHeight) {
+        contentHeight = Math.max(Math.min(contentHeight, getHeight()), getMinHeight());
+        mContentHeight = contentHeight;
         selectLayout(mAnimate /* animate */, false /* force */);
         updateClipping();
     }
 
+    public int getContentHeight() {
+        return mContentHeight;
+    }
+
     public int getMaxHeight() {
 
         // The maximum height is just the laid out height.
@@ -181,7 +181,7 @@
     }
 
     private void updateClipping() {
-        mClipBounds.set(0, mClipTopAmount, getWidth(), mActualHeight);
+        mClipBounds.set(0, mClipTopAmount, getWidth(), mContentHeight);
         setClipBounds(mClipBounds);
     }
 
@@ -240,7 +240,7 @@
     }
 
     private boolean showContractedChild() {
-        return mActualHeight <= mSmallHeight || mExpandedChild == null;
+        return mContentHeight <= mSmallHeight || mExpandedChild == null;
     }
 
     public void notifyContentUpdated() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java
index 34c458a..912f414 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java
@@ -22,9 +22,10 @@
 import android.service.notification.NotificationListenerService.RankingMap;
 import android.service.notification.StatusBarNotification;
 import android.util.ArrayMap;
-import android.util.ArraySet;
 import android.view.View;
 
+import com.android.systemui.statusbar.phone.NotificationGroupManager;
+
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -91,10 +92,12 @@
 
     private final ArrayMap<String, Entry> mEntries = new ArrayMap<>();
     private final ArrayList<Entry> mSortedAndFiltered = new ArrayList<>();
-    private ArraySet<String> mGroupsWithSummaries = new ArraySet<>();
+
+    private NotificationGroupManager mGroupManager;
 
     private RankingMap mRankingMap;
     private final Ranking mTmpRanking = new Ranking();
+
     private final Comparator<Entry> mRankingComparator = new Comparator<Entry>() {
         private final Ranking mRankingA = new Ranking();
         private final Ranking mRankingB = new Ranking();
@@ -141,6 +144,7 @@
 
     public NotificationData(Environment environment) {
         mEnvironment = environment;
+        mGroupManager = environment.getGroupManager();
     }
 
     /**
@@ -163,12 +167,14 @@
     public void add(Entry entry, RankingMap ranking) {
         mEntries.put(entry.notification.getKey(), entry);
         updateRankingAndSort(ranking);
+        mGroupManager.onEntryAdded(entry);
     }
 
     public Entry remove(String key, RankingMap ranking) {
         Entry removed = mEntries.remove(key);
         if (removed == null) return null;
         updateRankingAndSort(ranking);
+        mGroupManager.onEntryRemoved(removed);
         return removed;
     }
 
@@ -203,7 +209,6 @@
     // anything changed, and this class should call back the UI so it updates itself.
     public void filterAndSort() {
         mSortedAndFiltered.clear();
-        mGroupsWithSummaries.clear();
 
         final int N = mEntries.size();
         for (int i = 0; i < N; i++) {
@@ -214,32 +219,12 @@
                 continue;
             }
 
-            if (sbn.getNotification().isGroupSummary()) {
-                mGroupsWithSummaries.add(sbn.getGroupKey());
-            }
             mSortedAndFiltered.add(entry);
         }
 
-        // Second pass: Filter out group children with summary.
-        if (!mGroupsWithSummaries.isEmpty()) {
-            final int M = mSortedAndFiltered.size();
-            for (int i = M - 1; i >= 0; i--) {
-                Entry ent = mSortedAndFiltered.get(i);
-                StatusBarNotification sbn = ent.notification;
-                if (sbn.getNotification().isGroupChild() &&
-                        mGroupsWithSummaries.contains(sbn.getGroupKey())) {
-                    mSortedAndFiltered.remove(i);
-                }
-            }
-        }
-
         Collections.sort(mSortedAndFiltered, mRankingComparator);
     }
 
-    public boolean isGroupWithSummary(String groupKey) {
-        return mGroupsWithSummaries.contains(groupKey);
-    }
-
     boolean shouldFilterOut(StatusBarNotification sbn) {
         if (!(mEnvironment.isDeviceProvisioned() ||
                 showNotificationEvenIfUnprovisioned(sbn))) {
@@ -254,6 +239,11 @@
                 mEnvironment.shouldHideSensitiveContents(sbn.getUserId())) {
             return true;
         }
+
+        if (!BaseStatusBar.ENABLE_CHILD_NOTIFICATIONS
+                && mGroupManager.isChildInGroupWithSummary(sbn)) {
+            return true;
+        }
         return false;
     }
 
@@ -328,5 +318,6 @@
         public boolean isDeviceProvisioned();
         public boolean isNotificationForCurrentProfiles(StatusBarNotification sbn);
         public String getCurrentMediaNotificationKey();
+        public NotificationGroupManager getGroupManager();
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationOverflowContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationOverflowContainer.java
index bfa3aa5..5fa7070 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationOverflowContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationOverflowContainer.java
@@ -62,4 +62,13 @@
     public NotificationOverflowIconsView getIconsView() {
         return mIconsView;
     }
+
+    protected int getContentHeightFromActualHeight(int actualHeight) {
+        int realActualHeight = actualHeight;
+        if (hasBottomDecor()) {
+            realActualHeight -= getBottomDecorHeight();
+        }
+        realActualHeight = Math.max(getMinHeight(), realActualHeight);
+        return realActualHeight;
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationOverflowIconsView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationOverflowIconsView.java
index c4c9dac..da8ef3e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationOverflowIconsView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationOverflowIconsView.java
@@ -18,7 +18,6 @@
 
 import android.app.Notification;
 import android.content.Context;
-import android.content.res.Configuration;
 import android.graphics.PorterDuff;
 import android.util.AttributeSet;
 import android.widget.ImageView;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewWrapper.java
index 78b9739..44e8b85 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewWrapper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewWrapper.java
@@ -19,8 +19,6 @@
 import android.content.Context;
 import android.view.View;
 
-import com.android.internal.R;
-
 /**
  * Wraps the actual notification content view; used to implement behaviors which are different for
  * the individual templates and custom views.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ServiceMonitor.java b/packages/SystemUI/src/com/android/systemui/statusbar/ServiceMonitor.java
index 69a4932..602989a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ServiceMonitor.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ServiceMonitor.java
@@ -177,6 +177,7 @@
         IntentFilter filter = new IntentFilter();
         filter.addAction(Intent.ACTION_PACKAGE_ADDED);
         filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
+        filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
         filter.addDataScheme("package");
         mContext.registerReceiver(mBroadcastReceiver, filter);
 
@@ -196,13 +197,14 @@
                 + " extras=" + bundleToString(intent.getExtras()));
         if (Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())) {
             mHandler.sendEmptyMessage(MSG_START_SERVICE);
-        } else if (Intent.ACTION_PACKAGE_CHANGED.equals(intent.getAction())) {
-            PackageManager pm = mContext.getPackageManager();
-            boolean serviceEnabled =
-                    pm.getApplicationEnabledSetting(mServiceName.getPackageName())
-                        != PackageManager.COMPONENT_ENABLED_STATE_DISABLED
+        } else if (Intent.ACTION_PACKAGE_CHANGED.equals(intent.getAction())
+                || Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) {
+            final PackageManager pm = mContext.getPackageManager();
+            final boolean serviceEnabled = isPackageAvailable()
+                    && pm.getApplicationEnabledSetting(mServiceName.getPackageName())
+                            != PackageManager.COMPONENT_ENABLED_STATE_DISABLED
                     && pm.getComponentEnabledSetting(mServiceName)
-                        != PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
+                            != PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
             if (mBound && !serviceEnabled) {
                 stopService();
                 scheduleCheckBound();
@@ -289,4 +291,15 @@
         Settings.Secure.putStringForUser(mContext.getContentResolver(),
                 mSettingKey, setting, UserHandle.USER_CURRENT);
     }
+
+    public boolean isPackageAvailable() {
+        final ComponentName component = getComponent();
+        if (component == null) return false;
+        try {
+            return mContext.getPackageManager().isPackageAvailable(component.getPackageName());
+        } catch (RuntimeException e) {
+            Log.w(mTag, "Error checking package availability", e);
+            return false;
+        }
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BarTransitions.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BarTransitions.java
index e89e15d..2d76645 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BarTransitions.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BarTransitions.java
@@ -160,7 +160,7 @@
         }
 
         @Override
-        public void setColorFilter(ColorFilter cf) {
+        public void setColorFilter(ColorFilter colorFilter) {
             // noop
         }
 
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 acf7af9..0c21b20 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
@@ -220,6 +220,7 @@
 
     public void setPhoneStatusBar(PhoneStatusBar phoneStatusBar) {
         mPhoneStatusBar = phoneStatusBar;
+        updateCameraVisibility(); // in case onFinishInflate() was called too early
     }
 
     private Intent getCameraIntent() {
@@ -231,6 +232,10 @@
     }
 
     private void updateCameraVisibility() {
+        if (mCameraImageView == null) {
+            // Things are not set up yet; reply hazy, ask again later
+            return;
+        }
         ResolveInfo resolved = mContext.getPackageManager().resolveActivityAsUser(getCameraIntent(),
                 PackageManager.MATCH_DEFAULT_ONLY,
                 mLockPatternUtils.getCurrentUser());
@@ -253,7 +258,7 @@
     private boolean isCameraDisabledByDpm() {
         final DevicePolicyManager dpm =
                 (DevicePolicyManager) getContext().getSystemService(Context.DEVICE_POLICY_SERVICE);
-        if (dpm != null) {
+        if (dpm != null && mPhoneStatusBar != null) {
             try {
                 final int userId = ActivityManagerNative.getDefault().getCurrentUser().id;
                 final int disabledFlags = dpm.getKeyguardDisabledFeatures(null, userId);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardPreviewContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardPreviewContainer.java
index 7579039..076e5f1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardPreviewContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardPreviewContainer.java
@@ -20,7 +20,6 @@
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.ColorFilter;
-import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
 import android.view.WindowInsets;
@@ -47,7 +46,7 @@
         }
 
         @Override
-        public void setColorFilter(ColorFilter cf) {
+        public void setColorFilter(ColorFilter colorFilter) {
             // noop
         }
 
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 40c9134..13b3898 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
@@ -16,7 +16,6 @@
 
 package com.android.systemui.statusbar.phone;
 
-import android.animation.LayoutTransition;
 import android.content.Context;
 import android.content.res.Configuration;
 import android.graphics.drawable.Drawable;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java
index b4a80f0..a712d29 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java
@@ -26,7 +26,6 @@
 
 import com.android.internal.statusbar.IStatusBarService;
 import com.android.systemui.R;
-import com.android.systemui.statusbar.policy.KeyButtonView;
 
 public final class NavigationBarTransitions extends BarTransitions {
 
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 0d60e355..12ff399 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
@@ -50,8 +50,6 @@
 import com.android.systemui.statusbar.BaseStatusBar;
 import com.android.systemui.statusbar.DelegateViewHelper;
 import com.android.systemui.statusbar.policy.DeadZone;
-import com.android.systemui.statusbar.policy.KeyButtonView;
-
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 import java.util.ArrayList;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
new file mode 100644
index 0000000..7072dcb
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
@@ -0,0 +1,238 @@
+/*
+ * 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 com.android.systemui.statusbar.phone;
+
+import android.app.Notification;
+import android.service.notification.StatusBarNotification;
+
+import com.android.systemui.statusbar.ExpandableNotificationRow;
+import com.android.systemui.statusbar.NotificationData;
+import com.android.systemui.statusbar.StatusBarState;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * A class to handle notifications and their corresponding groups.
+ */
+public class NotificationGroupManager {
+
+    private final HashMap<String, NotificationGroup> mGroupMap = new HashMap<>();
+    private OnGroupChangeListener mListener;
+    private int mBarState = -1;
+
+    public void setOnGroupChangeListener(OnGroupChangeListener listener) {
+        mListener = listener;
+    }
+
+    public boolean isGroupExpanded(StatusBarNotification sbn) {
+        NotificationGroup group = mGroupMap.get(sbn.getGroupKey());
+        if (group == null) {
+            return false;
+        }
+        return group.expanded;
+    }
+
+    public void setGroupExpanded(StatusBarNotification sbn, boolean expanded) {
+        NotificationGroup group = mGroupMap.get(sbn.getGroupKey());
+        if (group == null) {
+            return;
+        }
+        setGroupExpanded(group, expanded);
+    }
+
+    private void setGroupExpanded(NotificationGroup group, boolean expanded) {
+        group.expanded = expanded;
+        if (group.summary != null) {
+            mListener.onGroupExpansionChanged(group.summary.row, expanded);
+        }
+    }
+
+    public void onEntryRemoved(NotificationData.Entry removed) {
+        onEntryRemovedInternal(removed, removed.notification);
+    }
+
+    /**
+     * An entry was removed.
+     *
+     * @param removed the removed entry
+     * @param sbn the notification the entry has, which doesn't need to be the same as it's internal
+     *            notification
+     */
+    private void onEntryRemovedInternal(NotificationData.Entry removed,
+            final StatusBarNotification sbn) {
+        Notification notif = sbn.getNotification();
+        String groupKey = sbn.getGroupKey();
+        final NotificationGroup group = mGroupMap.get(groupKey);
+        if (notif.isGroupSummary()) {
+            group.summary = null;
+        } else {
+            group.children.remove(removed);
+        }
+        if (group.children.isEmpty()) {
+            if (group.summary == null) {
+                mGroupMap.remove(groupKey);
+            } else {
+                if (group.expanded) {
+                    // only the summary is left. Change it to unexpanded in a few ms. We do this to
+                    // avoid raceconditions
+                    removed.row.post(new Runnable() {
+                        @Override
+                        public void run() {
+                            if (group.children.isEmpty()) {
+                                setGroupExpanded(sbn, false);
+                            }
+                        }
+                    });
+                } else {
+                    group.summary.row.updateExpandButton();
+                }
+            }
+        }
+    }
+
+    public void onEntryAdded(NotificationData.Entry added) {
+        StatusBarNotification sbn = added.notification;
+        Notification notif = sbn.getNotification();
+        String groupKey = sbn.getGroupKey();
+        NotificationGroup group = mGroupMap.get(groupKey);
+        if (group == null) {
+            group = new NotificationGroup();
+            mGroupMap.put(groupKey, group);
+        }
+        if (notif.isGroupSummary()) {
+            group.summary = added;
+            group.expanded = added.row.areChildrenExpanded();
+            if (!group.children.isEmpty()) {
+                mListener.onGroupCreatedFromChildren(group);
+            }
+        } else {
+            group.children.add(added);
+            if (group.summary != null && group.children.size() == 1 && !group.expanded) {
+                group.summary.row.updateExpandButton();
+            }
+        }
+    }
+
+    public void onEntryUpdated(NotificationData.Entry entry,
+            StatusBarNotification oldNotification) {
+        if (mGroupMap.get(oldNotification.getGroupKey()) != null) {
+            onEntryRemovedInternal(entry, oldNotification);
+        }
+        onEntryAdded(entry);
+    }
+
+    public boolean isVisible(StatusBarNotification sbn) {
+        if (!sbn.getNotification().isGroupChild()) {
+            return true;
+        }
+        NotificationGroup group = mGroupMap.get(sbn.getGroupKey());
+        if (group != null && group.expanded) {
+            return true;
+        }
+        return false;
+    }
+
+    public boolean hasGroupChildren(StatusBarNotification sbn) {
+        if (areGroupsProhibited()) {
+            return false;
+        }
+        if (!sbn.getNotification().isGroupSummary()) {
+            return false;
+        }
+        NotificationGroup group = mGroupMap.get(sbn.getGroupKey());
+        if (group == null) {
+            return false;
+        }
+        return !group.children.isEmpty();
+    }
+
+    public void setStatusBarState(int newState) {
+        if (mBarState == newState) {
+            return;
+        }
+        boolean prohibitedBefore = areGroupsProhibited();
+        mBarState = newState;
+        boolean nowProhibited = areGroupsProhibited();
+        if (nowProhibited != prohibitedBefore) {
+            if (nowProhibited) {
+                for (NotificationGroup group : mGroupMap.values()) {
+                    if (group.expanded) {
+                        setGroupExpanded(group, false);
+                    }
+                }
+            }
+            mListener.onGroupsProhibitedChanged();
+        }
+    }
+
+    private boolean areGroupsProhibited() {
+        return mBarState == StatusBarState.KEYGUARD;
+    }
+
+    /**
+     * @return whether a given notification is a child in a group which has a summary
+     */
+    public boolean isChildInGroupWithSummary(StatusBarNotification sbn) {
+        if (!sbn.getNotification().isGroupChild()) {
+            return false;
+        }
+        NotificationGroup group = mGroupMap.get(sbn.getGroupKey());
+        if (group == null || group.summary == null) {
+            return false;
+        }
+        return true;
+    }
+
+    public ExpandableNotificationRow getGroupSummary(StatusBarNotification sbn) {
+        NotificationGroup group = mGroupMap.get(sbn.getGroupKey());
+        return group == null ? null
+                : group.summary == null ? null
+                : group.summary.row;
+    }
+
+    public static class NotificationGroup {
+        public final HashSet<NotificationData.Entry> children = new HashSet<>();
+        public NotificationData.Entry summary;
+        public boolean expanded;
+    }
+
+    public interface OnGroupChangeListener {
+        /**
+         * The expansion of a group has changed.
+         *
+         * @param changedRow the row for which the expansion has changed, which is also the summary
+         * @param expanded a boolean indicating the new expanded state
+         */
+        void onGroupExpansionChanged(ExpandableNotificationRow changedRow, boolean expanded);
+
+        /**
+         * Children group policy has changed and children may no be prohibited or allowed.
+         */
+        void onGroupsProhibitedChanged();
+
+        /**
+         * A group of children just received a summary notification and should therefore become
+         * children of it.
+         *
+         * @param group the group created
+         */
+        void onGroupCreatedFromChildren(NotificationGroup group);
+    }
+}
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 7513fc6..195da46 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -1680,7 +1680,7 @@
     }
 
     @Override
-    public void onHeightChanged(ExpandableView view) {
+    public void onHeightChanged(ExpandableView view, boolean needsAnimation) {
 
         // Block update if we are in quick settings and just the top padding changed
         // (i.e. view == null).
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java
index e7b0c4c..a03c297 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java
@@ -18,7 +18,6 @@
 
 import android.content.Context;
 import android.graphics.Canvas;
-import android.graphics.Rect;
 import android.util.AttributeSet;
 import android.view.View;
 import android.view.ViewStub;
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 8aafe52..f3ec34a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -136,6 +136,7 @@
 import com.android.systemui.statusbar.ScrimView;
 import com.android.systemui.statusbar.SignalClusterView;
 import com.android.systemui.statusbar.SpeedBumpView;
+import com.android.systemui.statusbar.StatusBarIconView;
 import com.android.systemui.statusbar.StatusBarState;
 import com.android.systemui.statusbar.phone.UnlockMethodCache.OnUnlockMethodChangedListener;
 import com.android.systemui.statusbar.policy.AccessibilityController;
@@ -161,7 +162,7 @@
 import com.android.systemui.statusbar.policy.ZenModeController;
 import com.android.systemui.statusbar.stack.NotificationStackScrollLayout;
 import com.android.systemui.statusbar.stack.NotificationStackScrollLayout.OnChildLocationsChangedListener;
-import com.android.systemui.statusbar.stack.StackScrollState.ViewState;
+import com.android.systemui.statusbar.stack.StackViewState;
 import com.android.systemui.volume.VolumeComponent;
 
 import java.io.FileDescriptor;
@@ -169,6 +170,7 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -444,10 +446,10 @@
     // Fingerprint (as computed by getLoggingFingerprint() of the last logged state.
     private int mLastLoggedStateFingerprint;
 
-    private static final int VISIBLE_LOCATIONS = ViewState.LOCATION_FIRST_CARD
-            | ViewState.LOCATION_TOP_STACK_PEEKING
-            | ViewState.LOCATION_MAIN_AREA
-            | ViewState.LOCATION_BOTTOM_STACK_PEEKING;
+    private static final int VISIBLE_LOCATIONS = StackViewState.LOCATION_FIRST_CARD
+            | StackViewState.LOCATION_TOP_STACK_PEEKING
+            | StackViewState.LOCATION_MAIN_AREA
+            | StackViewState.LOCATION_BOTTOM_STACK_PEEKING;
 
     private final OnChildLocationsChangedListener mNotificationLocationsChangedListener =
             new OnChildLocationsChangedListener() {
@@ -523,6 +525,8 @@
             goToLockedShade(null);
         }
     };
+    private HashMap<ExpandableNotificationRow, List<ExpandableNotificationRow>> mTmpChildOrderMap
+            = new HashMap<>();
 
     @Override
     public void start() {
@@ -663,6 +667,8 @@
                 R.id.notification_stack_scroller);
         mStackScroller.setLongPressListener(getNotificationLongClicker());
         mStackScroller.setPhoneStatusBar(this);
+        mStackScroller.setGroupManager(mGroupManager);
+        mGroupManager.setOnGroupChangeListener(mStackScroller);
 
         mKeyguardIconOverflowContainer =
                 (NotificationOverflowContainer) LayoutInflater.from(mContext).inflate(
@@ -854,9 +860,20 @@
         final ArrayList<View> viewsToHide = new ArrayList<View>(numChildren);
         for (int i = 0; i < numChildren; i++) {
             final View child = mStackScroller.getChildAt(i);
-            if (mStackScroller.canChildBeDismissed(child)) {
-                if (child.getVisibility() == View.VISIBLE) {
-                    viewsToHide.add(child);
+            if (child instanceof ExpandableNotificationRow) {
+                if (mStackScroller.canChildBeDismissed(child)) {
+                    if (child.getVisibility() == View.VISIBLE) {
+                        viewsToHide.add(child);
+                    }
+                }
+                ExpandableNotificationRow row = (ExpandableNotificationRow) child;
+                List<ExpandableNotificationRow> children = row.getNotificationChildren();
+                if (row.areChildrenExpanded() && children != null) {
+                    for (ExpandableNotificationRow childRow : children) {
+                        if (childRow.getVisibility() == View.VISIBLE) {
+                            viewsToHide.add(childRow);
+                        }
+                    }
                 }
             }
         }
@@ -1158,11 +1175,19 @@
     }
 
     @Override
-    public void addNotification(StatusBarNotification notification, RankingMap ranking) {
+    public void addNotification(StatusBarNotification notification, RankingMap ranking,
+            Entry oldEntry) {
         if (DEBUG) Log.d(TAG, "addNotification key=" + notification.getKey());
         if (mUseHeadsUp && shouldInterrupt(notification)) {
             if (DEBUG) Log.d(TAG, "launching notification in heads up mode");
-            Entry interruptionCandidate = new Entry(notification, null);
+            Entry interruptionCandidate = oldEntry;
+            if (interruptionCandidate == null) {
+                final StatusBarIconView iconView = createIcon(notification);
+                if (iconView == null) {
+                    return;
+                }
+                interruptionCandidate = new Entry(notification, iconView);
+            }
             ViewGroup holder = mHeadsUpNotificationView.getHolder();
             if (inflateViewsForHeadsUp(interruptionCandidate, holder)) {
                 // 1. Populate mHeadsUpNotificationView
@@ -1197,12 +1222,12 @@
         setAreThereNotifications();
     }
 
-    public void displayNotificationFromHeadsUp(StatusBarNotification notification) {
-        NotificationData.Entry shadeEntry = createNotificationViews(notification);
-        if (shadeEntry == null) {
-            return;
-        }
+    public void displayNotificationFromHeadsUp(Entry shadeEntry) {
+
+        // The notification comes from the headsup, let's inflate the normal layout again
+        inflateViews(shadeEntry, mStackScroller);
         shadeEntry.setInterruption();
+        shadeEntry.row.setHeadsUp(false);
 
         addNotificationViews(shadeEntry, null);
         // Recalculate the position of the sliding windows and the titles.
@@ -1287,10 +1312,23 @@
                     ent.row.setShowingLegacyBackground(true);
                 }
             }
-            toShow.add(ent.row);
+            if (mGroupManager.isChildInGroupWithSummary(ent.row.getStatusBarNotification())) {
+                ExpandableNotificationRow summary = mGroupManager.getGroupSummary(
+                        ent.row.getStatusBarNotification());
+                List<ExpandableNotificationRow> orderedChildren =
+                        mTmpChildOrderMap.get(summary);
+                if (orderedChildren == null) {
+                    orderedChildren = new ArrayList<>();
+                    mTmpChildOrderMap.put(summary, orderedChildren);
+                }
+                orderedChildren.add(ent.row);
+            } else {
+                toShow.add(ent.row);
+            }
+
         }
 
-        ArrayList<View> toRemove = new ArrayList<View>();
+        ArrayList<View> toRemove = new ArrayList<>();
         for (int i=0; i< mStackScroller.getChildCount(); i++) {
             View child = mStackScroller.getChildAt(i);
             if (!toShow.contains(child) && child instanceof ExpandableNotificationRow) {
@@ -1319,17 +1357,22 @@
                 continue;
             }
 
-            if (child == toShow.get(j)) {
-                // Everything is well, advance both lists.
-                j++;
-                continue;
+            ExpandableNotificationRow targetChild = toShow.get(j);
+            if (child != targetChild) {
+                // Oops, wrong notification at this position. Put the right one
+                // here and advance both lists.
+                mStackScroller.changeViewPosition(targetChild, i);
             }
-
-            // Oops, wrong notification at this position. Put the right one
-            // here and advance both lists.
-            mStackScroller.changeViewPosition(toShow.get(j), i);
             j++;
+
         }
+
+        // lets handle the child notifications now
+        updateNotificationShadeForChildren();
+
+        // clear the map again for the next usage
+        mTmpChildOrderMap.clear();
+
         updateRowStates();
         updateSpeedbump();
         updateClearAll();
@@ -1344,6 +1387,52 @@
         mShadeUpdates.check();
     }
 
+    private void updateNotificationShadeForChildren() {
+        ArrayList<ExpandableNotificationRow> toRemove = new ArrayList<>();
+        boolean orderChanged = false;
+        for (int i = 0; i < mStackScroller.getChildCount(); i++) {
+            View view = mStackScroller.getChildAt(i);
+            if (!(view instanceof ExpandableNotificationRow)) {
+                // We don't care about non-notification views.
+                continue;
+            }
+
+            ExpandableNotificationRow parent = (ExpandableNotificationRow) view;
+            List<ExpandableNotificationRow> children = parent.getNotificationChildren();
+            List<ExpandableNotificationRow> orderedChildren = mTmpChildOrderMap.get(parent);
+
+            // lets first remove all undesired children
+            if (children != null) {
+                toRemove.clear();
+                for (ExpandableNotificationRow childRow : children) {
+                    if (orderedChildren == null || !orderedChildren.contains(childRow)) {
+                        toRemove.add(childRow);
+                    }
+                }
+                for (ExpandableNotificationRow remove : toRemove) {
+                    parent.removeChildNotification(remove);
+                    mStackScroller.notifyGroupChildRemoved(remove);
+                }
+            }
+
+            // We now add all the children which are not in there already
+            for (int childIndex = 0; orderedChildren != null && childIndex < orderedChildren.size();
+                    childIndex++) {
+                ExpandableNotificationRow childView = orderedChildren.get(childIndex);
+                if (children == null || !children.contains(childView)) {
+                    parent.addChildNotification(childView, childIndex);
+                    mStackScroller.notifyGroupChildAdded(childView);
+                }
+            }
+
+            // Finally after removing and adding has been beformed we can apply the order.
+            orderChanged |= parent.applyChildOrder(orderedChildren);
+        }
+        if (orderChanged) {
+            mStackScroller.generateChildOrderChangedEvent();
+        }
+    }
+
     private boolean packageHasVisibilityOverride(String key) {
         return mNotificationData.getVisibilityOverride(key)
                 != NotificationListenerService.Ranking.VISIBILITY_NO_OVERRIDE;
@@ -1370,6 +1459,10 @@
         final int N = activeNotifications.size();
         for (int i = 0; i < N; i++) {
             Entry entry = activeNotifications.get(i);
+            boolean isChild = !isTopLevelChild(entry);
+            if (isChild) {
+                continue;
+            }
             if (entry.row.getVisibility() != View.GONE &&
                     mNotificationData.isAmbient(entry.key)) {
                 speedbumpIndex = currentIndex;
@@ -1380,6 +1473,10 @@
         mStackScroller.updateSpeedBumpIndex(speedbumpIndex);
     }
 
+    public static boolean isTopLevelChild(Entry entry) {
+        return entry.row.getParent() instanceof NotificationStackScrollLayout;
+    }
+
     @Override
     protected void updateNotifications() {
         mNotificationData.filterAndSort();
@@ -2929,7 +3026,7 @@
         }
 
         @Override
-        public void setColorFilter(ColorFilter cf) {
+        public void setColorFilter(ColorFilter colorFilter) {
         }
 
         @Override
@@ -3065,7 +3162,7 @@
         mLeaveOpenOnKeyguardHide = false;
         if (mDraggedDownRow != null) {
             mDraggedDownRow.setUserLocked(false);
-            mDraggedDownRow.notifyHeightChanged();
+            mDraggedDownRow.notifyHeightChanged(false  /* needsAnimation */);
             mDraggedDownRow = null;
         }
     }
@@ -3370,6 +3467,7 @@
             }
         }
         mState = state;
+        mGroupManager.setStatusBarState(state);
         mStatusBarWindowManager.setStatusBarState(state);
     }
 
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 5da8457..2236aae 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
@@ -213,7 +213,12 @@
             zenDescription = mContext.getString(R.string.zen_important_interruptions);
         }
 
-        if (mZen != Global.ZEN_MODE_NO_INTERRUPTIONS &&
+        if (DndTile.isVisible(mContext)
+                && audioManager.getRingerModeInternal() == AudioManager.RINGER_MODE_SILENT) {
+            volumeVisible = true;
+            volumeIconId = R.drawable.stat_sys_ringer_silent;
+            volumeDescription = mContext.getString(R.string.accessibility_ringer_silent);
+        } else if (mZen != Global.ZEN_MODE_NO_INTERRUPTIONS &&
                 audioManager.getRingerModeInternal() == AudioManager.RINGER_MODE_VIBRATE) {
             volumeVisible = true;
             volumeIconId = R.drawable.stat_sys_ringer_vibrate;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java
index 3bdf94a..c49f620 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java
@@ -24,7 +24,6 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.SystemClock;
-import android.util.Log;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.animation.AnimationUtils;
@@ -159,13 +158,16 @@
         final int N = activeNotifications.size();
         ArrayList<StatusBarIconView> toShow = new ArrayList<>(N);
 
-        // Filter out ambient notifications.
+        // Filter out ambient notifications and notification children.
         for (int i = 0; i < N; i++) {
             NotificationData.Entry ent = activeNotifications.get(i);
             if (notificationData.isAmbient(ent.key)
                     && !NotificationData.showNotificationEvenIfUnprovisioned(ent.notification)) {
                 continue;
             }
+            if (!PhoneStatusBar.isTopLevelChild(ent)) {
+                continue;
+            }
             toShow.add(ent.icon);
         }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
index 2f3a159..6369d5e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
@@ -31,6 +31,7 @@
 import com.android.internal.widget.LockPatternUtils;
 import com.android.keyguard.KeyguardUpdateMonitor;
 import com.android.keyguard.ViewMediatorCallback;
+import com.android.systemui.statusbar.CommandQueue;
 
 import static com.android.keyguard.KeyguardHostView.OnDismissAction;
 
@@ -439,4 +440,8 @@
     public void keyguardGoingAway() {
         mPhoneStatusBar.keyguardGoingAway();
     }
+
+    public void animateCollapsePanels() {
+        mPhoneStatusBar.animateCollapsePanels(CommandQueue.FLAG_EXCLUDE_NONE, true /* force */);
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java
index eba7d9f..63bbf97 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java
@@ -115,7 +115,8 @@
 
     private void applyFocusableFlag(State state) {
         if (state.isKeyguardShowingAndNotOccluded() && state.keyguardNeedsInput
-                && state.bouncerShowing) {
+                && state.bouncerShowing
+                || BaseStatusBar.ENABLE_REMOTE_INPUT && state.statusBarExpanded) {
             mLpChanged.flags &= ~WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
             mLpChanged.flags &= ~WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM;
         } else if (state.isKeyguardShowingAndNotOccluded() || state.statusBarFocusable) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/TrustDrawable.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/TrustDrawable.java
index b89aa8f..56c1e10 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/TrustDrawable.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/TrustDrawable.java
@@ -120,7 +120,7 @@
     }
 
     @Override
-    public void setColorFilter(ColorFilter cf) {
+    public void setColorFilter(ColorFilter colorFilter) {
         throw new UnsupportedOperationException("not implemented");
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/VelocityTrackerFactory.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/VelocityTrackerFactory.java
index 4f43b4d..e153b85 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/VelocityTrackerFactory.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/VelocityTrackerFactory.java
@@ -20,8 +20,6 @@
 
 import com.android.systemui.R;
 
-import static android.util.Pools.SynchronizedPool;
-
 /**
  * A class to generate {@link VelocityTrackerInterface}, depending on the configuration.
  */
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/AccessibilityController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/AccessibilityController.java
index 89ed787..cc431dd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/AccessibilityController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/AccessibilityController.java
@@ -17,7 +17,6 @@
 package com.android.systemui.statusbar.policy;
 
 import android.content.Context;
-import android.util.Log;
 import android.view.accessibility.AccessibilityManager;
 
 import java.io.FileDescriptor;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java
index cbdd138..cbe4c4d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java
@@ -16,7 +16,9 @@
 
 package com.android.systemui.statusbar.policy;
 
-import java.util.Set;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+
+import java.util.Collection;
 
 public interface BluetoothController {
     void addStateChangedCallback(Callback callback);
@@ -28,32 +30,12 @@
     boolean isBluetoothConnecting();
     String getLastDeviceName();
     void setBluetoothEnabled(boolean enabled);
-    Set<PairedDevice> getPairedDevices();
-    void connect(PairedDevice device);
-    void disconnect(PairedDevice device);
+    Collection<CachedBluetoothDevice> getDevices();
+    void connect(CachedBluetoothDevice device);
+    void disconnect(CachedBluetoothDevice device);
 
     public interface Callback {
         void onBluetoothStateChange(boolean enabled, boolean connecting);
-        void onBluetoothPairedDevicesChanged();
-    }
-
-    public static final class PairedDevice {
-        public static int STATE_DISCONNECTED = 0;
-        public static int STATE_CONNECTING = 1;
-        public static int STATE_CONNECTED = 2;
-        public static int STATE_DISCONNECTING = 3;
-
-        public String id;
-        public String name;
-        public int state = STATE_DISCONNECTED;
-        public Object tag;
-
-        public static String stateToString(int state) {
-            if (state == STATE_DISCONNECTED) return "STATE_DISCONNECTED";
-            if (state == STATE_CONNECTING) return "STATE_CONNECTING";
-            if (state == STATE_CONNECTED) return "STATE_CONNECTED";
-            if (state == STATE_DISCONNECTING) return "STATE_DISCONNECTING";
-            return "UNKNOWN";
-        }
+        void onBluetoothDevicesChanged();
     }
 }
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 81e1e45..8d4f302 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java
@@ -16,138 +16,57 @@
 
 package com.android.systemui.statusbar.policy;
 
-import static android.bluetooth.BluetoothAdapter.ERROR;
-import static com.android.systemui.statusbar.policy.BluetoothUtil.connectionStateToString;
-import static com.android.systemui.statusbar.policy.BluetoothUtil.deviceToString;
-import static com.android.systemui.statusbar.policy.BluetoothUtil.profileToString;
-import static com.android.systemui.statusbar.policy.BluetoothUtil.uuidToProfile;
-import static com.android.systemui.statusbar.policy.BluetoothUtil.uuidToString;
-import static com.android.systemui.statusbar.policy.BluetoothUtil.uuidsToString;
-
-import android.bluetooth.BluetoothA2dp;
-import android.bluetooth.BluetoothA2dpSink;
 import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothDevice;
-import android.bluetooth.BluetoothHeadset;
-import android.bluetooth.BluetoothHeadsetClient;
-import android.bluetooth.BluetoothInputDevice;
-import android.bluetooth.BluetoothManager;
-import android.bluetooth.BluetoothMap;
-import android.bluetooth.BluetoothPan;
-import android.bluetooth.BluetoothProfile;
-import android.bluetooth.BluetoothProfile.ServiceListener;
-import android.content.BroadcastReceiver;
 import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.os.Handler;
 import android.os.Looper;
-import android.os.Message;
-import android.os.ParcelUuid;
-import android.util.ArrayMap;
-import android.util.ArraySet;
 import android.util.Log;
-import android.util.SparseArray;
 
-import com.android.systemui.statusbar.policy.BluetoothUtil.Profile;
+import com.android.settingslib.bluetooth.BluetoothCallback;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 import java.util.ArrayList;
-import java.util.Set;
+import java.util.Collection;
 
-public class BluetoothControllerImpl implements BluetoothController {
+public class BluetoothControllerImpl implements BluetoothController, BluetoothCallback,
+        CachedBluetoothDevice.Callback {
     private static final String TAG = "BluetoothController";
     private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
-    // This controls the order in which we check the states.  Since a device can only have
-    // one state on screen, but can have multiple profiles, the later states override the
-    // value of earlier states.  So if a device has a profile in CONNECTING and one in
-    // CONNECTED, it will show as CONNECTED, theoretically this shouldn't really happen often,
-    // but seemed worth noting.
-    private static final int[] CONNECTION_STATES = {
-        BluetoothProfile.STATE_DISCONNECTED,
-        BluetoothProfile.STATE_DISCONNECTING,
-        BluetoothProfile.STATE_CONNECTING,
-        BluetoothProfile.STATE_CONNECTED,
-    };
-    // Update all the BT device states.
-    private static final int MSG_UPDATE_CONNECTION_STATES = 1;
-    // Update just one BT device.
-    private static final int MSG_UPDATE_SINGLE_CONNECTION_STATE = 2;
-    // Update whether devices are bonded or not.
-    private static final int MSG_UPDATE_BONDED_DEVICES = 3;
 
-    private static final int MSG_ADD_PROFILE = 4;
-    private static final int MSG_REM_PROFILE = 5;
-
-    private final Context mContext;
     private final ArrayList<Callback> mCallbacks = new ArrayList<Callback>();
-    private final BluetoothAdapter mAdapter;
-    private final Receiver mReceiver = new Receiver();
-    private final ArrayMap<BluetoothDevice, DeviceInfo> mDeviceInfo = new ArrayMap<>();
-    private final SparseArray<BluetoothProfile> mProfiles = new SparseArray<>();
-
-    private final H mHandler;
+    private final LocalBluetoothManager mLocalBluetoothManager;
 
     private boolean mEnabled;
     private boolean mConnecting;
-    private BluetoothDevice mLastDevice;
+    private CachedBluetoothDevice mLastDevice;
 
     public BluetoothControllerImpl(Context context, Looper bgLooper) {
-        mContext = context;
-        mHandler = new H(bgLooper);
-
-        final BluetoothManager bluetoothManager =
-                (BluetoothManager) context.getSystemService(Context.BLUETOOTH_SERVICE);
-        mAdapter = bluetoothManager.getAdapter();
-        if (mAdapter == null) {
-            Log.w(TAG, "Default BT adapter not found");
-            return;
+        mLocalBluetoothManager = LocalBluetoothManager.getInstance(context, null);
+        if (mLocalBluetoothManager != null) {
+            mLocalBluetoothManager.getEventManager().registerCallback(this);
+            onBluetoothStateChanged(
+                    mLocalBluetoothManager.getBluetoothAdapter().getBluetoothState());
         }
-
-        mReceiver.register();
-        setAdapterState(mAdapter.getState());
-        updateBondedDevices();
-        bindAllProfiles();
     }
 
     public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
         pw.println("BluetoothController state:");
-        pw.print("  mAdapter="); pw.println(mAdapter);
+        pw.print("  mLocalBluetoothManager="); pw.println(mLocalBluetoothManager);
         pw.print("  mEnabled="); pw.println(mEnabled);
         pw.print("  mConnecting="); pw.println(mConnecting);
         pw.print("  mLastDevice="); pw.println(mLastDevice);
         pw.print("  mCallbacks.size="); pw.println(mCallbacks.size());
-        pw.print("  mProfiles="); pw.println(profilesToString(mProfiles));
-        pw.print("  mDeviceInfo.size="); pw.println(mDeviceInfo.size());
-        for (int i = 0; i < mDeviceInfo.size(); i++) {
-            final BluetoothDevice device = mDeviceInfo.keyAt(i);
-            final DeviceInfo info = mDeviceInfo.valueAt(i);
-            pw.print("    "); pw.print(deviceToString(device));
-            pw.print('('); pw.print(uuidsToString(device)); pw.print(')');
-            pw.print("    "); pw.println(infoToString(info));
+        pw.println("  Bluetooth Devices:");
+        for (CachedBluetoothDevice device :
+                mLocalBluetoothManager.getCachedDeviceManager().getCachedDevicesCopy()) {
+            pw.println("    " + getDeviceString(device));
         }
     }
 
-    private static String infoToString(DeviceInfo info) {
-        return info == null ? null : ("connectionState=" +
-                connectionStateToString(CONNECTION_STATES[info.connectionStateIndex])
-                + ",bonded=" + info.bonded + ",profiles="
-                + profilesToString(info.connectedProfiles));
-    }
-
-    private static String profilesToString(SparseArray<?> profiles) {
-        final int N = profiles.size();
-        final StringBuffer buffer = new StringBuffer();
-        buffer.append('[');
-        for (int i = 0; i < N; i++) {
-            if (i != 0) {
-                buffer.append(',');
-            }
-            buffer.append(BluetoothUtil.profileToString(profiles.keyAt(i)));
-        }
-        buffer.append(']');
-        return buffer.toString();
+    private String getDeviceString(CachedBluetoothDevice device) {
+        return device.getName() + " " + device.getBondState() + " " + device.isConnected();
     }
 
     public void addStateChangedCallback(Callback cb) {
@@ -162,266 +81,63 @@
 
     @Override
     public boolean isBluetoothEnabled() {
-        return mAdapter != null && mAdapter.isEnabled();
+        return mEnabled;
     }
 
     @Override
     public boolean isBluetoothConnected() {
-        return mAdapter != null
-                && mAdapter.getConnectionState() == BluetoothAdapter.STATE_CONNECTED;
+        return mLocalBluetoothManager != null
+                && mLocalBluetoothManager.getBluetoothAdapter().getConnectionState()
+                == BluetoothAdapter.STATE_CONNECTED;
     }
 
     @Override
     public boolean isBluetoothConnecting() {
-        return mAdapter != null
-                && mAdapter.getConnectionState() == BluetoothAdapter.STATE_CONNECTING;
+        return mConnecting;
     }
 
     @Override
     public void setBluetoothEnabled(boolean enabled) {
-        if (mAdapter != null) {
-            if (enabled) {
-                mAdapter.enable();
-            } else {
-                mAdapter.disable();
-            }
+        if (mLocalBluetoothManager != null) {
+            mLocalBluetoothManager.getBluetoothAdapter().setBluetoothEnabled(enabled);
         }
     }
 
     @Override
     public boolean isBluetoothSupported() {
-        return mAdapter != null;
+        return mLocalBluetoothManager != null;
     }
 
     @Override
-    public ArraySet<PairedDevice> getPairedDevices() {
-        final ArraySet<PairedDevice> rt = new ArraySet<>();
-        for (int i = 0; i < mDeviceInfo.size(); i++) {
-            final BluetoothDevice device = mDeviceInfo.keyAt(i);
-            final DeviceInfo info = mDeviceInfo.valueAt(i);
-            if (!info.bonded) continue;
-            final PairedDevice paired = new PairedDevice();
-            paired.id = device.getAddress();
-            paired.tag = device;
-            paired.name = device.getAliasName();
-            paired.state = connectionStateToPairedDeviceState(info.connectionStateIndex);
-            rt.add(paired);
-        }
-        return rt;
-    }
-
-    private static int connectionStateToPairedDeviceState(int index) {
-        int state = CONNECTION_STATES[index];
-        if (state == BluetoothAdapter.STATE_CONNECTED) return PairedDevice.STATE_CONNECTED;
-        if (state == BluetoothAdapter.STATE_CONNECTING) return PairedDevice.STATE_CONNECTING;
-        if (state == BluetoothAdapter.STATE_DISCONNECTING) return PairedDevice.STATE_DISCONNECTING;
-        return PairedDevice.STATE_DISCONNECTED;
+    public void connect(final CachedBluetoothDevice device) {
+        if (mLocalBluetoothManager == null || device == null) return;
+        device.connect(true);
     }
 
     @Override
-    public void connect(final PairedDevice pd) {
-        connect(pd, true);
-    }
-
-    @Override
-    public void disconnect(PairedDevice pd) {
-        connect(pd, false);
-    }
-
-    private void connect(PairedDevice pd, final boolean connect) {
-        if (mAdapter == null || pd == null || pd.tag == null) return;
-        final BluetoothDevice device = (BluetoothDevice) pd.tag;
-        final DeviceInfo info = mDeviceInfo.get(device);
-        final String action = connect ? "connect" : "disconnect";
-        if (DEBUG) Log.d(TAG, action + " " + deviceToString(device));
-        final ParcelUuid[] uuids = device.getUuids();
-        if (uuids == null) {
-            Log.w(TAG, "No uuids returned, aborting " + action + " for " + deviceToString(device));
-            return;
-        }
-        SparseArray<Boolean> profiles = new SparseArray<>();
-        if (connect) {
-            // When connecting add every profile we can recognize by uuid.
-            for (ParcelUuid uuid : uuids) {
-                final int profile = uuidToProfile(uuid);
-                if (profile == 0) {
-                    Log.w(TAG, "Device " + deviceToString(device) + " has an unsupported uuid: "
-                            + uuidToString(uuid));
-                    continue;
-                }
-                final boolean connected = info.connectedProfiles.get(profile, false);
-                if (!connected) {
-                    profiles.put(profile, true);
-                }
-            }
-        } else {
-            // When disconnecting, just add every profile we know they are connected to.
-            profiles = info.connectedProfiles;
-        }
-        for (int i = 0; i < profiles.size(); i++) {
-            final int profile = profiles.keyAt(i);
-            if (mProfiles.indexOfKey(profile) >= 0) {
-                final Profile p = BluetoothUtil.getProfile(mProfiles.get(profile));
-                final boolean ok = connect ? p.connect(device) : p.disconnect(device);
-                if (DEBUG) Log.d(TAG, action + " " + profileToString(profile) + " "
-                        + (ok ? "succeeded" : "failed"));
-            } else {
-                Log.w(TAG, "Unable get get Profile for " + profileToString(profile));
-            }
-        }
+    public void disconnect(CachedBluetoothDevice device) {
+        if (mLocalBluetoothManager == null || device == null) return;
+        device.disconnect();
     }
 
     @Override
     public String getLastDeviceName() {
-        return mLastDevice != null ? mLastDevice.getAliasName() : null;
+        return mLastDevice != null ? mLastDevice.getName() : null;
     }
 
-    private void updateBondedDevices() {
-        mHandler.removeMessages(MSG_UPDATE_BONDED_DEVICES);
-        mHandler.sendEmptyMessage(MSG_UPDATE_BONDED_DEVICES);
-    }
-
-    private void updateConnectionStates() {
-        mHandler.removeMessages(MSG_UPDATE_CONNECTION_STATES);
-        mHandler.removeMessages(MSG_UPDATE_SINGLE_CONNECTION_STATE);
-        mHandler.sendEmptyMessage(MSG_UPDATE_CONNECTION_STATES);
-    }
-
-    private void updateConnectionState(BluetoothDevice device, int profile, int state) {
-        if (mHandler.hasMessages(MSG_UPDATE_CONNECTION_STATES)) {
-            // If we are about to update all the devices, then we don't need to update this one.
-            return;
-        }
-        mHandler.obtainMessage(MSG_UPDATE_SINGLE_CONNECTION_STATE, profile, state, device)
-                .sendToTarget();
-    }
-
-    private void handleUpdateBondedDevices() {
-        if (mAdapter == null) return;
-        final Set<BluetoothDevice> bondedDevices = mAdapter.getBondedDevices();
-        for (DeviceInfo info : mDeviceInfo.values()) {
-            info.bonded = false;
-        }
-        int bondedCount = 0;
-        BluetoothDevice lastBonded = null;
-        if (bondedDevices != null) {
-            for (BluetoothDevice bondedDevice : bondedDevices) {
-                final boolean bonded = bondedDevice.getBondState() != BluetoothDevice.BOND_NONE;
-                updateInfo(bondedDevice).bonded = bonded;
-                if (bonded) {
-                    bondedCount++;
-                    lastBonded = bondedDevice;
-                }
-            }
-        }
-        if (mLastDevice == null && bondedCount == 1) {
-            mLastDevice = lastBonded;
-        }
-        updateConnectionStates();
-        firePairedDevicesChanged();
-    }
-
-    private void handleUpdateConnectionStates() {
-        final int N = mDeviceInfo.size();
-        for (int i = 0; i < N; i++) {
-            BluetoothDevice device = mDeviceInfo.keyAt(i);
-            DeviceInfo info = updateInfo(device);
-            info.connectionStateIndex = 0;
-            info.connectedProfiles.clear();
-            for (int j = 0; j < mProfiles.size(); j++) {
-                int state = mProfiles.valueAt(j).getConnectionState(device);
-                handleUpdateConnectionState(device, mProfiles.keyAt(j), state);
-            }
-        }
-        handleConnectionChange();
-        firePairedDevicesChanged();
-    }
-
-    private void handleUpdateConnectionState(BluetoothDevice device, int profile, int state) {
-        if (DEBUG) Log.d(TAG, "updateConnectionState " + BluetoothUtil.deviceToString(device)
-                + " " + BluetoothUtil.profileToString(profile)
-                + " " + BluetoothUtil.connectionStateToString(state));
-        DeviceInfo info = updateInfo(device);
-        int stateIndex = 0;
-        for (int i = 0; i < CONNECTION_STATES.length; i++) {
-            if (CONNECTION_STATES[i] == state) {
-                stateIndex = i;
-                break;
-            }
-        }
-        info.profileStates.put(profile, stateIndex);
-
-        info.connectionStateIndex = 0;
-        final int N = info.profileStates.size();
-        for (int i = 0; i < N; i++) {
-            if (info.profileStates.valueAt(i) > info.connectionStateIndex) {
-                info.connectionStateIndex = info.profileStates.valueAt(i);
-            }
-        }
-        if (state == BluetoothProfile.STATE_CONNECTED) {
-            info.connectedProfiles.put(profile, true);
-        } else {
-            info.connectedProfiles.remove(profile);
-        }
-    }
-
-    private void handleConnectionChange() {
-        // If we are no longer connected to the current device, see if we are connected to
-        // something else, so we don't display a name we aren't connected to.
-        if (mLastDevice != null &&
-                CONNECTION_STATES[mDeviceInfo.get(mLastDevice).connectionStateIndex]
-                        != BluetoothProfile.STATE_CONNECTED) {
-            // Make sure we don't keep this device while it isn't connected.
-            mLastDevice = null;
-            // Look for anything else connected.
-            final int size = mDeviceInfo.size();
-            for (int i = 0; i < size; i++) {
-                BluetoothDevice device = mDeviceInfo.keyAt(i);
-                DeviceInfo info = mDeviceInfo.valueAt(i);
-                if (CONNECTION_STATES[info.connectionStateIndex]
-                        == BluetoothProfile.STATE_CONNECTED) {
-                    mLastDevice = device;
-                    break;
-                }
-            }
-        }
-    }
-
-    private void bindAllProfiles() {
-        // Note: This needs to contain all of the types that can be returned by BluetoothUtil
-        // otherwise we can't find the profiles we need when we connect/disconnect.
-        mAdapter.getProfileProxy(mContext, mProfileListener, BluetoothProfile.A2DP);
-        mAdapter.getProfileProxy(mContext, mProfileListener, BluetoothProfile.A2DP_SINK);
-        mAdapter.getProfileProxy(mContext, mProfileListener, BluetoothProfile.AVRCP_CONTROLLER);
-        mAdapter.getProfileProxy(mContext, mProfileListener, BluetoothProfile.HEADSET);
-        mAdapter.getProfileProxy(mContext, mProfileListener, BluetoothProfile.HEADSET_CLIENT);
-        mAdapter.getProfileProxy(mContext, mProfileListener, BluetoothProfile.INPUT_DEVICE);
-        mAdapter.getProfileProxy(mContext, mProfileListener, BluetoothProfile.MAP);
-        mAdapter.getProfileProxy(mContext, mProfileListener, BluetoothProfile.PAN);
-        // Note Health is not in this list because health devices aren't 'connected'.
-        // If profiles are expanded to use more than just connection state and connect/disconnect
-        // then it should be added.
+    @Override
+    public Collection<CachedBluetoothDevice> getDevices() {
+        return mLocalBluetoothManager != null
+                ? mLocalBluetoothManager.getCachedDeviceManager().getCachedDevicesCopy()
+                : null;
     }
 
     private void firePairedDevicesChanged() {
         for (Callback cb : mCallbacks) {
-            cb.onBluetoothPairedDevicesChanged();
+            cb.onBluetoothDevicesChanged();
         }
     }
 
-    private void setAdapterState(int adapterState) {
-        final boolean enabled = adapterState == BluetoothAdapter.STATE_ON;
-        if (mEnabled == enabled) return;
-        mEnabled = enabled;
-        fireStateChange();
-    }
-
-    private void setConnecting(boolean connecting) {
-        if (mConnecting == connecting) return;
-        mConnecting = connecting;
-        fireStateChange();
-    }
-
     private void fireStateChange() {
         for (Callback cb : mCallbacks) {
             fireStateChange(cb);
@@ -432,141 +148,59 @@
         cb.onBluetoothStateChange(mEnabled, mConnecting);
     }
 
-    private static int getProfileFromAction(String action) {
-        if (BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED.equals(action)) {
-            return BluetoothProfile.A2DP;
-        } else if (BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED.equals(action)) {
-            return BluetoothProfile.HEADSET;
-        } else if (BluetoothA2dpSink.ACTION_CONNECTION_STATE_CHANGED.equals(action)) {
-            return BluetoothProfile.A2DP_SINK;
-        } else if (BluetoothHeadsetClient.ACTION_CONNECTION_STATE_CHANGED.equals(action)) {
-            return BluetoothProfile.HEADSET_CLIENT;
-        } else if (BluetoothInputDevice.ACTION_CONNECTION_STATE_CHANGED.equals(action)) {
-            return BluetoothProfile.INPUT_DEVICE;
-        } else if (BluetoothMap.ACTION_CONNECTION_STATE_CHANGED.equals(action)) {
-            return BluetoothProfile.MAP;
-        } else if (BluetoothPan.ACTION_CONNECTION_STATE_CHANGED.equals(action)) {
-            return BluetoothProfile.PAN;
+    private void updateConnected() {
+        if (mLastDevice != null && mLastDevice.isConnected()) {
+            // Our current device is still valid.
+            return;
         }
-        if (DEBUG) Log.d(TAG, "Unknown action " + action);
-        return -1;
-    }
-
-    private final ServiceListener mProfileListener = new ServiceListener() {
-        @Override
-        public void onServiceDisconnected(int profile) {
-            if (DEBUG) Log.d(TAG, "Disconnected from " + BluetoothUtil.profileToString(profile));
-            // We lost a profile, don't do any updates until it gets removed.
-            mHandler.removeMessages(MSG_UPDATE_CONNECTION_STATES);
-            mHandler.removeMessages(MSG_UPDATE_SINGLE_CONNECTION_STATE);
-            mHandler.obtainMessage(MSG_REM_PROFILE, profile, 0).sendToTarget();
-        }
-
-        @Override
-        public void onServiceConnected(int profile, BluetoothProfile proxy) {
-            if (DEBUG) Log.d(TAG, "Connected to " + BluetoothUtil.profileToString(profile));
-            mHandler.obtainMessage(MSG_ADD_PROFILE, profile, 0, proxy).sendToTarget();
-        }
-    };
-
-    private final class Receiver extends BroadcastReceiver {
-        public void register() {
-            final IntentFilter filter = new IntentFilter();
-            filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
-            filter.addAction(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED);
-            filter.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED);
-            filter.addAction(BluetoothDevice.ACTION_ALIAS_CHANGED);
-            filter.addAction(BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED);
-            filter.addAction(BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED);
-            filter.addAction(BluetoothA2dpSink.ACTION_CONNECTION_STATE_CHANGED);
-            filter.addAction(BluetoothHeadsetClient.ACTION_CONNECTION_STATE_CHANGED);
-            filter.addAction(BluetoothInputDevice.ACTION_CONNECTION_STATE_CHANGED);
-            filter.addAction(BluetoothMap.ACTION_CONNECTION_STATE_CHANGED);
-            filter.addAction(BluetoothPan.ACTION_CONNECTION_STATE_CHANGED);
-            mContext.registerReceiver(this, filter);
-        }
-
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            final String action = intent.getAction();
-            final BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
-
-            if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
-                setAdapterState(intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, ERROR));
-                updateBondedDevices();
-                if (DEBUG) Log.d(TAG, "ACTION_STATE_CHANGED " + mEnabled);
-            } else if (action.equals(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED)) {
-                updateInfo(device);
-                final int state = intent.getIntExtra(BluetoothAdapter.EXTRA_CONNECTION_STATE,
-                        ERROR);
+        for (CachedBluetoothDevice device : getDevices()) {
+            if (device.isConnected()) {
                 mLastDevice = device;
-                if (DEBUG) Log.d(TAG, "ACTION_CONNECTION_STATE_CHANGED "
-                        + connectionStateToString(state) + " " + deviceToString(device));
-                setConnecting(state == BluetoothAdapter.STATE_CONNECTING);
-            } else if (action.equals(BluetoothDevice.ACTION_ALIAS_CHANGED)) {
-                updateInfo(device);
-                mLastDevice = device;
-            } else if (action.equals(BluetoothDevice.ACTION_BOND_STATE_CHANGED)) {
-                if (DEBUG) Log.d(TAG, "ACTION_BOND_STATE_CHANGED " + device);
-                updateBondedDevices();
-            } else {
-                int profile = getProfileFromAction(intent.getAction());
-                int state = intent.getIntExtra(BluetoothProfile.EXTRA_STATE, -1);
-                if (DEBUG) Log.d(TAG, "ACTION_CONNECTION_STATE_CHANGE "
-                        + BluetoothUtil.profileToString(profile)
-                        + " " + BluetoothUtil.connectionStateToString(state));
-                if ((profile != -1) && (state != -1)) {
-                    updateConnectionState(device, profile, state);
-                }
             }
         }
     }
 
-    private DeviceInfo updateInfo(BluetoothDevice device) {
-        DeviceInfo info = mDeviceInfo.get(device);
-        info = info != null ? info : new DeviceInfo();
-        mDeviceInfo.put(device, info);
-        return info;
+    @Override
+    public void onBluetoothStateChanged(int bluetoothState) {
+        mEnabled = bluetoothState == BluetoothAdapter.STATE_ON;
+        fireStateChange();
     }
 
-    private class H extends Handler {
-        public H(Looper l) {
-            super(l);
-        }
+    @Override
+    public void onScanningStateChanged(boolean started) {
+        // Don't care.
+    }
 
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case MSG_UPDATE_CONNECTION_STATES:
-                    handleUpdateConnectionStates();
-                    firePairedDevicesChanged();
-                    break;
-                case MSG_UPDATE_SINGLE_CONNECTION_STATE:
-                    handleUpdateConnectionState((BluetoothDevice) msg.obj, msg.arg1, msg.arg2);
-                    handleConnectionChange();
-                    firePairedDevicesChanged();
-                    break;
-                case MSG_UPDATE_BONDED_DEVICES:
-                    handleUpdateBondedDevices();
-                    firePairedDevicesChanged();
-                    break;
-                case MSG_ADD_PROFILE:
-                    mProfiles.put(msg.arg1, (BluetoothProfile) msg.obj);
-                    handleUpdateConnectionStates();
-                    firePairedDevicesChanged();
-                    break;
-                case MSG_REM_PROFILE:
-                    mProfiles.remove(msg.arg1);
-                    handleUpdateConnectionStates();
-                    firePairedDevicesChanged();
-                    break;
-            }
-        };
-    };
+    @Override
+    public void onDeviceAdded(CachedBluetoothDevice cachedDevice) {
+        cachedDevice.registerCallback(this);
+        updateConnected();
+        firePairedDevicesChanged();
+    }
 
-    private static class DeviceInfo {
-        int connectionStateIndex = 0;
-        boolean bonded;  // per getBondedDevices
-        SparseArray<Boolean> connectedProfiles = new SparseArray<>();
-        SparseArray<Integer> profileStates = new SparseArray<>();
+    @Override
+    public void onDeviceDeleted(CachedBluetoothDevice cachedDevice) {
+        updateConnected();
+        firePairedDevicesChanged();
+    }
+
+    @Override
+    public void onDeviceBondStateChanged(CachedBluetoothDevice cachedDevice, int bondState) {
+        updateConnected();
+        firePairedDevicesChanged();
+    }
+
+    @Override
+    public void onDeviceAttributesChanged() {
+        updateConnected();
+        firePairedDevicesChanged();
+    }
+
+    @Override
+    public void onConnectionStateChanged(CachedBluetoothDevice cachedDevice, int state) {
+        mConnecting = state == BluetoothAdapter.STATE_CONNECTING;
+        mLastDevice = cachedDevice;
+        updateConnected();
+        fireStateChange();
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothUtil.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothUtil.java
deleted file mode 100644
index ed8ac2c..0000000
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothUtil.java
+++ /dev/null
@@ -1,234 +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.policy;
-
-import android.bluetooth.BluetoothA2dp;
-import android.bluetooth.BluetoothA2dpSink;
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothDevice;
-import android.bluetooth.BluetoothHeadset;
-import android.bluetooth.BluetoothHeadsetClient;
-import android.bluetooth.BluetoothInputDevice;
-import android.bluetooth.BluetoothMap;
-import android.bluetooth.BluetoothPan;
-import android.bluetooth.BluetoothProfile;
-import android.bluetooth.BluetoothUuid;
-import android.os.ParcelUuid;
-import android.text.TextUtils;
-
-public class BluetoothUtil {
-
-    public static String profileToString(int profile) {
-        if (profile == BluetoothProfile.HEADSET) return "HEADSET";
-        if (profile == BluetoothProfile.A2DP) return "A2DP";
-        if (profile == BluetoothProfile.AVRCP_CONTROLLER) return "AVRCP_CONTROLLER";
-        if (profile == BluetoothProfile.PAN) return "PAN";
-        if (profile == BluetoothProfile.INPUT_DEVICE) return "INPUT_DEVICE";
-        if (profile == BluetoothProfile.MAP) return "MAP";
-        return "UNKNOWN(" + profile + ")";
-    }
-
-    public static String profileStateToString(int state) {
-        if (state == BluetoothProfile.STATE_CONNECTED) return "STATE_CONNECTED";
-        if (state == BluetoothProfile.STATE_CONNECTING) return "STATE_CONNECTING";
-        if (state == BluetoothProfile.STATE_DISCONNECTED) return "STATE_DISCONNECTED";
-        if (state == BluetoothProfile.STATE_DISCONNECTING) return "STATE_DISCONNECTING";
-        return "STATE_UNKNOWN";
-    }
-
-    public static String uuidToString(ParcelUuid uuid) {
-        if (BluetoothUuid.AudioSink.equals(uuid)) return "AudioSink";
-        if (BluetoothUuid.AudioSource.equals(uuid)) return "AudioSource";
-        if (BluetoothUuid.AdvAudioDist.equals(uuid)) return "AdvAudioDist";
-        if (BluetoothUuid.HSP.equals(uuid)) return "HSP";
-        if (BluetoothUuid.HSP_AG.equals(uuid)) return "HSP_AG";
-        if (BluetoothUuid.Handsfree.equals(uuid)) return "Handsfree";
-        if (BluetoothUuid.Handsfree_AG.equals(uuid)) return "Handsfree_AG";
-        if (BluetoothUuid.AvrcpController.equals(uuid)) return "AvrcpController";
-        if (BluetoothUuid.AvrcpTarget.equals(uuid)) return "AvrcpTarget";
-        if (BluetoothUuid.ObexObjectPush.equals(uuid)) return "ObexObjectPush";
-        if (BluetoothUuid.Hid.equals(uuid)) return "Hid";
-        if (BluetoothUuid.Hogp.equals(uuid)) return "Hogp";
-        if (BluetoothUuid.PANU.equals(uuid)) return "PANU";
-        if (BluetoothUuid.NAP.equals(uuid)) return "NAP";
-        if (BluetoothUuid.BNEP.equals(uuid)) return "BNEP";
-        if (BluetoothUuid.PBAP_PSE.equals(uuid)) return "PBAP_PSE";
-        if (BluetoothUuid.MAP.equals(uuid)) return "MAP";
-        if (BluetoothUuid.MNS.equals(uuid)) return "MNS";
-        if (BluetoothUuid.MAS.equals(uuid)) return "MAS";
-        return uuid != null ? uuid.toString() : null;
-    }
-
-    public static String connectionStateToString(int connectionState) {
-        if (connectionState == BluetoothAdapter.STATE_DISCONNECTED) return "STATE_DISCONNECTED";
-        if (connectionState == BluetoothAdapter.STATE_CONNECTED) return "STATE_CONNECTED";
-        if (connectionState == BluetoothAdapter.STATE_DISCONNECTING) return "STATE_DISCONNECTING";
-        if (connectionState == BluetoothAdapter.STATE_CONNECTING) return "STATE_CONNECTING";
-        return "ERROR";
-    }
-
-    public static String deviceToString(BluetoothDevice device) {
-        return device == null ? null : (device.getAddress() + '[' + device.getAliasName() + ']');
-    }
-
-    public static String uuidsToString(BluetoothDevice device) {
-        if (device == null) return null;
-        final ParcelUuid[] ids = device.getUuids();
-        if (ids == null) return null;
-        final String[] tokens = new String[ids.length];
-        for (int i = 0; i < tokens.length; i++) {
-            tokens[i] = uuidToString(ids[i]);
-        }
-        return TextUtils.join(",", tokens);
-    }
-
-    public static int uuidToProfile(ParcelUuid uuid) {
-        if (BluetoothUuid.AudioSink.equals(uuid)) return BluetoothProfile.A2DP;
-        if (BluetoothUuid.AdvAudioDist.equals(uuid)) return BluetoothProfile.A2DP;
-
-        if (BluetoothUuid.HSP.equals(uuid)) return BluetoothProfile.HEADSET;
-        if (BluetoothUuid.Handsfree.equals(uuid)) return BluetoothProfile.HEADSET;
-
-        if (BluetoothUuid.MAP.equals(uuid)) return BluetoothProfile.MAP;
-        if (BluetoothUuid.MNS.equals(uuid)) return BluetoothProfile.MAP;
-        if (BluetoothUuid.MAS.equals(uuid)) return BluetoothProfile.MAP;
-
-        if (BluetoothUuid.AvrcpController.equals(uuid)) return BluetoothProfile.AVRCP_CONTROLLER;
-
-        if (BluetoothUuid.Hid.equals(uuid)) return BluetoothProfile.INPUT_DEVICE;
-        if (BluetoothUuid.Hogp.equals(uuid)) return BluetoothProfile.INPUT_DEVICE;
-
-        if (BluetoothUuid.NAP.equals(uuid)) return BluetoothProfile.PAN;
-
-        return 0;
-    }
-
-    public static Profile getProfile(BluetoothProfile p) {
-        if (p instanceof BluetoothA2dp) return newProfile((BluetoothA2dp) p);
-        if (p instanceof BluetoothHeadset) return newProfile((BluetoothHeadset) p);
-        if (p instanceof BluetoothA2dpSink) return newProfile((BluetoothA2dpSink) p);
-        if (p instanceof BluetoothHeadsetClient) return newProfile((BluetoothHeadsetClient) p);
-        if (p instanceof BluetoothInputDevice) return newProfile((BluetoothInputDevice) p);
-        if (p instanceof BluetoothMap) return newProfile((BluetoothMap) p);
-        if (p instanceof BluetoothPan) return newProfile((BluetoothPan) p);
-        return null;
-    }
-
-    private static Profile newProfile(final BluetoothA2dp a2dp) {
-        return new Profile() {
-            @Override
-            public boolean connect(BluetoothDevice device) {
-                return a2dp.connect(device);
-            }
-
-            @Override
-            public boolean disconnect(BluetoothDevice device) {
-                return a2dp.disconnect(device);
-            }
-        };
-    }
-
-    private static Profile newProfile(final BluetoothHeadset headset) {
-        return new Profile() {
-            @Override
-            public boolean connect(BluetoothDevice device) {
-                return headset.connect(device);
-            }
-
-            @Override
-            public boolean disconnect(BluetoothDevice device) {
-                return headset.disconnect(device);
-            }
-        };
-    }
-
-    private static Profile newProfile(final BluetoothA2dpSink sink) {
-        return new Profile() {
-            @Override
-            public boolean connect(BluetoothDevice device) {
-                return sink.connect(device);
-            }
-
-            @Override
-            public boolean disconnect(BluetoothDevice device) {
-                return sink.disconnect(device);
-            }
-        };
-    }
-
-    private static Profile newProfile(final BluetoothHeadsetClient client) {
-        return new Profile() {
-            @Override
-            public boolean connect(BluetoothDevice device) {
-                return client.connect(device);
-            }
-
-            @Override
-            public boolean disconnect(BluetoothDevice device) {
-                return client.disconnect(device);
-            }
-        };
-    }
-
-    private static Profile newProfile(final BluetoothInputDevice input) {
-        return new Profile() {
-            @Override
-            public boolean connect(BluetoothDevice device) {
-                return input.connect(device);
-            }
-
-            @Override
-            public boolean disconnect(BluetoothDevice device) {
-                return input.disconnect(device);
-            }
-        };
-    }
-
-    private static Profile newProfile(final BluetoothMap map) {
-        return new Profile() {
-            @Override
-            public boolean connect(BluetoothDevice device) {
-                return map.connect(device);
-            }
-
-            @Override
-            public boolean disconnect(BluetoothDevice device) {
-                return map.disconnect(device);
-            }
-        };
-    }
-
-    private static Profile newProfile(final BluetoothPan pan) {
-        return new Profile() {
-            @Override
-            public boolean connect(BluetoothDevice device) {
-                return pan.connect(device);
-            }
-
-            @Override
-            public boolean disconnect(BluetoothDevice device) {
-                return pan.disconnect(device);
-            }
-        };
-    }
-
-    // common abstraction for supported profiles
-    public interface Profile {
-        boolean connect(BluetoothDevice device);
-        boolean disconnect(BluetoothDevice device);
-    }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/FlashlightController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/FlashlightController.java
index 33f7aff..c9ba8f6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/FlashlightController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/FlashlightController.java
@@ -28,7 +28,6 @@
 import android.os.Handler;
 import android.os.HandlerThread;
 import android.os.Process;
-import android.os.SystemProperties;
 import android.util.Log;
 import android.util.Size;
 import android.view.Surface;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpNotificationView.java
index 1566cd1..6c1cdcd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpNotificationView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpNotificationView.java
@@ -25,9 +25,6 @@
 import android.os.SystemClock;
 import android.provider.Settings;
 import android.util.ArrayMap;
-import android.graphics.Outline;
-import android.graphics.Rect;
-import android.os.SystemClock;
 import android.util.AttributeSet;
 import android.util.Log;
 import android.view.MotionEvent;
@@ -50,7 +47,6 @@
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
-import java.util.ArrayList;
 
 public class HeadsUpNotificationView extends FrameLayout implements SwipeHelper.Callback, ExpandHelper.Callback,
         ViewTreeObserver.OnComputeInternalInsetsListener {
@@ -172,6 +168,7 @@
         invalidate();
 
         if (mHeadsUp == headsUp) {
+            resetViewForHeadsup();
             // This is an in-place update.  Noting more to do.
             return;
         }
@@ -184,12 +181,8 @@
 
         if (mHeadsUp != null) {
             mMostRecentPackageName = mHeadsUp.notification.getPackageName();
-            if (mHeadsUp.row != null) {  // only null in tests
-                mHeadsUp.row.setSystemExpanded(true);
-                mHeadsUp.row.setSensitive(false);
-                mHeadsUp.row.setHeadsUp(true);
-                mHeadsUp.row.setHideSensitive(
-                        false, false /* animated */, 0 /* delay */, 0 /* duration */);
+            if (mHeadsUp.row != null) {
+                resetViewForHeadsup();
             }
 
             mStartTouchTime = SystemClock.elapsedRealtime() + mTouchSensitivityDelay;
@@ -210,6 +203,19 @@
         }
     }
 
+    private void resetViewForHeadsup() {
+        if (mHeadsUp.row.areChildrenExpanded()) {
+            mHeadsUp.row.setChildrenExpanded(false /* expanded */, false /* animated */);
+        }
+        mHeadsUp.row.setSystemExpanded(true);
+        mHeadsUp.row.setSensitive(false);
+        mHeadsUp.row.setHeadsUp(true);
+        mHeadsUp.row.setTranslationY(0);
+        mHeadsUp.row.setTranslationZ(0);
+        mHeadsUp.row.setHideSensitive(
+                false, false /* animated */, 0 /* delay */, 0 /* duration */);
+    }
+
     /**
      * Possibly enter the lingering state by delaying the closing of the window.
      *
@@ -257,7 +263,8 @@
     public void releaseImmediately() {
         if (DEBUG) Log.v(TAG, "releaseImmediately");
         if (mHeadsUp != null) {
-            mBar.displayNotificationFromHeadsUp(mHeadsUp.notification);
+            mContentHolder.removeView(mHeadsUp.row);
+            mBar.displayNotificationFromHeadsUp(mHeadsUp);
         }
         mHeadsUp = null;
         mBar.scheduleHeadsUpClose();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonRipple.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonRipple.java
index 6998791..a3ebb09 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonRipple.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonRipple.java
@@ -118,7 +118,7 @@
     }
 
     @Override
-    public void setColorFilter(ColorFilter cf) {
+    public void setColorFilter(ColorFilter colorFilter) {
         // Not supported.
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java
index a6becef..a18daed 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java
@@ -16,8 +16,6 @@
 
 package com.android.systemui.statusbar.policy;
 
-import android.animation.Animator;
-import android.animation.ObjectAnimator;
 import android.app.ActivityManager;
 import android.content.Context;
 import android.content.res.TypedArray;
@@ -26,7 +24,6 @@
 import android.os.Bundle;
 import android.os.SystemClock;
 import android.util.AttributeSet;
-import android.util.Log;
 import android.view.HapticFeedbackConstants;
 import android.view.InputDevice;
 import android.view.KeyCharacterMap;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcherScrim.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcherScrim.java
index a5fc2fe..2d04d8e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcherScrim.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcherScrim.java
@@ -19,7 +19,6 @@
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.ColorFilter;
-import android.graphics.LightingColorFilter;
 import android.graphics.Paint;
 import android.graphics.PixelFormat;
 import android.graphics.RadialGradient;
@@ -77,7 +76,7 @@
     }
 
     @Override
-    public void setColorFilter(ColorFilter cf) {
+    public void setColorFilter(ColorFilter colorFilter) {
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/PreviewInflater.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/PreviewInflater.java
index 030cd6d..34068fd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/PreviewInflater.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/PreviewInflater.java
@@ -20,7 +20,6 @@
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
-import android.os.UserHandle;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
new file mode 100644
index 0000000..7d721c2
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
@@ -0,0 +1,191 @@
+/*
+ * 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 com.android.systemui.statusbar.policy;
+
+import com.android.systemui.R;
+
+import android.annotation.NonNull;
+import android.app.Notification;
+import android.app.PendingIntent;
+import android.app.RemoteInput;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.KeyEvent;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.inputmethod.EditorInfo;
+import android.view.inputmethod.InputMethodManager;
+import android.widget.EditText;
+import android.widget.FrameLayout;
+import android.widget.ProgressBar;
+import android.widget.TextView;
+
+/**
+ * Host for the remote input.
+ */
+public class RemoteInputView extends FrameLayout implements View.OnClickListener {
+
+    private static final String TAG = "RemoteInput";
+
+    private RemoteEditText mEditText;
+    private ProgressBar mProgressBar;
+    private PendingIntent mPendingIntent;
+    private RemoteInput mRemoteInput;
+    private Notification.Action mAction;
+
+    public RemoteInputView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    @Override
+    protected void onFinishInflate() {
+        super.onFinishInflate();
+
+        mProgressBar = (ProgressBar) findViewById(R.id.remote_input_progress);
+
+        mEditText = (RemoteEditText) getChildAt(0);
+        mEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
+            @Override
+            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
+
+                // Check if this was the result of hitting the enter key
+                final boolean isSoftImeEvent = event == null
+                        && (actionId == EditorInfo.IME_ACTION_DONE
+                        || actionId == EditorInfo.IME_ACTION_NEXT
+                        || actionId == EditorInfo.IME_ACTION_SEND);
+                final boolean isKeyboardEnterKey = event != null
+                        && KeyEvent.isConfirmKey(event.getKeyCode())
+                        && event.getAction() == KeyEvent.ACTION_DOWN;
+
+                if (isSoftImeEvent || isKeyboardEnterKey) {
+                    sendRemoteInput();
+                    return true;
+                }
+                return false;
+            }
+        });
+        mEditText.setOnClickListener(this);
+        mEditText.setInnerFocusable(false);
+    }
+
+    private void sendRemoteInput() {
+        Bundle results = new Bundle();
+        results.putString(mRemoteInput.getResultKey(), mEditText.getText().toString());
+        Intent fillInIntent = new Intent();
+        RemoteInput.addResultsToIntent(mAction.getRemoteInputs(), fillInIntent,
+                results);
+
+        mEditText.setEnabled(false);
+        mProgressBar.setVisibility(VISIBLE);
+
+        try {
+            mPendingIntent.send(mContext, 0, fillInIntent);
+        } catch (PendingIntent.CanceledException e) {
+            Log.i(TAG, "Unable to send remote input result", e);
+        }
+    }
+
+    public static RemoteInputView inflate(Context context, ViewGroup root,
+            Notification.Action action, RemoteInput remoteInput) {
+        RemoteInputView v = (RemoteInputView)
+                LayoutInflater.from(context).inflate(R.layout.remote_input, root, false);
+
+        v.mEditText.setHint(action.title);
+        v.mPendingIntent = action.actionIntent;
+        v.mRemoteInput = remoteInput;
+        v.mAction = action;
+
+        return v;
+    }
+
+    @Override
+    public void onClick(View v) {
+        if (v == mEditText) {
+            if (!mEditText.isFocusable()) {
+                mEditText.setInnerFocusable(true);
+                InputMethodManager imm = InputMethodManager.getInstance();
+                if (imm != null) {
+                    imm.viewClicked(mEditText);
+                    imm.showSoftInput(mEditText, 0);
+                }
+            }
+        }
+    }
+
+    /**
+     * An EditText that changes appearance based on whether it's focusable and becomes
+     * un-focusable whenever the user navigates away from it or it becomes invisible.
+     */
+    public static class RemoteEditText extends EditText {
+
+        private final Drawable mBackground;
+
+        public RemoteEditText(Context context, AttributeSet attrs) {
+            super(context, attrs);
+            mBackground = getBackground();
+        }
+
+        private void defocusIfNeeded() {
+            if (isFocusable() && isEnabled()) {
+                setInnerFocusable(false);
+            }
+        }
+
+        @Override
+        protected void onVisibilityChanged(View changedView, int visibility) {
+            super.onVisibilityChanged(changedView, visibility);
+
+            if (!isShown()) {
+                defocusIfNeeded();
+            }
+        }
+
+        @Override
+        protected void onFocusLost() {
+            super.onFocusLost();
+            defocusIfNeeded();
+        }
+
+        @Override
+        public boolean onKeyPreIme(int keyCode, KeyEvent event) {
+            if (keyCode == KeyEvent.KEYCODE_BACK) {
+                defocusIfNeeded();
+            }
+            return super.onKeyPreIme(keyCode, event);
+        }
+
+
+        void setInnerFocusable(boolean focusable) {
+            setFocusableInTouchMode(focusable);
+            setFocusable(focusable);
+            setCursorVisible(focusable);
+
+            if (focusable) {
+                requestFocus();
+                setBackground(mBackground);
+            } else {
+                setBackground(null);
+            }
+
+        }
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java
new file mode 100644
index 0000000..3c9e8cf
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java
@@ -0,0 +1,406 @@
+/*
+ * 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 com.android.systemui.statusbar.stack;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+
+import com.android.systemui.R;
+import com.android.systemui.statusbar.ExpandableNotificationRow;
+import com.android.systemui.statusbar.ExpandableView;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A container containing child notifications
+ */
+public class NotificationChildrenContainer extends ViewGroup {
+
+    private final int mChildPadding;
+    private final int mDividerHeight;
+    private final int mMaxNotificationHeight;
+    private final List<View> mDividers = new ArrayList<>();
+    private final List<ExpandableNotificationRow> mChildren = new ArrayList<>();
+    private final View mCollapseButton;
+    private final View mCollapseDivider;
+    private final int mCollapseButtonHeight;
+    private final int mNotificationAppearDistance;
+
+    public NotificationChildrenContainer(Context context) {
+        this(context, null);
+    }
+
+    public NotificationChildrenContainer(Context context, AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+    public NotificationChildrenContainer(Context context, AttributeSet attrs, int defStyleAttr) {
+        this(context, attrs, defStyleAttr, 0);
+    }
+
+    public NotificationChildrenContainer(Context context, AttributeSet attrs, int defStyleAttr,
+            int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        mChildPadding = getResources().getDimensionPixelSize(
+                R.dimen.notification_children_padding);
+        mDividerHeight = getResources().getDimensionPixelSize(
+                R.dimen.notification_children_divider_height);
+        mMaxNotificationHeight = getResources().getDimensionPixelSize(
+                R.dimen.notification_max_height);
+        mNotificationAppearDistance = getResources().getDimensionPixelSize(
+                R.dimen.notification_appear_distance);
+        LayoutInflater inflater = mContext.getSystemService(LayoutInflater.class);
+        mCollapseButton = inflater.inflate(R.layout.notification_collapse_button, this,
+                false);
+        mCollapseButtonHeight = getResources().getDimensionPixelSize(
+                R.dimen.notification_bottom_decor_height);
+        addView(mCollapseButton);
+        mCollapseDivider = inflateDivider();
+        addView(mCollapseDivider);
+    }
+
+    @Override
+    protected void onLayout(boolean changed, int l, int t, int r, int b) {
+        int childCount = mChildren.size();
+        boolean firstChild = true;
+        for (int i = 0; i < childCount; i++) {
+            View child = mChildren.get(i);
+            boolean viewGone = child.getVisibility() == View.GONE;
+            if (i != 0) {
+                View divider = mDividers.get(i - 1);
+                int dividerVisibility = divider.getVisibility();
+                int newVisibility = viewGone ? INVISIBLE : VISIBLE;
+                if (dividerVisibility != newVisibility) {
+                    divider.setVisibility(newVisibility);
+                }
+            }
+            if (viewGone) {
+                continue;
+            }
+            child.layout(0, 0, getWidth(), child.getMeasuredHeight());
+            if (!firstChild) {
+                mDividers.get(i - 1).layout(0, 0, getWidth(), mDividerHeight);
+            } else {
+                firstChild = false;
+            }
+        }
+        mCollapseButton.layout(0, 0, getWidth(), mCollapseButtonHeight);
+        mCollapseDivider.layout(0, mCollapseButtonHeight - mDividerHeight, getWidth(),
+                mCollapseButtonHeight);
+    }
+
+    @Override
+    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        int ownMaxHeight = mMaxNotificationHeight;
+        int heightMode = MeasureSpec.getMode(heightMeasureSpec);
+        boolean hasFixedHeight = heightMode == MeasureSpec.EXACTLY;
+        boolean isHeightLimited = heightMode == MeasureSpec.AT_MOST;
+        if (hasFixedHeight || isHeightLimited) {
+            int size = MeasureSpec.getSize(heightMeasureSpec);
+            ownMaxHeight = Math.min(ownMaxHeight, size);
+        }
+        int newHeightSpec = MeasureSpec.makeMeasureSpec(ownMaxHeight, MeasureSpec.AT_MOST);
+        int dividerHeightSpec = MeasureSpec.makeMeasureSpec(mDividerHeight, MeasureSpec.EXACTLY);
+        int collapseButtonHeightSpec = MeasureSpec.makeMeasureSpec(mCollapseButtonHeight,
+                MeasureSpec.EXACTLY);
+        mCollapseButton.measure(widthMeasureSpec, collapseButtonHeightSpec);
+        mCollapseDivider.measure(widthMeasureSpec, dividerHeightSpec);
+        int height = mCollapseButtonHeight;
+        int childCount = mChildren.size();
+        boolean firstChild = true;
+        for (int i = 0; i < childCount; i++) {
+            View child = mChildren.get(i);
+            if (child.getVisibility() == View.GONE) {
+                continue;
+            }
+            child.measure(widthMeasureSpec, newHeightSpec);
+            height += child.getMeasuredHeight();
+            if (!firstChild) {
+                // layout the divider
+                View divider = mDividers.get(i - 1);
+                divider.measure(widthMeasureSpec, dividerHeightSpec);
+                height += mChildPadding;
+            } else {
+                firstChild = false;
+            }
+        }
+        int width = MeasureSpec.getSize(widthMeasureSpec);
+        height = hasFixedHeight ? ownMaxHeight
+                : isHeightLimited ? Math.min(ownMaxHeight, height)
+                : height;
+        setMeasuredDimension(width, height);
+    }
+
+    /**
+     * Add a child notification to this view.
+     *
+     * @param row the row to add
+     * @param childIndex the index to add it at, if -1 it will be added at the end
+     */
+    public void addNotification(ExpandableNotificationRow row, int childIndex) {
+        int newIndex = childIndex < 0 ? mChildren.size() : childIndex;
+        mChildren.add(newIndex, row);
+        addView(row);
+        if (mChildren.size() != 1) {
+            View divider = inflateDivider();
+            addView(divider);
+            mDividers.add(Math.max(newIndex - 1, 0), divider);
+        }
+        // TODO: adapt background corners
+        // TODO: fix overdraw
+    }
+
+    public void removeNotification(ExpandableNotificationRow row) {
+        int childIndex = mChildren.indexOf(row);
+        mChildren.remove(row);
+        removeView(row);
+        if (!mDividers.isEmpty()) {
+            View divider = mDividers.remove(Math.max(childIndex - 1, 0));
+            removeView(divider);
+        }
+        row.setSystemChildExpanded(false);
+        // TODO: adapt background corners
+    }
+
+    private View inflateDivider() {
+        return LayoutInflater.from(mContext).inflate(
+                R.layout.notification_children_divider, this, false);
+    }
+
+    public List<ExpandableNotificationRow> getNotificationChildren() {
+        return mChildren;
+    }
+
+    /**
+     * Apply the order given in the list to the children.
+     *
+     * @param childOrder the new list order
+     * @return whether the list order has changed
+     */
+    public boolean applyChildOrder(List<ExpandableNotificationRow> childOrder) {
+        if (childOrder == null) {
+            return false;
+        }
+        boolean result = false;
+        for (int i = 0; i < mChildren.size() && i < childOrder.size(); i++) {
+            ExpandableNotificationRow child = mChildren.get(i);
+            ExpandableNotificationRow desiredChild = childOrder.get(i);
+            if (child != desiredChild) {
+                mChildren.remove(desiredChild);
+                mChildren.add(i, desiredChild);
+                result = true;
+            }
+        }
+
+        // Let's make the first child expanded!
+        boolean first = true;
+        for (int i = 0; i < childOrder.size(); i++) {
+            ExpandableNotificationRow child = childOrder.get(i);
+            child.setSystemChildExpanded(first);
+            first = false;
+        }
+        return result;
+    }
+
+    public int getIntrinsicHeight() {
+        int childCount = mChildren.size();
+        int intrinsicHeight = 0;
+        int visibleChildren = 0;
+        for (int i = 0; i < childCount; i++) {
+            ExpandableNotificationRow child = mChildren.get(i);
+            if (child.getVisibility() == View.GONE) {
+                continue;
+            }
+            intrinsicHeight += child.getIntrinsicHeight();
+            visibleChildren++;
+        }
+        if (visibleChildren > 0) {
+            intrinsicHeight += (visibleChildren - 1) * mDividerHeight;
+        }
+        return intrinsicHeight;
+    }
+
+    /**
+     * Update the state of all its children based on a linear layout algorithm.
+     *
+     * @param resultState the state to update
+     * @param parentState the state of the parent
+     */
+    public void getState(StackScrollState resultState, StackViewState parentState) {
+        int childCount = mChildren.size();
+        int yPosition = mCollapseButtonHeight;
+        boolean firstChild = true;
+        for (int i = 0; i < childCount; i++) {
+            ExpandableNotificationRow child = mChildren.get(i);
+            if (child.getVisibility() == View.GONE) {
+                continue;
+            }
+            if (!firstChild) {
+                // There's a divider
+                yPosition += mChildPadding;
+            } else {
+                firstChild = false;
+            }
+            StackViewState childState = resultState.getViewStateForView(child);
+            int intrinsicHeight = child.getIntrinsicHeight();
+            childState.yTranslation = yPosition;
+            childState.zTranslation = 0;
+            childState.height = intrinsicHeight;
+            childState.dimmed = parentState.dimmed;
+            childState.dark = parentState.dark;
+            childState.hideSensitive = parentState.hideSensitive;
+            childState.belowSpeedBump = parentState.belowSpeedBump;
+            childState.scale =  parentState.scale;
+            childState.clipTopAmount = 0;
+            childState.topOverLap = 0;
+            childState.location = parentState.location;
+            yPosition += intrinsicHeight;
+        }
+    }
+
+    public void applyState(StackScrollState state) {
+        int childCount = mChildren.size();
+        boolean firstChild = true;
+        ViewState dividerState = new ViewState();
+        for (int i = 0; i < childCount; i++) {
+            ExpandableNotificationRow child = mChildren.get(i);
+            StackViewState viewState = state.getViewStateForView(child);
+            if (child.getVisibility() == View.GONE) {
+                continue;
+            }
+            if (!firstChild) {
+                // layout the divider
+                View divider = mDividers.get(i - 1);
+                dividerState.initFrom(divider);
+                dividerState.yTranslation = (int) (viewState.yTranslation
+                        - (mChildPadding + mDividerHeight) / 2.0f);
+                dividerState.alpha = 1;
+                state.applyViewState(divider, dividerState);
+            } else {
+                firstChild = false;
+            }
+            state.applyState(child, viewState);
+        }
+    }
+
+    public void setCollapseClickListener(OnClickListener collapseClickListener) {
+        mCollapseButton.setOnClickListener(collapseClickListener);
+    }
+
+    /**
+     * This is called when the children expansion has changed and positions the children properly
+     * for an appear animation.
+     *
+     * @param state the new state we animate to
+     */
+    public void prepareExpansionChanged(StackScrollState state) {
+        int childCount = mChildren.size();
+        boolean firstChild = true;
+        StackViewState sourceState = new StackViewState();
+        ViewState dividerState = new ViewState();
+        for (int i = 0; i < childCount; i++) {
+            ExpandableNotificationRow child = mChildren.get(i);
+            StackViewState viewState = state.getViewStateForView(child);
+            if (child.getVisibility() == View.GONE) {
+                continue;
+            }
+            if (!firstChild) {
+                // layout the divider
+                View divider = mDividers.get(i - 1);
+                dividerState.initFrom(divider);
+                dividerState.yTranslation = viewState.yTranslation
+                        - (mChildPadding + mDividerHeight) / 2.0f + mNotificationAppearDistance;
+                dividerState.alpha = 0;
+                state.applyViewState(divider, dividerState);
+            } else {
+                firstChild = false;
+            }
+            sourceState.copyFrom(viewState);
+            sourceState.alpha = 0;
+            sourceState.yTranslation += mNotificationAppearDistance;
+            state.applyState(child, sourceState);
+        }
+        mCollapseButton.setAlpha(0);
+        mCollapseDivider.setAlpha(0);
+        mCollapseDivider.setTranslationY(mNotificationAppearDistance / 4);
+    }
+
+    public void startAnimationToState(StackScrollState state, StackStateAnimator stateAnimator,
+            boolean withDelays, long baseDelay, long duration) {
+        int childCount = mChildren.size();
+        boolean firstChild = true;
+        ViewState dividerState = new ViewState();
+        int notGoneIndex = 0;
+        for (int i = 0; i < childCount; i++) {
+            ExpandableNotificationRow child = mChildren.get(i);
+            StackViewState viewState = state.getViewStateForView(child);
+            if (child.getVisibility() == View.GONE) {
+                continue;
+            }
+            int difference = Math.min(StackStateAnimator.DELAY_EFFECT_MAX_INDEX_DIFFERENCE_CHILDREN,
+                    notGoneIndex + 1);
+            long delay = withDelays
+                    ? difference * StackStateAnimator.ANIMATION_DELAY_PER_ELEMENT_EXPAND_CHILDREN
+                    : 0;
+            delay += baseDelay;
+            if (!firstChild) {
+                // layout the divider
+                View divider = mDividers.get(i - 1);
+                dividerState.initFrom(divider);
+                dividerState.yTranslation = viewState.yTranslation
+                        - (mChildPadding + mDividerHeight) / 2.0f;
+                dividerState.alpha = 1;
+                stateAnimator.startViewAnimations(divider, dividerState, delay, duration);
+            } else {
+                firstChild = false;
+            }
+            stateAnimator.startStackAnimations(child, viewState, state, -1, delay);
+            notGoneIndex++;
+        }
+        dividerState.initFrom(mCollapseButton);
+        dividerState.alpha = 1.0f;
+        stateAnimator.startViewAnimations(mCollapseButton, dividerState, baseDelay, duration);
+        dividerState.initFrom(mCollapseDivider);
+        dividerState.alpha = 1.0f;
+        dividerState.yTranslation = 0.0f;
+        stateAnimator.startViewAnimations(mCollapseDivider, dividerState, baseDelay, duration);
+    }
+
+    public ExpandableNotificationRow getViewAtPosition(float y) {
+        // find the view under the pointer, accounting for GONE views
+        final int count = mChildren.size();
+        for (int childIdx = 0; childIdx < count; childIdx++) {
+            ExpandableNotificationRow slidingChild = mChildren.get(childIdx);
+            float childTop = slidingChild.getTranslationY();
+            float top = childTop + slidingChild.getClipTopAmount();
+            float bottom = childTop + slidingChild.getActualHeight();
+            if (y >= top && y <= bottom) {
+                return slidingChild;
+            }
+        }
+        return null;
+    }
+
+    public void setTintColor(int color) {
+        ExpandableNotificationRow.applyTint(mCollapseDivider, color);
+    }
+}
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 6dcbed6..2eafd57 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
@@ -41,12 +41,13 @@
 import com.android.systemui.statusbar.EmptyShadeView;
 import com.android.systemui.statusbar.ExpandableNotificationRow;
 import com.android.systemui.statusbar.ExpandableView;
+import com.android.systemui.statusbar.NotificationData;
 import com.android.systemui.statusbar.SpeedBumpView;
 import com.android.systemui.statusbar.StackScrollerDecorView;
 import com.android.systemui.statusbar.StatusBarState;
+import com.android.systemui.statusbar.phone.NotificationGroupManager;
 import com.android.systemui.statusbar.phone.PhoneStatusBar;
 import com.android.systemui.statusbar.policy.ScrollAdapter;
-import com.android.systemui.statusbar.stack.StackScrollState.ViewState;
 
 import java.util.ArrayList;
 import java.util.HashSet;
@@ -56,7 +57,7 @@
  */
 public class NotificationStackScrollLayout extends ViewGroup
         implements SwipeHelper.Callback, ExpandHelper.Callback, ScrollAdapter,
-        ExpandableView.OnHeightChangedListener {
+        ExpandableView.OnHeightChangedListener, NotificationGroupManager.OnGroupChangeListener {
 
     private static final String TAG = "NotificationStackScrollLayout";
     private static final boolean DEBUG = false;
@@ -119,6 +120,7 @@
      */
     private StackScrollState mCurrentStackScrollState = new StackScrollState(this);
     private AmbientState mAmbientState = new AmbientState();
+    private NotificationGroupManager mGroupManager;
     private ArrayList<View> mChildrenToAddAnimated = new ArrayList<View>();
     private ArrayList<View> mChildrenToRemoveAnimated = new ArrayList<View>();
     private ArrayList<View> mSnappedBackChildren = new ArrayList<View>();
@@ -181,6 +183,7 @@
     private boolean mDontReportNextOverScroll;
     private boolean mRequestViewResizeAnimationOnLayout;
     private boolean mNeedViewResizeAnimation;
+    private View mExpandedGroupView;
     private boolean mEverythingNeedsAnimation;
 
     /**
@@ -214,6 +217,8 @@
     };
     private PhoneStatusBar mPhoneStatusBar;
     private int[] mTempInt2 = new int[2];
+    private boolean mGenerateChildOrderChangedEvent;
+    private boolean mRemoveAnimationEnabled;
 
     public NotificationStackScrollLayout(Context context) {
         this(context, null);
@@ -309,7 +314,7 @@
 
     private void notifyHeightChangeListener(ExpandableView view) {
         if (mOnHeightChangedListener != null) {
-            mOnHeightChangedListener.onHeightChanged(view);
+            mOnHeightChangedListener.onHeightChanged(view, false /* needsAnimation */);
         }
     }
 
@@ -329,6 +334,9 @@
         float centerX = getWidth() / 2.0f;
         for (int i = 0; i < getChildCount(); i++) {
             View child = getChildAt(i);
+            if (child.getVisibility() == GONE) {
+                continue;
+            }
             float width = child.getMeasuredWidth();
             float height = child.getMeasuredHeight();
             child.layout((int) (centerX - width / 2.0f),
@@ -339,16 +347,18 @@
         setMaxLayoutHeight(getHeight());
         updateContentHeight();
         clampScrollPosition();
-        requestAnimationOnViewResize();
+        if (mRequestViewResizeAnimationOnLayout) {
+            requestAnimationOnViewResize();
+            mRequestViewResizeAnimationOnLayout = false;
+        }
         requestChildrenUpdate();
     }
 
     private void requestAnimationOnViewResize() {
-        if (mRequestViewResizeAnimationOnLayout && mIsExpanded && mAnimationsEnabled) {
+        if (mIsExpanded && mAnimationsEnabled) {
             mNeedViewResizeAnimation = true;
             mNeedsAnimation = true;
         }
-        mRequestViewResizeAnimationOnLayout = false;
     }
 
     public void updateSpeedBumpIndex(int newIndex) {
@@ -375,15 +385,15 @@
      * Returns the location the given child is currently rendered at.
      *
      * @param child the child to get the location for
-     * @return one of {@link ViewState}'s <code>LOCATION_*</code> constants
+     * @return one of {@link StackViewState}'s <code>LOCATION_*</code> constants
      */
     public int getChildLocation(View child) {
-        ViewState childViewState = mCurrentStackScrollState.getViewStateForView(child);
+        StackViewState childViewState = mCurrentStackScrollState.getViewStateForView(child);
         if (childViewState == null) {
-            return ViewState.LOCATION_UNKNOWN;
+            return StackViewState.LOCATION_UNKNOWN;
         }
         if (childViewState.gone) {
-            return ViewState.LOCATION_GONE;
+            return StackViewState.LOCATION_GONE;
         }
         return childViewState.location;
     }
@@ -645,6 +655,10 @@
             int right = getWidth();
 
             if (touchY >= top && touchY <= bottom && touchX >= left && touchX <= right) {
+                if (slidingChild instanceof ExpandableNotificationRow) {
+                    ExpandableNotificationRow row = (ExpandableNotificationRow) slidingChild;
+                    return row.getViewAtPosition(touchY - childTop);
+                }
                 return slidingChild;
             }
         }
@@ -723,7 +737,6 @@
     }
 
     public void dismissViewAnimated(View child, Runnable endRunnable, int delay, long duration) {
-        child.setClipBounds(null);
         mSwipeHelper.dismissChild(child, 0, endRunnable, delay, true, duration);
     }
 
@@ -1544,6 +1557,14 @@
     @Override
     protected void onViewRemoved(View child) {
         super.onViewRemoved(child);
+        // we only call our internal methods if this is actually a removal and not just a
+        // notification which becomes a child notification
+        if (!isChildInGroup(child)) {
+            onViewRemovedInternal(child);
+        }
+    }
+
+    private void onViewRemovedInternal(View child) {
         mStackScrollAlgorithm.notifyChildrenChanged(this);
         if (mChangePositionInProgress) {
             // This is only a position change, don't do anything special
@@ -1552,16 +1573,27 @@
         ((ExpandableView) child).setOnHeightChangedListener(null);
         mCurrentStackScrollState.removeViewStateForView(child);
         updateScrollStateForRemovedChild(child);
-        boolean animationGenerated = generateRemoveAnimation(child);
-        if (animationGenerated && !mSwipedOutViews.contains(child)) {
-            // Add this view to an overlay in order to ensure that it will still be temporary
-            // drawn when removed
-            getOverlay().add(child);
+        if (mRemoveAnimationEnabled) {
+            boolean animationGenerated = generateRemoveAnimation(child);
+            if (animationGenerated && !mSwipedOutViews.contains(child)) {
+                // Add this view to an overlay in order to ensure that it will still be temporary
+                // drawn when removed
+                getOverlay().add(child);
+            }
+        } else {
+            // TODO: handle this more cleanly when HEADS-up and the shade are merged
+            requestAnimateEverything();
         }
         updateAnimationState(false, child);
 
         // Make sure the clipRect we might have set is removed
-        child.setClipBounds(null);
+        ((ExpandableView) child).setClipTopOptimization(0);
+    }
+
+    private boolean isChildInGroup(View child) {
+        return child instanceof ExpandableNotificationRow
+                && mGroupManager.isChildInGroupWithSummary(
+                        ((ExpandableNotificationRow) child).getStatusBarNotification());
     }
 
     /**
@@ -1571,7 +1603,7 @@
      * @return Whether an animation was generated.
      */
     private boolean generateRemoveAnimation(View child) {
-        if (mIsExpanded && mAnimationsEnabled) {
+        if (mIsExpanded && mAnimationsEnabled && !isChildInInvisibleGroup(child)) {
             if (!mChildrenToAddAnimated.contains(child)) {
                 // Generate Animations
                 mChildrenToRemoveAnimated.add(child);
@@ -1587,6 +1619,23 @@
     }
 
     /**
+     * @param child the child to query
+     * @return whether a view is not a top level child but a child notification and that group is
+     *         not expanded
+     */
+    private boolean isChildInInvisibleGroup(View child) {
+        if (child instanceof ExpandableNotificationRow) {
+            ExpandableNotificationRow row = (ExpandableNotificationRow) child;
+            ExpandableNotificationRow groupSummary =
+                    mGroupManager.getGroupSummary(row.getStatusBarNotification());
+            if (groupSummary != null && groupSummary != row) {
+                return !groupSummary.areChildrenExpanded();
+            }
+        }
+        return false;
+    }
+
+    /**
      * Updates the scroll position when a child was removed
      *
      * @param removedChild the removed child
@@ -1634,6 +1683,10 @@
     @Override
     protected void onViewAdded(View child) {
         super.onViewAdded(child);
+        onViewAddedInternal(child);
+    }
+
+    private void onViewAddedInternal(View child) {
         mStackScrollAlgorithm.notifyChildrenChanged(this);
         ((ExpandableView) child).setOnHeightChangedListener(this);
         generateAddAnimation(child, false /* fromMoreCard */);
@@ -1646,6 +1699,14 @@
         }
     }
 
+    public void notifyGroupChildRemoved(View row) {
+        onViewRemovedInternal(row);
+    }
+
+    public void notifyGroupChildAdded(View row) {
+        onViewAddedInternal(row);
+    }
+
     public void setAnimationsEnabled(boolean animationsEnabled) {
         mAnimationsEnabled = animationsEnabled;
         updateNotificationAnimationStates();
@@ -1741,10 +1802,20 @@
         generateDarkEvent();
         generateGoToFullShadeEvent();
         generateViewResizeEvent();
+        generateGroupExpansionEvent();
         generateAnimateEverythingEvent();
         mNeedsAnimation = false;
     }
 
+    private void generateGroupExpansionEvent() {
+        // Generate a group expansion/collapsing event if there is such a group at all
+        if (mExpandedGroupView != null) {
+            mAnimationEvents.add(new AnimationEvent(mExpandedGroupView,
+                    AnimationEvent.ANIMATION_TYPE_GROUP_EXPANSION_CHANGED));
+            mExpandedGroupView = null;
+        }
+    }
+
     private void generateViewResizeEvent() {
         if (mNeedViewResizeAnimation) {
             mAnimationEvents.add(
@@ -1791,6 +1862,11 @@
                     AnimationEvent.ANIMATION_TYPE_CHANGE_POSITION));
         }
         mChildrenChangingPositions.clear();
+        if (mGenerateChildOrderChangedEvent) {
+            mAnimationEvents.add(new AnimationEvent(null,
+                    AnimationEvent.ANIMATION_TYPE_CHANGE_POSITION));
+            mGenerateChildOrderChangedEvent = false;
+        }
     }
 
     private void generateChildAdditionEvents() {
@@ -2059,11 +2135,14 @@
     }
 
     @Override
-    public void onHeightChanged(ExpandableView view) {
+    public void onHeightChanged(ExpandableView view, boolean needsAnimation) {
         updateContentHeight();
         updateScrollPositionOnExpandInBottom(view);
         clampScrollPosition();
         notifyHeightChangeListener(view);
+        if (needsAnimation) {
+            requestAnimationOnViewResize();
+        }
         requestChildrenUpdate();
     }
 
@@ -2338,6 +2417,20 @@
     public void setDismissAllInProgress(boolean dismissAllInProgress) {
         mDismissAllInProgress = dismissAllInProgress;
         mDismissView.setDismissAllInProgress(dismissAllInProgress);
+        if (dismissAllInProgress) {
+            disableClipOptimization();
+        }
+    }
+
+    private void disableClipOptimization() {
+        final int count = getChildCount();
+        for (int i = 0; i < count; i++) {
+            ExpandableView child = (ExpandableView) getChildAt(i);
+            if (child.getVisibility() == GONE) {
+                continue;
+            }
+            child.setClipTopOptimization(0);
+        }
     }
 
     public boolean isDismissViewNotGone() {
@@ -2392,28 +2485,97 @@
         this.mPhoneStatusBar = phoneStatusBar;
     }
 
+    public void setGroupManager(NotificationGroupManager groupManager) {
+        this.mGroupManager = groupManager;
+    }
+
     public void onGoToKeyguard() {
+        requestAnimateEverything();
+    }
+
+    private void requestAnimateEverything() {
         if (mIsExpanded && mAnimationsEnabled) {
             mEverythingNeedsAnimation = true;
+            mNeedsAnimation = true;
             requestChildrenUpdate();
         }
     }
 
     private boolean isBelowLastNotification(float touchX, float touchY) {
-        ExpandableView lastChildNotGone = (ExpandableView) getLastChildNotGone();
-        if (lastChildNotGone == null) {
-            return touchY > mIntrinsicPadding;
+        int childCount = getChildCount();
+        for (int i = childCount - 1; i >= 0; i--) {
+            ExpandableView child = (ExpandableView) getChildAt(i);
+            if (child.getVisibility() != View.GONE) {
+                float childTop = child.getY();
+                if (childTop > touchY) {
+                    // we are above a notification entirely let's abort
+                    return false;
+                }
+                boolean belowChild = touchY > childTop + child.getActualHeight();
+                if (child == mDismissView) {
+                    if(!belowChild && !mDismissView.isOnEmptySpace(touchX - mDismissView.getX(),
+                                    touchY - childTop)) {
+                        // We clicked on the dismiss button
+                        return false;
+                    }
+                } else if (child == mEmptyShadeView) {
+                    // We arrived at the empty shade view, for which we accept all clicks
+                    return true;
+                } else if (!belowChild){
+                    // We are on a child
+                    return false;
+                }
+            }
         }
-        if (lastChildNotGone != mDismissView && lastChildNotGone != mEmptyShadeView) {
-            return touchY > lastChildNotGone.getY() + lastChildNotGone.getActualHeight();
-        } else if (lastChildNotGone == mEmptyShadeView) {
-            return touchY > mEmptyShadeView.getY();
-        } else {
-            float dismissY = mDismissView.getY();
-            boolean belowDismissView = touchY > dismissY + mDismissView.getActualHeight();
-            return belowDismissView || (touchY > dismissY
-                    && mDismissView.isOnEmptySpace(touchX - mDismissView.getX(),
-                    touchY - dismissY));
+        return touchY > mIntrinsicPadding;
+    }
+
+    public void setRemoveAnimationEnabled(boolean enabled) {
+        mRemoveAnimationEnabled = enabled;
+    }
+
+    private void updateExpandButtons() {
+        for (int i = 0; i < getChildCount(); i++) {
+            View child = getChildAt(i);
+            if (child instanceof ExpandableNotificationRow) {
+                ExpandableNotificationRow row = (ExpandableNotificationRow) child;
+                row.updateExpandButton();
+            }
+        }
+    }
+
+    @Override
+    public void onGroupExpansionChanged(ExpandableNotificationRow changedRow, boolean expanded) {
+        boolean animated = mAnimationsEnabled && mIsExpanded;
+        if (animated) {
+            mExpandedGroupView = changedRow;
+            mNeedsAnimation = true;
+        }
+        changedRow.setChildrenExpanded(expanded, animated);
+        onHeightChanged(changedRow, false /* needsAnimation */);
+    }
+
+    @Override
+    public void onGroupsProhibitedChanged() {
+        updateExpandButtons();
+    }
+
+    @Override
+    public void onGroupCreatedFromChildren(NotificationGroupManager.NotificationGroup group) {
+        for (NotificationData.Entry entry : group.children) {
+            ExpandableNotificationRow row = entry.row;
+            if (indexOfChild(row) != -1) {
+                removeView(row);
+                group.summary.row.addChildNotification(row);
+            }
+        }
+    }
+
+    public void generateChildOrderChangedEvent() {
+        if (mIsExpanded && mAnimationsEnabled) {
+            mGenerateChildOrderChangedEvent = true;
+            mNeedsAnimation = true;
+            requestChildrenUpdate();
         }
     }
 
@@ -2553,6 +2715,14 @@
                         .animateY()
                         .animateZ(),
 
+                // ANIMATION_TYPE_GROUP_EXPANSION_CHANGED
+                new AnimationFilter()
+                        .animateAlpha()
+                        .animateHeight()
+                        .animateTopInset()
+                        .animateY()
+                        .animateZ(),
+
                 // ANIMATION_TYPE_EVERYTHING
                 new AnimationFilter()
                         .animateAlpha()
@@ -2607,6 +2777,9 @@
                 // ANIMATION_TYPE_VIEW_RESIZE
                 StackStateAnimator.ANIMATION_DURATION_STANDARD,
 
+                // ANIMATION_TYPE_GROUP_EXPANSION_CHANGED
+                StackStateAnimator.ANIMATION_DURATION_EXPAND_CLICKED,
+
                 // ANIMATION_TYPE_EVERYTHING
                 StackStateAnimator.ANIMATION_DURATION_STANDARD,
         };
@@ -2624,7 +2797,8 @@
         static final int ANIMATION_TYPE_GO_TO_FULL_SHADE = 10;
         static final int ANIMATION_TYPE_HIDE_SENSITIVE = 11;
         static final int ANIMATION_TYPE_VIEW_RESIZE = 12;
-        static final int ANIMATION_TYPE_EVERYTHING = 13;
+        static final int ANIMATION_TYPE_GROUP_EXPANSION_CHANGED = 13;
+        static final int ANIMATION_TYPE_EVERYTHING = 14;
 
         static final int DARK_ANIMATION_ORIGIN_INDEX_ABOVE = -1;
         static final int DARK_ANIMATION_ORIGIN_INDEX_BELOW = -2;
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 ddc4251..e7bf47b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java
@@ -27,6 +27,7 @@
 import com.android.systemui.statusbar.ExpandableView;
 
 import java.util.ArrayList;
+import java.util.List;
 
 /**
  * The Algorithm of the {@link com.android.systemui.statusbar.stack
@@ -171,6 +172,19 @@
         updateDimmedActivatedHideSensitive(ambientState, resultState, algorithmState);
         updateClipping(resultState, algorithmState);
         updateSpeedBumpState(resultState, algorithmState, ambientState.getSpeedBumpIndex());
+        getNotificationChildrenStates(resultState, algorithmState);
+    }
+
+    private void getNotificationChildrenStates(StackScrollState resultState,
+            StackScrollAlgorithmState algorithmState) {
+        int childCount = algorithmState.visibleChildren.size();
+        for (int i = 0; i < childCount; i++) {
+            ExpandableView v = algorithmState.visibleChildren.get(i);
+            if (v instanceof ExpandableNotificationRow) {
+                ExpandableNotificationRow row = (ExpandableNotificationRow) v;
+                row.getChildrenStates(resultState);
+            }
+        }
     }
 
     private void updateSpeedBumpState(StackScrollState resultState,
@@ -178,7 +192,7 @@
         int childCount = algorithmState.visibleChildren.size();
         for (int i = 0; i < childCount; i++) {
             View child = algorithmState.visibleChildren.get(i);
-            StackScrollState.ViewState childViewState = resultState.getViewStateForView(child);
+            StackViewState childViewState = resultState.getViewStateForView(child);
 
             // The speed bump can also be gone, so equality needs to be taken when comparing
             // indices.
@@ -194,7 +208,7 @@
         int childCount = algorithmState.visibleChildren.size();
         for (int i = 0; i < childCount; i++) {
             ExpandableView child = algorithmState.visibleChildren.get(i);
-            StackScrollState.ViewState state = resultState.getViewStateForView(child);
+            StackViewState state = resultState.getViewStateForView(child);
             float newYTranslation = state.yTranslation + state.height * (1f - state.scale) / 2f;
             float newHeight = state.height * state.scale;
             // apply clipping and shadow
@@ -242,8 +256,8 @@
      * @param backgroundHeight the desired background height. The shadows of the view will be
      *                         based on this height and the content will be clipped from the top
      */
-    private void updateChildClippingAndBackground(StackScrollState.ViewState state,
-            float realHeight, float clipHeight, float backgroundHeight) {
+    private void updateChildClippingAndBackground(StackViewState state, float realHeight,
+            float clipHeight, float backgroundHeight) {
         if (realHeight > clipHeight) {
             // Rather overlap than create a hole.
             state.topOverLap = (int) Math.floor((realHeight - clipHeight) / state.scale);
@@ -270,7 +284,7 @@
         int childCount = algorithmState.visibleChildren.size();
         for (int i = 0; i < childCount; i++) {
             View child = algorithmState.visibleChildren.get(i);
-            StackScrollState.ViewState childViewState = resultState.getViewStateForView(child);
+            StackViewState childViewState = resultState.getViewStateForView(child);
             childViewState.dimmed = dimmed;
             childViewState.dark = dark;
             childViewState.hideSensitive = hideSensitive;
@@ -297,14 +311,14 @@
                 if (!draggedViews.contains(nextChild)) {
                     // only if the view is not dragged itself we modify its state to be fully
                     // visible
-                    StackScrollState.ViewState viewState = resultState.getViewStateForView(
+                    StackViewState viewState = resultState.getViewStateForView(
                             nextChild);
                     // The child below the dragged one must be fully visible
                     viewState.alpha = 1;
                 }
 
                 // Lets set the alpha to the one it currently has, as its currently being dragged
-                StackScrollState.ViewState viewState = resultState.getViewStateForView(draggedView);
+                StackViewState viewState = resultState.getViewStateForView(draggedView);
                 // The dragged child should keep the set alpha
                 viewState.alpha = draggedView.getAlpha();
             }
@@ -320,12 +334,31 @@
         int childCount = hostView.getChildCount();
         state.visibleChildren.clear();
         state.visibleChildren.ensureCapacity(childCount);
+        int notGoneIndex = 0;
         for (int i = 0; i < childCount; i++) {
             ExpandableView v = (ExpandableView) hostView.getChildAt(i);
             if (v.getVisibility() != View.GONE) {
-                StackScrollState.ViewState viewState = resultState.getViewStateForView(v);
-                viewState.notGoneIndex = state.visibleChildren.size();
+                StackViewState viewState = resultState.getViewStateForView(v);
+                viewState.notGoneIndex = notGoneIndex;
                 state.visibleChildren.add(v);
+                notGoneIndex++;
+
+                // handle the notgoneIndex for the children as well
+                if (v instanceof ExpandableNotificationRow) {
+                    ExpandableNotificationRow row = (ExpandableNotificationRow) v;
+                    List<ExpandableNotificationRow> children =
+                            row.getNotificationChildren();
+                    if (row.areChildrenExpanded() && children != null) {
+                        for (ExpandableNotificationRow childRow : children) {
+                            if (childRow.getVisibility() != View.GONE) {
+                                StackViewState childState
+                                        = resultState.getViewStateForView(childRow);
+                                childState.notGoneIndex = notGoneIndex;
+                                notGoneIndex++;
+                            }
+                        }
+                    }
+                }
             }
         }
     }
@@ -355,8 +388,8 @@
         int numberOfElementsCompletelyIn = (int) algorithmState.itemsInTopStack;
         for (int i = 0; i < childCount; i++) {
             ExpandableView child = algorithmState.visibleChildren.get(i);
-            StackScrollState.ViewState childViewState = resultState.getViewStateForView(child);
-            childViewState.location = StackScrollState.ViewState.LOCATION_UNKNOWN;
+            StackViewState childViewState = resultState.getViewStateForView(child);
+            childViewState.location = StackViewState.LOCATION_UNKNOWN;
             int childHeight = getMaxAllowedChildHeight(child);
             float yPositionInScrollViewAfterElement = yPositionInScrollView
                     + childHeight
@@ -413,7 +446,7 @@
             } else {
                 // Case 3:
                 // We are in the regular scroll area.
-                childViewState.location = StackScrollState.ViewState.LOCATION_MAIN_AREA;
+                childViewState.location = StackViewState.LOCATION_MAIN_AREA;
                 clampYTranslation(childViewState, childHeight);
             }
 
@@ -427,9 +460,9 @@
                             bottomPeekStart - mCollapseSecondCardPadding
                                     - childViewState.yTranslation, mCollapsedSize);
                 }
-                childViewState.location = StackScrollState.ViewState.LOCATION_FIRST_CARD;
+                childViewState.location = StackViewState.LOCATION_FIRST_CARD;
             }
-            if (childViewState.location == StackScrollState.ViewState.LOCATION_UNKNOWN) {
+            if (childViewState.location == StackViewState.LOCATION_UNKNOWN) {
                 Log.wtf(LOG_TAG, "Failed to assign location for child " + i);
             }
             currentYPosition = childViewState.yTranslation + childHeight + mPaddingBetweenElements;
@@ -445,7 +478,7 @@
      * @param childViewState the view state of the child
      * @param childHeight the height of this child
      */
-    private void clampYTranslation(StackScrollState.ViewState childViewState, int childHeight) {
+    private void clampYTranslation(StackViewState childViewState, int childHeight) {
         clampPositionToBottomStackStart(childViewState, childHeight);
         clampPositionToTopStackEnd(childViewState, childHeight);
     }
@@ -457,7 +490,7 @@
      * @param childViewState the view state of the child
      * @param childHeight the height of this child
      */
-    private void clampPositionToBottomStackStart(StackScrollState.ViewState childViewState,
+    private void clampPositionToBottomStackStart(StackViewState childViewState,
             int childHeight) {
         childViewState.yTranslation = Math.min(childViewState.yTranslation,
                 mInnerHeight - mBottomStackPeekSize - mCollapseSecondCardPadding - childHeight);
@@ -470,7 +503,7 @@
      * @param childViewState the view state of the child
      * @param childHeight the height of this child
      */
-    private void clampPositionToTopStackEnd(StackScrollState.ViewState childViewState,
+    private void clampPositionToTopStackEnd(StackViewState childViewState,
             int childHeight) {
         childViewState.yTranslation = Math.max(childViewState.yTranslation,
                 mCollapsedSize - childHeight);
@@ -489,7 +522,7 @@
 
     private void updateStateForChildTransitioningInBottom(StackScrollAlgorithmState algorithmState,
             float transitioningPositionStart, float bottomPeakStart, float currentYPosition,
-            StackScrollState.ViewState childViewState, int childHeight) {
+            StackViewState childViewState, int childHeight) {
 
         // This is the transitioning element on top of bottom stack, calculate how far we are in.
         algorithmState.partialInBottom = 1.0f - (
@@ -510,11 +543,11 @@
 
         // We want at least to be at the end of the top stack when collapsing
         clampPositionToTopStackEnd(childViewState, newHeight);
-        childViewState.location = StackScrollState.ViewState.LOCATION_MAIN_AREA;
+        childViewState.location = StackViewState.LOCATION_MAIN_AREA;
     }
 
     private void updateStateForChildFullyInBottomStack(StackScrollAlgorithmState algorithmState,
-            float transitioningPositionStart, StackScrollState.ViewState childViewState,
+            float transitioningPositionStart, StackViewState childViewState,
             int childHeight) {
 
         float currentYPosition;
@@ -524,7 +557,7 @@
             currentYPosition = transitioningPositionStart
                     + mBottomStackIndentationFunctor.getValue(algorithmState.itemsInBottomStack)
                     - mPaddingBetweenElements;
-            childViewState.location = StackScrollState.ViewState.LOCATION_BOTTOM_STACK_PEEKING;
+            childViewState.location = StackViewState.LOCATION_BOTTOM_STACK_PEEKING;
         } else {
             // we are fully inside the stack
             if (algorithmState.itemsInBottomStack > MAX_ITEMS_IN_BOTTOM_STACK + 2) {
@@ -533,7 +566,7 @@
                     > MAX_ITEMS_IN_BOTTOM_STACK + 1) {
                 childViewState.alpha = 1.0f - algorithmState.partialInBottom;
             }
-            childViewState.location = StackScrollState.ViewState.LOCATION_BOTTOM_STACK_HIDDEN;
+            childViewState.location = StackViewState.LOCATION_BOTTOM_STACK_HIDDEN;
             currentYPosition = mInnerHeight;
         }
         childViewState.yTranslation = currentYPosition - childHeight;
@@ -542,7 +575,7 @@
 
     private void updateStateForTopStackChild(StackScrollAlgorithmState algorithmState,
             int numberOfElementsCompletelyIn, int i, int childHeight,
-            StackScrollState.ViewState childViewState, float scrollOffset) {
+            StackViewState childViewState, float scrollOffset) {
 
 
         // First we calculate the index relative to the current stack window of size at most
@@ -574,7 +607,7 @@
                         - mTopStackIndentationFunctor.getValue(numItemsBefore);
                 childViewState.yTranslation = currentChildEndY - childHeight;
             }
-            childViewState.location = StackScrollState.ViewState.LOCATION_TOP_STACK_PEEKING;
+            childViewState.location = StackViewState.LOCATION_TOP_STACK_PEEKING;
         } else {
             if (paddedIndex == -1) {
                 childViewState.alpha = 1.0f - algorithmState.partialInTop;
@@ -583,7 +616,7 @@
                 childViewState.alpha = 0.0f;
             }
             childViewState.yTranslation = mCollapsedSize - childHeight;
-            childViewState.location = StackScrollState.ViewState.LOCATION_TOP_STACK_HIDDEN;
+            childViewState.location = StackViewState.LOCATION_TOP_STACK_HIDDEN;
         }
 
 
@@ -605,7 +638,7 @@
         // find the number of elements in the top stack.
         for (int i = 0; i < childCount; i++) {
             ExpandableView child = algorithmState.visibleChildren.get(i);
-            StackScrollState.ViewState childViewState = resultState.getViewStateForView(child);
+            StackViewState childViewState = resultState.getViewStateForView(child);
             int childHeight = getMaxAllowedChildHeight(child);
             float yPositionInScrollViewAfterElement = yPositionInScrollView
                     + childHeight
@@ -676,7 +709,7 @@
         int childCount = algorithmState.visibleChildren.size();
         for (int i = 0; i < childCount; i++) {
             View child = algorithmState.visibleChildren.get(i);
-            StackScrollState.ViewState childViewState = resultState.getViewStateForView(child);
+            StackViewState childViewState = resultState.getViewStateForView(child);
             if (i < algorithmState.itemsInTopStack) {
                 float stackIndex = algorithmState.itemsInTopStack - i;
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java
index 0b1ce8f..feae590 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java
@@ -16,7 +16,6 @@
 
 package com.android.systemui.statusbar.stack;
 
-import android.graphics.Rect;
 import android.util.Log;
 import android.view.View;
 import android.view.ViewGroup;
@@ -24,10 +23,12 @@
 import com.android.systemui.R;
 import com.android.systemui.statusbar.DismissView;
 import com.android.systemui.statusbar.EmptyShadeView;
+import com.android.systemui.statusbar.ExpandableNotificationRow;
 import com.android.systemui.statusbar.ExpandableView;
 import com.android.systemui.statusbar.SpeedBumpView;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -39,13 +40,12 @@
     private static final String CHILD_NOT_FOUND_TAG = "StackScrollStateNoSuchChild";
 
     private final ViewGroup mHostView;
-    private Map<ExpandableView, ViewState> mStateMap;
-    private final Rect mClipRect = new Rect();
+    private Map<ExpandableView, StackViewState> mStateMap;
     private final int mClearAllTopPadding;
 
     public StackScrollState(ViewGroup hostView) {
         mHostView = hostView;
-        mStateMap = new HashMap<ExpandableView, ViewState>();
+        mStateMap = new HashMap<ExpandableView, StackViewState>();
         mClearAllTopPadding = hostView.getContext().getResources().getDimensionPixelSize(
                 R.dimen.clear_all_padding_top);
     }
@@ -58,20 +58,36 @@
         int numChildren = mHostView.getChildCount();
         for (int i = 0; i < numChildren; i++) {
             ExpandableView child = (ExpandableView) mHostView.getChildAt(i);
-            ViewState viewState = mStateMap.get(child);
-            if (viewState == null) {
-                viewState = new ViewState();
-                mStateMap.put(child, viewState);
+            resetViewState(child);
+
+            // handling reset for child notifications
+            if (child instanceof ExpandableNotificationRow) {
+                ExpandableNotificationRow row = (ExpandableNotificationRow) child;
+                List<ExpandableNotificationRow> children =
+                        row.getNotificationChildren();
+                if (row.areChildrenExpanded() && children != null) {
+                    for (ExpandableNotificationRow childRow : children) {
+                        resetViewState(childRow);
+                    }
+                }
             }
-            // initialize with the default values of the view
-            viewState.height = child.getIntrinsicHeight();
-            viewState.gone = child.getVisibility() == View.GONE;
-            viewState.alpha = 1;
-            viewState.notGoneIndex = -1;
         }
     }
 
-    public ViewState getViewStateForView(View requestedView) {
+    private void resetViewState(ExpandableView view) {
+        StackViewState viewState = mStateMap.get(view);
+        if (viewState == null) {
+            viewState = new StackViewState();
+            mStateMap.put(view, viewState);
+        }
+        // initialize with the default values of the view
+        viewState.height = view.getIntrinsicHeight();
+        viewState.gone = view.getVisibility() == View.GONE;
+        viewState.alpha = 1;
+        viewState.notGoneIndex = -1;
+    }
+
+    public StackViewState getViewStateForView(View requestedView) {
         return mStateMap.get(requestedView);
     }
 
@@ -87,126 +103,139 @@
         int numChildren = mHostView.getChildCount();
         for (int i = 0; i < numChildren; i++) {
             ExpandableView child = (ExpandableView) mHostView.getChildAt(i);
-            ViewState state = mStateMap.get(child);
-            if (state == null) {
-                Log.wtf(CHILD_NOT_FOUND_TAG, "No child state was found when applying this state " +
-                        "to the hostView");
+            StackViewState state = mStateMap.get(child);
+            if (!applyState(child, state)) {
                 continue;
             }
-            if (!state.gone) {
-                float alpha = child.getAlpha();
-                float yTranslation = child.getTranslationY();
-                float xTranslation = child.getTranslationX();
-                float zTranslation = child.getTranslationZ();
-                float scale = child.getScaleX();
-                int height = child.getActualHeight();
-                float newAlpha = state.alpha;
-                float newYTranslation = state.yTranslation;
-                float newZTranslation = state.zTranslation;
-                float newScale = state.scale;
-                int newHeight = state.height;
-                boolean becomesInvisible = newAlpha == 0.0f;
-                if (alpha != newAlpha && xTranslation == 0) {
-                    // apply layer type
-                    boolean becomesFullyVisible = newAlpha == 1.0f;
-                    boolean newLayerTypeIsHardware = !becomesInvisible && !becomesFullyVisible;
-                    int layerType = child.getLayerType();
-                    int newLayerType = newLayerTypeIsHardware
-                            ? View.LAYER_TYPE_HARDWARE
-                            : View.LAYER_TYPE_NONE;
-                    if (layerType != newLayerType) {
-                        child.setLayerType(newLayerType, null);
-                    }
-
-                    // apply alpha
-                    child.setAlpha(newAlpha);
-                }
-
-                // apply visibility
-                int oldVisibility = child.getVisibility();
-                int newVisibility = becomesInvisible ? View.INVISIBLE : View.VISIBLE;
-                if (newVisibility != oldVisibility) {
-                    child.setVisibility(newVisibility);
-                }
-
-                // apply yTranslation
-                if (yTranslation != newYTranslation) {
-                    child.setTranslationY(newYTranslation);
-                }
-
-                // apply zTranslation
-                if (zTranslation != newZTranslation) {
-                    child.setTranslationZ(newZTranslation);
-                }
-
-                // apply scale
-                if (scale != newScale) {
-                    child.setScaleX(newScale);
-                    child.setScaleY(newScale);
-                }
-
-                // apply height
-                if (height != newHeight) {
-                    child.setActualHeight(newHeight, false /* notifyListeners */);
-                }
-
-                // apply dimming
-                child.setDimmed(state.dimmed, false /* animate */);
-
-                // apply dark
-                child.setDark(state.dark, false /* animate */, 0 /* delay */);
-
-                // apply hiding sensitive
-                child.setHideSensitive(
-                        state.hideSensitive, false /* animated */, 0 /* delay */, 0 /* duration */);
-
-                // apply speed bump state
-                child.setBelowSpeedBump(state.belowSpeedBump);
-
-                // apply clipping
-                float oldClipTopAmount = child.getClipTopAmount();
-                if (oldClipTopAmount != state.clipTopAmount) {
-                    child.setClipTopAmount(state.clipTopAmount);
-                }
-                updateChildClip(child, newHeight, state.topOverLap);
-
-                if(child instanceof SpeedBumpView) {
-                    performSpeedBumpAnimation(i, (SpeedBumpView) child, state, 0);
-                } else if (child instanceof DismissView) {
-                    DismissView dismissView = (DismissView) child;
-                    boolean visible = state.topOverLap < mClearAllTopPadding;
-                    dismissView.performVisibilityAnimation(visible && !dismissView.willBeGone());
-                } else if (child instanceof EmptyShadeView) {
-                    EmptyShadeView emptyShadeView = (EmptyShadeView) child;
-                    boolean visible = state.topOverLap <= 0;
-                    emptyShadeView.performVisibilityAnimation(
-                            visible && !emptyShadeView.willBeGone());
-                }
+            if(child instanceof SpeedBumpView) {
+                performSpeedBumpAnimation(i, (SpeedBumpView) child, state, 0);
+            } else if (child instanceof DismissView) {
+                DismissView dismissView = (DismissView) child;
+                boolean visible = state.topOverLap < mClearAllTopPadding;
+                dismissView.performVisibilityAnimation(visible && !dismissView.willBeGone());
+            } else if (child instanceof EmptyShadeView) {
+                EmptyShadeView emptyShadeView = (EmptyShadeView) child;
+                boolean visible = state.topOverLap <= 0;
+                emptyShadeView.performVisibilityAnimation(
+                        visible && !emptyShadeView.willBeGone());
             }
         }
     }
 
     /**
-     * Updates the clipping of a view
+     * Applies a  {@link StackViewState} to an  {@link ExpandableView}.
      *
-     * @param child the view to update
-     * @param height the currently applied height of the view
-     * @param clipInset how much should this view be clipped from the top
+     * @return whether the state was applied correctly
      */
-    private void updateChildClip(View child, int height, int clipInset) {
-        mClipRect.set(0,
-                clipInset,
-                child.getWidth(),
-                height);
-        child.setClipBounds(mClipRect);
+    public boolean applyState(ExpandableView view, StackViewState state) {
+        if (state == null) {
+            Log.wtf(CHILD_NOT_FOUND_TAG, "No child state was found when applying this state " +
+                    "to the hostView");
+            return false;
+        }
+        if (state.gone) {
+            return false;
+        }
+        applyViewState(view, state);
+
+        int height = view.getActualHeight();
+        int newHeight = state.height;
+
+        // apply height
+        if (height != newHeight) {
+            view.setActualHeight(newHeight, false /* notifyListeners */);
+        }
+
+        // apply dimming
+        view.setDimmed(state.dimmed, false /* animate */);
+
+        // apply dark
+        view.setDark(state.dark, false /* animate */, 0 /* delay */);
+
+        // apply hiding sensitive
+        view.setHideSensitive(
+                state.hideSensitive, false /* animated */, 0 /* delay */, 0 /* duration */);
+
+        // apply speed bump state
+        view.setBelowSpeedBump(state.belowSpeedBump);
+
+        // apply clipping
+        float oldClipTopAmount = view.getClipTopAmount();
+        if (oldClipTopAmount != state.clipTopAmount) {
+            view.setClipTopAmount(state.clipTopAmount);
+        }
+        float oldClipTopOptimization = view.getClipTopOptimization();
+        if (oldClipTopOptimization != state.topOverLap) {
+            view.setClipTopOptimization(state.topOverLap);
+        }
+        if (view instanceof ExpandableNotificationRow) {
+            ExpandableNotificationRow row = (ExpandableNotificationRow) view;
+            row.applyChildrenState(this);
+        }
+        return true;
     }
 
-    public void performSpeedBumpAnimation(int i, SpeedBumpView speedBump, ViewState state,
+    /**
+     * Applies a  {@link ViewState} to a normal view.
+     */
+    public void applyViewState(View view, ViewState state) {
+        float alpha = view.getAlpha();
+        float yTranslation = view.getTranslationY();
+        float xTranslation = view.getTranslationX();
+        float zTranslation = view.getTranslationZ();
+        float scale = view.getScaleX();
+        float newAlpha = state.alpha;
+        float newYTranslation = state.yTranslation;
+        float newZTranslation = state.zTranslation;
+        float newScale = state.scale;
+        boolean becomesInvisible = newAlpha == 0.0f;
+        if (alpha != newAlpha && xTranslation == 0) {
+            // apply layer type
+            boolean becomesFullyVisible = newAlpha == 1.0f;
+            boolean newLayerTypeIsHardware = !becomesInvisible && !becomesFullyVisible
+                    && view.hasOverlappingRendering();
+            int layerType = view.getLayerType();
+            int newLayerType = newLayerTypeIsHardware
+                    ? View.LAYER_TYPE_HARDWARE
+                    : View.LAYER_TYPE_NONE;
+            if (layerType != newLayerType) {
+                view.setLayerType(newLayerType, null);
+            }
+
+            // apply alpha
+            view.setAlpha(newAlpha);
+        }
+
+        // apply visibility
+        int oldVisibility = view.getVisibility();
+        int newVisibility = becomesInvisible ? View.INVISIBLE : View.VISIBLE;
+        if (newVisibility != oldVisibility) {
+            view.setVisibility(newVisibility);
+        }
+
+        // apply yTranslation
+        if (yTranslation != newYTranslation) {
+            view.setTranslationY(newYTranslation);
+        }
+
+        // apply zTranslation
+        if (zTranslation != newZTranslation) {
+            view.setTranslationZ(newZTranslation);
+        }
+
+        // apply scale
+        if (scale != newScale) {
+            view.setScaleX(newScale);
+            view.setScaleY(newScale);
+        }
+    }
+
+    public void performSpeedBumpAnimation(int i, SpeedBumpView speedBump, StackViewState state,
             long delay) {
         View nextChild = getNextChildNotGone(i);
         if (nextChild != null) {
             float lineEnd = state.yTranslation + state.height / 2;
-            ViewState nextState = getViewStateForView(nextChild);
+            StackViewState nextState = getViewStateForView(nextChild);
             boolean startIsAboveNext = nextState.yTranslation > lineEnd;
             speedBump.animateDivider(startIsAboveNext, delay, null /* onFinishedRunnable */);
         }
@@ -223,53 +252,4 @@
         return null;
     }
 
-    public static class ViewState {
-
-        // These are flags such that we can create masks for filtering.
-
-        public static final int LOCATION_UNKNOWN = 0x00;
-        public static final int LOCATION_FIRST_CARD = 0x01;
-        public static final int LOCATION_TOP_STACK_HIDDEN = 0x02;
-        public static final int LOCATION_TOP_STACK_PEEKING = 0x04;
-        public static final int LOCATION_MAIN_AREA = 0x08;
-        public static final int LOCATION_BOTTOM_STACK_PEEKING = 0x10;
-        public static final int LOCATION_BOTTOM_STACK_HIDDEN = 0x20;
-        /** The view isn't layouted at all. */
-        public static final int LOCATION_GONE = 0x40;
-
-        float alpha;
-        float yTranslation;
-        float zTranslation;
-        int height;
-        boolean gone;
-        float scale;
-        boolean dimmed;
-        boolean dark;
-        boolean hideSensitive;
-        boolean belowSpeedBump;
-
-        /**
-         * The amount which the view should be clipped from the top. This is calculated to
-         * perceive consistent shadows.
-         */
-        int clipTopAmount;
-
-        /**
-         * How much does the child overlap with the previous view on the top? Can be used for
-         * a clipping optimization
-         */
-        int topOverLap;
-
-        /**
-         * The index of the view, only accounting for views not equal to GONE
-         */
-        int notGoneIndex;
-
-        /**
-         * The location this view is currently rendered at.
-         *
-         * <p>See <code>LOCATION_</code> flags.</p>
-         */
-        int location;
-    }
 }
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 b027787..b249fbf 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java
@@ -26,6 +26,7 @@
 import android.view.animation.Interpolator;
 
 import com.android.systemui.R;
+import com.android.systemui.statusbar.ExpandableNotificationRow;
 import com.android.systemui.statusbar.ExpandableView;
 import com.android.systemui.statusbar.SpeedBumpView;
 
@@ -42,12 +43,15 @@
     public static final int ANIMATION_DURATION_STANDARD = 360;
     public static final int ANIMATION_DURATION_GO_TO_FULL_SHADE = 448;
     public static final int ANIMATION_DURATION_APPEAR_DISAPPEAR = 464;
+    public static final int ANIMATION_DURATION_EXPAND_CLICKED = 360;
     public static final int ANIMATION_DURATION_DIMMED_ACTIVATED = 220;
     public static final int ANIMATION_DELAY_PER_ELEMENT_INTERRUPTING = 80;
+    public static final int ANIMATION_DELAY_PER_ELEMENT_EXPAND_CHILDREN = 54;
     public static final int ANIMATION_DELAY_PER_ELEMENT_MANUAL = 32;
     public static final int ANIMATION_DELAY_PER_ELEMENT_GO_TO_FULL_SHADE = 48;
     public static final int ANIMATION_DELAY_PER_ELEMENT_DARK = 24;
-    private static final int DELAY_EFFECT_MAX_INDEX_DIFFERENCE = 2;
+    public static final int DELAY_EFFECT_MAX_INDEX_DIFFERENCE = 2;
+    public static final int DELAY_EFFECT_MAX_INDEX_DIFFERENCE_CHILDREN = 3;
 
     private static final int TAG_ANIMATOR_TRANSLATION_Y = R.id.translation_y_animator_tag;
     private static final int TAG_ANIMATOR_TRANSLATION_Z = R.id.translation_z_animator_tag;
@@ -85,6 +89,7 @@
 
     private ValueAnimator mTopOverScrollAnimator;
     private ValueAnimator mBottomOverScrollAnimator;
+    private ExpandableNotificationRow mChildExpandingView;
 
     public StackStateAnimator(NotificationStackScrollLayout hostLayout) {
         mHostLayout = hostLayout;
@@ -113,13 +118,13 @@
         for (int i = 0; i < childCount; i++) {
             final ExpandableView child = (ExpandableView) mHostLayout.getChildAt(i);
 
-            StackScrollState.ViewState viewState = finalState.getViewStateForView(child);
+            StackViewState viewState = finalState.getViewStateForView(child);
             if (viewState == null || child.getVisibility() == View.GONE) {
                 continue;
             }
 
-            child.setClipBounds(null);
-            startAnimations(child, viewState, finalState, i);
+            child.setClipTopOptimization(0);
+            startStackAnimations(child, viewState, finalState, i, -1 /* fixedDelay */);
         }
         if (!isRunning()) {
             // no child has preformed any animation, lets finish
@@ -127,6 +132,7 @@
         }
         mNewEvents.clear();
         mNewAddChildren.clear();
+        mChildExpandingView = null;
     }
 
     private int findLastNotAddedIndex(StackScrollState finalState) {
@@ -134,7 +140,7 @@
         for (int i = childCount - 1; i >= 0; i--) {
             final ExpandableView child = (ExpandableView) mHostLayout.getChildAt(i);
 
-            StackScrollState.ViewState viewState = finalState.getViewStateForView(child);
+            StackViewState viewState = finalState.getViewStateForView(child);
             if (viewState == null || child.getVisibility() == View.GONE) {
                 continue;
             }
@@ -145,18 +151,29 @@
         return -1;
     }
 
-    /**
-     * Start an animation to the given viewState
-     */
-    private void startAnimations(final ExpandableView child, StackScrollState.ViewState viewState,
-            StackScrollState finalState, int i) {
-        int childVisibility = child.getVisibility();
-        boolean wasVisible = childVisibility == View.VISIBLE;
-        final float alpha = viewState.alpha;
-        if (!wasVisible && alpha != 0 && !viewState.gone) {
-            child.setVisibility(View.VISIBLE);
-        }
 
+    /**
+     * Start an animation to the given  {@link StackViewState}.
+     *
+     * @param child the child to start the animation on
+     * @param viewState the {@link StackViewState} of the view to animate to
+     * @param finalState the final state after the animation
+     * @param i the index of the view; only relevant if the view is the speed bump and is
+     *          ignored otherwise
+     * @param fixedDelay a fixed delay if desired or -1 if the delay should be calculated
+     */
+    public void startStackAnimations(final ExpandableView child, StackViewState viewState,
+            StackScrollState finalState, int i, long fixedDelay) {
+        final float alpha = viewState.alpha;
+        boolean wasAdded = mNewAddChildren.contains(child);
+        long duration = mCurrentLength;
+        if (wasAdded && mAnimationFilter.hasGoToFullShadeEvent) {
+            child.setTranslationY(child.getTranslationY() + mGoToFullShadeAppearingTranslation);
+            float longerDurationFactor = viewState.notGoneIndex - mCurrentLastNotAddedIndex;
+            longerDurationFactor = (float) Math.pow(longerDurationFactor, 0.7f);
+            duration = ANIMATION_DURATION_APPEAR_DISAPPEAR + 50 +
+                    (long) (100 * longerDurationFactor);
+        }
         boolean yTranslationChanging = child.getTranslationY() != viewState.yTranslation;
         boolean zTranslationChanging = child.getTranslationZ() != viewState.zTranslation;
         boolean scaleChanging = child.getScaleX() != viewState.scale;
@@ -164,94 +181,40 @@
         boolean heightChanging = viewState.height != child.getActualHeight();
         boolean darkChanging = viewState.dark != child.isDark();
         boolean topInsetChanging = viewState.clipTopAmount != child.getClipTopAmount();
-        boolean wasAdded = mNewAddChildren.contains(child);
         boolean hasDelays = mAnimationFilter.hasDelays;
         boolean isDelayRelevant = yTranslationChanging || zTranslationChanging || scaleChanging ||
                 alphaChanging || heightChanging || topInsetChanging || darkChanging;
-        boolean noAnimation = wasAdded;
         long delay = 0;
-        long duration = mCurrentLength;
-        if (hasDelays && isDelayRelevant || wasAdded) {
+        if (fixedDelay != -1) {
+            delay = fixedDelay;
+        } else if (hasDelays && isDelayRelevant || wasAdded) {
             delay = mCurrentAdditionalDelay + calculateChildAnimationDelay(viewState, finalState);
         }
 
-        if (wasAdded && mAnimationFilter.hasGoToFullShadeEvent) {
-            child.setTranslationY(child.getTranslationY() + mGoToFullShadeAppearingTranslation);
-            yTranslationChanging = true;
-            float longerDurationFactor = viewState.notGoneIndex - mCurrentLastNotAddedIndex;
-            longerDurationFactor = (float) Math.pow(longerDurationFactor, 0.7f);
-            duration = ANIMATION_DURATION_APPEAR_DISAPPEAR + 50 +
-                    (long) (100 * longerDurationFactor);
-        }
-
-        // start translationY animation
-        if (yTranslationChanging) {
-            if (noAnimation && !mAnimationFilter.hasGoToFullShadeEvent) {
-                child.setTranslationY(viewState.yTranslation);
-            } else {
-                startYTranslationAnimation(child, viewState, duration, delay);
-            }
-        }
-
-        // start translationZ animation
-        if (zTranslationChanging) {
-            if (noAnimation) {
-                child.setTranslationZ(viewState.zTranslation);
-            } else {
-                startZTranslationAnimation(child, viewState, duration, delay);
-            }
-        }
-
-        // start scale animation
-        if (scaleChanging) {
-            if (noAnimation) {
-                child.setScaleX(viewState.scale);
-                child.setScaleY(viewState.scale);
-            } else {
-                startScaleAnimation(child, viewState, duration);
-            }
-        }
-
-        // start alpha animation
-        if (alphaChanging && child.getTranslationX() == 0) {
-            if (noAnimation) {
-                child.setAlpha(viewState.alpha);
-            } else {
-                startAlphaAnimation(child, viewState, duration, delay);
-            }
-        }
+        startViewAnimations(child, viewState, delay, duration);
 
         // start height animation
         if (heightChanging && child.getActualHeight() != 0) {
-            if (noAnimation) {
-                child.setActualHeight(viewState.height, false);
-            } else {
-                startHeightAnimation(child, viewState, duration, delay);
-            }
+            startHeightAnimation(child, viewState, duration, delay);
         }
 
         // start top inset animation
         if (topInsetChanging) {
-            if (noAnimation) {
-                child.setClipTopAmount(viewState.clipTopAmount);
-            } else {
-                startInsetAnimation(child, viewState, duration, delay);
-            }
+            startInsetAnimation(child, viewState, duration, delay);
         }
 
         // start dimmed animation
-        child.setDimmed(viewState.dimmed, mAnimationFilter.animateDimmed && !wasAdded
-                && !noAnimation);
+        child.setDimmed(viewState.dimmed, mAnimationFilter.animateDimmed);
 
         // start dark animation
-        child.setDark(viewState.dark, mAnimationFilter.animateDark && !noAnimation, delay);
+        child.setDark(viewState.dark, mAnimationFilter.animateDark, delay);
 
         // apply speed bump state
         child.setBelowSpeedBump(viewState.belowSpeedBump);
 
         // start hiding sensitive animation
-        child.setHideSensitive(viewState.hideSensitive, mAnimationFilter.animateHideSensitive &&
-                !wasAdded && !noAnimation, delay, duration);
+        child.setHideSensitive(viewState.hideSensitive, mAnimationFilter.animateHideSensitive,
+                delay, duration);
 
         if (wasAdded) {
             child.performAddAnimation(delay, mCurrentLength);
@@ -259,10 +222,55 @@
         if (child instanceof SpeedBumpView) {
             finalState.performSpeedBumpAnimation(i, (SpeedBumpView) child, viewState,
                     delay + duration);
+        } else if (child instanceof ExpandableNotificationRow) {
+            ExpandableNotificationRow row = (ExpandableNotificationRow) child;
+            row.startChildAnimation(finalState, this, child == mChildExpandingView, delay,
+                    duration);
         }
     }
 
-    private long calculateChildAnimationDelay(StackScrollState.ViewState viewState,
+    /**
+     * Start an animation to a new {@link ViewState}.
+     *
+     * @param child the child to start the animation on
+     * @param viewState the  {@link StackViewState} of the view to animate to
+     * @param delay a fixed delay
+     * @param duration the duration of the animation
+     */
+    public void startViewAnimations(View child, ViewState viewState, long delay, long duration) {
+        boolean wasVisible = child.getVisibility() == View.VISIBLE;
+        final float alpha = viewState.alpha;
+        if (!wasVisible && alpha != 0 && !viewState.gone) {
+            child.setVisibility(View.VISIBLE);
+        }
+        boolean yTranslationChanging = child.getTranslationY() != viewState.yTranslation;
+        boolean zTranslationChanging = child.getTranslationZ() != viewState.zTranslation;
+        boolean scaleChanging = child.getScaleX() != viewState.scale;
+        float childAlpha = child.getVisibility() == View.INVISIBLE ? 0.0f : child.getAlpha();
+        boolean alphaChanging = viewState.alpha != childAlpha;
+
+        // start translationY animation
+        if (yTranslationChanging) {
+            startYTranslationAnimation(child, viewState, duration, delay);
+        }
+
+        // start translationZ animation
+        if (zTranslationChanging) {
+            startZTranslationAnimation(child, viewState, duration, delay);
+        }
+
+        // start scale animation
+        if (scaleChanging) {
+            startScaleAnimation(child, viewState, duration);
+        }
+
+        // start alpha animation
+        if (alphaChanging && child.getTranslationX() == 0) {
+            startAlphaAnimation(child, viewState, duration, delay);
+        }
+    }
+
+    private long calculateChildAnimationDelay(StackViewState viewState,
             StackScrollState finalState) {
         if (mAnimationFilter.hasDarkEvent) {
             return calculateDelayDark(viewState);
@@ -314,7 +322,7 @@
         return minDelay;
     }
 
-    private long calculateDelayDark(StackScrollState.ViewState viewState) {
+    private long calculateDelayDark(StackViewState viewState) {
         int referenceIndex;
         if (mAnimationFilter.darkAnimationOriginIndex ==
                 NotificationStackScrollLayout.AnimationEvent.DARK_ANIMATION_ORIGIN_INDEX_ABOVE) {
@@ -328,14 +336,14 @@
         return Math.abs(referenceIndex - viewState.notGoneIndex) * ANIMATION_DELAY_PER_ELEMENT_DARK;
     }
 
-    private long calculateDelayGoToFullShade(StackScrollState.ViewState viewState) {
+    private long calculateDelayGoToFullShade(StackViewState viewState) {
         float index = viewState.notGoneIndex;
         index = (float) Math.pow(index, 0.7f);
         return (long) (index * ANIMATION_DELAY_PER_ELEMENT_GO_TO_FULL_SHADE);
     }
 
     private void startHeightAnimation(final ExpandableView child,
-            StackScrollState.ViewState viewState, long duration, long delay) {
+            StackViewState viewState, long duration, long delay) {
         Integer previousStartValue = getChildTag(child, TAG_START_HEIGHT);
         Integer previousEndValue = getChildTag(child, TAG_END_HEIGHT);
         int newEndValue = viewState.height;
@@ -394,7 +402,7 @@
     }
 
     private void startInsetAnimation(final ExpandableView child,
-            StackScrollState.ViewState viewState, long duration, long delay) {
+            StackViewState viewState, long duration, long delay) {
         Integer previousStartValue = getChildTag(child, TAG_START_TOP_INSET);
         Integer previousEndValue = getChildTag(child, TAG_END_TOP_INSET);
         int newEndValue = viewState.clipTopAmount;
@@ -451,8 +459,8 @@
         child.setTag(TAG_END_TOP_INSET, newEndValue);
     }
 
-    private void startAlphaAnimation(final ExpandableView child,
-            final StackScrollState.ViewState viewState, long duration, long delay) {
+    private void startAlphaAnimation(final View child,
+            final ViewState viewState, long duration, long delay) {
         Float previousStartValue = getChildTag(child,TAG_START_ALPHA);
         Float previousEndValue = getChildTag(child,TAG_END_ALPHA);
         final float newEndValue = viewState.alpha;
@@ -525,8 +533,8 @@
         child.setTag(TAG_END_ALPHA, newEndValue);
     }
 
-    private void startZTranslationAnimation(final ExpandableView child,
-            final StackScrollState.ViewState viewState, long duration, long delay) {
+    private void startZTranslationAnimation(final View child,
+            final ViewState viewState, long duration, long delay) {
         Float previousStartValue = getChildTag(child,TAG_START_TRANSLATION_Z);
         Float previousEndValue = getChildTag(child,TAG_END_TRANSLATION_Z);
         float newEndValue = viewState.zTranslation;
@@ -577,8 +585,8 @@
         child.setTag(TAG_END_TRANSLATION_Z, newEndValue);
     }
 
-    private void startYTranslationAnimation(final ExpandableView child,
-            StackScrollState.ViewState viewState, long duration, long delay) {
+    private void startYTranslationAnimation(final View child,
+            ViewState viewState, long duration, long delay) {
         Float previousStartValue = getChildTag(child,TAG_START_TRANSLATION_Y);
         Float previousEndValue = getChildTag(child,TAG_END_TRANSLATION_Y);
         float newEndValue = viewState.yTranslation;
@@ -630,8 +638,8 @@
         child.setTag(TAG_END_TRANSLATION_Y, newEndValue);
     }
 
-    private void startScaleAnimation(final ExpandableView child,
-            StackScrollState.ViewState viewState, long duration) {
+    private void startScaleAnimation(final View child,
+            ViewState viewState, long duration) {
         Float previousStartValue = getChildTag(child, TAG_START_SCALE);
         Float previousEndValue = getChildTag(child, TAG_END_SCALE);
         float newEndValue = viewState.scale;
@@ -765,7 +773,7 @@
                     NotificationStackScrollLayout.AnimationEvent.ANIMATION_TYPE_ADD) {
 
                 // This item is added, initialize it's properties.
-                StackScrollState.ViewState viewState = finalState
+                StackViewState viewState = finalState
                         .getViewStateForView(changingView);
                 if (viewState == null) {
                     // The position for this child was never generated, let's continue.
@@ -776,10 +784,7 @@
                     finalState.removeViewStateForView(changingView);
                     continue;
                 }
-                changingView.setAlpha(viewState.alpha);
-                changingView.setTranslationY(viewState.yTranslation);
-                changingView.setTranslationZ(viewState.zTranslation);
-                changingView.setActualHeight(viewState.height, false);
+                finalState.applyState(changingView, viewState);
                 mNewAddChildren.add(changingView);
 
             } else if (event.animationType ==
@@ -791,7 +796,7 @@
 
                 // Find the amount to translate up. This is needed in order to understand the
                 // direction of the remove animation (either downwards or upwards)
-                StackScrollState.ViewState viewState = finalState
+                StackViewState viewState = finalState
                         .getViewStateForView(event.viewAfterChangingView);
                 int actualHeight = changingView.getActualHeight();
                 // upwards by default
@@ -813,11 +818,16 @@
                         mHostLayout.getOverlay().remove(changingView);
                     }
                 });
-            }  else if (event.animationType ==
+            } else if (event.animationType ==
                 NotificationStackScrollLayout.AnimationEvent.ANIMATION_TYPE_REMOVE_SWIPED_OUT) {
                 // A race condition can trigger the view to be added to the overlay even though
                 // it is swiped out. So let's remove it
                 mHostLayout.getOverlay().remove(changingView);
+            } else if (event.animationType == NotificationStackScrollLayout
+                    .AnimationEvent.ANIMATION_TYPE_GROUP_EXPANSION_CHANGED) {
+                ExpandableNotificationRow row = (ExpandableNotificationRow) event.changingView;
+                row.prepareExpansionChanged(finalState);
+                mChildExpandingView = row;
             }
             mNewEvents.add(event);
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackViewState.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackViewState.java
new file mode 100644
index 0000000..55ef440
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackViewState.java
@@ -0,0 +1,86 @@
+/*
+ * 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 com.android.systemui.statusbar.stack;
+
+import android.view.View;
+
+import com.android.systemui.statusbar.ExpandableView;
+
+/**
+* A state of an expandable view
+*/
+public class StackViewState extends ViewState {
+
+    // These are flags such that we can create masks for filtering.
+
+    public static final int LOCATION_UNKNOWN = 0x00;
+    public static final int LOCATION_FIRST_CARD = 0x01;
+    public static final int LOCATION_TOP_STACK_HIDDEN = 0x02;
+    public static final int LOCATION_TOP_STACK_PEEKING = 0x04;
+    public static final int LOCATION_MAIN_AREA = 0x08;
+    public static final int LOCATION_BOTTOM_STACK_PEEKING = 0x10;
+    public static final int LOCATION_BOTTOM_STACK_HIDDEN = 0x20;
+    /** The view isn't layouted at all. */
+    public static final int LOCATION_GONE = 0x40;
+
+    public int height;
+    public boolean dimmed;
+    public boolean dark;
+    public boolean hideSensitive;
+    public boolean belowSpeedBump;
+
+    /**
+     * The amount which the view should be clipped from the top. This is calculated to
+     * perceive consistent shadows.
+     */
+    public int clipTopAmount;
+
+    /**
+     * How much does the child overlap with the previous view on the top? Can be used for
+     * a clipping optimization
+     */
+    public int topOverLap;
+
+    /**
+     * The index of the view, only accounting for views not equal to GONE
+     */
+    public int notGoneIndex;
+
+    /**
+     * The location this view is currently rendered at.
+     *
+     * <p>See <code>LOCATION_</code> flags.</p>
+     */
+    public int location;
+
+    @Override
+    public void copyFrom(ViewState viewState) {
+        super.copyFrom(viewState);
+        if (viewState instanceof StackViewState) {
+            StackViewState svs = (StackViewState) viewState;
+            height = svs.height;
+            dimmed = svs.dimmed;
+            dark = svs.dark;
+            hideSensitive = svs.hideSensitive;
+            belowSpeedBump = svs.belowSpeedBump;
+            clipTopAmount = svs.clipTopAmount;
+            topOverLap = svs.topOverLap;
+            notGoneIndex = svs.notGoneIndex;
+            location = svs.location;
+        }
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/ViewState.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/ViewState.java
new file mode 100644
index 0000000..3e538df
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/ViewState.java
@@ -0,0 +1,49 @@
+/*
+ * 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 com.android.systemui.statusbar.stack;
+
+import android.view.View;
+
+/**
+ * A state of a view. This can be used to apply a set of view properties to a view with
+ * {@link com.android.systemui.statusbar.stack.StackScrollState} or start animations with
+ * {@link com.android.systemui.statusbar.stack.StackStateAnimator}.
+*/
+public class ViewState {
+
+    public float alpha;
+    public float yTranslation;
+    public float zTranslation;
+    public boolean gone;
+    public float scale;
+
+    public void copyFrom(ViewState viewState) {
+        alpha = viewState.alpha;
+        yTranslation = viewState.yTranslation;
+        zTranslation = viewState.zTranslation;
+        gone = viewState.gone;
+        scale = viewState.scale;
+    }
+
+    public void initFrom(View view) {
+        alpha = view.getVisibility() == View.INVISIBLE ? 0.0f : view.getAlpha();
+        yTranslation = view.getTranslationY();
+        zTranslation = view.getTranslationZ();
+        gone = view.getVisibility() == View.GONE;
+        scale = view.getScaleX();
+    }
+}
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 413c891..d1e1b71 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java
@@ -26,6 +26,7 @@
 import com.android.internal.statusbar.StatusBarIcon;
 import com.android.systemui.statusbar.ActivatableNotificationView;
 import com.android.systemui.statusbar.BaseStatusBar;
+import com.android.systemui.statusbar.NotificationData;
 
 /*
  * Status bar implementation for "large screen" products that mostly present no on-screen nav
@@ -47,7 +48,8 @@
     }
 
     @Override
-    public void addNotification(StatusBarNotification notification, RankingMap ranking) {
+    public void addNotification(StatusBarNotification notification, RankingMap ranking,
+            NotificationData.Entry entry) {
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java b/packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java
index 31264ee..d16b818 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java
@@ -125,8 +125,6 @@
     private static final int MSG_NOTIFICATION_EFFECTS_SUPPRESSOR_CHANGED = 15;
     private static final int MSG_INTERNAL_RINGER_MODE_CHANGED = 16;
 
-    // Pseudo stream type for master volume
-    private static final int STREAM_MASTER = -100;
     // Pseudo stream type for remote volume
     private static final int STREAM_REMOTE_MUSIC = -200;
 
@@ -154,10 +152,6 @@
     private int mLastRingerProgress = 0;
     private int mDemoIcon;
 
-    // True if we want to play tones on the system stream when the master stream is specified.
-    private final boolean mPlayMasterStreamTones;
-
-
     /** Volume panel content view */
     private final View mView;
     /** Dialog hosting the panel */
@@ -213,12 +207,6 @@
                 com.android.systemui.R.drawable.ic_ringer_audible,
                 com.android.systemui.R.drawable.ic_ringer_mute,
                 true),
-        // for now, use media resources for master volume
-        MasterStream(STREAM_MASTER,
-                R.string.volume_icon_description_media, //FIXME should have its own description
-                IC_AUDIO_VOL,
-                IC_AUDIO_VOL_MUTE,
-                false),
         RemoteStream(STREAM_REMOTE_MUSIC,
                 R.string.volume_icon_description_media, //FIXME should have its own description
                 com.android.systemui.R.drawable.ic_audio_remote,
@@ -249,7 +237,6 @@
         StreamResources.MediaStream,
         StreamResources.NotificationStream,
         StreamResources.AlarmStream,
-        StreamResources.MasterStream,
         StreamResources.RemoteStream
     };
 
@@ -266,6 +253,7 @@
         int iconRes;
         int iconMuteRes;
         int iconSuppressedRes;
+        int minVolume;
     }
 
     // Synchronize when accessing this
@@ -371,15 +359,6 @@
         mSecondaryIconTransition = new SecondaryIconTransition();
         mIconPulser = new IconPulser(context);
 
-        // For now, only show master volume if master volume is supported
-        final Resources res = context.getResources();
-        final boolean useMasterVolume = res.getBoolean(R.bool.config_useMasterVolume);
-        if (useMasterVolume) {
-            for (int i = 0; i < STREAMS.length; i++) {
-                StreamResources streamRes = STREAMS[i];
-                streamRes.show = (streamRes.streamType == STREAM_MASTER);
-            }
-        }
         if (LOGD) Log.d(mTag, "new VolumePanel");
 
         mDisabledAlpha = 0.5f;
@@ -419,6 +398,7 @@
 
         mDialog.create();
 
+        final Resources res = context.getResources();
         window.setAttributes(getDialogLayoutParams(window, res));
 
         updateWidth();
@@ -447,16 +427,12 @@
         mHasVibrator = mVibrator != null && mVibrator.hasVibrator();
         mVoiceCapable = context.getResources().getBoolean(R.bool.config_voice_capable);
 
-        if (mZenController != null && !useMasterVolume) {
+        if (mZenController != null) {
             mZenModeAvailable = mZenController.isZenAvailable();
             mNotificationEffectsSuppressor = mZenController.getEffectsSuppressor();
             mZenController.addCallback(mZenCallback);
         }
 
-        final boolean masterVolumeOnly = res.getBoolean(R.bool.config_useMasterVolume);
-        final boolean masterVolumeKeySounds = res.getBoolean(R.bool.config_useVolumeKeySounds);
-        mPlayMasterStreamTones = masterVolumeOnly && masterVolumeKeySounds;
-
         registerReceiver();
     }
 
@@ -489,7 +465,6 @@
         pw.print("  mDisabledAlpha="); pw.println(mDisabledAlpha);
         pw.print("  mLastRingerMode="); pw.println(mLastRingerMode);
         pw.print("  mLastRingerProgress="); pw.println(mLastRingerProgress);
-        pw.print("  mPlayMasterStreamTones="); pw.println(mPlayMasterStreamTones);
         pw.print("  isShowing()="); pw.println(isShowing());
         pw.print("  mCallback="); pw.println(mCallback);
         pw.print("  sConfirmSafeVolumeDialog=");
@@ -576,9 +551,7 @@
     }
 
     private boolean isMuted(int streamType) {
-        if (streamType == STREAM_MASTER) {
-            return mAudioManager.isMasterMute();
-        } else if (streamType == STREAM_REMOTE_MUSIC) {
+        if (streamType == STREAM_REMOTE_MUSIC) {
             // TODO do we need to support a distinct mute property for remote?
             return false;
         } else {
@@ -586,10 +559,16 @@
         }
     }
 
+    private int getStreamMinVolume(int streamType) {
+        if (streamType == STREAM_REMOTE_MUSIC) {
+            return 0;
+        } else {
+            return mAudioManager.getStreamMinVolume(streamType);
+        }
+    }
+
     private int getStreamMaxVolume(int streamType) {
-        if (streamType == STREAM_MASTER) {
-            return mAudioManager.getMasterMaxVolume();
-        } else if (streamType == STREAM_REMOTE_MUSIC) {
+        if (streamType == STREAM_REMOTE_MUSIC) {
             if (mStreamControls != null) {
                 StreamControl sc = mStreamControls.get(streamType);
                 if (sc != null && sc.controller != null) {
@@ -604,9 +583,7 @@
     }
 
     private int getStreamVolume(int streamType) {
-        if (streamType == STREAM_MASTER) {
-            return mAudioManager.getLastAudibleMasterVolume();
-        } else if (streamType == STREAM_REMOTE_MUSIC) {
+        if (streamType == STREAM_REMOTE_MUSIC) {
             if (mStreamControls != null) {
                 StreamControl sc = mStreamControls.get(streamType);
                 if (sc != null && sc.controller != null) {
@@ -628,11 +605,7 @@
                 Log.w(mTag, "Adjusting remote volume without a controller!");
             }
         } else if (getStreamVolume(sc.streamType) != index) {
-            if (sc.streamType == STREAM_MASTER) {
-                mAudioManager.setMasterVolume(index, flags);
-            } else {
-                mAudioManager.setStreamVolume(sc.streamType, index, flags);
-            }
+            mAudioManager.setStreamVolume(sc.streamType, index, flags);
         }
     }
 
@@ -697,9 +670,8 @@
                     }
                 });
             }
-            final int plusOne = (streamType == AudioSystem.STREAM_BLUETOOTH_SCO ||
-                    streamType == AudioSystem.STREAM_VOICE_CALL) ? 1 : 0;
-            sc.seekbarView.setMax(getStreamMaxVolume(streamType) + plusOne);
+            sc.minVolume = getStreamMinVolume(streamType);
+            sc.seekbarView.setMax(getStreamMaxVolume(streamType) - sc.minVolume);
             sc.seekbarView.setOnSeekBarChangeListener(mSeekListener);
             sc.seekbarView.setTag(sc);
             mStreamControls.put(streamType, sc);
@@ -742,7 +714,7 @@
         if (progress < 0) {
             progress = getStreamVolume(sc.streamType);
         }
-        sc.seekbarView.setProgress(progress);
+        sc.seekbarView.setProgress(progress - sc.minVolume);
         if (isRinger) {
             mLastRingerProgress = progress;
         }
@@ -833,7 +805,7 @@
             sc.icon.setAlpha(mDisabledAlpha);
             sc.icon.setClickable(false);
         } else if (fixedVolume ||
-                (sc.streamType != mAudioManager.getMasterStreamType() && !isRinger && muted) ||
+                (sc.streamType != mAudioManager.getUiSoundsStreamType() && !isRinger && muted) ||
                 (sSafetyWarning != null)) {
             sc.seekbarView.setEnabled(false);
         } else {
@@ -977,10 +949,6 @@
         obtainMessage(MSG_REMOTE_VOLUME_UPDATE_IF_SHOWN).sendToTarget();
     }
 
-    public void postMasterVolumeChanged(int flags) {
-        postVolumeChanged(STREAM_MASTER, flags);
-    }
-
     public void postMuteChanged(int streamType, int flags) {
         if (hasMessages(MSG_VOLUME_CHANGED)) return;
         synchronized (this) {
@@ -992,10 +960,6 @@
         obtainMessage(MSG_MUTE_CHANGED, streamType, flags).sendToTarget();
     }
 
-    public void postMasterMuteChanged(int flags) {
-        postMuteChanged(STREAM_MASTER, flags);
-    }
-
     public void postDisplaySafeVolumeWarning(int flags) {
         if (hasMessages(MSG_DISPLAY_SAFE_VOLUME_WARNING)) return;
         obtainMessage(MSG_DISPLAY_SAFE_VOLUME_WARNING, flags, 0).sendToTarget();
@@ -1078,7 +1042,7 @@
 
         // get max volume for progress bar
 
-        int max = getStreamMaxVolume(streamType);
+        int max = getStreamMaxVolume(streamType) - getStreamMinVolume(streamType);
         StreamControl sc = mStreamControls.get(streamType);
 
         switch (streamType) {
@@ -1105,17 +1069,6 @@
                 break;
             }
 
-            case AudioManager.STREAM_VOICE_CALL: {
-                /*
-                 * For in-call voice call volume, there is no inaudible volume.
-                 * Rescale the UI control so the progress bar doesn't go all
-                 * the way to zero and don't show the mute icon.
-                 */
-                index++;
-                max++;
-                break;
-            }
-
             case AudioManager.STREAM_ALARM: {
                 break;
             }
@@ -1129,17 +1082,6 @@
                 break;
             }
 
-            case AudioManager.STREAM_BLUETOOTH_SCO: {
-                /*
-                 * For in-call voice call volume, there is no inaudible volume.
-                 * Rescale the UI control so the progress bar doesn't go all
-                 * the way to zero and don't show the mute icon.
-                 */
-                index++;
-                max++;
-                break;
-            }
-
             case STREAM_REMOTE_MUSIC: {
                 if (controller == null && sc != null) {
                     // If we weren't passed one try using the last one set.
@@ -1192,9 +1134,7 @@
         if (!isShowing()) {
             int stream = (streamType == STREAM_REMOTE_MUSIC) ? -1 : streamType;
             // when the stream is for remote playback, use -1 to reset the stream type evaluation
-            if (stream != STREAM_MASTER) {
-                mAudioManager.forceVolumeControlStream(stream);
-            }
+            mAudioManager.forceVolumeControlStream(stream);
             mDialog.show();
             if (mCallback != null) {
                 mCallback.onVisible(true);
@@ -1360,16 +1300,6 @@
      * Lock on this VolumePanel instance as long as you use the returned ToneGenerator.
      */
     private ToneGenerator getOrCreateToneGenerator(int streamType) {
-        if (streamType == STREAM_MASTER) {
-            // For devices that use the master volume setting only but still want to
-            // play a volume-changed tone, direct the master volume pseudostream to
-            // the system stream's tone generator.
-            if (mPlayMasterStreamTones) {
-                streamType = AudioManager.STREAM_SYSTEM;
-            } else {
-                return null;
-            }
-        }
         synchronized (this) {
             if (mToneGenerators[streamType] == null) {
                 try {
@@ -1549,7 +1479,7 @@
             final Object tag = seekBar.getTag();
             if (fromUser && tag instanceof StreamControl) {
                 StreamControl sc = (StreamControl) tag;
-                setStreamVolume(sc, progress,
+                setStreamVolume(sc, progress + sc.minVolume,
                         AudioManager.FLAG_SHOW_UI | AudioManager.FLAG_VIBRATE);
             }
             resetTimeout();
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java
index 5e3ec3f..687452d 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java
@@ -31,6 +31,7 @@
 import android.media.AudioManager;
 import android.media.IRemoteVolumeController;
 import android.media.IVolumeController;
+import android.media.VolumePolicy;
 import android.media.session.ISessionController;
 import android.media.session.MediaController;
 import android.media.session.MediaSessionManager;
@@ -112,12 +113,13 @@
 
     private void setVolumeController(boolean register) {
         if (register) {
-            if (LOGD) Log.d(TAG, "Registering volume controller");
+            if (LOGD) Log.d(TAG, "Registering default volume controller");
             mAudioManager.setVolumeController(mVolumeController);
+            mAudioManager.setVolumePolicy(VolumePolicy.DEFAULT);
             mMediaSessionManager.setRemoteVolumeController(mRemoteVolumeController);
             DndTile.setVisible(mContext, false);
         } else {
-            if (LOGD) Log.d(TAG, "Unregistering volume controller");
+            if (LOGD) Log.d(TAG, "Unregistering default volume controller");
             mAudioManager.setVolumeController(null);
             mMediaSessionManager.setRemoteVolumeController(null);
         }
@@ -201,13 +203,8 @@
         }
 
         @Override
-        public void masterVolumeChanged(int flags) throws RemoteException {
-            mPanel.postMasterVolumeChanged(flags);
-        }
-
-        @Override
         public void masterMuteChanged(int flags) throws RemoteException {
-            mPanel.postMasterMuteChanged(flags);
+            // no-op
         }
 
         @Override
@@ -260,11 +257,16 @@
             if (LOGD) Log.d(TAG, "onNoService");
             setVolumeController(true);
             mRestorationNotification.hide();
+            if (!mVolumeControllerService.isPackageAvailable()) {
+                mVolumeControllerService.setComponent(null);
+            }
         }
 
         @Override
         public long onServiceStartAttempt() {
             if (LOGD) Log.d(TAG, "onServiceStartAttempt");
+            // poke the setting to update the uid
+            mVolumeControllerService.setComponent(mVolumeControllerService.getComponent());
             setVolumeController(false);
             mVolumeController.dismissNow();
             mRestorationNotification.show();
@@ -324,7 +326,8 @@
                             .setContentTitle(mContext.getString(
                                     R.string.volumeui_notification_title, getAppLabel(component)))
                             .setContentText(mContext.getString(R.string.volumeui_notification_text))
-                            .setContentIntent(PendingIntent.getBroadcast(mContext, 0, intent, 0))
+                            .setContentIntent(PendingIntent.getBroadcast(mContext, 0, intent,
+                                    PendingIntent.FLAG_UPDATE_CURRENT))
                             .setPriority(Notification.PRIORITY_MIN)
                             .setVisibility(Notification.VISIBILITY_PUBLIC)
                             .setColor(mContext.getResources().getColor(
diff --git a/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java b/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java
index 897c96cf..ea8b2ec 100644
--- a/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java
+++ b/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java
@@ -18,13 +18,8 @@
 
 import android.content.Context;
 import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
 import android.graphics.drawable.Drawable;
 import android.net.IConnectivityManager;
-import android.net.VpnService;
 import android.os.ServiceManager;
 import android.text.Html;
 import android.text.Html.ImageGetter;
@@ -36,8 +31,6 @@
 import com.android.internal.app.AlertActivity;
 import com.android.internal.net.VpnConfig;
 
-import java.util.List;
-
 public class ConfirmDialog extends AlertActivity
         implements DialogInterface.OnClickListener, ImageGetter {
     private static final String TAG = "VpnConfirm";
diff --git a/packages/WallpaperCropper/src/com/android/wallpapercropper/WallpaperCropActivity.java b/packages/WallpaperCropper/src/com/android/wallpapercropper/WallpaperCropActivity.java
index 57b0731..a319beb 100644
--- a/packages/WallpaperCropper/src/com/android/wallpapercropper/WallpaperCropActivity.java
+++ b/packages/WallpaperCropper/src/com/android/wallpapercropper/WallpaperCropActivity.java
@@ -21,7 +21,6 @@
 import android.app.WallpaperManager;
 import android.content.Context;
 import android.content.Intent;
-import android.content.SharedPreferences;
 import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.graphics.Bitmap;
diff --git a/packages/services/Proxy/src/com/android/proxyhandler/ProxyServer.java b/packages/services/Proxy/src/com/android/proxyhandler/ProxyServer.java
index edb1630..ac40222 100644
--- a/packages/services/Proxy/src/com/android/proxyhandler/ProxyServer.java
+++ b/packages/services/Proxy/src/com/android/proxyhandler/ProxyServer.java
@@ -20,6 +20,7 @@
 
 import com.android.net.IProxyPortListener;
 import com.google.android.collect.Lists;
+import com.google.android.collect.Sets;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -33,6 +34,7 @@
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.List;
+import java.util.Set;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
@@ -46,6 +48,10 @@
 
     private static final String TAG = "ProxyServer";
 
+    // HTTP Headers
+    private static final String HEADER_CONNECTION = "connection";
+    private static final String HEADER_PROXY_CONNECTION = "proxy-connection";
+
     private ExecutorService threadExecutor;
 
     public boolean mIsRunning = false;
@@ -65,10 +71,6 @@
         public void run() {
             try {
                 String requestLine = getLine(connection.getInputStream());
-                if (requestLine == null) {
-                    connection.close();
-                    return;
-                }
                 String[] splitLine = requestLine.split(" ");
                 if (splitLine.length < 3) {
                     connection.close();
@@ -76,22 +78,30 @@
                 }
                 String requestType = splitLine[0];
                 String urlString = splitLine[1];
+                String httpVersion = splitLine[2];
 
-                String host = "";
-                int port = 80;
+                URI url = null;
+                String host;
+                int port;
 
                 if (requestType.equals(CONNECT)) {
                     String[] hostPortSplit = urlString.split(":");
                     host = hostPortSplit[0];
-                    try {
-                        port = Integer.parseInt(hostPortSplit[1]);
-                    } catch (NumberFormatException nfe) {
+                    // Use default SSL port if not specified. Parse it otherwise
+                    if (hostPortSplit.length < 2) {
                         port = 443;
+                    } else {
+                        try {
+                            port = Integer.parseInt(hostPortSplit[1]);
+                        } catch (NumberFormatException nfe) {
+                            connection.close();
+                            return;
+                        }
                     }
                     urlString = "Https://" + host + ":" + port;
                 } else {
                     try {
-                        URI url = new URI(urlString);
+                        url = new URI(urlString);
                         host = url.getHost();
                         port = url.getPort();
                         if (port < 0) {
@@ -122,44 +132,99 @@
                         } else {
                             server = new Socket(host, port);
                             if (requestType.equals(CONNECT)) {
-                                while (getLine(connection.getInputStream()).length() != 0);
+                                skipToRequestBody(connection);
                                 // No proxy to respond so we must.
                                 sendLine(connection, HTTP_OK);
                             } else {
-                                sendLine(server, requestLine);
+                                // Proxying the request directly to the origin server.
+                                sendAugmentedRequestToHost(connection, server,
+                                        requestType, url, httpVersion);
                             }
                         }
                     } catch (IOException ioe) {
-
+                        if (Log.isLoggable(TAG, Log.VERBOSE)) {
+                            Log.v(TAG, "Unable to connect to proxy " + proxy, ioe);
+                        }
                     }
                     if (server != null) {
                         break;
                     }
                 }
-                if (server == null) {
+                if (list.isEmpty()) {
                     server = new Socket(host, port);
                     if (requestType.equals(CONNECT)) {
-                        while (getLine(connection.getInputStream()).length() != 0);
+                        skipToRequestBody(connection);
                         // No proxy to respond so we must.
                         sendLine(connection, HTTP_OK);
                     } else {
-                        sendLine(server, requestLine);
+                        // Proxying the request directly to the origin server.
+                        sendAugmentedRequestToHost(connection, server,
+                                requestType, url, httpVersion);
                     }
                 }
                 // Pass data back and forth until complete.
-                SocketConnect.connect(connection, server);
-            } catch (IOException e) {
+                if (server != null) {
+                    SocketConnect.connect(connection, server);
+                }
+            } catch (Exception e) {
                 Log.d(TAG, "Problem Proxying", e);
             }
             try {
                 connection.close();
             } catch (IOException ioe) {
-
+                // Do nothing
             }
         }
 
+        /**
+         * Sends HTTP request-line (i.e. the first line in the request)
+         * that contains absolute path of a given absolute URI.
+         *
+         * @param server server to send the request to.
+         * @param requestType type of the request, a.k.a. HTTP method.
+         * @param absoluteUri absolute URI which absolute path should be extracted.
+         * @param httpVersion version of HTTP, e.g. HTTP/1.1.
+         * @throws IOException if the request-line cannot be sent.
+         */
+        private void sendRequestLineWithPath(Socket server, String requestType,
+                URI absoluteUri, String httpVersion) throws IOException {
+
+            String absolutePath = getAbsolutePathFromAbsoluteURI(absoluteUri);
+            String outgoingRequestLine = String.format("%s %s %s",
+                    requestType, absolutePath, httpVersion);
+            sendLine(server, outgoingRequestLine);
+        }
+
+        /**
+         * Extracts absolute path form a given URI. E.g., passing
+         * <code>http://google.com:80/execute?query=cat#top</code>
+         * will result in <code>/execute?query=cat#top</code>.
+         *
+         * @param uri URI which absolute path has to be extracted,
+         * @return the absolute path of the URI,
+         */
+        private String getAbsolutePathFromAbsoluteURI(URI uri) {
+            String rawPath = uri.getRawPath();
+            String rawQuery = uri.getRawQuery();
+            String rawFragment = uri.getRawFragment();
+            StringBuilder absolutePath = new StringBuilder();
+
+            if (rawPath != null) {
+                absolutePath.append(rawPath);
+            } else {
+                absolutePath.append("/");
+            }
+            if (rawQuery != null) {
+                absolutePath.append("?").append(rawQuery);
+            }
+            if (rawFragment != null) {
+                absolutePath.append("#").append(rawFragment);
+            }
+            return absolutePath.toString();
+        }
+
         private String getLine(InputStream inputStream) throws IOException {
-            StringBuffer buffer = new StringBuffer();
+            StringBuilder buffer = new StringBuilder();
             int byteBuffer = inputStream.read();
             if (byteBuffer < 0) return "";
             do {
@@ -179,6 +244,79 @@
             os.write('\n');
             os.flush();
         }
+
+        /**
+         * Reads from socket until an empty line is read which indicates the end of HTTP headers.
+         *
+         * @param socket socket to read from.
+         * @throws IOException if an exception took place during the socket read.
+         */
+        private void skipToRequestBody(Socket socket) throws IOException {
+            while (getLine(socket.getInputStream()).length() != 0);
+        }
+
+        /**
+         * Sends an augmented request to the final host (DIRECT connection).
+         *
+         * @param src socket to read HTTP headers from.The socket current position should point
+         *            to the beginning of the HTTP header section.
+         * @param dst socket to write the augmented request to.
+         * @param httpMethod original request http method.
+         * @param uri original request absolute URI.
+         * @param httpVersion original request http version.
+         * @throws IOException if an exception took place during socket reads or writes.
+         */
+        private void sendAugmentedRequestToHost(Socket src, Socket dst,
+                String httpMethod, URI uri, String httpVersion) throws IOException {
+
+            sendRequestLineWithPath(dst, httpMethod, uri, httpVersion);
+            filterAndForwardRequestHeaders(src, dst);
+
+            // Currently the proxy does not support keep-alive connections; therefore,
+            // the proxy has to request the destination server to close the connection
+            // after the destination server sent the response.
+            sendLine(dst, "Connection: close");
+
+            // Sends and empty line that indicates termination of the header section.
+            sendLine(dst, "");
+        }
+
+        /**
+         * Forwards original request headers filtering out the ones that have to be removed.
+         *
+         * @param src source socket that contains original request headers.
+         * @param dst destination socket to send the filtered headers to.
+         * @throws IOException if the data cannot be read from or written to the sockets.
+         */
+        private void filterAndForwardRequestHeaders(Socket src, Socket dst) throws IOException {
+            String line;
+            do {
+                line = getLine(src.getInputStream());
+                if (line.length() > 0 && !shouldRemoveHeaderLine(line)) {
+                    sendLine(dst, line);
+                }
+            } while (line.length() > 0);
+        }
+
+        /**
+         * Returns true if a given header line has to be removed from the original request.
+         *
+         * @param line header line that should be analysed.
+         * @return true if the header line should be removed and not forwarded to the destination.
+         */
+        private boolean shouldRemoveHeaderLine(String line) {
+            int colIndex = line.indexOf(":");
+            if (colIndex != -1) {
+                String headerName = line.substring(0, colIndex).trim();
+                if (headerName.regionMatches(true, 0, HEADER_CONNECTION, 0,
+                                                      HEADER_CONNECTION.length())
+                        || headerName.regionMatches(true, 0, HEADER_PROXY_CONNECTION,
+                                                          0, HEADER_PROXY_CONNECTION.length())) {
+                    return true;
+                }
+            }
+            return false;
+        }
     }
 
     public ProxyServer() {
@@ -192,23 +330,21 @@
         try {
             serverSocket = new ServerSocket(0);
 
-            if (serverSocket != null) {
-                setPort(serverSocket.getLocalPort());
+            setPort(serverSocket.getLocalPort());
 
-                while (mIsRunning) {
-                    try {
-                        Socket socket = serverSocket.accept();
-                        // Only receive local connections.
-                        if (socket.getInetAddress().isLoopbackAddress()) {
-                            ProxyConnection parser = new ProxyConnection(socket);
+            while (mIsRunning) {
+                try {
+                    Socket socket = serverSocket.accept();
+                    // Only receive local connections.
+                    if (socket.getInetAddress().isLoopbackAddress()) {
+                        ProxyConnection parser = new ProxyConnection(socket);
 
-                            threadExecutor.execute(parser);
-                        } else {
-                            socket.close();
-                        }
-                    } catch (IOException e) {
-                        e.printStackTrace();
+                        threadExecutor.execute(parser);
+                    } else {
+                        socket.close();
                     }
+                } catch (IOException e) {
+                    e.printStackTrace();
                 }
             }
         } catch (SocketException e) {
diff --git a/preloaded-classes b/preloaded-classes
index dee84f0..c8d8c5d 100644
--- a/preloaded-classes
+++ b/preloaded-classes
@@ -1172,6 +1172,7 @@
 android.telecom.InCallService
 android.telephony.PhoneNumberUtils
 android.telephony.Rlog
+android.telephony.SignalStrength
 android.telephony.SubscriptionManager
 android.telephony.TelephonyManager
 android.text.AndroidBidi
diff --git a/rs/java/android/renderscript/Allocation.java b/rs/java/android/renderscript/Allocation.java
index 4af6688..c6afa2c 100644
--- a/rs/java/android/renderscript/Allocation.java
+++ b/rs/java/android/renderscript/Allocation.java
@@ -60,6 +60,7 @@
 
     boolean mReadAllowed = true;
     boolean mWriteAllowed = true;
+    boolean mAutoPadding = false;
     int mSelectedX;
     int mSelectedY;
     int mSelectedZ;
@@ -270,6 +271,17 @@
     }
 
     /**
+     * @hide
+     * Enable/Disable AutoPadding for Vec3 elements.
+     *
+     * @param useAutoPadding True: enable AutoPadding; flase: disable AutoPadding
+     *
+     */
+    public void setAutoPadding(boolean useAutoPadding) {
+        mAutoPadding = useAutoPadding;
+    }
+
+    /**
      * Get the size of the Allocation in bytes.
      *
      * @return size of the Allocation in bytes.
@@ -785,6 +797,7 @@
         copy1DRangeFromUnchecked(xoff, count, data);
     }
 
+
     /**
      * This is only intended to be used by auto-generated code reflected from
      * the RenderScript script files.
@@ -794,12 +807,33 @@
      * @param fp
      */
     public void setFromFieldPacker(int xoff, int component_number, FieldPacker fp) {
+        setFromFieldPacker(xoff, 0, 0, component_number, fp);
+    }
+
+    /**
+     * @hide
+     * This is only intended to be used by auto-generated code reflected from
+     * the RenderScript script files.
+     *
+     * @param xoff
+     * @param yoff
+     * @param zoff
+     * @param component_number
+     * @param fp
+     */
+    public void setFromFieldPacker(int xoff, int yoff, int zoff, int component_number, FieldPacker fp) {
         mRS.validate();
         if (component_number >= mType.mElement.mElements.length) {
             throw new RSIllegalArgumentException("Component_number " + component_number + " out of range.");
         }
         if(xoff < 0) {
-            throw new RSIllegalArgumentException("Offset must be >= 0.");
+            throw new RSIllegalArgumentException("Offset x must be >= 0.");
+        }
+        if(yoff < 0) {
+            throw new RSIllegalArgumentException("Offset y must be >= 0.");
+        }
+        if(zoff < 0) {
+            throw new RSIllegalArgumentException("Offset z must be >= 0.");
         }
 
         final byte[] data = fp.getData();
@@ -812,11 +846,11 @@
                                                " does not match component size " + eSize + ".");
         }
 
-        mRS.nAllocationElementData1D(getIDSafe(), xoff, mSelectedLOD,
-                                     component_number, data, data_length);
+        mRS.nAllocationElementData(getIDSafe(), xoff, yoff, zoff, mSelectedLOD,
+                                   component_number, data, data_length);
     }
 
-    private void data1DChecks(int off, int count, int len, int dataSize) {
+    private void data1DChecks(int off, int count, int len, int dataSize, boolean usePadding) {
         mRS.validate();
         if(off < 0) {
             throw new RSIllegalArgumentException("Offset must be >= 0.");
@@ -828,8 +862,14 @@
             throw new RSIllegalArgumentException("Overflow, Available count " + mCurrentCount +
                                                ", got " + count + " at offset " + off + ".");
         }
-        if(len < dataSize) {
-            throw new RSIllegalArgumentException("Array too small for allocation type.");
+        if(usePadding) {
+            if(len < dataSize / 4 * 3) {
+                throw new RSIllegalArgumentException("Array too small for allocation type.");
+            }
+        } else {
+            if(len < dataSize) {
+                throw new RSIllegalArgumentException("Array too small for allocation type.");
+            }
         }
     }
 
@@ -851,8 +891,14 @@
                                           Element.DataType dt, int arrayLen) {
         Trace.traceBegin(RenderScript.TRACE_TAG, "copy1DRangeFromUnchecked");
         final int dataSize = mType.mElement.getBytesSize() * count;
-        data1DChecks(off, count, arrayLen * dt.mSize, dataSize);
-        mRS.nAllocationData1D(getIDSafe(), off, mSelectedLOD, count, array, dataSize, dt);
+        // AutoPadding for Vec3 Element
+        boolean usePadding = false;
+        if (mAutoPadding && (mType.getElement().getVectorSize() == 3)) {
+            usePadding = true;
+        }
+        data1DChecks(off, count, arrayLen * dt.mSize, dataSize, usePadding);
+        mRS.nAllocationData1D(getIDSafe(), off, mSelectedLOD, count, array, dataSize, dt,
+                              mType.mElement.mType.mSize, usePadding);
         Trace.traceEnd(RenderScript.TRACE_TAG);
     }
 
@@ -1029,8 +1075,24 @@
         Trace.traceBegin(RenderScript.TRACE_TAG, "copy2DRangeFromUnchecked");
         mRS.validate();
         validate2DRange(xoff, yoff, w, h);
+        final int dataSize = mType.mElement.getBytesSize() * w * h;
+        // AutoPadding for Vec3 Element
+        boolean usePadding = false;
+        int sizeBytes = arrayLen * dt.mSize;
+        if (mAutoPadding && (mType.getElement().getVectorSize() == 3)) {
+            if (dataSize / 4 * 3 > sizeBytes) {
+                throw new RSIllegalArgumentException("Array too small for allocation type.");
+            }
+            usePadding = true;
+            sizeBytes = dataSize;
+        } else {
+            if (dataSize > sizeBytes) {
+                throw new RSIllegalArgumentException("Array too small for allocation type.");
+            }
+        }
         mRS.nAllocationData2D(getIDSafe(), xoff, yoff, mSelectedLOD, mSelectedFace.mID, w, h,
-                              array, arrayLen * dt.mSize, dt);
+                              array, sizeBytes, dt,
+                              mType.mElement.mType.mSize, usePadding);
         Trace.traceEnd(RenderScript.TRACE_TAG);
     }
 
@@ -1191,8 +1253,24 @@
         Trace.traceBegin(RenderScript.TRACE_TAG, "copy3DRangeFromUnchecked");
         mRS.validate();
         validate3DRange(xoff, yoff, zoff, w, h, d);
+        final int dataSize = mType.mElement.getBytesSize() * w * h * d;
+        // AutoPadding for Vec3 Element
+        boolean usePadding = false;
+        int sizeBytes = arrayLen * dt.mSize;
+        if (mAutoPadding && (mType.getElement().getVectorSize() == 3)) {
+            if (dataSize / 4 * 3 > sizeBytes) {
+                throw new RSIllegalArgumentException("Array too small for allocation type.");
+            }
+            usePadding = true;
+            sizeBytes = dataSize;
+        } else {
+            if (dataSize > sizeBytes) {
+                throw new RSIllegalArgumentException("Array too small for allocation type.");
+            }
+        }
         mRS.nAllocationData3D(getIDSafe(), xoff, yoff, zoff, mSelectedLOD, w, h, d,
-                              array, arrayLen * dt.mSize, dt);
+                              array, sizeBytes, dt,
+                              mType.mElement.mType.mSize, usePadding);
         Trace.traceEnd(RenderScript.TRACE_TAG);
     }
 
@@ -1207,7 +1285,7 @@
      * @param w Width of the region to update
      * @param h Height of the region to update
      * @param d Depth of the region to update
-     * @param data to be placed into the allocation
+     * @param array to be placed into the allocation
      */
     public void copy3DRangeFrom(int xoff, int yoff, int zoff, int w, int h, int d, Object array) {
         Trace.traceBegin(RenderScript.TRACE_TAG, "copy3DRangeFrom");
@@ -1265,7 +1343,11 @@
                 "Size of output array cannot be smaller than size of allocation.");
         }
         mRS.validate();
-        mRS.nAllocationRead(getID(mRS), array, dt);
+        boolean usePadding = false;
+        if (mAutoPadding && (mType.getElement().getVectorSize() == 3)) {
+            usePadding = true;
+        }
+        mRS.nAllocationRead(getID(mRS), array, dt, mType.mElement.mType.mSize, usePadding);
         Trace.traceEnd(RenderScript.TRACE_TAG);
     }
 
@@ -1331,6 +1413,45 @@
     }
 
     /**
+     * @hide
+     * This is only intended to be used by auto-generated code reflected from
+     * the RenderScript script files and should not be used by developers.
+     *
+     * @param xoff
+     * @param yoff
+     * @param zoff
+     * @param component_number
+     * @param array
+     */
+    public void copyToFieldPacker(int xoff, int yoff, int zoff, int component_number, FieldPacker fp) {
+        mRS.validate();
+        if (component_number >= mType.mElement.mElements.length) {
+            throw new RSIllegalArgumentException("Component_number " + component_number + " out of range.");
+        }
+        if(xoff < 0) {
+            throw new RSIllegalArgumentException("Offset x must be >= 0.");
+        }
+        if(yoff < 0) {
+            throw new RSIllegalArgumentException("Offset y must be >= 0.");
+        }
+        if(zoff < 0) {
+            throw new RSIllegalArgumentException("Offset z must be >= 0.");
+        }
+
+        final byte[] data = fp.getData();
+        int data_length = fp.getPos();
+        int eSize = mType.mElement.mElements[component_number].getBytesSize();
+        eSize *= mType.mElement.mArraySizes[component_number];
+
+        if (data_length != eSize) {
+            throw new RSIllegalArgumentException("Field packer sizelength " + data_length +
+                                               " does not match component size " + eSize + ".");
+        }
+
+        mRS.nAllocationElementRead(getIDSafe(), xoff, yoff, zoff, mSelectedLOD,
+                                   component_number, data, data_length);
+    }
+    /**
      * Resize a 1D allocation.  The contents of the allocation are preserved.
      * If new elements are allocated objects are created with null contents and
      * the new region is otherwise undefined.
@@ -1362,6 +1483,318 @@
         updateCacheInfo(mType);
     }
 
+    private void copy1DRangeToUnchecked(int off, int count, Object array,
+                                        Element.DataType dt, int arrayLen) {
+        Trace.traceBegin(RenderScript.TRACE_TAG, "copy1DRangeToUnchecked");
+        final int dataSize = mType.mElement.getBytesSize() * count;
+        // AutoPadding for Vec3 Element
+        boolean usePadding = false;
+        if (mAutoPadding && (mType.getElement().getVectorSize() == 3)) {
+            usePadding = true;
+        }
+        data1DChecks(off, count, arrayLen * dt.mSize, dataSize, usePadding);
+        mRS.nAllocationRead1D(getIDSafe(), off, mSelectedLOD, count, array, dataSize, dt,
+                              mType.mElement.mType.mSize, usePadding);
+        Trace.traceEnd(RenderScript.TRACE_TAG);
+    }
+
+    /**
+     * @hide
+     * Copy part of this Allocation into an array.  This method does not
+     * guarantee that the Allocation is compatible with the input buffer.
+     *
+     * @param off The offset of the first element to be copied.
+     * @param count The number of elements to be copied.
+     * @param array The dest data array
+     */
+    public void copy1DRangeToUnchecked(int off, int count, Object array) {
+        copy1DRangeToUnchecked(off, count, array,
+                               validateObjectIsPrimitiveArray(array, false),
+                               java.lang.reflect.Array.getLength(array));
+    }
+
+    /**
+     * @hide
+     * Copy part of this Allocation into an array.  This method does not
+     * guarantee that the Allocation is compatible with the input buffer.
+     *
+     * @param off The offset of the first element to be copied.
+     * @param count The number of elements to be copied.
+     * @param d the source data array
+     */
+    public void copy1DRangeToUnchecked(int off, int count, int[] d) {
+        copy1DRangeToUnchecked(off, count, (Object)d, Element.DataType.SIGNED_32, d.length);
+    }
+
+    /**
+     * @hide
+     * Copy part of this Allocation into an array.  This method does not
+     * guarantee that the Allocation is compatible with the input buffer.
+     *
+     * @param off The offset of the first element to be copied.
+     * @param count The number of elements to be copied.
+     * @param d the source data array
+     */
+    public void copy1DRangeToUnchecked(int off, int count, short[] d) {
+        copy1DRangeToUnchecked(off, count, (Object)d, Element.DataType.SIGNED_16, d.length);
+    }
+
+    /**
+     * @hide
+     * Copy part of this Allocation into an array.  This method does not
+     * guarantee that the Allocation is compatible with the input buffer.
+     *
+     * @param off The offset of the first element to be copied.
+     * @param count The number of elements to be copied.
+     * @param d the source data array
+     */
+    public void copy1DRangeToUnchecked(int off, int count, byte[] d) {
+        copy1DRangeToUnchecked(off, count, (Object)d, Element.DataType.SIGNED_8, d.length);
+    }
+
+    /**
+     * @hide
+     * Copy part of this Allocation into an array.  This method does not
+     * guarantee that the Allocation is compatible with the input buffer.
+     *
+     * @param off The offset of the first element to be copied.
+     * @param count The number of elements to be copied.
+     * @param d the source data array
+     */
+    public void copy1DRangeToUnchecked(int off, int count, float[] d) {
+        copy1DRangeToUnchecked(off, count, (Object)d, Element.DataType.FLOAT_32, d.length);
+    }
+
+
+    /**
+     * @hide
+     * Copy part of this Allocation into an array.  This method does not
+     * and will generate exceptions if the Allocation type does not
+     * match the component type of the array passed in.
+     *
+     * @param off The offset of the first element to be copied.
+     * @param count The number of elements to be copied.
+     * @param array The source data array.
+     */
+    public void copy1DRangeTo(int off, int count, Object array) {
+        copy1DRangeToUnchecked(off, count, array,
+                               validateObjectIsPrimitiveArray(array, true),
+                               java.lang.reflect.Array.getLength(array));
+    }
+
+    /**
+     * @hide
+     * Copy part of this Allocation into an array.  This method does not
+     * and will generate exceptions if the Allocation type is not a 32 bit
+     * integer type.
+     *
+     * @param off The offset of the first element to be copied.
+     * @param count The number of elements to be copied.
+     * @param d the source data array
+     */
+    public void copy1DRangeTo(int off, int count, int[] d) {
+        validateIsInt32();
+        copy1DRangeToUnchecked(off, count, d, Element.DataType.SIGNED_32, d.length);
+    }
+
+    /**
+     * @hide
+     * Copy part of this Allocation into an array.  This method does not
+     * and will generate exceptions if the Allocation type is not a 16 bit
+     * integer type.
+     *
+     * @param off The offset of the first element to be copied.
+     * @param count The number of elements to be copied.
+     * @param d the source data array
+     */
+    public void copy1DRangeTo(int off, int count, short[] d) {
+        validateIsInt16();
+        copy1DRangeToUnchecked(off, count, d, Element.DataType.SIGNED_16, d.length);
+    }
+
+    /**
+     * @hide
+     * Copy part of this Allocation into an array.  This method does not
+     * and will generate exceptions if the Allocation type is not an 8 bit
+     * integer type.
+     *
+     * @param off The offset of the first element to be copied.
+     * @param count The number of elements to be copied.
+     * @param d the source data array
+     */
+    public void copy1DRangeTo(int off, int count, byte[] d) {
+        validateIsInt8();
+        copy1DRangeToUnchecked(off, count, d, Element.DataType.SIGNED_8, d.length);
+    }
+
+    /**
+     * @hide
+     * Copy part of this Allocation into an array.  This method does not
+     * and will generate exceptions if the Allocation type is not a 32 bit float
+     * type.
+     *
+     * @param off The offset of the first element to be copied.
+     * @param count The number of elements to be copied.
+     * @param d the source data array.
+     */
+    public void copy1DRangeTo(int off, int count, float[] d) {
+        validateIsFloat32();
+        copy1DRangeToUnchecked(off, count, d, Element.DataType.FLOAT_32, d.length);
+    }
+
+
+    void copy2DRangeToUnchecked(int xoff, int yoff, int w, int h, Object array,
+                                Element.DataType dt, int arrayLen) {
+        Trace.traceBegin(RenderScript.TRACE_TAG, "copy2DRangeToUnchecked");
+        mRS.validate();
+        validate2DRange(xoff, yoff, w, h);
+        final int dataSize = mType.mElement.getBytesSize() * w * h;
+        // AutoPadding for Vec3 Element
+        boolean usePadding = false;
+        int sizeBytes = arrayLen * dt.mSize;
+        if (mAutoPadding && (mType.getElement().getVectorSize() == 3)) {
+            if (dataSize / 4 * 3 > sizeBytes) {
+                throw new RSIllegalArgumentException("Array too small for allocation type.");
+            }
+            usePadding = true;
+            sizeBytes = dataSize;
+        } else {
+            if (dataSize > sizeBytes) {
+                throw new RSIllegalArgumentException("Array too small for allocation type.");
+            }
+        }
+        mRS.nAllocationRead2D(getIDSafe(), xoff, yoff, mSelectedLOD, mSelectedFace.mID, w, h,
+                              array, sizeBytes, dt, mType.mElement.mType.mSize, usePadding);
+        Trace.traceEnd(RenderScript.TRACE_TAG);
+    }
+
+    /**
+     * @hide
+     * Copy from a rectangular region in this Allocation into an array.
+     *
+     * @param xoff X offset of the region to copy in this Allocation
+     * @param yoff Y offset of the region to copy in this Allocation
+     * @param w Width of the region to copy
+     * @param h Height of the region to copy
+     * @param array Dest Array to be copied into
+     */
+    public void copy2DRangeTo(int xoff, int yoff, int w, int h, Object array) {
+        copy2DRangeToUnchecked(xoff, yoff, w, h, array,
+                               validateObjectIsPrimitiveArray(array, true),
+                               java.lang.reflect.Array.getLength(array));
+    }
+
+    /**
+     * @hide
+     * Copy from a rectangular region in this Allocation into an array.
+     *
+     * @param xoff X offset of the region to copy in this Allocation
+     * @param yoff Y offset of the region to copy in this Allocation
+     * @param w Width of the region to copy
+     * @param h Height of the region to copy
+     * @param data Dest Array to be copied into
+     */
+    public void copy2DRangeTo(int xoff, int yoff, int w, int h, byte[] data) {
+        validateIsInt8();
+        copy2DRangeToUnchecked(xoff, yoff, w, h, data,
+                               Element.DataType.SIGNED_8, data.length);
+    }
+
+    /**
+     * @hide
+     * Copy from a rectangular region in this Allocation into an array.
+     *
+     * @param xoff X offset of the region to copy in this Allocation
+     * @param yoff Y offset of the region to copy in this Allocation
+     * @param w Width of the region to copy
+     * @param h Height of the region to copy
+     * @param data Dest Array to be copied into
+     */
+    public void copy2DRangeTo(int xoff, int yoff, int w, int h, short[] data) {
+        validateIsInt16();
+        copy2DRangeToUnchecked(xoff, yoff, w, h, data,
+                               Element.DataType.SIGNED_16, data.length);
+    }
+
+    /**
+     * @hide
+     * Copy from a rectangular region in this Allocation into an array.
+     *
+     * @param xoff X offset of the region to copy in this Allocation
+     * @param yoff Y offset of the region to copy in this Allocation
+     * @param w Width of the region to copy
+     * @param h Height of the region to copy
+     * @param data Dest Array to be copied into
+     */
+    public void copy2DRangeTo(int xoff, int yoff, int w, int h, int[] data) {
+        validateIsInt32();
+        copy2DRangeToUnchecked(xoff, yoff, w, h, data,
+                               Element.DataType.SIGNED_32, data.length);
+    }
+
+    /**
+     * @hide
+     * Copy from a rectangular region in this Allocation into an array.
+     *
+     * @param xoff X offset of the region to copy in this Allocation
+     * @param yoff Y offset of the region to copy in this Allocation
+     * @param w Width of the region to copy
+     * @param h Height of the region to copy
+     * @param data Dest Array to be copied into
+     */
+    public void copy2DRangeTo(int xoff, int yoff, int w, int h, float[] data) {
+        validateIsFloat32();
+        copy2DRangeToUnchecked(xoff, yoff, w, h, data,
+                               Element.DataType.FLOAT_32, data.length);
+    }
+
+
+    /**
+     * @hide
+     *
+     */
+    private void copy3DRangeToUnchecked(int xoff, int yoff, int zoff, int w, int h, int d,
+                                        Object array, Element.DataType dt, int arrayLen) {
+        Trace.traceBegin(RenderScript.TRACE_TAG, "copy3DRangeToUnchecked");
+        mRS.validate();
+        validate3DRange(xoff, yoff, zoff, w, h, d);
+        final int dataSize = mType.mElement.getBytesSize() * w * h * d;
+        // AutoPadding for Vec3 Element
+        boolean usePadding = false;
+        int sizeBytes = arrayLen * dt.mSize;
+        if (mAutoPadding && (mType.getElement().getVectorSize() == 3)) {
+            if (dataSize / 4 * 3 > sizeBytes) {
+                throw new RSIllegalArgumentException("Array too small for allocation type.");
+            }
+            usePadding = true;
+            sizeBytes = dataSize;
+        } else {
+            if (dataSize > sizeBytes) {
+                throw new RSIllegalArgumentException("Array too small for allocation type.");
+            }
+        }
+        mRS.nAllocationRead3D(getIDSafe(), xoff, yoff, zoff, mSelectedLOD, w, h, d,
+                              array, sizeBytes, dt, mType.mElement.mType.mSize, usePadding);
+        Trace.traceEnd(RenderScript.TRACE_TAG);
+    }
+
+    /**
+     * @hide
+     * Copy from a rectangular region in this Allocation into an array.
+     *
+     * @param xoff X offset of the region to copy in this Allocation
+     * @param yoff Y offset of the region to copy in this Allocation
+     * @param zoff Z offset of the region to copy in this Allocation
+     * @param w Width of the region to copy
+     * @param h Height of the region to copy
+     * @param d Depth of the region to copy
+     * @param array Dest Array to be copied into
+     */
+    public void copy3DRangeTo(int xoff, int yoff, int zoff, int w, int h, int d, Object array) {
+        copy3DRangeToUnchecked(xoff, yoff, zoff, w, h, d, array,
+                                 validateObjectIsPrimitiveArray(array, true),
+                                 java.lang.reflect.Array.getLength(array));
+    }
 
     // creation
 
diff --git a/rs/java/android/renderscript/AllocationAdapter.java b/rs/java/android/renderscript/AllocationAdapter.java
index 9e28f7c..183726f 100644
--- a/rs/java/android/renderscript/AllocationAdapter.java
+++ b/rs/java/android/renderscript/AllocationAdapter.java
@@ -72,17 +72,19 @@
     private void updateOffsets() {
         int a1 = 0, a2 = 0, a3 = 0, a4 = 0;
 
-        if (mSelectedArray.length > 0) {
-            a1 = mSelectedArray[0];
-        }
-        if (mSelectedArray.length > 1) {
-            a2 = mSelectedArray[2];
-        }
-        if (mSelectedArray.length > 2) {
-            a3 = mSelectedArray[2];
-        }
-        if (mSelectedArray.length > 3) {
-            a4 = mSelectedArray[3];
+        if (mSelectedArray != null) {
+            if (mSelectedArray.length > 0) {
+                a1 = mSelectedArray[0];
+            }
+            if (mSelectedArray.length > 1) {
+                a2 = mSelectedArray[2];
+            }
+            if (mSelectedArray.length > 2) {
+                a3 = mSelectedArray[2];
+            }
+            if (mSelectedArray.length > 3) {
+                a4 = mSelectedArray[3];
+            }
         }
         mRS.nAllocationAdapterOffset(getID(mRS), mSelectedX, mSelectedY, mSelectedZ,
                                      mSelectedLOD, mSelectedFace.mID, a1, a2, a3, a4);
diff --git a/rs/java/android/renderscript/Path.java b/rs/java/android/renderscript/Path.java
deleted file mode 100644
index f3502aa..0000000
--- a/rs/java/android/renderscript/Path.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.renderscript;
-
-/**
- * @hide
- *
- */
-public class Path extends BaseObj {
-
-    public enum Primitive {
-        QUADRATIC_BEZIER(0),
-        CUBIC_BEZIER(1);
-
-        int mID;
-        Primitive(int id) {
-            mID = id;
-        }
-    }
-
-    Allocation mVertexBuffer;
-    Allocation mLoopBuffer;
-    Primitive mPrimitive;
-    float mQuality;
-    boolean mCoverageToAlpha;
-
-    Path(long id, RenderScript rs, Primitive p, Allocation vtx, Allocation loop, float q) {
-        super(id, rs);
-        mVertexBuffer = vtx;
-        mLoopBuffer = loop;
-        mPrimitive = p;
-        mQuality = q;
-    }
-
-    public Allocation getVertexAllocation() {
-        return mVertexBuffer;
-    }
-
-    public Allocation getLoopAllocation() {
-        return mLoopBuffer;
-    }
-
-    public Primitive getPrimitive() {
-        return mPrimitive;
-    }
-
-    @Override
-    void updateFromNative() {
-    }
-
-
-    public static Path createStaticPath(RenderScript rs, Primitive p, float quality, Allocation vtx) {
-        long id = rs.nPathCreate(p.mID, false, vtx.getID(rs), 0, quality);
-        Path newPath = new Path(id, rs, p, null, null, quality);
-        return newPath;
-    }
-
-    public static Path createStaticPath(RenderScript rs, Primitive p, float quality, Allocation vtx, Allocation loops) {
-        return null;
-    }
-
-    public static Path createDynamicPath(RenderScript rs, Primitive p, float quality, Allocation vtx) {
-        return null;
-    }
-
-    public static Path createDynamicPath(RenderScript rs, Primitive p, float quality, Allocation vtx, Allocation loops) {
-        return null;
-    }
-
-
-}
-
-
diff --git a/rs/java/android/renderscript/RenderScript.java b/rs/java/android/renderscript/RenderScript.java
index 417bfe2..4bb4eee 100644
--- a/rs/java/android/renderscript/RenderScript.java
+++ b/rs/java/android/renderscript/RenderScript.java
@@ -24,7 +24,6 @@
 import android.content.res.AssetManager;
 import android.graphics.Bitmap;
 import android.graphics.SurfaceTexture;
-import android.os.Process;
 import android.util.Log;
 import android.view.Surface;
 import android.os.SystemProperties;
@@ -485,16 +484,18 @@
     }
 
 
-    native void rsnAllocationData1D(long con, long id, int off, int mip, int count, Object d, int sizeBytes, int dt);
-    synchronized void nAllocationData1D(long id, int off, int mip, int count, Object d, int sizeBytes, Element.DataType dt) {
+    native void rsnAllocationData1D(long con, long id, int off, int mip, int count, Object d, int sizeBytes, int dt,
+                                    int mSize, boolean usePadding);
+    synchronized void nAllocationData1D(long id, int off, int mip, int count, Object d, int sizeBytes, Element.DataType dt,
+                                        int mSize, boolean usePadding) {
         validate();
-        rsnAllocationData1D(mContext, id, off, mip, count, d, sizeBytes, dt.mID);
+        rsnAllocationData1D(mContext, id, off, mip, count, d, sizeBytes, dt.mID, mSize, usePadding);
     }
 
-    native void rsnAllocationElementData1D(long con,long id, int xoff, int mip, int compIdx, byte[] d, int sizeBytes);
-    synchronized void nAllocationElementData1D(long id, int xoff, int mip, int compIdx, byte[] d, int sizeBytes) {
+    native void rsnAllocationElementData(long con,long id, int xoff, int yoff, int zoff, int mip, int compIdx, byte[] d, int sizeBytes);
+    synchronized void nAllocationElementData(long id, int xoff, int yoff, int zoff, int mip, int compIdx, byte[] d, int sizeBytes) {
         validate();
-        rsnAllocationElementData1D(mContext, id, xoff, mip, compIdx, d, sizeBytes);
+        rsnAllocationElementData(mContext, id, xoff, yoff, zoff, mip, compIdx, d, sizeBytes);
     }
 
     native void rsnAllocationData2D(long con,
@@ -518,11 +519,13 @@
     }
 
     native void rsnAllocationData2D(long con, long id, int xoff, int yoff, int mip, int face,
-                                    int w, int h, Object d, int sizeBytes, int dt);
+                                    int w, int h, Object d, int sizeBytes, int dt,
+                                    int mSize, boolean usePadding);
     synchronized void nAllocationData2D(long id, int xoff, int yoff, int mip, int face,
-                                        int w, int h, Object d, int sizeBytes, Element.DataType dt) {
+                                        int w, int h, Object d, int sizeBytes, Element.DataType dt,
+                                        int mSize, boolean usePadding) {
         validate();
-        rsnAllocationData2D(mContext, id, xoff, yoff, mip, face, w, h, d, sizeBytes, dt.mID);
+        rsnAllocationData2D(mContext, id, xoff, yoff, mip, face, w, h, d, sizeBytes, dt.mID, mSize, usePadding);
     }
 
     native void rsnAllocationData2D(long con, long id, int xoff, int yoff, int mip, int face, Bitmap b);
@@ -550,33 +553,56 @@
     }
 
     native void rsnAllocationData3D(long con, long id, int xoff, int yoff, int zoff, int mip,
-                                    int w, int h, int depth, Object d, int sizeBytes, int dt);
+                                    int w, int h, int depth, Object d, int sizeBytes, int dt,
+                                    int mSize, boolean usePadding);
     synchronized void nAllocationData3D(long id, int xoff, int yoff, int zoff, int mip,
-                                        int w, int h, int depth, Object d, int sizeBytes, Element.DataType dt) {
+                                        int w, int h, int depth, Object d, int sizeBytes, Element.DataType dt,
+                                        int mSize, boolean usePadding) {
         validate();
-        rsnAllocationData3D(mContext, id, xoff, yoff, zoff, mip, w, h, depth, d, sizeBytes, dt.mID);
+        rsnAllocationData3D(mContext, id, xoff, yoff, zoff, mip, w, h, depth, d, sizeBytes,
+                            dt.mID, mSize, usePadding);
     }
 
-    native void rsnAllocationRead(long con, long id, Object d, int dt);
-    synchronized void nAllocationRead(long id, Object d, Element.DataType dt) {
+    native void rsnAllocationRead(long con, long id, Object d, int dt, int mSize, boolean usePadding);
+    synchronized void nAllocationRead(long id, Object d, Element.DataType dt, int mSize, boolean usePadding) {
         validate();
-        rsnAllocationRead(mContext, id, d, dt.mID);
+        rsnAllocationRead(mContext, id, d, dt.mID, mSize, usePadding);
     }
 
     native void rsnAllocationRead1D(long con, long id, int off, int mip, int count, Object d,
-                                    int sizeBytes, int dt);
+                                    int sizeBytes, int dt, int mSize, boolean usePadding);
     synchronized void nAllocationRead1D(long id, int off, int mip, int count, Object d,
-                                        int sizeBytes, Element.DataType dt) {
+                                        int sizeBytes, Element.DataType dt, int mSize, boolean usePadding) {
         validate();
-        rsnAllocationRead1D(mContext, id, off, mip, count, d, sizeBytes, dt.mID);
+        rsnAllocationRead1D(mContext, id, off, mip, count, d, sizeBytes, dt.mID, mSize, usePadding);
+    }
+
+    native void rsnAllocationElementRead(long con,long id, int xoff, int yoff, int zoff,
+                                         int mip, int compIdx, byte[] d, int sizeBytes);
+    synchronized void nAllocationElementRead(long id, int xoff, int yoff, int zoff,
+                                             int mip, int compIdx, byte[] d, int sizeBytes) {
+        validate();
+        rsnAllocationElementRead(mContext, id, xoff, yoff, zoff, mip, compIdx, d, sizeBytes);
     }
 
     native void rsnAllocationRead2D(long con, long id, int xoff, int yoff, int mip, int face,
-                                    int w, int h, Object d, int sizeBytes, int dt);
+                                    int w, int h, Object d, int sizeBytes, int dt,
+                                    int mSize, boolean usePadding);
     synchronized void nAllocationRead2D(long id, int xoff, int yoff, int mip, int face,
-                                        int w, int h, Object d, int sizeBytes, Element.DataType dt) {
+                                        int w, int h, Object d, int sizeBytes, Element.DataType dt,
+                                        int mSize, boolean usePadding) {
         validate();
-        rsnAllocationRead2D(mContext, id, xoff, yoff, mip, face, w, h, d, sizeBytes, dt.mID);
+        rsnAllocationRead2D(mContext, id, xoff, yoff, mip, face, w, h, d, sizeBytes, dt.mID, mSize, usePadding);
+    }
+
+    native void rsnAllocationRead3D(long con, long id, int xoff, int yoff, int zoff, int mip,
+                                    int w, int h, int depth, Object d, int sizeBytes, int dt,
+                                    int mSize, boolean usePadding);
+    synchronized void nAllocationRead3D(long id, int xoff, int yoff, int zoff, int mip,
+                                        int w, int h, int depth, Object d, int sizeBytes, Element.DataType dt,
+                                        int mSize, boolean usePadding) {
+        validate();
+        rsnAllocationRead3D(mContext, id, xoff, yoff, zoff, mip, w, h, depth, d, sizeBytes, dt.mID, mSize, usePadding);
     }
 
     native long  rsnAllocationGetType(long con, long id);
@@ -881,12 +907,6 @@
         rsnMeshGetIndices(mContext, id, idxIds, primitives, vtxIdCount);
     }
 
-    native long rsnPathCreate(long con, int prim, boolean isStatic, long vtx, long loop, float q);
-    synchronized long nPathCreate(int prim, boolean isStatic, long vtx, long loop, float q) {
-        validate();
-        return rsnPathCreate(mContext, prim, isStatic, vtx, loop, q);
-    }
-
     native void rsnScriptIntrinsicBLAS_Single(long con, long id, int func, int TransA,
                                               int TransB, int Side, int Uplo, int Diag, int M, int N, int K,
                                               float alpha, long A, long B, float beta, long C, int incX, int incY,
diff --git a/rs/jni/Android.mk b/rs/jni/Android.mk
index f1f0bfc..94f0859 100644
--- a/rs/jni/Android.mk
+++ b/rs/jni/Android.mk
@@ -14,7 +14,8 @@
     libskia \
     libutils \
     libui \
-    libgui
+    libgui \
+    libjnigraphics
 
 LOCAL_STATIC_LIBRARIES :=
 
@@ -23,6 +24,7 @@
 LOCAL_C_INCLUDES += \
     $(JNI_H_INCLUDE) \
     frameworks/rs \
+    frameworks/base/core/jni \
     $(rs_generated_include_dir)
 
 LOCAL_CFLAGS += -Wno-unused-parameter -std=c++11
diff --git a/rs/jni/android_renderscript_RenderScript.cpp b/rs/jni/android_renderscript_RenderScript.cpp
index 2612323..59161e7 100644
--- a/rs/jni/android_renderscript_RenderScript.cpp
+++ b/rs/jni/android_renderscript_RenderScript.cpp
@@ -24,8 +24,6 @@
 #include <utils/misc.h>
 #include <inttypes.h>
 
-#include <SkBitmap.h>
-
 #include <androidfw/Asset.h>
 #include <androidfw/AssetManager.h>
 #include <androidfw/ResourceTypes.h>
@@ -35,6 +33,7 @@
 #include "android_runtime/AndroidRuntime.h"
 #include "android_runtime/android_view_Surface.h"
 #include "android_runtime/android_util_AssetManager.h"
+#include "android/graphics/GraphicsJNI.h"
 
 #include <rs.h>
 #include <rsEnv.h>
@@ -54,10 +53,12 @@
 #define PER_ARRAY_TYPE(flag, fnc, readonly, ...) {                                      \
     jint len = 0;                                                                       \
     void *ptr = nullptr;                                                                \
+    void *srcPtr = nullptr;                                                             \
     size_t typeBytes = 0;                                                               \
     jint relFlag = 0;                                                                   \
     if (readonly) {                                                                     \
         /* The on-release mode should only be JNI_ABORT for read-only accesses. */      \
+        /* readonly = true, also indicates we are copying to the allocation   . */      \
         relFlag = JNI_ABORT;                                                            \
     }                                                                                   \
     switch(dataType) {                                                                  \
@@ -65,14 +66,50 @@
         len = _env->GetArrayLength((jfloatArray)data);                                  \
         ptr = _env->GetFloatArrayElements((jfloatArray)data, flag);                     \
         typeBytes = 4;                                                                  \
-        fnc(__VA_ARGS__);                                                               \
+        if (usePadding) {                                                               \
+            srcPtr = ptr;                                                               \
+            len = len / 3 * 4;                                                          \
+            if (count == 0) {                                                           \
+                count = len / 4;                                                        \
+            }                                                                           \
+            ptr = malloc (len * typeBytes);                                             \
+            if (readonly) {                                                             \
+                copyWithPadding(ptr, srcPtr, mSize, count);                             \
+                fnc(__VA_ARGS__);                                                       \
+            } else {                                                                    \
+                fnc(__VA_ARGS__);                                                       \
+                copyWithUnPadding(srcPtr, ptr, mSize, count);                           \
+            }                                                                           \
+            free(ptr);                                                                  \
+            ptr = srcPtr;                                                               \
+        } else {                                                                        \
+            fnc(__VA_ARGS__);                                                           \
+        }                                                                               \
         _env->ReleaseFloatArrayElements((jfloatArray)data, (jfloat *)ptr, relFlag);     \
         return;                                                                         \
     case RS_TYPE_FLOAT_64:                                                              \
         len = _env->GetArrayLength((jdoubleArray)data);                                 \
         ptr = _env->GetDoubleArrayElements((jdoubleArray)data, flag);                   \
         typeBytes = 8;                                                                  \
-        fnc(__VA_ARGS__);                                                               \
+        if (usePadding) {                                                               \
+            srcPtr = ptr;                                                               \
+            len = len / 3 * 4;                                                          \
+            if (count == 0) {                                                           \
+                count = len / 4;                                                        \
+            }                                                                           \
+            ptr = malloc (len * typeBytes);                                             \
+            if (readonly) {                                                             \
+                copyWithPadding(ptr, srcPtr, mSize, count);                             \
+                fnc(__VA_ARGS__);                                                       \
+            } else {                                                                    \
+                fnc(__VA_ARGS__);                                                       \
+                copyWithUnPadding(srcPtr, ptr, mSize, count);                           \
+            }                                                                           \
+            free(ptr);                                                                  \
+            ptr = srcPtr;                                                               \
+        } else {                                                                        \
+            fnc(__VA_ARGS__);                                                           \
+        }                                                                               \
         _env->ReleaseDoubleArrayElements((jdoubleArray)data, (jdouble *)ptr, relFlag);  \
         return;                                                                         \
     case RS_TYPE_SIGNED_8:                                                              \
@@ -80,7 +117,25 @@
         len = _env->GetArrayLength((jbyteArray)data);                                   \
         ptr = _env->GetByteArrayElements((jbyteArray)data, flag);                       \
         typeBytes = 1;                                                                  \
-        fnc(__VA_ARGS__);                                                               \
+        if (usePadding) {                                                               \
+            srcPtr = ptr;                                                               \
+            len = len / 3 * 4;                                                          \
+            if (count == 0) {                                                           \
+                count = len / 4;                                                        \
+            }                                                                           \
+            ptr = malloc (len * typeBytes);                                             \
+            if (readonly) {                                                             \
+                copyWithPadding(ptr, srcPtr, mSize, count);                             \
+                fnc(__VA_ARGS__);                                                       \
+            } else {                                                                    \
+                fnc(__VA_ARGS__);                                                       \
+                copyWithUnPadding(srcPtr, ptr, mSize, count);                           \
+            }                                                                           \
+            free(ptr);                                                                  \
+            ptr = srcPtr;                                                               \
+        } else {                                                                        \
+            fnc(__VA_ARGS__);                                                           \
+        }                                                                               \
         _env->ReleaseByteArrayElements((jbyteArray)data, (jbyte*)ptr, relFlag);         \
         return;                                                                         \
     case RS_TYPE_SIGNED_16:                                                             \
@@ -88,7 +143,25 @@
         len = _env->GetArrayLength((jshortArray)data);                                  \
         ptr = _env->GetShortArrayElements((jshortArray)data, flag);                     \
         typeBytes = 2;                                                                  \
-        fnc(__VA_ARGS__);                                                               \
+        if (usePadding) {                                                               \
+            srcPtr = ptr;                                                               \
+            len = len / 3 * 4;                                                          \
+            if (count == 0) {                                                           \
+                count = len / 4;                                                        \
+            }                                                                           \
+            ptr = malloc (len * typeBytes);                                             \
+            if (readonly) {                                                             \
+                copyWithPadding(ptr, srcPtr, mSize, count);                             \
+                fnc(__VA_ARGS__);                                                       \
+            } else {                                                                    \
+                fnc(__VA_ARGS__);                                                       \
+                copyWithUnPadding(srcPtr, ptr, mSize, count);                           \
+            }                                                                           \
+            free(ptr);                                                                  \
+            ptr = srcPtr;                                                               \
+        } else {                                                                        \
+            fnc(__VA_ARGS__);                                                           \
+        }                                                                               \
         _env->ReleaseShortArrayElements((jshortArray)data, (jshort *)ptr, relFlag);     \
         return;                                                                         \
     case RS_TYPE_SIGNED_32:                                                             \
@@ -96,7 +169,25 @@
         len = _env->GetArrayLength((jintArray)data);                                    \
         ptr = _env->GetIntArrayElements((jintArray)data, flag);                         \
         typeBytes = 4;                                                                  \
-        fnc(__VA_ARGS__);                                                               \
+        if (usePadding) {                                                               \
+            srcPtr = ptr;                                                               \
+            len = len / 3 * 4;                                                          \
+            if (count == 0) {                                                           \
+                count = len / 4;                                                        \
+            }                                                                           \
+            ptr = malloc (len * typeBytes);                                             \
+            if (readonly) {                                                             \
+                copyWithPadding(ptr, srcPtr, mSize, count);                             \
+                fnc(__VA_ARGS__);                                                       \
+            } else {                                                                    \
+                fnc(__VA_ARGS__);                                                       \
+                copyWithUnPadding(srcPtr, ptr, mSize, count);                           \
+            }                                                                           \
+            free(ptr);                                                                  \
+            ptr = srcPtr;                                                               \
+        } else {                                                                        \
+            fnc(__VA_ARGS__);                                                           \
+        }                                                                               \
         _env->ReleaseIntArrayElements((jintArray)data, (jint *)ptr, relFlag);           \
         return;                                                                         \
     case RS_TYPE_SIGNED_64:                                                             \
@@ -104,13 +195,31 @@
         len = _env->GetArrayLength((jlongArray)data);                                   \
         ptr = _env->GetLongArrayElements((jlongArray)data, flag);                       \
         typeBytes = 8;                                                                  \
-        fnc(__VA_ARGS__);                                                               \
+        if (usePadding) {                                                               \
+            srcPtr = ptr;                                                               \
+            len = len / 3 * 4;                                                          \
+            if (count == 0) {                                                           \
+                count = len / 4;                                                        \
+            }                                                                           \
+            ptr = malloc (len * typeBytes);                                             \
+            if (readonly) {                                                             \
+                copyWithPadding(ptr, srcPtr, mSize, count);                             \
+                fnc(__VA_ARGS__);                                                       \
+            } else {                                                                    \
+                fnc(__VA_ARGS__);                                                       \
+                copyWithUnPadding(srcPtr, ptr, mSize, count);                           \
+            }                                                                           \
+            free(ptr);                                                                  \
+            ptr = srcPtr;                                                               \
+        } else {                                                                        \
+            fnc(__VA_ARGS__);                                                           \
+        }                                                                               \
         _env->ReleaseLongArrayElements((jlongArray)data, (jlong *)ptr, relFlag);        \
         return;                                                                         \
     default:                                                                            \
         break;                                                                          \
     }                                                                                   \
-    UNUSED(len, ptr, typeBytes, relFlag);                                               \
+    UNUSED(len, ptr, srcPtr, typeBytes, relFlag);                                       \
 }
 
 
@@ -172,18 +281,40 @@
 // ---------------------------------------------------------------------------
 
 static jfieldID gContextId = 0;
-static jfieldID gNativeBitmapID = 0;
 
 static void _nInit(JNIEnv *_env, jclass _this)
 {
     gContextId             = _env->GetFieldID(_this, "mContext", "J");
-
-    jclass bitmapClass = _env->FindClass("android/graphics/Bitmap");
-    gNativeBitmapID = _env->GetFieldID(bitmapClass, "mNativeBitmap", "J");
 }
 
 // ---------------------------------------------------------------------------
 
+static void copyWithPadding(void* ptr, void* srcPtr, int mSize, int count) {
+    int sizeBytesPad = mSize * 4;
+    int sizeBytes = mSize * 3;
+    uint8_t *dst = static_cast<uint8_t *>(ptr);
+    uint8_t *src = static_cast<uint8_t *>(srcPtr);
+    for (int i = 0; i < count; i++) {
+        memcpy(dst, src, sizeBytes);
+        dst += sizeBytesPad;
+        src += sizeBytes;
+    }
+}
+
+static void copyWithUnPadding(void* ptr, void* srcPtr, int mSize, int count) {
+    int sizeBytesPad = mSize * 4;
+    int sizeBytes = mSize * 3;
+    uint8_t *dst = static_cast<uint8_t *>(ptr);
+    uint8_t *src = static_cast<uint8_t *>(srcPtr);
+    for (int i = 0; i < count; i++) {
+        memcpy(dst, src, sizeBytes);
+        dst += sizeBytes;
+        src += sizeBytesPad;
+    }
+}
+
+
+// ---------------------------------------------------------------------------
 static void
 nContextFinish(JNIEnv *_env, jobject _this, jlong con)
 {
@@ -934,7 +1065,7 @@
                             jobject jbitmap, jint usage)
 {
     SkBitmap const * nativeBitmap =
-            (SkBitmap const *)_env->GetLongField(jbitmap, gNativeBitmapID);
+            GraphicsJNI::getSkBitmap(_env, jbitmap);
     const SkBitmap& bitmap(*nativeBitmap);
 
     bitmap.lockPixels();
@@ -951,7 +1082,7 @@
                                         jint mip, jobject jbitmap, jint usage)
 {
     SkBitmap const * nativeBitmap =
-            (SkBitmap const *)_env->GetLongField(jbitmap, gNativeBitmapID);
+            GraphicsJNI::getSkBitmap(_env, jbitmap);
     const SkBitmap& bitmap(*nativeBitmap);
 
     bitmap.lockPixels();
@@ -968,7 +1099,7 @@
                                 jobject jbitmap, jint usage)
 {
     SkBitmap const * nativeBitmap =
-            (SkBitmap const *)_env->GetLongField(jbitmap, gNativeBitmapID);
+            GraphicsJNI::getSkBitmap(_env, jbitmap);
     const SkBitmap& bitmap(*nativeBitmap);
 
     bitmap.lockPixels();
@@ -984,7 +1115,7 @@
 nAllocationCopyFromBitmap(JNIEnv *_env, jobject _this, jlong con, jlong alloc, jobject jbitmap)
 {
     SkBitmap const * nativeBitmap =
-            (SkBitmap const *)_env->GetLongField(jbitmap, gNativeBitmapID);
+            GraphicsJNI::getSkBitmap(_env, jbitmap);
     const SkBitmap& bitmap(*nativeBitmap);
     int w = bitmap.width();
     int h = bitmap.height();
@@ -1001,7 +1132,7 @@
 nAllocationCopyToBitmap(JNIEnv *_env, jobject _this, jlong con, jlong alloc, jobject jbitmap)
 {
     SkBitmap const * nativeBitmap =
-            (SkBitmap const *)_env->GetLongField(jbitmap, gNativeBitmapID);
+            GraphicsJNI::getSkBitmap(_env, jbitmap);
     const SkBitmap& bitmap(*nativeBitmap);
 
     bitmap.lockPixels();
@@ -1014,7 +1145,8 @@
 // Copies from the Java object data into the Allocation pointed to by _alloc.
 static void
 nAllocationData1D(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jint offset, jint lod,
-                  jint count, jobject data, jint sizeBytes, jint dataType)
+                  jint count, jobject data, jint sizeBytes, jint dataType, jint mSize,
+                  jboolean usePadding)
 {
     RsAllocation *alloc = (RsAllocation *)_alloc;
     if (kLogApi) {
@@ -1022,31 +1154,34 @@
               "dataType(%i)", (RsContext)con, (RsAllocation)alloc, offset, count, sizeBytes,
               dataType);
     }
-    PER_ARRAY_TYPE(nullptr, rsAllocation1DData, true, (RsContext)con, alloc, offset, lod, count,
-                   ptr, sizeBytes);
+    PER_ARRAY_TYPE(nullptr, rsAllocation1DData, true,
+                   (RsContext)con, alloc, offset, lod, count, ptr, sizeBytes);
 }
 
-// Copies from the Java array data into the Allocation pointed to by alloc.
 static void
-//    native void rsnAllocationElementData1D(long con, long id, int xoff, int compIdx, byte[] d, int sizeBytes);
-nAllocationElementData1D(JNIEnv *_env, jobject _this, jlong con, jlong alloc, jint offset, jint lod,
-                         jint compIdx, jbyteArray data, jint sizeBytes)
+nAllocationElementData(JNIEnv *_env, jobject _this, jlong con, jlong alloc,
+                       jint xoff, jint yoff, jint zoff,
+                       jint lod, jint compIdx, jbyteArray data, jint sizeBytes)
 {
     jint len = _env->GetArrayLength(data);
     if (kLogApi) {
-        ALOGD("nAllocationElementData1D, con(%p), alloc(%p), offset(%i), comp(%i), len(%i), "
-              "sizeBytes(%i)", (RsContext)con, (RsAllocation)alloc, offset, compIdx, len,
+        ALOGD("nAllocationElementData, con(%p), alloc(%p), xoff(%i), yoff(%i), zoff(%i), comp(%i), len(%i), "
+              "sizeBytes(%i)", (RsContext)con, (RsAllocation)alloc, xoff, yoff, zoff, compIdx, len,
               sizeBytes);
     }
     jbyte *ptr = _env->GetByteArrayElements(data, nullptr);
-    rsAllocation1DElementData((RsContext)con, (RsAllocation)alloc, offset, lod, ptr, sizeBytes, compIdx);
+    rsAllocationElementData((RsContext)con, (RsAllocation)alloc,
+                            xoff, yoff, zoff,
+                            lod, ptr, sizeBytes, compIdx);
     _env->ReleaseByteArrayElements(data, ptr, JNI_ABORT);
 }
 
+
 // Copies from the Java object data into the Allocation pointed to by _alloc.
 static void
 nAllocationData2D(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jint xoff, jint yoff, jint lod, jint _face,
-                  jint w, jint h, jobject data, jint sizeBytes, jint dataType)
+                  jint w, jint h, jobject data, jint sizeBytes, jint dataType, jint mSize,
+                  jboolean usePadding)
 {
     RsAllocation *alloc = (RsAllocation *)_alloc;
     RsAllocationCubemapFace face = (RsAllocationCubemapFace)_face;
@@ -1054,7 +1189,9 @@
         ALOGD("nAllocation2DData, con(%p), adapter(%p), xoff(%i), yoff(%i), w(%i), h(%i), len(%i) "
               "type(%i)", (RsContext)con, alloc, xoff, yoff, w, h, sizeBytes, dataType);
     }
-    PER_ARRAY_TYPE(nullptr, rsAllocation2DData, true, (RsContext)con, alloc, xoff, yoff, lod, face, w, h, ptr, sizeBytes, 0);
+    int count = w * h;
+    PER_ARRAY_TYPE(nullptr, rsAllocation2DData, true,
+                   (RsContext)con, alloc, xoff, yoff, lod, face, w, h, ptr, sizeBytes, 0);
 }
 
 // Copies from the Allocation pointed to by srcAlloc into the Allocation
@@ -1088,7 +1225,8 @@
 // Copies from the Java object data into the Allocation pointed to by _alloc.
 static void
 nAllocationData3D(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jint xoff, jint yoff, jint zoff, jint lod,
-                    jint w, jint h, jint d, jobject data, int sizeBytes, int dataType)
+                  jint w, jint h, jint d, jobject data, jint sizeBytes, jint dataType,
+                  jint mSize, jboolean usePadding)
 {
     RsAllocation *alloc = (RsAllocation *)_alloc;
     if (kLogApi) {
@@ -1096,7 +1234,9 @@
               " h(%i), d(%i), sizeBytes(%i)", (RsContext)con, (RsAllocation)alloc, xoff, yoff, zoff,
               lod, w, h, d, sizeBytes);
     }
-    PER_ARRAY_TYPE(nullptr, rsAllocation3DData, true, (RsContext)con, alloc, xoff, yoff, zoff, lod, w, h, d, ptr, sizeBytes, 0);
+    int count = w * h * d;
+    PER_ARRAY_TYPE(nullptr, rsAllocation3DData, true,
+                   (RsContext)con, alloc, xoff, yoff, zoff, lod, w, h, d, ptr, sizeBytes, 0);
 }
 
 // Copies from the Allocation pointed to by srcAlloc into the Allocation
@@ -1128,32 +1268,57 @@
 
 // Copies from the Allocation pointed to by _alloc into the Java object data.
 static void
-nAllocationRead(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jobject data, int dataType)
+nAllocationRead(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jobject data, jint dataType,
+                jint mSize, jboolean usePadding)
 {
     RsAllocation *alloc = (RsAllocation *)_alloc;
     if (kLogApi) {
         ALOGD("nAllocationRead, con(%p), alloc(%p)", (RsContext)con, (RsAllocation)alloc);
     }
-    PER_ARRAY_TYPE(0, rsAllocationRead, false, (RsContext)con, alloc, ptr, len * typeBytes);
+    int count = 0;
+    PER_ARRAY_TYPE(0, rsAllocationRead, false,
+                   (RsContext)con, alloc, ptr, len * typeBytes);
 }
 
 // Copies from the Allocation pointed to by _alloc into the Java object data.
 static void
 nAllocationRead1D(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jint offset, jint lod,
-                  jint count, jobject data, int sizeBytes, int dataType)
+                  jint count, jobject data, jint sizeBytes, jint dataType,
+                  jint mSize, jboolean usePadding)
 {
     RsAllocation *alloc = (RsAllocation *)_alloc;
     if (kLogApi) {
         ALOGD("nAllocation1DRead, con(%p), adapter(%p), offset(%i), count(%i), sizeBytes(%i), "
               "dataType(%i)", (RsContext)con, alloc, offset, count, sizeBytes, dataType);
     }
-    PER_ARRAY_TYPE(0, rsAllocation1DRead, false, (RsContext)con, alloc, offset, lod, count, ptr, sizeBytes);
+    PER_ARRAY_TYPE(0, rsAllocation1DRead, false,
+                   (RsContext)con, alloc, offset, lod, count, ptr, sizeBytes);
+}
+
+// Copies from the Element in the Allocation pointed to by _alloc into the Java array data.
+static void
+nAllocationElementRead(JNIEnv *_env, jobject _this, jlong con, jlong alloc,
+                       jint xoff, jint yoff, jint zoff,
+                       jint lod, jint compIdx, jbyteArray data, jint sizeBytes)
+{
+    jint len = _env->GetArrayLength(data);
+    if (kLogApi) {
+        ALOGD("nAllocationElementRead, con(%p), alloc(%p), xoff(%i), yoff(%i), zoff(%i), comp(%i), len(%i), "
+              "sizeBytes(%i)", (RsContext)con, (RsAllocation)alloc, xoff, yoff, zoff, compIdx, len,
+              sizeBytes);
+    }
+    jbyte *ptr = _env->GetByteArrayElements(data, nullptr);
+    rsAllocationElementRead((RsContext)con, (RsAllocation)alloc,
+                            xoff, yoff, zoff,
+                            lod, ptr, sizeBytes, compIdx);
+    _env->ReleaseByteArrayElements(data, ptr, JNI_ABORT);
 }
 
 // Copies from the Allocation pointed to by _alloc into the Java object data.
 static void
 nAllocationRead2D(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jint xoff, jint yoff, jint lod, jint _face,
-                  jint w, jint h, jobject data, int sizeBytes, int dataType)
+                  jint w, jint h, jobject data, jint sizeBytes, jint dataType,
+                  jint mSize, jboolean usePadding)
 {
     RsAllocation *alloc = (RsAllocation *)_alloc;
     RsAllocationCubemapFace face = (RsAllocationCubemapFace)_face;
@@ -1161,8 +1326,26 @@
         ALOGD("nAllocation2DRead, con(%p), adapter(%p), xoff(%i), yoff(%i), w(%i), h(%i), len(%i) "
               "type(%i)", (RsContext)con, alloc, xoff, yoff, w, h, sizeBytes, dataType);
     }
-    PER_ARRAY_TYPE(0, rsAllocation2DRead, false, (RsContext)con, alloc, xoff, yoff, lod, face, w, h,
-                   ptr, sizeBytes, 0);
+    int count = w * h;
+    PER_ARRAY_TYPE(0, rsAllocation2DRead, false,
+                   (RsContext)con, alloc, xoff, yoff, lod, face, w, h, ptr, sizeBytes, 0);
+}
+
+// Copies from the Allocation pointed to by _alloc into the Java object data.
+static void
+nAllocationRead3D(JNIEnv *_env, jobject _this, jlong con, jlong _alloc, jint xoff, jint yoff, jint zoff, jint lod,
+                  jint w, jint h, jint d, jobject data, int sizeBytes, int dataType,
+                  jint mSize, jboolean usePadding)
+{
+    RsAllocation *alloc = (RsAllocation *)_alloc;
+    if (kLogApi) {
+        ALOGD("nAllocation3DRead, con(%p), alloc(%p), xoff(%i), yoff(%i), zoff(%i), lod(%i), w(%i),"
+              " h(%i), d(%i), sizeBytes(%i)", (RsContext)con, (RsAllocation)alloc, xoff, yoff, zoff,
+              lod, w, h, d, sizeBytes);
+    }
+    int count = w * h * d;
+    PER_ARRAY_TYPE(nullptr, rsAllocation3DRead, false,
+                   (RsContext)con, alloc, xoff, yoff, zoff, lod, w, h, d, ptr, sizeBytes, 0);
 }
 
 static jlong
@@ -1996,18 +2179,6 @@
 // ---------------------------------------------------------------------------
 
 static jlong
-nPathCreate(JNIEnv *_env, jobject _this, jlong con, jint prim, jboolean isStatic, jlong _vtx, jlong _loop, jfloat q) {
-    if (kLogApi) {
-        ALOGD("nPathCreate, con(%p)", (RsContext)con);
-    }
-
-    jlong id = (jlong)(uintptr_t)rsPathCreate((RsContext)con, (RsPathPrimitive)prim, isStatic,
-                                   (RsAllocation)_vtx,
-                                   (RsAllocation)_loop, q);
-    return id;
-}
-
-static jlong
 nMeshCreate(JNIEnv *_env, jobject _this, jlong con, jlongArray _vtx, jlongArray _idx, jintArray _prim)
 {
     if (kLogApi) {
@@ -2183,15 +2354,17 @@
 {"rsnAllocationSetSurface",          "(JJLandroid/view/Surface;)V",           (void*)nAllocationSetSurface },
 {"rsnAllocationIoSend",              "(JJ)V",                                 (void*)nAllocationIoSend },
 {"rsnAllocationIoReceive",           "(JJ)V",                                 (void*)nAllocationIoReceive },
-{"rsnAllocationData1D",              "(JJIIILjava/lang/Object;II)V",          (void*)nAllocationData1D },
-{"rsnAllocationElementData1D",       "(JJIII[BI)V",                           (void*)nAllocationElementData1D },
-{"rsnAllocationData2D",              "(JJIIIIIILjava/lang/Object;II)V",       (void*)nAllocationData2D },
+{"rsnAllocationData1D",              "(JJIIILjava/lang/Object;IIIZ)V",        (void*)nAllocationData1D },
+{"rsnAllocationElementData",         "(JJIIIII[BI)V",                         (void*)nAllocationElementData },
+{"rsnAllocationData2D",              "(JJIIIIIILjava/lang/Object;IIIZ)V",     (void*)nAllocationData2D },
 {"rsnAllocationData2D",              "(JJIIIIIIJIIII)V",                      (void*)nAllocationData2D_alloc },
-{"rsnAllocationData3D",              "(JJIIIIIIILjava/lang/Object;II)V",      (void*)nAllocationData3D },
+{"rsnAllocationData3D",              "(JJIIIIIIILjava/lang/Object;IIIZ)V",    (void*)nAllocationData3D },
 {"rsnAllocationData3D",              "(JJIIIIIIIJIIII)V",                     (void*)nAllocationData3D_alloc },
-{"rsnAllocationRead",                "(JJLjava/lang/Object;I)V",              (void*)nAllocationRead },
-{"rsnAllocationRead1D",              "(JJIIILjava/lang/Object;II)V",          (void*)nAllocationRead1D },
-{"rsnAllocationRead2D",              "(JJIIIIIILjava/lang/Object;II)V",       (void*)nAllocationRead2D },
+{"rsnAllocationRead",                "(JJLjava/lang/Object;IIZ)V",            (void*)nAllocationRead },
+{"rsnAllocationRead1D",              "(JJIIILjava/lang/Object;IIIZ)V",        (void*)nAllocationRead1D },
+{"rsnAllocationElementRead",         "(JJIIIII[BI)V",                         (void*)nAllocationElementRead },
+{"rsnAllocationRead2D",              "(JJIIIIIILjava/lang/Object;IIIZ)V",     (void*)nAllocationRead2D },
+{"rsnAllocationRead3D",              "(JJIIIIIIILjava/lang/Object;IIIZ)V",    (void*)nAllocationRead3D },
 {"rsnAllocationGetType",             "(JJ)J",                                 (void*)nAllocationGetType},
 {"rsnAllocationResize1D",            "(JJI)V",                                (void*)nAllocationResize1D },
 {"rsnAllocationGenerateMipmaps",     "(JJ)V",                                 (void*)nAllocationGenerateMipmaps },
@@ -2254,7 +2427,6 @@
 
 {"rsnSamplerCreate",                 "(JIIIIIF)J",                            (void*)nSamplerCreate },
 
-{"rsnPathCreate",                    "(JIZJJF)J",                             (void*)nPathCreate },
 {"rsnMeshCreate",                    "(J[J[J[I)J",                            (void*)nMeshCreate },
 
 {"rsnMeshGetVertexBufferCount",      "(JJ)I",                                 (void*)nMeshGetVertexBufferCount },
diff --git a/services/backup/java/com/android/server/backup/BackupManagerService.java b/services/backup/java/com/android/server/backup/BackupManagerService.java
index acf4d39..8fcdd39 100644
--- a/services/backup/java/com/android/server/backup/BackupManagerService.java
+++ b/services/backup/java/com/android/server/backup/BackupManagerService.java
@@ -157,9 +157,9 @@
 public class BackupManagerService {
 
     private static final String TAG = "BackupManagerService";
-    private static final boolean DEBUG = true;
-    private static final boolean MORE_DEBUG = false;
-    private static final boolean DEBUG_SCHEDULING = MORE_DEBUG || true;
+    static final boolean DEBUG = true;
+    static final boolean MORE_DEBUG = false;
+    static final boolean DEBUG_SCHEDULING = MORE_DEBUG || true;
 
     // System-private key used for backing up an app's widget state.  Must
     // begin with U+FFxx by convention (we reserve all keys starting
@@ -195,17 +195,6 @@
     static final String SHARED_BACKUP_AGENT_PACKAGE = "com.android.sharedstoragebackup";
     static final String SERVICE_ACTION_TRANSPORT_HOST = "android.backup.TRANSPORT_HOST";
 
-    // How often we perform a backup pass.  Privileged external callers can
-    // trigger an immediate pass.
-    private static final long BACKUP_INTERVAL = AlarmManager.INTERVAL_HOUR;
-
-    // Random variation in backup scheduling time to avoid server load spikes
-    private static final int FUZZ_MILLIS = 5 * 60 * 1000;
-
-    // The amount of time between the initial provisioning of the device and
-    // the first backup pass.
-    private static final long FIRST_BACKUP_INTERVAL = 12 * AlarmManager.INTERVAL_HOUR;
-
     // Retry interval for clear/init when the transport is unavailable
     private static final long TRANSPORT_RETRY_INTERVAL = 1 * AlarmManager.INTERVAL_HOUR;
 
@@ -299,7 +288,6 @@
     volatile boolean mBackupRunning;
     volatile boolean mConnecting;
     volatile long mLastBackupPass;
-    volatile long mNextBackupPass;
 
     // For debugging, we maintain a progress trace of operations during backup
     static final boolean DEBUG_BACKUP_TRACE = true;
@@ -381,7 +369,7 @@
                 if (mProvisioned && !wasProvisioned && mEnabled) {
                     // we're now good to go, so start the backup alarms
                     if (MORE_DEBUG) Slog.d(TAG, "Now provisioned, so starting backups");
-                    startBackupAlarmsLocked(FIRST_BACKUP_INTERVAL);
+                    KeyValueBackupJob.schedule(mContext);
                     scheduleNextFullBackupJob();
                 }
             }
@@ -613,7 +601,7 @@
         return token;
     }
 
-    // High level policy: apps are ineligible for backup if certain conditions apply
+    // High level policy: apps are generally ineligible for backup if certain conditions apply
     public static boolean appIsEligibleForBackup(ApplicationInfo app) {
         // 1. their manifest states android:allowBackup="false"
         if ((app.flags&ApplicationInfo.FLAG_ALLOW_BACKUP) == 0) {
@@ -640,7 +628,7 @@
             return (pkg.applicationInfo.flags & ApplicationInfo.FLAG_FULL_BACKUP_ONLY) != 0;
         }
 
-        // No agent means we do full backups for it
+        // No agent or fullBackupOnly="true" means we do indeed perform full-data backups for it
         return true;
     }
 
@@ -657,7 +645,6 @@
             case MSG_RUN_BACKUP:
             {
                 mLastBackupPass = System.currentTimeMillis();
-                mNextBackupPass = mLastBackupPass + BACKUP_INTERVAL;
 
                 IBackupTransport transport = getTransport(mCurrentTransport);
                 if (transport == null) {
@@ -1279,7 +1266,23 @@
                     for (int i = 0; i < N; i++) {
                         String pkgName = in.readUTF();
                         long lastBackup = in.readLong();
-                        schedule.add(new FullBackupEntry(pkgName, lastBackup));
+                        try {
+                            PackageInfo pkg = mPackageManager.getPackageInfo(pkgName, 0);
+                            if (appGetsFullBackup(pkg)
+                                    && appIsEligibleForBackup(pkg.applicationInfo)) {
+                                schedule.add(new FullBackupEntry(pkgName, lastBackup));
+                            } else {
+                                if (DEBUG) {
+                                    Slog.i(TAG, "Package " + pkgName
+                                            + " no longer eligible for full backup");
+                                }
+                            }
+                        } catch (NameNotFoundException e) {
+                            if (DEBUG) {
+                                Slog.i(TAG, "Package " + pkgName
+                                        + " not installed; dropping from full backup");
+                            }
+                        }
                     }
                     Collections.sort(schedule);
                 } catch (Exception e) {
@@ -1302,7 +1305,7 @@
                 schedule = new ArrayList<FullBackupEntry>(N);
                 for (int i = 0; i < N; i++) {
                     PackageInfo info = apps.get(i);
-                    if (appGetsFullBackup(info)) {
+                    if (appGetsFullBackup(info) && appIsEligibleForBackup(info.applicationInfo)) {
                         schedule.add(new FullBackupEntry(info.packageName, 0));
                     }
                 }
@@ -1774,11 +1777,11 @@
                     addPackageParticipantsLocked(pkgList);
                 }
                 // If they're full-backup candidates, add them there instead
+                final long now = System.currentTimeMillis();
                 for (String packageName : pkgList) {
                     try {
                         PackageInfo app = mPackageManager.getPackageInfo(packageName, 0);
-                        long now = System.currentTimeMillis();
-                        if (appGetsFullBackup(app)) {
+                        if (appGetsFullBackup(app) && appIsEligibleForBackup(app.applicationInfo)) {
                             enqueueFullBackup(packageName, now);
                             scheduleNextFullBackupJob();
                         }
@@ -2475,7 +2478,7 @@
             BackupRequest request = mQueue.get(0);
             mQueue.remove(0);
 
-            Slog.d(TAG, "starting agent for backup of " + request);
+            Slog.d(TAG, "starting key/value backup of " + request);
             addBackupTrace("launch agent for " + request.packageName);
 
             // Verify that the requested app exists; it might be something that
@@ -2486,13 +2489,24 @@
             try {
                 mCurrentPackage = mPackageManager.getPackageInfo(request.packageName,
                         PackageManager.GET_SIGNATURES);
-                if (mCurrentPackage.applicationInfo.backupAgentName == null) {
+                if (!appIsEligibleForBackup(mCurrentPackage.applicationInfo)) {
                     // The manifest has changed but we had a stale backup request pending.
                     // This won't happen again because the app won't be requesting further
                     // backups.
                     Slog.i(TAG, "Package " + request.packageName
                             + " no longer supports backup; skipping");
-                    addBackupTrace("skipping - no agent, completion is noop");
+                    addBackupTrace("skipping - not eligible, completion is noop");
+                    executeNextState(BackupState.RUNNING_QUEUE);
+                    return;
+                }
+
+                if (appGetsFullBackup(mCurrentPackage)) {
+                    // It's possible that this app *formerly* was enqueued for key/value backup,
+                    // but has since been updated and now only supports the full-data path.
+                    // Don't proceed with a key/value backup for it in this case.
+                    Slog.i(TAG, "Package " + request.packageName
+                            + " requests full-data rather than key/value; skipping");
+                    addBackupTrace("skipping - fullBackupOnly, completion is noop");
                     executeNextState(BackupState.RUNNING_QUEUE);
                     return;
                 }
@@ -2939,12 +2953,22 @@
         void revertAndEndBackup() {
             if (MORE_DEBUG) Slog.i(TAG, "Reverting backup queue - restaging everything");
             addBackupTrace("transport error; reverting");
+
+            // We want to reset the backup schedule based on whatever the transport suggests
+            // by way of retry/backoff time.
+            long delay;
+            try {
+                delay = mTransport.requestBackupTime();
+            } catch (Exception e) {
+                Slog.w(TAG, "Unable to contact transport for recommended backoff");
+                delay = 0;  // use the scheduler's default
+            }
+            KeyValueBackupJob.schedule(mContext, delay);
+
             for (BackupRequest request : mOriginalQueue) {
                 dataChangedImpl(request.packageName);
             }
-            // We also want to reset the backup schedule based on whatever
-            // the transport suggests by way of retry/backoff time.
-            restartBackupAlarm();
+
         }
 
         void agentErrorCleanup() {
@@ -2977,15 +3001,6 @@
             }
         }
 
-        void restartBackupAlarm() {
-            addBackupTrace("setting backup trigger");
-            synchronized (mQueueLock) {
-                try {
-                    startBackupAlarmsLocked(mTransport.requestBackupTime());
-                } catch (RemoteException e) { /* cannot happen */ }
-            }
-        }
-
         void executeNextState(BackupState nextState) {
             if (MORE_DEBUG) Slog.i(TAG, " => executing next step on "
                     + this + " nextState=" + nextState);
@@ -3847,6 +3862,14 @@
                             Slog.d(TAG, "Ignoring non-agent system package " + pkg);
                         }
                         continue;
+                    } else if ((info.applicationInfo.flags & ApplicationInfo.FLAG_STOPPED) != 0) {
+                        // Cull any packages in the 'stopped' state: they've either just been
+                        // installed or have explicitly been force-stopped by the user.  In both
+                        // cases we do not want to launch them for backup.
+                        if (MORE_DEBUG) {
+                            Slog.d(TAG, "Ignoring stopped package " + pkg);
+                        }
+                        continue;
                     }
                     mPackages.add(info);
                 } catch (NameNotFoundException e) {
@@ -3886,6 +3909,16 @@
                     return;
                 }
 
+                // Don't proceed unless we have already established package metadata
+                // for the current dataset via a key/value backup pass.
+                File stateDir = new File(mBaseStateDir, transport.transportDirName());
+                File pmState = new File(stateDir, PACKAGE_MANAGER_SENTINEL);
+                if (pmState.length() <= 0) {
+                    Slog.i(TAG, "Full backup requested but dataset not yet initialized "
+                            + "via k/v backup pass; ignoring");
+                    return;
+                }
+
                 // Set up to send data to the transport
                 final int N = mPackages.size();
                 for (int i = 0; i < N; i++) {
@@ -8111,6 +8144,9 @@
                 }
             }
         }
+
+        // ...and schedule a backup pass if necessary
+        KeyValueBackupJob.schedule(mContext);
     }
 
     // Note: packageName is currently unused, but may be in the future
@@ -8245,16 +8281,16 @@
 
         if (DEBUG) Slog.v(TAG, "Scheduling immediate backup pass");
         synchronized (mQueueLock) {
-            // Because the alarms we are using can jitter, and we want an *immediate*
-            // backup pass to happen, we restart the timer beginning with "next time,"
-            // then manually fire the backup trigger intent ourselves.
-            startBackupAlarmsLocked(BACKUP_INTERVAL);
+            // Fire the intent that kicks off the whole shebang...
             try {
                 mRunBackupIntent.send();
             } catch (PendingIntent.CanceledException e) {
                 // should never happen
                 Slog.e(TAG, "run-backup intent cancelled!");
             }
+
+            // ...and cancel any pending scheduled job, because we've just superseded it
+            KeyValueBackupJob.cancel(mContext);
         }
     }
 
@@ -8530,13 +8566,13 @@
             synchronized (mQueueLock) {
                 if (enable && !wasEnabled && mProvisioned) {
                     // if we've just been enabled, start scheduling backup passes
-                    startBackupAlarmsLocked(BACKUP_INTERVAL);
+                    KeyValueBackupJob.schedule(mContext);
                     scheduleNextFullBackupJob();
                 } else if (!enable) {
                     // No longer enabled, so stop running backups
                     if (DEBUG) Slog.i(TAG, "Opting out of backup");
 
-                    mAlarmManager.cancel(mRunBackupIntent);
+                    KeyValueBackupJob.cancel(mContext);
 
                     // This also constitutes an opt-out, so we wipe any data for
                     // this device from the backend.  We start that process with
@@ -8590,19 +8626,6 @@
          */
     }
 
-    private void startBackupAlarmsLocked(long delayBeforeFirstBackup) {
-        // We used to use setInexactRepeating(), but that may be linked to
-        // backups running at :00 more often than not, creating load spikes.
-        // Schedule at an exact time for now, and also add a bit of "fuzz".
-
-        Random random = new Random();
-        long when = System.currentTimeMillis() + delayBeforeFirstBackup +
-                random.nextInt(FUZZ_MILLIS);
-        mAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP, when,
-                BACKUP_INTERVAL + random.nextInt(FUZZ_MILLIS), mRunBackupIntent);
-        mNextBackupPass = when;
-    }
-
     // Report whether the backup mechanism is currently enabled
     public boolean isBackupEnabled() {
         mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP, "isBackupEnabled");
@@ -9183,6 +9206,8 @@
             // check whether there is data for it in the current dataset, falling back
             // to the ancestral dataset if not.
             long token = getAvailableRestoreToken(packageName);
+            if (DEBUG) Slog.v(TAG, "restorePackage pkg=" + packageName
+                    + " token=" + Long.toHexString(token));
 
             // If we didn't come up with a place to look -- no ancestral dataset and
             // the app has never been backed up from this device -- there's nothing
@@ -9308,7 +9333,7 @@
             if (mBackupRunning) pw.println("Backup currently running");
             pw.println("Last backup pass started: " + mLastBackupPass
                     + " (now = " + System.currentTimeMillis() + ')');
-            pw.println("  next scheduled: " + mNextBackupPass);
+            pw.println("  next scheduled: " + KeyValueBackupJob.nextScheduled());
 
             pw.println("Available transports:");
             final String[] transports = listAllTransports();
diff --git a/services/backup/java/com/android/server/backup/KeyValueBackupJob.java b/services/backup/java/com/android/server/backup/KeyValueBackupJob.java
new file mode 100644
index 0000000..dc1c9d5
--- /dev/null
+++ b/services/backup/java/com/android/server/backup/KeyValueBackupJob.java
@@ -0,0 +1,121 @@
+/*
+ * 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 com.android.server.backup;
+
+import android.app.AlarmManager;
+import android.app.job.JobInfo;
+import android.app.job.JobParameters;
+import android.app.job.JobScheduler;
+import android.app.job.JobService;
+import android.content.ComponentName;
+import android.content.Context;
+import android.os.RemoteException;
+import android.util.Slog;
+
+import java.util.Random;
+
+/**
+ * Job for scheduling key/value backup work.  This module encapsulates all
+ * of the policy around when those backup passes are executed.
+ */
+public class KeyValueBackupJob extends JobService {
+    private static final String TAG = "KeyValueBackupJob";
+    private static ComponentName sKeyValueJobService =
+            new ComponentName("android", KeyValueBackupJob.class.getName());
+    private static final int JOB_ID = 0x5039;
+
+    // Once someone asks for a backup, this is how long we hold off, batching
+    // up additional requests, before running the actual backup pass.  Privileged
+    // callers can always trigger an immediate pass via BackupManager.backupNow().
+    private static final long BATCH_INTERVAL = 4 * AlarmManager.INTERVAL_HOUR;
+
+    // Random variation in next-backup scheduling time to avoid server load spikes
+    private static final int FUZZ_MILLIS = 10 * 60 * 1000;
+
+    // Don't let the job scheduler defer forever; give it a (lenient) deadline
+    private static final long MAX_DEFERRAL = 1 * AlarmManager.INTERVAL_HOUR;
+
+    private static boolean sScheduled = false;
+    private static long sNextScheduled = 0;
+
+    public static void schedule(Context ctx) {
+        schedule(ctx, 0);
+    }
+
+    public static void schedule(Context ctx, long delay) {
+        synchronized (KeyValueBackupJob.class) {
+            if (!sScheduled) {
+                if (delay <= 0) {
+                    delay = BATCH_INTERVAL + new Random().nextInt(FUZZ_MILLIS);
+                }
+                if (BackupManagerService.DEBUG_SCHEDULING) {
+                    Slog.v(TAG, "Scheduling k/v pass in "
+                            + (delay / 1000 / 60) + " minutes");
+                }
+                JobScheduler js = (JobScheduler) ctx.getSystemService(Context.JOB_SCHEDULER_SERVICE);
+                JobInfo.Builder builder = new JobInfo.Builder(JOB_ID, sKeyValueJobService)
+                        .setMinimumLatency(delay)
+                        .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
+                        .setOverrideDeadline(delay + MAX_DEFERRAL);
+                js.schedule(builder.build());
+
+                sNextScheduled = System.currentTimeMillis() + delay;
+                sScheduled = true;
+            }
+        }
+    }
+
+    public static void cancel(Context ctx) {
+        synchronized (KeyValueBackupJob.class) {
+            JobScheduler js = (JobScheduler) ctx.getSystemService(Context.JOB_SCHEDULER_SERVICE);
+            js.cancel(JOB_ID);
+            sNextScheduled = 0;
+            sScheduled = false;
+        }
+    }
+
+    public static long nextScheduled() {
+        synchronized (KeyValueBackupJob.class) {
+            return sNextScheduled;
+        }
+    }
+
+    @Override
+    public boolean onStartJob(JobParameters params) {
+        synchronized (KeyValueBackupJob.class) {
+            sNextScheduled = 0;
+            sScheduled = false;
+        }
+
+        // Time to run a key/value backup!
+        Trampoline service = BackupManagerService.getInstance();
+        try {
+            service.backupNow();
+        } catch (RemoteException e) {}
+
+        // This was just a trigger; ongoing wakelock management is done by the
+        // rest of the backup system.
+        return false;
+    }
+
+    @Override
+    public boolean onStopJob(JobParameters params) {
+        // Intentionally empty; the job starting was just a trigger
+        return false;
+    }
+
+}
diff --git a/services/core/java/com/android/server/AssetAtlasService.java b/services/core/java/com/android/server/AssetAtlasService.java
index bc31450..e6dc1c7 100644
--- a/services/core/java/com/android/server/AssetAtlasService.java
+++ b/services/core/java/com/android/server/AssetAtlasService.java
@@ -46,7 +46,6 @@
 import java.io.InputStreamReader;
 import java.io.OutputStreamWriter;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
@@ -292,7 +291,7 @@
                         }
                         canvas.drawBitmap(bitmap, 0.0f, 0.0f, null);
                         canvas.restore();
-                        atlasMap[mapIndex++] = bitmap.mNativeBitmap;
+                        atlasMap[mapIndex++] = bitmap.getSkBitmap();
                         atlasMap[mapIndex++] = entry.x;
                         atlasMap[mapIndex++] = entry.y;
                         atlasMap[mapIndex++] = entry.rotated ? 1 : 0;
diff --git a/services/core/java/com/android/server/BluetoothManagerService.java b/services/core/java/com/android/server/BluetoothManagerService.java
index 32a6a2f..ef51ad6 100644
--- a/services/core/java/com/android/server/BluetoothManagerService.java
+++ b/services/core/java/com/android/server/BluetoothManagerService.java
@@ -55,8 +55,6 @@
 
 import java.util.HashMap;
 import java.util.Map;
-import java.util.List;
-import java.util.Vector;
 
 class BluetoothManagerService extends IBluetoothManager.Stub {
     private static final String TAG = "BluetoothManagerService";
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index b72b29d..45694518 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -16,7 +16,6 @@
 
 package com.android.server;
 
-import static android.Manifest.permission.MANAGE_NETWORK_POLICY;
 import static android.Manifest.permission.RECEIVE_DATA_ACTIVITY_CHANGE;
 import static android.net.ConnectivityManager.CONNECTIVITY_ACTION;
 import static android.net.ConnectivityManager.CONNECTIVITY_ACTION_IMMEDIATE;
@@ -27,6 +26,7 @@
 import static android.net.NetworkPolicyManager.RULE_ALLOW_ALL;
 import static android.net.NetworkPolicyManager.RULE_REJECT_METERED;
 
+import android.annotation.Nullable;
 import android.app.AlarmManager;
 import android.app.Notification;
 import android.app.NotificationManager;
@@ -48,7 +48,6 @@
 import android.net.INetworkStatsService;
 import android.net.LinkProperties;
 import android.net.LinkProperties.CompareResult;
-import android.net.MobileDataStateTracker;
 import android.net.Network;
 import android.net.NetworkAgent;
 import android.net.NetworkCapabilities;
@@ -59,12 +58,10 @@
 import android.net.NetworkQuotaInfo;
 import android.net.NetworkRequest;
 import android.net.NetworkState;
-import android.net.NetworkStateTracker;
 import android.net.NetworkUtils;
 import android.net.Proxy;
 import android.net.ProxyInfo;
 import android.net.RouteInfo;
-import android.net.SamplingDataTracker;
 import android.net.UidRange;
 import android.net.Uri;
 import android.os.Binder;
@@ -101,6 +98,7 @@
 import com.android.internal.net.LegacyVpnInfo;
 import com.android.internal.net.NetworkStatsFactory;
 import com.android.internal.net.VpnConfig;
+import com.android.internal.net.VpnInfo;
 import com.android.internal.net.VpnProfile;
 import com.android.internal.telephony.DctConstants;
 import com.android.internal.util.AsyncChannel;
@@ -153,9 +151,6 @@
     private static final boolean DBG = true;
     private static final boolean VDBG = false;
 
-    // network sampling debugging
-    private static final boolean SAMPLE_DBG = false;
-
     private static final boolean LOGD_RULES = false;
 
     // TODO: create better separation between radio types and network types
@@ -166,33 +161,10 @@
     private static final String NETWORK_RESTORE_DELAY_PROP_NAME =
             "android.telephony.apn-restore";
 
-    // Default value if FAIL_FAST_TIME_MS is not set
-    private static final int DEFAULT_FAIL_FAST_TIME_MS = 1 * 60 * 1000;
-    // system property that can override DEFAULT_FAIL_FAST_TIME_MS
-    private static final String FAIL_FAST_TIME_MS =
-            "persist.radio.fail_fast_time_ms";
-
-    private static final String ACTION_PKT_CNT_SAMPLE_INTERVAL_ELAPSED =
-            "android.net.ConnectivityService.action.PKT_CNT_SAMPLE_INTERVAL_ELAPSED";
-
-    private static final int SAMPLE_INTERVAL_ELAPSED_REQUEST_CODE = 0;
-
     // How long to delay to removal of a pending intent based request.
     // See Settings.Secure.CONNECTIVITY_RELEASE_PENDING_INTENT_DELAY_MS
     private final int mReleasePendingIntentDelayMs;
 
-    private PendingIntent mSampleIntervalElapsedIntent;
-
-    // Set network sampling interval at 12 minutes, this way, even if the timers get
-    // aggregated, it will fire at around 15 minutes, which should allow us to
-    // aggregate this timer with other timers (specially the socket keep alive timers)
-    private static final int DEFAULT_SAMPLING_INTERVAL_IN_SECONDS = (SAMPLE_DBG ? 30 : 12 * 60);
-
-    // start network sampling a minute after booting ...
-    private static final int DEFAULT_START_SAMPLING_INTERVAL_IN_SECONDS = (SAMPLE_DBG ? 30 : 60);
-
-    AlarmManager mAlarmManager;
-
     private Tethering mTethering;
 
     private final PermissionMonitor mPermissionMonitor;
@@ -212,13 +184,6 @@
     /** Set of ifaces that are costly. */
     private HashSet<String> mMeteredIfaces = Sets.newHashSet();
 
-    /**
-     * Sometimes we want to refer to the individual network state
-     * trackers separately, and sometimes we just want to treat them
-     * abstractly.
-     */
-    private NetworkStateTracker mNetTrackers[];
-
     private Context mContext;
     private int mNetworkPreference;
     // 0 is full bad, 100 is full good
@@ -278,28 +243,11 @@
     private static final int EVENT_APPLY_GLOBAL_HTTP_PROXY = 9;
 
     /**
-     * used internally to set external dependency met/unmet
-     * arg1 = ENABLED (met) or DISABLED (unmet)
-     * arg2 = NetworkType
-     */
-    private static final int EVENT_SET_DEPENDENCY_MET = 10;
-
-    /**
      * used internally to send a sticky broadcast delayed.
      */
     private static final int EVENT_SEND_STICKY_BROADCAST_INTENT = 11;
 
     /**
-     * Used internally to disable fail fast of mobile data
-     */
-    private static final int EVENT_ENABLE_FAIL_FAST_MOBILE_DATA = 14;
-
-    /**
-     * used internally to indicate that data sampling interval is up
-     */
-    private static final int EVENT_SAMPLE_INTERVAL_ELAPSED = 15;
-
-    /**
      * PAC manager has received new port.
      */
     private static final int EVENT_PROXY_HAS_CHANGED = 16;
@@ -419,8 +367,6 @@
 
     private DataConnectionStats mDataConnectionStats;
 
-    private AtomicInteger mEnableFailFastMobileDataTag = new AtomicInteger(0);
-
     TelephonyManager mTelephonyManager;
 
     // sequence number for Networks; keep in sync with system/netd/NetworkController.cpp
@@ -650,9 +596,6 @@
                 com.android.internal.R.integer.config_networkTransitionTimeout);
         mPendingIntentWakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
 
-        mNetTrackers = new NetworkStateTracker[
-                ConnectivityManager.MAX_NETWORK_TYPE+1];
-
         mNetConfigs = new NetworkConfig[ConnectivityManager.MAX_NETWORK_TYPE+1];
 
         // TODO: What is the "correct" way to do determine if this is a wifi only device?
@@ -740,23 +683,6 @@
         mDataConnectionStats = new DataConnectionStats(mContext);
         mDataConnectionStats.startMonitoring();
 
-        mAlarmManager = (AlarmManager)mContext.getSystemService(Context.ALARM_SERVICE);
-
-        IntentFilter filter = new IntentFilter();
-        filter.addAction(ACTION_PKT_CNT_SAMPLE_INTERVAL_ELAPSED);
-        mContext.registerReceiver(
-                new BroadcastReceiver() {
-                    @Override
-                    public void onReceive(Context context, Intent intent) {
-                        String action = intent.getAction();
-                        if (action.equals(ACTION_PKT_CNT_SAMPLE_INTERVAL_ELAPSED)) {
-                            mHandler.sendMessage(mHandler.obtainMessage
-                                    (EVENT_SAMPLE_INTERVAL_ELAPSED));
-                        }
-                    }
-                },
-                new IntentFilter(filter));
-
         mPacManager = new PacManager(mContext, mHandler, EVENT_PROXY_HAS_CHANGED);
 
         mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
@@ -782,15 +708,6 @@
         throw new IllegalStateException("No free netIds");
     }
 
-    private boolean teardown(NetworkStateTracker netTracker) {
-        if (netTracker.teardown()) {
-            netTracker.setTeardownRequested(true);
-            return true;
-        } else {
-            return false;
-        }
-    }
-
     private NetworkState getFilteredNetworkState(int networkType, int uid) {
         NetworkInfo info = null;
         LinkProperties lp = null;
@@ -1350,22 +1267,6 @@
         return true;
     }
 
-    public void setDataDependency(int networkType, boolean met) {
-        enforceConnectivityInternalPermission();
-
-        mHandler.sendMessage(mHandler.obtainMessage(EVENT_SET_DEPENDENCY_MET,
-                (met ? ENABLED : DISABLED), networkType));
-    }
-
-    private void handleSetDependencyMet(int networkType, boolean met) {
-        if (mNetTrackers[networkType] != null) {
-            if (DBG) {
-                log("handleSetDependencyMet(" + networkType + ", " + met + ")");
-            }
-            mNetTrackers[networkType].setDependencyMet(met);
-        }
-    }
-
     private INetworkPolicyListener mPolicyListener = new INetworkPolicyListener.Stub() {
         @Override
         public void onUidRulesChanged(int uid, int uidRules) {
@@ -1406,21 +1307,6 @@
             if (LOGD_RULES) {
                 log("onRestrictBackgroundChanged(restrictBackground=" + restrictBackground + ")");
             }
-
-            // kick off connectivity change broadcast for active network, since
-            // global background policy change is radical.
-            // TODO: Dead code; remove.
-            //
-            // final int networkType = mActiveDefaultNetwork;
-            // if (isNetworkTypeValid(networkType)) {
-            //     final NetworkStateTracker tracker = mNetTrackers[networkType];
-            //     if (tracker != null) {
-            //         final NetworkInfo info = tracker.getNetworkInfo();
-            //         if (info != null && info.isConnected()) {
-            //             sendConnectedBroadcast(info);
-            //         }
-            //     }
-            // }
         }
     };
 
@@ -1536,14 +1422,6 @@
     }
 
     void systemReady() {
-        // start network sampling ..
-        Intent intent = new Intent(ACTION_PKT_CNT_SAMPLE_INTERVAL_ELAPSED);
-        intent.setPackage(mContext.getPackageName());
-
-        mSampleIntervalElapsedIntent = PendingIntent.getBroadcast(mContext,
-                SAMPLE_INTERVAL_ELAPSED_REQUEST_CODE, intent, 0);
-        setAlarm(DEFAULT_START_SAMPLING_INTERVAL_IN_SECONDS * 1000, mSampleIntervalElapsedIntent);
-
         loadGlobalProxy();
 
         synchronized(this) {
@@ -2015,66 +1893,6 @@
                     }
                     break;
                 }
-                case NetworkStateTracker.EVENT_STATE_CHANGED: {
-                    info = (NetworkInfo) msg.obj;
-                    NetworkInfo.State state = info.getState();
-
-                    if (VDBG || (state == NetworkInfo.State.CONNECTED) ||
-                            (state == NetworkInfo.State.DISCONNECTED) ||
-                            (state == NetworkInfo.State.SUSPENDED)) {
-                        log("ConnectivityChange for " +
-                            info.getTypeName() + ": " +
-                            state + "/" + info.getDetailedState());
-                    }
-
-                    EventLogTags.writeConnectivityStateChanged(
-                            info.getType(), info.getSubtype(), info.getDetailedState().ordinal());
-
-                    if (info.isConnectedToProvisioningNetwork()) {
-                        /**
-                         * TODO: Create ConnectivityManager.TYPE_MOBILE_PROVISIONING
-                         * for now its an in between network, its a network that
-                         * is actually a default network but we don't want it to be
-                         * announced as such to keep background applications from
-                         * trying to use it. It turns out that some still try so we
-                         * take the additional step of clearing any default routes
-                         * to the link that may have incorrectly setup by the lower
-                         * levels.
-                         */
-                        LinkProperties lp = getLinkPropertiesForType(info.getType());
-                        if (DBG) {
-                            log("EVENT_STATE_CHANGED: connected to provisioning network, lp=" + lp);
-                        }
-
-                        // Clear any default routes setup by the radio so
-                        // any activity by applications trying to use this
-                        // connection will fail until the provisioning network
-                        // is enabled.
-                        /*
-                        for (RouteInfo r : lp.getRoutes()) {
-                            removeRoute(lp, r, TO_DEFAULT_TABLE,
-                                        mNetTrackers[info.getType()].getNetwork().netId);
-                        }
-                        */
-                    } else if (state == NetworkInfo.State.DISCONNECTED) {
-                    } else if (state == NetworkInfo.State.SUSPENDED) {
-                    } else if (state == NetworkInfo.State.CONNECTED) {
-                    //    handleConnect(info);
-                    }
-                    notifyLockdownVpn(null);
-                    break;
-                }
-                case NetworkStateTracker.EVENT_CONFIGURATION_CHANGED: {
-                    info = (NetworkInfo) msg.obj;
-                    // TODO: Temporary allowing network configuration
-                    //       change not resetting sockets.
-                    //       @see bug/4455071
-                    /*
-                    handleConnectivityChange(info.getType(), mCurrentLinkProperties[info.getType()],
-                            false);
-                    */
-                    break;
-                }
             }
         }
     }
@@ -2439,34 +2257,11 @@
                     handleDeprecatedGlobalHttpProxy();
                     break;
                 }
-                case EVENT_SET_DEPENDENCY_MET: {
-                    boolean met = (msg.arg1 == ENABLED);
-                    handleSetDependencyMet(msg.arg2, met);
-                    break;
-                }
                 case EVENT_SEND_STICKY_BROADCAST_INTENT: {
                     Intent intent = (Intent)msg.obj;
                     sendStickyBroadcast(intent);
                     break;
                 }
-                case EVENT_ENABLE_FAIL_FAST_MOBILE_DATA: {
-                    int tag = mEnableFailFastMobileDataTag.get();
-                    if (msg.arg1 == tag) {
-                        MobileDataStateTracker mobileDst =
-                            (MobileDataStateTracker) mNetTrackers[ConnectivityManager.TYPE_MOBILE];
-                        if (mobileDst != null) {
-                            mobileDst.setEnableFailFastMobileData(msg.arg2);
-                        }
-                    } else {
-                        log("EVENT_ENABLE_FAIL_FAST_MOBILE_DATA: stale arg1:" + msg.arg1
-                                + " != tag:" + tag);
-                    }
-                    break;
-                }
-                case EVENT_SAMPLE_INTERVAL_ELAPSED: {
-                    handleNetworkSamplingTimeout();
-                    break;
-                }
                 case EVENT_PROXY_HAS_CHANGED: {
                     handleApplyDefaultProxy((ProxyInfo)msg.obj);
                     break;
@@ -2979,7 +2774,6 @@
      * Return the information of the ongoing legacy VPN. This method is used
      * by VpnSettings and not available in ConnectivityManager. Permissions
      * are checked in Vpn class.
-     * @hide
      */
     @Override
     public LegacyVpnInfo getLegacyVpnInfo() {
@@ -2991,6 +2785,56 @@
     }
 
     /**
+     * Return the information of all ongoing VPNs. This method is used by NetworkStatsService
+     * and not available in ConnectivityManager.
+     */
+    @Override
+    public VpnInfo[] getAllVpnInfo() {
+        enforceConnectivityInternalPermission();
+        if (mLockdownEnabled) {
+            return new VpnInfo[0];
+        }
+
+        synchronized(mVpns) {
+            List<VpnInfo> infoList = new ArrayList<>();
+            for (int i = 0; i < mVpns.size(); i++) {
+                VpnInfo info = createVpnInfo(mVpns.valueAt(i));
+                if (info != null) {
+                    infoList.add(info);
+                }
+            }
+            return infoList.toArray(new VpnInfo[infoList.size()]);
+        }
+    }
+
+    /**
+     * @return VPN information for accounting, or null if we can't retrieve all required
+     *         information, e.g primary underlying iface.
+     */
+    @Nullable
+    private VpnInfo createVpnInfo(Vpn vpn) {
+        VpnInfo info = vpn.getVpnInfo();
+        if (info == null) {
+            return null;
+        }
+        Network[] underlyingNetworks = vpn.getUnderlyingNetworks();
+        // see VpnService.setUnderlyingNetworks()'s javadoc about how to interpret
+        // the underlyingNetworks list.
+        if (underlyingNetworks == null) {
+            NetworkAgentInfo defaultNetwork = getDefaultNetwork();
+            if (defaultNetwork != null && defaultNetwork.linkProperties != null) {
+                info.primaryUnderlyingIface = getDefaultNetwork().linkProperties.getInterfaceName();
+            }
+        } else if (underlyingNetworks.length > 0) {
+            LinkProperties linkProperties = getLinkProperties(underlyingNetworks[0]);
+            if (linkProperties != null) {
+                info.primaryUnderlyingIface = linkProperties.getInterfaceName();
+            }
+        }
+        return info.primaryUnderlyingIface == null ? null : info;
+    }
+
+    /**
      * Returns the information of the ongoing VPN. This method is used by VpnDialogs and
      * not available in ConnectivityManager.
      * Permissions are checked in Vpn class.
@@ -3066,14 +2910,6 @@
         }
     }
 
-    public void supplyMessenger(int networkType, Messenger messenger) {
-        enforceConnectivityInternalPermission();
-
-        if (isNetworkTypeValid(networkType) && mNetTrackers[networkType] != null) {
-            mNetTrackers[networkType].supplyMessenger(messenger);
-        }
-    }
-
     public int findConnectionTypeForIface(String iface) {
         enforceConnectivityInternalPermission();
 
@@ -3091,23 +2927,6 @@
         return ConnectivityManager.TYPE_NONE;
     }
 
-    /**
-     * Have mobile data fail fast if enabled.
-     *
-     * @param enabled DctConstants.ENABLED/DISABLED
-     */
-    private void setEnableFailFastMobileData(int enabled) {
-        int tag;
-
-        if (enabled == DctConstants.ENABLED) {
-            tag = mEnableFailFastMobileDataTag.incrementAndGet();
-        } else {
-            tag = mEnableFailFastMobileDataTag.get();
-        }
-        mHandler.sendMessage(mHandler.obtainMessage(EVENT_ENABLE_FAIL_FAST_MOBILE_DATA, tag,
-                         enabled));
-    }
-
     @Override
     public int checkMobileProvisioning(int suggestedTimeOutMs) {
         // TODO: Remove?  Any reason to trigger a provisioning check?
@@ -3392,69 +3211,6 @@
         }
     };
 
-    /* Infrastructure for network sampling */
-
-    private void handleNetworkSamplingTimeout() {
-
-        if (SAMPLE_DBG) log("Sampling interval elapsed, updating statistics ..");
-
-        // initialize list of interfaces ..
-        Map<String, SamplingDataTracker.SamplingSnapshot> mapIfaceToSample =
-                new HashMap<String, SamplingDataTracker.SamplingSnapshot>();
-        for (NetworkStateTracker tracker : mNetTrackers) {
-            if (tracker != null) {
-                String ifaceName = tracker.getNetworkInterfaceName();
-                if (ifaceName != null) {
-                    mapIfaceToSample.put(ifaceName, null);
-                }
-            }
-        }
-
-        // Read samples for all interfaces
-        SamplingDataTracker.getSamplingSnapshots(mapIfaceToSample);
-
-        // process samples for all networks
-        for (NetworkStateTracker tracker : mNetTrackers) {
-            if (tracker != null) {
-                String ifaceName = tracker.getNetworkInterfaceName();
-                SamplingDataTracker.SamplingSnapshot ss = mapIfaceToSample.get(ifaceName);
-                if (ss != null) {
-                    // end the previous sampling cycle
-                    tracker.stopSampling(ss);
-                    // start a new sampling cycle ..
-                    tracker.startSampling(ss);
-                }
-            }
-        }
-
-        if (SAMPLE_DBG) log("Done.");
-
-        int samplingIntervalInSeconds = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.CONNECTIVITY_SAMPLING_INTERVAL_IN_SECONDS,
-                DEFAULT_SAMPLING_INTERVAL_IN_SECONDS);
-
-        if (SAMPLE_DBG) {
-            log("Setting timer for " + String.valueOf(samplingIntervalInSeconds) + "seconds");
-        }
-
-        setAlarm(samplingIntervalInSeconds * 1000, mSampleIntervalElapsedIntent);
-    }
-
-    /**
-     * Sets a network sampling alarm.
-     */
-    void setAlarm(int timeoutInMilliseconds, PendingIntent intent) {
-        long wakeupTime = SystemClock.elapsedRealtime() + timeoutInMilliseconds;
-        int alarmType;
-        if (Resources.getSystem().getBoolean(
-                R.bool.config_networkSamplingWakesDevice)) {
-            alarmType = AlarmManager.ELAPSED_REALTIME_WAKEUP;
-        } else {
-            alarmType = AlarmManager.ELAPSED_REALTIME;
-        }
-        mAlarmManager.set(alarmType, wakeupTime, intent);
-    }
-
     private final HashMap<Messenger, NetworkFactoryInfo> mNetworkFactoryInfos =
             new HashMap<Messenger, NetworkFactoryInfo>();
     private final HashMap<NetworkRequest, NetworkRequestInfo> mNetworkRequests =
@@ -4513,8 +4269,13 @@
     public boolean setUnderlyingNetworksForVpn(Network[] networks) {
         throwIfLockdownEnabled();
         int user = UserHandle.getUserId(Binder.getCallingUid());
+        boolean success;
         synchronized (mVpns) {
-            return mVpns.get(user).setUnderlyingNetworks(networks);
+            success = mVpns.get(user).setUnderlyingNetworks(networks);
         }
+        if (success) {
+            notifyIfacesChanged();
+        }
+        return success;
     }
 }
diff --git a/services/core/java/com/android/server/EventLogTags.logtags b/services/core/java/com/android/server/EventLogTags.logtags
index f04487e..983d83a 100644
--- a/services/core/java/com/android/server/EventLogTags.logtags
+++ b/services/core/java/com/android/server/EventLogTags.logtags
@@ -216,3 +216,8 @@
 # ---------------------------
 2755 fstrim_start (time|2|3)
 2756 fstrim_finish (time|2|3)
+
+# ---------------------------
+# AudioService.java
+# ---------------------------
+40000 volume_changed (stream|1), (prev_level|1), (level|1), (max_level|1), (caller|3)
diff --git a/services/core/java/com/android/server/LocationManagerService.java b/services/core/java/com/android/server/LocationManagerService.java
index eca6ec7..16834855 100644
--- a/services/core/java/com/android/server/LocationManagerService.java
+++ b/services/core/java/com/android/server/LocationManagerService.java
@@ -60,8 +60,6 @@
 import android.location.Criteria;
 import android.location.GeocoderParams;
 import android.location.Geofence;
-import android.location.GpsMeasurementsEvent;
-import android.location.GpsNavigationMessageEvent;
 import android.location.IGpsMeasurementsListener;
 import android.location.IGpsNavigationMessageListener;
 import android.location.IGpsStatusListener;
diff --git a/services/core/java/com/android/server/LockSettingsService.java b/services/core/java/com/android/server/LockSettingsService.java
index c189fea..53c87a2 100644
--- a/services/core/java/com/android/server/LockSettingsService.java
+++ b/services/core/java/com/android/server/LockSettingsService.java
@@ -51,7 +51,6 @@
 import com.android.internal.widget.ILockSettings;
 import com.android.internal.widget.LockPatternUtils;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
diff --git a/services/core/java/com/android/server/LockSettingsStorage.java b/services/core/java/com/android/server/LockSettingsStorage.java
index c03bb58..d81daa9 100644
--- a/services/core/java/com/android/server/LockSettingsStorage.java
+++ b/services/core/java/com/android/server/LockSettingsStorage.java
@@ -238,12 +238,21 @@
 
     public void writePatternHash(byte[] hash, int userId) {
         writeFile(getLockPatternFilename(userId), hash);
+        clearPasswordHash(userId);
+    }
+
+    private void clearPatternHash(int userId) {
+        writeFile(getLockPatternFilename(userId), null);
     }
 
     public void writePasswordHash(byte[] hash, int userId) {
         writeFile(getLockPasswordFilename(userId), hash);
+        clearPatternHash(userId);
     }
 
+    private void clearPasswordHash(int userId) {
+        writeFile(getLockPasswordFilename(userId), null);
+    }
 
     @VisibleForTesting
     String getLockPatternFilename(int userId) {
@@ -279,16 +288,15 @@
         return userId;
     }
 
-
     public void removeUser(int userId) {
         SQLiteDatabase db = mOpenHelper.getWritableDatabase();
 
         final UserManager um = (UserManager) mContext.getSystemService(USER_SERVICE);
         final UserInfo parentInfo = um.getProfileParent(userId);
 
-        synchronized (mFileWriteLock) {
-            if (parentInfo == null) {
-                // This user owns its lock settings files - safe to delete them
+        if (parentInfo == null) {
+            // This user owns its lock settings files - safe to delete them
+            synchronized (mFileWriteLock) {
                 String name = getLockPasswordFilename(userId);
                 File file = new File(name);
                 if (file.exists()) {
diff --git a/services/core/java/com/android/server/MidiService.java b/services/core/java/com/android/server/MidiService.java
index 04911fa..3418930 100644
--- a/services/core/java/com/android/server/MidiService.java
+++ b/services/core/java/com/android/server/MidiService.java
@@ -17,24 +17,37 @@
 package com.android.server;
 
 import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.content.pm.ServiceInfo;
+import android.content.res.XmlResourceParser;
+import android.media.midi.IMidiDeviceListener;
 import android.media.midi.IMidiDeviceServer;
-import android.media.midi.IMidiListener;
 import android.media.midi.IMidiManager;
 import android.media.midi.MidiDeviceInfo;
+import android.media.midi.MidiDeviceService;
+import android.media.midi.MidiDeviceStatus;
 import android.os.Binder;
 import android.os.Bundle;
 import android.os.IBinder;
-import android.os.ParcelFileDescriptor;
 import android.os.Process;
 import android.os.RemoteException;
 import android.util.Log;
 
+import com.android.internal.content.PackageMonitor;
 import com.android.internal.util.IndentingPrintWriter;
+import com.android.internal.util.XmlUtils;
+
+import org.xmlpull.v1.XmlPullParser;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 
 public class MidiService extends IMidiManager.Stub {
     private static final String TAG = "MidiService";
@@ -54,6 +67,27 @@
     // used for assigning IDs to MIDI devices
     private int mNextDeviceId = 1;
 
+    private final PackageManager mPackageManager;
+
+    // PackageMonitor for listening to package changes
+    private final PackageMonitor mPackageMonitor = new PackageMonitor() {
+        @Override
+        public void onPackageAdded(String packageName, int uid) {
+            addPackageDeviceServers(packageName);
+        }
+
+        @Override
+        public void onPackageModified(String packageName) {
+            removePackageDeviceServers(packageName);
+            addPackageDeviceServers(packageName);
+        }
+
+        @Override
+        public void onPackageRemoved(String packageName, int uid) {
+            removePackageDeviceServers(packageName);
+        }
+    };
+
     private final class Client implements IBinder.DeathRecipient {
         // Binder token for this client
         private final IBinder mToken;
@@ -62,7 +96,8 @@
         // This client's PID
         private final int mPid;
         // List of all receivers for this client
-        private final ArrayList<IMidiListener> mListeners = new ArrayList<IMidiListener>();
+        private final ArrayList<IMidiDeviceListener> mListeners
+                = new ArrayList<IMidiDeviceListener>();
 
         public Client(IBinder token) {
             mToken = token;
@@ -74,11 +109,11 @@
             return mUid;
         }
 
-        public void addListener(IMidiListener listener) {
+        public void addListener(IMidiDeviceListener listener) {
             mListeners.add(listener);
         }
 
-        public void removeListener(IMidiListener listener) {
+        public void removeListener(IMidiDeviceListener listener) {
             mListeners.remove(listener);
             if (mListeners.size() == 0) {
                 removeClient(mToken);
@@ -91,7 +126,7 @@
 
             MidiDeviceInfo deviceInfo = device.getDeviceInfo();
             try {
-                for (IMidiListener listener : mListeners) {
+                for (IMidiDeviceListener listener : mListeners) {
                     listener.onDeviceAdded(deviceInfo);
                 }
             } catch (RemoteException e) {
@@ -105,7 +140,7 @@
 
             MidiDeviceInfo deviceInfo = device.getDeviceInfo();
             try {
-                for (IMidiListener listener : mListeners) {
+                for (IMidiDeviceListener listener : mListeners) {
                     listener.onDeviceRemoved(deviceInfo);
                 }
             } catch (RemoteException e) {
@@ -113,6 +148,19 @@
             }
         }
 
+        public void deviceStatusChanged(Device device, MidiDeviceStatus status) {
+            // ignore private devices that our client cannot access
+            if (!device.isUidAllowed(mUid)) return;
+
+            try {
+                for (IMidiDeviceListener listener : mListeners) {
+                    listener.onDeviceStatusChanged(status);
+                }
+            } catch (RemoteException e) {
+                Log.e(TAG, "remote exception", e);
+            }
+        }
+
         public void binderDied() {
             removeClient(mToken);
         }
@@ -153,33 +201,74 @@
     private final class Device implements IBinder.DeathRecipient {
         private final IMidiDeviceServer mServer;
         private final MidiDeviceInfo mDeviceInfo;
-        // UID of device creator
+        private MidiDeviceStatus mDeviceStatus;
+        private IBinder mDeviceStatusToken;
+        // ServiceInfo for the device's MidiDeviceServer implementation (virtual devices only)
+        private final ServiceInfo mServiceInfo;
+        // UID of device implementation
         private final int mUid;
-        // PID of device creator
-        private final int mPid;
 
-        public Device(IMidiDeviceServer server, MidiDeviceInfo deviceInfo) {
+        public Device(IMidiDeviceServer server, MidiDeviceInfo deviceInfo,
+                ServiceInfo serviceInfo, int uid) {
             mServer = server;
             mDeviceInfo = deviceInfo;
-            mUid = Binder.getCallingUid();
-            mPid = Binder.getCallingPid();
+            mServiceInfo = serviceInfo;
+            mUid = uid;
         }
 
         public MidiDeviceInfo getDeviceInfo() {
             return mDeviceInfo;
         }
 
+        public MidiDeviceStatus getDeviceStatus() {
+            return mDeviceStatus;
+        }
+
+        public void setDeviceStatus(IBinder token, MidiDeviceStatus status) {
+            mDeviceStatus = status;
+
+            if (mDeviceStatusToken == null && token != null) {
+                // register a death recipient so we can clear the status when the device dies
+                try {
+                    token.linkToDeath(new IBinder.DeathRecipient() {
+                        @Override
+                        public void binderDied() {
+                            // reset to default status and clear the token
+                            mDeviceStatus = new MidiDeviceStatus(mDeviceInfo);
+                            mDeviceStatusToken = null;
+                            notifyDeviceStatusChanged(Device.this, mDeviceStatus);
+                        }
+                    }, 0);
+                    mDeviceStatusToken = token;
+                } catch (RemoteException e) {
+                    // reset to default status
+                    mDeviceStatus = new MidiDeviceStatus(mDeviceInfo);
+                }
+            }
+        }
+
         public IMidiDeviceServer getDeviceServer() {
             return mServer;
         }
 
+        public ServiceInfo getServiceInfo() {
+            return mServiceInfo;
+        }
+
+        public String getPackageName() {
+            return (mServiceInfo == null ? null : mServiceInfo.packageName);
+        }
+
+        public int getUid() {
+            return mUid;
+        }
+
         public boolean isUidAllowed(int uid) {
-            // FIXME
-            return true;
+            return (!mDeviceInfo.isPrivate() || mUid == uid);
         }
 
         public void binderDied() {
-            synchronized (mDevicesByServer) {
+            synchronized (mDevicesByInfo) {
                 removeDeviceLocked(this);
             }
         }
@@ -190,32 +279,61 @@
             sb.append(mDeviceInfo);
             sb.append(" UID: ");
             sb.append(mUid);
-            sb.append(" PID: ");
-            sb.append(mPid);
             return sb.toString();
         }
     }
 
     public MidiService(Context context) {
         mContext = context;
-    }
+        mPackageManager = context.getPackageManager();
+        mPackageMonitor.register(context, null, true);
 
-    public void registerListener(IBinder token, IMidiListener listener) {
+        Intent intent = new Intent(MidiDeviceService.SERVICE_INTERFACE);
+        List<ResolveInfo> resolveInfos = mPackageManager.queryIntentServices(intent,
+                PackageManager.GET_META_DATA);
+        if (resolveInfos != null) {
+            int count = resolveInfos.size();
+            for (int i = 0; i < count; i++) {
+                ServiceInfo serviceInfo = resolveInfos.get(i).serviceInfo;
+                if (serviceInfo != null) {
+                    addPackageDeviceServer(serviceInfo);
+                }
+            }
+        }
+   }
+
+    @Override
+    public void registerListener(IBinder token, IMidiDeviceListener listener) {
         Client client = getClient(token);
         if (client == null) return;
         client.addListener(listener);
     }
 
-    public void unregisterListener(IBinder token, IMidiListener listener) {
+    @Override
+    public void unregisterListener(IBinder token, IMidiDeviceListener listener) {
         Client client = getClient(token);
         if (client == null) return;
         client.removeListener(listener);
     }
 
+    private static final MidiDeviceInfo[] EMPTY_DEVICE_INFO_ARRAY = new MidiDeviceInfo[0];
+
     public MidiDeviceInfo[] getDeviceList() {
-        return mDevicesByInfo.keySet().toArray(new MidiDeviceInfo[0]);
+        ArrayList<MidiDeviceInfo> deviceInfos = new ArrayList<MidiDeviceInfo>();
+        int uid = Binder.getCallingUid();
+
+        synchronized (mDevicesByInfo) {
+            for (Device device : mDevicesByInfo.values()) {
+                if (device.isUidAllowed(uid)) {
+                    deviceInfos.add(device.getDeviceInfo());
+                }
+            }
+        }
+
+        return deviceInfos.toArray(EMPTY_DEVICE_INFO_ARRAY);
     }
 
+    @Override
     public IMidiDeviceServer openDevice(IBinder token, MidiDeviceInfo deviceInfo) {
         Device device = mDevicesByInfo.get(deviceInfo);
         if (device == null) {
@@ -230,28 +348,100 @@
         return device.getDeviceServer();
     }
 
+    @Override
     public MidiDeviceInfo registerDeviceServer(IMidiDeviceServer server, int numInputPorts,
-            int numOutputPorts, Bundle properties, boolean isPrivate, int type) {
-        if (type != MidiDeviceInfo.TYPE_VIRTUAL && Binder.getCallingUid() != Process.SYSTEM_UID) {
+            int numOutputPorts, String[] inputPortNames, String[] outputPortNames,
+            Bundle properties, int type) {
+        int uid = Binder.getCallingUid();
+        if (type != MidiDeviceInfo.TYPE_VIRTUAL && uid != Process.SYSTEM_UID) {
             throw new SecurityException("only system can create non-virtual devices");
         }
 
-        MidiDeviceInfo deviceInfo;
-        Device device;
+        synchronized (mDevicesByInfo) {
+            return addDeviceLocked(type, numInputPorts, numOutputPorts, inputPortNames,
+                    outputPortNames, properties, server, null, false, uid);
+        }
+    }
 
-        synchronized (mDevicesByServer) {
-            int id = mNextDeviceId++;
-            deviceInfo = new MidiDeviceInfo(type, id, numInputPorts, numOutputPorts, properties);
+    @Override
+    public void unregisterDeviceServer(IMidiDeviceServer server) {
+        synchronized (mDevicesByInfo) {
+            Device device = mDevicesByServer.get(server.asBinder());
+            if (device != null) {
+                removeDeviceLocked(device);
+            }
+        }
+    }
+
+    @Override
+    public MidiDeviceInfo getServiceDeviceInfo(String packageName, String className) {
+        synchronized (mDevicesByInfo) {
+            for (Device device : mDevicesByInfo.values()) {
+                 ServiceInfo serviceInfo = device.getServiceInfo();
+                 if (serviceInfo != null &&
+                        packageName.equals(serviceInfo.packageName) &&
+                        className.equals(serviceInfo.name)) {
+                    return device.getDeviceInfo();
+                }
+            }
+            return null;
+        }
+    }
+
+    @Override
+    public MidiDeviceStatus getDeviceStatus(MidiDeviceInfo deviceInfo) {
+        Device device = mDevicesByInfo.get(deviceInfo);
+        if (device == null) {
+            throw new IllegalArgumentException("no such device for " + deviceInfo);
+        }
+        return device.getDeviceStatus();
+    }
+
+    @Override
+    public void setDeviceStatus(IBinder token, MidiDeviceStatus status) {
+        MidiDeviceInfo deviceInfo = status.getDeviceInfo();
+        Device device = mDevicesByInfo.get(deviceInfo);
+        if (device == null) {
+            // Just return quietly here if device no longer exists
+            return;
+        }
+        if (Binder.getCallingUid() != device.getUid()) {
+            throw new SecurityException("setDeviceStatus() caller UID " + Binder.getCallingUid()
+                    + " does not match device's UID " + device.getUid());
+        }
+        device.setDeviceStatus(token, status);
+        notifyDeviceStatusChanged(device, status);
+    }
+
+    private void notifyDeviceStatusChanged(Device device, MidiDeviceStatus status) {
+        synchronized (mClients) {
+            for (Client c : mClients.values()) {
+                c.deviceStatusChanged(device, status);
+            }
+        }
+    }
+
+    // synchronize on mDevicesByInfo
+    private MidiDeviceInfo addDeviceLocked(int type, int numInputPorts, int numOutputPorts,
+            String[] inputPortNames, String[] outputPortNames, Bundle properties,
+            IMidiDeviceServer server, ServiceInfo serviceInfo,
+            boolean isPrivate, int uid) {
+
+        int id = mNextDeviceId++;
+        MidiDeviceInfo deviceInfo = new MidiDeviceInfo(type, id, numInputPorts, numOutputPorts,
+                inputPortNames, outputPortNames, properties, isPrivate);
+        Device device = new Device(server, deviceInfo, serviceInfo, uid);
+
+        if (server != null) {
             IBinder binder = server.asBinder();
-            device = new Device(server, deviceInfo);
             try {
                 binder.linkToDeath(device, 0);
             } catch (RemoteException e) {
                 return null;
             }
-            mDevicesByInfo.put(deviceInfo, device);
-            mDevicesByServer.put(server.asBinder(), device);
+            mDevicesByServer.put(binder, device);
         }
+        mDevicesByInfo.put(deviceInfo, device);
 
         synchronized (mClients) {
             for (Client c : mClients.values()) {
@@ -262,16 +452,13 @@
         return deviceInfo;
     }
 
-    public void unregisterDeviceServer(IMidiDeviceServer server) {
-        synchronized (mDevicesByServer) {
-            removeDeviceLocked(mDevicesByServer.get(server.asBinder()));
-        }
-    }
-
-    // synchronize on mDevicesByServer
+    // synchronize on mDevicesByInfo
     private void removeDeviceLocked(Device device) {
-        if (mDevicesByServer.remove(device.getDeviceServer().asBinder()) != null) {
-            mDevicesByInfo.remove(device.getDeviceInfo());
+        if (mDevicesByInfo.remove(device.getDeviceInfo()) != null) {
+            IMidiDeviceServer server = device.getDeviceServer();
+            if (server != null) {
+                mDevicesByServer.remove(server);
+            }
 
             synchronized (mClients) {
                 for (Client c : mClients.values()) {
@@ -281,6 +468,162 @@
         }
     }
 
+    private void addPackageDeviceServers(String packageName) {
+        PackageInfo info;
+
+        try {
+            info = mPackageManager.getPackageInfo(packageName,
+                    PackageManager.GET_SERVICES | PackageManager.GET_META_DATA);
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.e(TAG, "handlePackageUpdate could not find package " + packageName, e);
+            return;
+        }
+
+        ServiceInfo[] services = info.services;
+        if (services == null) return;
+        for (int i = 0; i < services.length; i++) {
+            addPackageDeviceServer(services[i]);
+        }
+    }
+
+    private static final String[] EMPTY_STRING_ARRAY = new String[0];
+
+    private void addPackageDeviceServer(ServiceInfo serviceInfo) {
+        XmlResourceParser parser = null;
+
+        try {
+            parser = serviceInfo.loadXmlMetaData(mPackageManager,
+                    MidiDeviceService.SERVICE_INTERFACE);
+            if (parser == null) return;
+
+            Bundle properties = null;
+            int numInputPorts = 0;
+            int numOutputPorts = 0;
+            boolean isPrivate = false;
+            ArrayList<String> inputPortNames = new ArrayList<String>();
+            ArrayList<String> outputPortNames = new ArrayList<String>();
+
+            while (true) {
+                int eventType = parser.next();
+                if (eventType == XmlPullParser.END_DOCUMENT) {
+                    break;
+                } else if (eventType == XmlPullParser.START_TAG) {
+                    String tagName = parser.getName();
+                    if ("device".equals(tagName)) {
+                        if (properties != null) {
+                            Log.w(TAG, "nested <device> elements in metadata for "
+                                + serviceInfo.packageName);
+                            continue;
+                        }
+                        properties = new Bundle();
+                        properties.putParcelable(MidiDeviceInfo.PROPERTY_SERVICE_INFO, serviceInfo);
+                        numInputPorts = 0;
+                        numOutputPorts = 0;
+                        isPrivate = false;
+
+                        int count = parser.getAttributeCount();
+                        for (int i = 0; i < count; i++) {
+                            String name = parser.getAttributeName(i);
+                            String value = parser.getAttributeValue(i);
+                            if ("private".equals(name)) {
+                                isPrivate = "true".equals(value);
+                            } else {
+                                properties.putString(name, value);
+                            }
+                        }
+                    } else if ("input-port".equals(tagName)) {
+                        if (properties == null) {
+                            Log.w(TAG, "<input-port> outside of <device> in metadata for "
+                                + serviceInfo.packageName);
+                            continue;
+                        }
+                        numInputPorts++;
+
+                        String portName = null;
+                        int count = parser.getAttributeCount();
+                        for (int i = 0; i < count; i++) {
+                            String name = parser.getAttributeName(i);
+                            String value = parser.getAttributeValue(i);
+                            if ("name".equals(name)) {
+                                portName = value;
+                                break;
+                            }
+                        }
+                        inputPortNames.add(portName);
+                    } else if ("output-port".equals(tagName)) {
+                        if (properties == null) {
+                            Log.w(TAG, "<output-port> outside of <device> in metadata for "
+                                + serviceInfo.packageName);
+                            continue;
+                        }
+                        numOutputPorts++;
+
+                        String portName = null;
+                        int count = parser.getAttributeCount();
+                        for (int i = 0; i < count; i++) {
+                            String name = parser.getAttributeName(i);
+                            String value = parser.getAttributeValue(i);
+                            if ("name".equals(name)) {
+                                portName = value;
+                                break;
+                            }
+                        }
+                        outputPortNames.add(portName);
+                    }
+                } else if (eventType == XmlPullParser.END_TAG) {
+                    String tagName = parser.getName();
+                    if ("device".equals(tagName)) {
+                        if (properties != null) {
+                            if (numInputPorts == 0 && numOutputPorts == 0) {
+                                Log.w(TAG, "<device> with no ports in metadata for "
+                                    + serviceInfo.packageName);
+                                continue;
+                            }
+
+                            int uid;
+                            try {
+                                ApplicationInfo appInfo = mPackageManager.getApplicationInfo(
+                                        serviceInfo.packageName, 0);
+                                uid = appInfo.uid;
+                            } catch (PackageManager.NameNotFoundException e) {
+                                Log.e(TAG, "could not fetch ApplicationInfo for "
+                                        + serviceInfo.packageName);
+                                continue;
+                            }
+
+                            synchronized (mDevicesByInfo) {
+                                addDeviceLocked(MidiDeviceInfo.TYPE_VIRTUAL,
+                                    numInputPorts, numOutputPorts,
+                                    inputPortNames.toArray(EMPTY_STRING_ARRAY),
+                                    outputPortNames.toArray(EMPTY_STRING_ARRAY),
+                                    properties, null, serviceInfo, isPrivate, uid);
+                            }
+                            // setting properties to null signals that we are no longer
+                            // processing a <device>
+                            properties = null;
+                            inputPortNames.clear();
+                            outputPortNames.clear();
+                        }
+                    }
+                }
+            }
+        } catch (Exception e) {
+            Log.w(TAG, "Unable to load component info " + serviceInfo.toString(), e);
+        } finally {
+            if (parser != null) parser.close();
+        }
+    }
+
+    private void removePackageDeviceServers(String packageName) {
+        synchronized (mDevicesByInfo) {
+            for (Device device : mDevicesByInfo.values()) {
+                if (packageName.equals(device.getPackageName())) {
+                    removeDeviceLocked(device);
+                }
+            }
+        }
+    }
+
     @Override
     public void dump(FileDescriptor fd, PrintWriter writer, String[] args) {
         mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, TAG);
diff --git a/services/core/java/com/android/server/NetworkManagementService.java b/services/core/java/com/android/server/NetworkManagementService.java
index 60649a6..7b542be 100644
--- a/services/core/java/com/android/server/NetworkManagementService.java
+++ b/services/core/java/com/android/server/NetworkManagementService.java
@@ -1167,7 +1167,7 @@
     public void setIpForwardingEnabled(boolean enable) {
         mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
         try {
-            mConnector.execute("ipfwd", enable ? "enable" : "disable");
+            mConnector.execute("ipfwd", enable ? "enable" : "disable", "tethering");
         } catch (NativeDaemonConnectorException e) {
             throw e.rethrowAsParcelableException();
         }
@@ -1293,6 +1293,27 @@
         return filtered;
     }
 
+    private void modifyInterfaceForward(boolean add, String fromIface, String toIface) {
+        final Command cmd = new Command("ipfwd", add ? "add" : "remove", fromIface, toIface);
+        try {
+            mConnector.execute(cmd);
+        } catch (NativeDaemonConnectorException e) {
+            throw e.rethrowAsParcelableException();
+        }
+    }
+
+    @Override
+    public void startInterfaceForwarding(String fromIface, String toIface) {
+        mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
+        modifyInterfaceForward(true, fromIface, toIface);
+    }
+
+    @Override
+    public void stopInterfaceForwarding(String fromIface, String toIface) {
+        mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
+        modifyInterfaceForward(false, fromIface, toIface);
+    }
+
     private void modifyNat(String action, String internalInterface, String externalInterface)
             throws SocketException {
         final Command cmd = new Command("nat", action, internalInterface, externalInterface);
@@ -1387,7 +1408,8 @@
                 mConnector.execute("softap", "set", wlanIface);
             } else {
                 mConnector.execute("softap", "set", wlanIface, wifiConfig.SSID,
-                                   "broadcast", "6", getSecurityType(wifiConfig),
+                                   "broadcast", Integer.toString(wifiConfig.apChannel),
+                                   getSecurityType(wifiConfig),
                                    new SensitiveArg(wifiConfig.preSharedKey));
             }
             mConnector.execute("softap", "startap");
diff --git a/services/core/java/com/android/server/NetworkTimeUpdateService.java b/services/core/java/com/android/server/NetworkTimeUpdateService.java
index d6abce9..a0d305c 100644
--- a/services/core/java/com/android/server/NetworkTimeUpdateService.java
+++ b/services/core/java/com/android/server/NetworkTimeUpdateService.java
@@ -25,7 +25,6 @@
 import android.content.IntentFilter;
 import android.database.ContentObserver;
 import android.net.ConnectivityManager;
-import android.net.NetworkInfo;
 import android.os.Handler;
 import android.os.HandlerThread;
 import android.os.Looper;
diff --git a/services/core/java/com/android/server/NsdService.java b/services/core/java/com/android/server/NsdService.java
index 39aa972..f4c6225 100644
--- a/services/core/java/com/android/server/NsdService.java
+++ b/services/core/java/com/android/server/NsdService.java
@@ -38,7 +38,6 @@
 import java.io.UnsupportedEncodingException;
 import java.net.InetAddress;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 import java.util.concurrent.CountDownLatch;
diff --git a/services/core/java/com/android/server/TelephonyRegistry.java b/services/core/java/com/android/server/TelephonyRegistry.java
index 8d7a182..d153233 100644
--- a/services/core/java/com/android/server/TelephonyRegistry.java
+++ b/services/core/java/com/android/server/TelephonyRegistry.java
@@ -259,7 +259,7 @@
                         + newDefaultSubIdObj + " newDefaultPhoneId=" + newDefaultPhoneId);
                 }
 
-                if(validatePhoneId(newDefaultPhoneId) && (newDefaultSubIdObj.equals(mDefaultSubId)
+                if(validatePhoneId(newDefaultPhoneId) && (!newDefaultSubIdObj.equals(mDefaultSubId)
                         || (newDefaultPhoneId != mDefaultPhoneId))) {
                     mHandler.sendMessage(mHandler.obtainMessage(MSG_UPDATE_DEFAULT_SUB,
                             newDefaultPhoneId, 0, newDefaultSubIdObj));
@@ -736,50 +736,47 @@
     }
 
     public void notifySignalStrengthForSubscriber(int subId, SignalStrength signalStrength) {
+        log("notifySignalStrengthForSubscriber: subId=" + subId
+                + " signalStrength=" + signalStrength);
         if (!checkNotifyPermission("notifySignalStrength()")) {
+            log("notifySignalStrengthForSubscriber: permission check failure");
             return;
         }
-        if (VDBG) {
-            log("notifySignalStrengthForSubscriber: subId=" + subId
-                + " signalStrength=" + signalStrength);
-            toStringLogSSC("notifySignalStrengthForSubscriber");
-        }
+        toStringLogSSC("notifySignalStrengthForSubscriber");
         synchronized (mRecords) {
             int phoneId = SubscriptionManager.getPhoneId(subId);
             if (validatePhoneId(phoneId)) {
-                if (VDBG) log("notifySignalStrengthForSubscriber: valid phoneId=" + phoneId);
+                log("notifySignalStrengthForSubscriber: valid phoneId=" + phoneId);
                 mSignalStrength[phoneId] = signalStrength;
                 for (Record r : mRecords) {
-                    if (VDBG) {
-                        log("notifySignalStrengthForSubscriber: r=" + r + " subId=" + subId
-                                + " phoneId=" + phoneId + " ss=" + signalStrength);
-                    }
+                    log("notifySignalStrengthForSubscriber: r=" + r + " subId=" + subId
+                            + " phoneId=" + phoneId + " ss=" + signalStrength);
                     if (r.matchPhoneStateListenerEvent(
                                 PhoneStateListener.LISTEN_SIGNAL_STRENGTHS) &&
                             idMatch(r.subId, subId, phoneId)) {
                         try {
-                            if (DBG) {
-                                log("notifySignalStrengthForSubscriber: callback.onSsS r=" + r
-                                        + " subId=" + subId + " phoneId=" + phoneId
-                                        + " ss=" + signalStrength);
-                            }
+                            log("notifySignalStrengthForSubscriber: callback.onSsS r=" + r
+                                    + " subId=" + subId + " phoneId=" + phoneId
+                                    + " ss=" + signalStrength);
                             r.callback.onSignalStrengthsChanged(new SignalStrength(signalStrength));
                         } catch (RemoteException ex) {
+                            log("notifySignalStrengthForSubscriber: Exception while calling callback!!");
                             mRemoveList.add(r.binder);
                         }
+                    } else {
+                        log("notifySignalStrengthForSubscriber: no match for LISTEN_SIGNAL_STRENGTHS");
                     }
                     if (r.matchPhoneStateListenerEvent(PhoneStateListener.LISTEN_SIGNAL_STRENGTH) &&
                             idMatch(r.subId, subId, phoneId)){
                         try {
                             int gsmSignalStrength = signalStrength.getGsmSignalStrength();
                             int ss = (gsmSignalStrength == 99 ? -1 : gsmSignalStrength);
-                            if (DBG) {
-                                log("notifySignalStrengthForSubscriber: callback.onSS r=" + r
-                                        + " subId=" + subId + " phoneId=" + phoneId
-                                        + " gsmSS=" + gsmSignalStrength + " ss=" + ss);
-                            }
+                            log("notifySignalStrengthForSubscriber: callback.onSS r=" + r
+                                    + " subId=" + subId + " phoneId=" + phoneId
+                                    + " gsmSS=" + gsmSignalStrength + " ss=" + ss);
                             r.callback.onSignalStrengthChanged(ss);
                         } catch (RemoteException ex) {
+                            log("notifySignalStrengthForSubscriber: Exception in deprecated LISTEN_SIGNAL_STRENGTH");
                             mRemoveList.add(r.binder);
                         }
                     }
@@ -787,6 +784,7 @@
             } else {
                 log("notifySignalStrengthForSubscriber: invalid phoneId=" + phoneId);
             }
+            log("notifySignalStrengthForSubscriber: done with all records");
             handleRemoveListLocked();
         }
         broadcastSignalStrengthChanged(signalStrength, subId);
diff --git a/services/core/java/com/android/server/Watchdog.java b/services/core/java/com/android/server/Watchdog.java
index 8e46c4d..794e1b0 100644
--- a/services/core/java/com/android/server/Watchdog.java
+++ b/services/core/java/com/android/server/Watchdog.java
@@ -106,8 +106,8 @@
         }
 
         public void scheduleCheckLocked() {
-            if (mMonitors.size() == 0 && mHandler.getLooper().isIdling()) {
-                // If the target looper is or just recently was idling, then
+            if (mMonitors.size() == 0 && mHandler.getLooper().getQueue().isPolling()) {
+                // If the target looper has recently been polling, then
                 // there is no reason to enqueue our checker on it since that
                 // is as good as it not being deadlocked.  This avoid having
                 // to do a context switch to check the thread.  Note that we
diff --git a/services/core/java/com/android/server/WiredAccessoryManager.java b/services/core/java/com/android/server/WiredAccessoryManager.java
index c9a83ec..0de8c8d 100644
--- a/services/core/java/com/android/server/WiredAccessoryManager.java
+++ b/services/core/java/com/android/server/WiredAccessoryManager.java
@@ -16,10 +16,7 @@
 
 package com.android.server;
 
-import android.content.BroadcastReceiver;
 import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java
index 059dde1..fc95b00 100755
--- a/services/core/java/com/android/server/am/ActiveServices.java
+++ b/services/core/java/com/android/server/am/ActiveServices.java
@@ -16,6 +16,8 @@
 
 package com.android.server.am;
 
+import static com.android.server.am.ActivityManagerDebugConfig.*;
+
 import java.io.FileDescriptor;
 import java.io.IOException;
 import java.io.PrintWriter;
@@ -33,6 +35,7 @@
 import android.os.SystemProperties;
 import android.util.ArrayMap;
 import android.util.ArraySet;
+
 import com.android.internal.app.ProcessStats;
 import com.android.internal.os.BatteryStatsImpl;
 import com.android.internal.os.TransferPipe;
@@ -67,14 +70,15 @@
 import android.util.TimeUtils;
 
 public final class ActiveServices {
-    static final boolean DEBUG_SERVICE = ActivityManagerService.DEBUG_SERVICE;
-    static final boolean DEBUG_SERVICE_EXECUTING = ActivityManagerService.DEBUG_SERVICE_EXECUTING;
-    static final boolean DEBUG_DELAYED_SERVICE = ActivityManagerService.DEBUG_SERVICE;
-    static final boolean DEBUG_DELAYED_STARTS = DEBUG_DELAYED_SERVICE;
-    static final boolean DEBUG_MU = ActivityManagerService.DEBUG_MU;
-    static final boolean LOG_SERVICE_START_STOP = false;
-    static final String TAG = ActivityManagerService.TAG;
-    static final String TAG_MU = ActivityManagerService.TAG_MU;
+    private static final String TAG = TAG_WITH_CLASS_NAME ? "ActiveServices" : TAG_AM;
+    private static final String TAG_MU = TAG + POSTFIX_MU;
+    private static final String TAG_SERVICE = TAG + POSTFIX_SERVICE;
+    private static final String TAG_SERVICE_EXECUTING = TAG + POSTFIX_SERVICE_EXECUTING;
+
+    private static final boolean DEBUG_DELAYED_SERVICE = DEBUG_SERVICE;
+    private static final boolean DEBUG_DELAYED_STARTS = DEBUG_DELAYED_SERVICE;
+
+    private static final boolean LOG_SERVICE_START_STOP = false;
 
     // How long we wait for a service to finish executing.
     static final int SERVICE_TIMEOUT = 20*1000;
@@ -206,11 +210,12 @@
 
         void ensureNotStartingBackground(ServiceRecord r) {
             if (mStartingBackground.remove(r)) {
-                if (DEBUG_DELAYED_STARTS) Slog.v(TAG, "No longer background starting: " + r);
+                if (DEBUG_DELAYED_STARTS) Slog.v(TAG_SERVICE,
+                        "No longer background starting: " + r);
                 rescheduleDelayedStarts();
             }
             if (mDelayedStartList.remove(r)) {
-                if (DEBUG_DELAYED_STARTS) Slog.v(TAG, "No longer delaying start: " + r);
+                if (DEBUG_DELAYED_STARTS) Slog.v(TAG_SERVICE, "No longer delaying start: " + r);
             }
         }
 
@@ -229,16 +234,17 @@
             while (mDelayedStartList.size() > 0
                     && mStartingBackground.size() < mMaxStartingBackground) {
                 ServiceRecord r = mDelayedStartList.remove(0);
-                if (DEBUG_DELAYED_STARTS) Slog.v(TAG, "REM FR DELAY LIST (exec next): " + r);
+                if (DEBUG_DELAYED_STARTS) Slog.v(TAG_SERVICE,
+                        "REM FR DELAY LIST (exec next): " + r);
                 if (r.pendingStarts.size() <= 0) {
                     Slog.w(TAG, "**** NO PENDING STARTS! " + r + " startReq=" + r.startRequested
                             + " delayedStop=" + r.delayedStop);
                 }
                 if (DEBUG_DELAYED_SERVICE) {
                     if (mDelayedStartList.size() > 0) {
-                        Slog.v(TAG, "Remaining delayed list:");
+                        Slog.v(TAG_SERVICE, "Remaining delayed list:");
                         for (int i=0; i<mDelayedStartList.size(); i++) {
-                            Slog.v(TAG, "  #" + i + ": " + mDelayedStartList.get(i));
+                            Slog.v(TAG_SERVICE, "  #" + i + ": " + mDelayedStartList.get(i));
                         }
                     }
                 }
@@ -248,7 +254,7 @@
             if (mStartingBackground.size() > 0) {
                 ServiceRecord next = mStartingBackground.get(0);
                 long when = next.startingBgTimeout > now ? next.startingBgTimeout : now;
-                if (DEBUG_DELAYED_SERVICE) Slog.v(TAG, "Top bg start is " + next
+                if (DEBUG_DELAYED_SERVICE) Slog.v(TAG_SERVICE, "Top bg start is " + next
                         + ", can delay others up to " + when);
                 Message msg = obtainMessage(MSG_BG_START_TIMEOUT);
                 sendMessageAtTime(msg, when);
@@ -298,7 +304,7 @@
     ComponentName startServiceLocked(IApplicationThread caller,
             Intent service, String resolvedType,
             int callingPid, int callingUid, int userId) {
-        if (DEBUG_DELAYED_STARTS) Slog.v(TAG, "startService: " + service
+        if (DEBUG_DELAYED_STARTS) Slog.v(TAG_SERVICE, "startService: " + service
                 + " type=" + resolvedType + " args=" + service.getExtras());
 
         final boolean callerFg;
@@ -337,7 +343,7 @@
         NeededUriGrants neededGrants = mAm.checkGrantUriPermissionFromIntentLocked(
                 callingUid, r.packageName, service, service.getFlags(), null, r.userId);
         if (unscheduleServiceRestartLocked(r, callingUid, false)) {
-            if (DEBUG_SERVICE) Slog.v(TAG, "START SERVICE WHILE RESTART PENDING: " + r);
+            if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "START SERVICE WHILE RESTART PENDING: " + r);
         }
         r.lastActivity = SystemClock.uptimeMillis();
         r.startRequested = true;
@@ -360,29 +366,30 @@
                 // service is started.  This is especially the case for receivers, which
                 // may start a service in onReceive() to do some additional work and have
                 // initialized some global state as part of that.
-                if (DEBUG_DELAYED_SERVICE) Slog.v(TAG, "Potential start delay of " + r + " in "
-                        + proc);
+                if (DEBUG_DELAYED_SERVICE) Slog.v(TAG_SERVICE, "Potential start delay of "
+                        + r + " in " + proc);
                 if (r.delayed) {
                     // This service is already scheduled for a delayed start; just leave
                     // it still waiting.
-                    if (DEBUG_DELAYED_STARTS) Slog.v(TAG, "Continuing to delay: " + r);
+                    if (DEBUG_DELAYED_STARTS) Slog.v(TAG_SERVICE, "Continuing to delay: " + r);
                     return r.name;
                 }
                 if (smap.mStartingBackground.size() >= mMaxStartingBackground) {
                     // Something else is starting, delay!
-                    Slog.i(TAG, "Delaying start of: " + r);
+                    Slog.i(TAG_SERVICE, "Delaying start of: " + r);
                     smap.mDelayedStartList.add(r);
                     r.delayed = true;
                     return r.name;
                 }
-                if (DEBUG_DELAYED_STARTS) Slog.v(TAG, "Not delaying: " + r);
+                if (DEBUG_DELAYED_STARTS) Slog.v(TAG_SERVICE, "Not delaying: " + r);
                 addToStarting = true;
             } else if (proc.curProcState >= ActivityManager.PROCESS_STATE_SERVICE) {
                 // We slightly loosen when we will enqueue this new service as a background
                 // starting service we are waiting for, to also include processes that are
                 // currently running other services or receivers.
                 addToStarting = true;
-                if (DEBUG_DELAYED_STARTS) Slog.v(TAG, "Not delaying, but counting as bg: " + r);
+                if (DEBUG_DELAYED_STARTS) Slog.v(TAG_SERVICE,
+                        "Not delaying, but counting as bg: " + r);
             } else if (DEBUG_DELAYED_STARTS) {
                 StringBuilder sb = new StringBuilder(128);
                 sb.append("Not potential delay (state=").append(proc.curProcState)
@@ -394,16 +401,17 @@
                 }
                 sb.append("): ");
                 sb.append(r.toString());
-                Slog.v(TAG, sb.toString());
+                Slog.v(TAG_SERVICE, sb.toString());
             }
         } else if (DEBUG_DELAYED_STARTS) {
             if (callerFg) {
-                Slog.v(TAG, "Not potential delay (callerFg=" + callerFg + " uid="
+                Slog.v(TAG_SERVICE, "Not potential delay (callerFg=" + callerFg + " uid="
                         + callingUid + " pid=" + callingPid + "): " + r);
             } else if (r.app != null) {
-                Slog.v(TAG, "Not potential delay (cur app=" + r.app + "): " + r);
+                Slog.v(TAG_SERVICE, "Not potential delay (cur app=" + r.app + "): " + r);
             } else {
-                Slog.v(TAG, "Not potential delay (user " + r.userId + " not started): " + r);
+                Slog.v(TAG_SERVICE,
+                        "Not potential delay (user " + r.userId + " not started): " + r);
             }
         }
 
@@ -432,9 +440,9 @@
             if (DEBUG_DELAYED_SERVICE) {
                 RuntimeException here = new RuntimeException("here");
                 here.fillInStackTrace();
-                Slog.v(TAG, "Starting background (first=" + first + "): " + r, here);
+                Slog.v(TAG_SERVICE, "Starting background (first=" + first + "): " + r, here);
             } else if (DEBUG_DELAYED_STARTS) {
-                Slog.v(TAG, "Starting background (first=" + first + "): " + r);
+                Slog.v(TAG_SERVICE, "Starting background (first=" + first + "): " + r);
             }
             if (first) {
                 smap.rescheduleDelayedStarts();
@@ -451,7 +459,7 @@
             // If service isn't actually running, but is is being held in the
             // delayed list, then we need to keep it started but note that it
             // should be stopped once no longer delayed.
-            if (DEBUG_DELAYED_STARTS) Slog.v(TAG, "Delaying stop of pending: " + service);
+            if (DEBUG_DELAYED_STARTS) Slog.v(TAG_SERVICE, "Delaying stop of pending: " + service);
             service.delayedStop = true;
             return;
         }
@@ -469,7 +477,7 @@
 
     int stopServiceLocked(IApplicationThread caller, Intent service,
             String resolvedType, int userId) {
-        if (DEBUG_SERVICE) Slog.v(TAG, "stopService: " + service
+        if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "stopService: " + service
                 + " type=" + resolvedType);
 
         final ProcessRecord callerApp = mAm.getRecordForAppLocked(caller);
@@ -525,7 +533,7 @@
 
     boolean stopServiceTokenLocked(ComponentName className, IBinder token,
             int startId) {
-        if (DEBUG_SERVICE) Slog.v(TAG, "stopServiceToken: " + className
+        if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "stopServiceToken: " + className
                 + " " + token + " startId=" + startId);
         ServiceRecord r = findServiceLocked(className, token, UserHandle.getCallingUserId());
         if (r != null) {
@@ -687,7 +695,7 @@
     int bindServiceLocked(IApplicationThread caller, IBinder token,
             Intent service, String resolvedType,
             IServiceConnection connection, int flags, int userId) {
-        if (DEBUG_SERVICE) Slog.v(TAG, "bindService: " + service
+        if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "bindService: " + service
                 + " type=" + resolvedType + " conn=" + connection.asBinder()
                 + " flags=0x" + Integer.toHexString(flags));
         final ProcessRecord callerApp = mAm.getRecordForAppLocked(caller);
@@ -751,7 +759,7 @@
 
         try {
             if (unscheduleServiceRestartLocked(s, callerApp.info.uid, false)) {
-                if (DEBUG_SERVICE) Slog.v(TAG, "BIND SERVICE WHILE RESTART PENDING: "
+                if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "BIND SERVICE WHILE RESTART PENDING: "
                         + s);
             }
 
@@ -819,7 +827,7 @@
                 mAm.updateOomAdjLocked(s.app);
             }
 
-            if (DEBUG_SERVICE) Slog.v(TAG, "Bind " + s + " with " + b
+            if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "Bind " + s + " with " + b
                     + ": received=" + b.intent.received
                     + " apps=" + b.intent.apps.size()
                     + " doRebind=" + b.intent.doRebind);
@@ -857,7 +865,7 @@
     void publishServiceLocked(ServiceRecord r, Intent intent, IBinder service) {
         final long origId = Binder.clearCallingIdentity();
         try {
-            if (DEBUG_SERVICE) Slog.v(TAG, "PUBLISHING " + r
+            if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "PUBLISHING " + r
                     + " " + intent + ": " + service);
             if (r != null) {
                 Intent.FilterComparison filter
@@ -873,14 +881,14 @@
                             ConnectionRecord c = clist.get(i);
                             if (!filter.equals(c.binding.intent.intent)) {
                                 if (DEBUG_SERVICE) Slog.v(
-                                        TAG, "Not publishing to: " + c);
+                                        TAG_SERVICE, "Not publishing to: " + c);
                                 if (DEBUG_SERVICE) Slog.v(
-                                        TAG, "Bound intent: " + c.binding.intent.intent);
+                                        TAG_SERVICE, "Bound intent: " + c.binding.intent.intent);
                                 if (DEBUG_SERVICE) Slog.v(
-                                        TAG, "Published intent: " + intent);
+                                        TAG_SERVICE, "Published intent: " + intent);
                                 continue;
                             }
-                            if (DEBUG_SERVICE) Slog.v(TAG, "Publishing to: " + c);
+                            if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "Publishing to: " + c);
                             try {
                                 c.conn.connected(r.name, service);
                             } catch (Exception e) {
@@ -901,7 +909,7 @@
 
     boolean unbindServiceLocked(IServiceConnection connection) {
         IBinder binder = connection.asBinder();
-        if (DEBUG_SERVICE) Slog.v(TAG, "unbindService: conn=" + binder);
+        if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "unbindService: conn=" + binder);
         ArrayList<ConnectionRecord> clist = mServiceConnections.get(binder);
         if (clist == null) {
             Slog.w(TAG, "Unbind failed: could not find connection for "
@@ -945,7 +953,7 @@
                 Intent.FilterComparison filter
                         = new Intent.FilterComparison(intent);
                 IntentBindRecord b = r.bindings.get(filter);
-                if (DEBUG_SERVICE) Slog.v(TAG, "unbindFinished in " + r
+                if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "unbindFinished in " + r
                         + " at " + b + ": apps="
                         + (b != null ? b.apps.size() : 0));
 
@@ -1012,7 +1020,7 @@
             String resolvedType, int callingPid, int callingUid, int userId,
             boolean createIfNeeded, boolean callingFromFg) {
         ServiceRecord r = null;
-        if (DEBUG_SERVICE) Slog.v(TAG, "retrieveServiceLocked: " + service
+        if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "retrieveServiceLocked: " + service
                 + " type=" + resolvedType + " callingUid=" + callingUid);
 
         userId = mAm.handleIncomingUser(callingPid, callingUid, userId,
@@ -1036,7 +1044,7 @@
                 ServiceInfo sInfo =
                     rInfo != null ? rInfo.serviceInfo : null;
                 if (sInfo == null) {
-                    Slog.w(TAG, "Unable to start service " + service + " U=" + userId +
+                    Slog.w(TAG_SERVICE, "Unable to start service " + service + " U=" + userId +
                           ": not found");
                     return null;
                 }
@@ -1110,9 +1118,9 @@
     }
 
     private final void bumpServiceExecutingLocked(ServiceRecord r, boolean fg, String why) {
-        if (DEBUG_SERVICE) Slog.v(TAG, ">>> EXECUTING "
+        if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, ">>> EXECUTING "
                 + why + " of " + r + " in app " + r.app);
-        else if (DEBUG_SERVICE_EXECUTING) Slog.v(TAG, ">>> EXECUTING "
+        else if (DEBUG_SERVICE_EXECUTING) Slog.v(TAG_SERVICE_EXECUTING, ">>> EXECUTING "
                 + why + " of " + r.shortName);
         long now = SystemClock.uptimeMillis();
         if (r.executeNesting == 0) {
@@ -1155,7 +1163,7 @@
                 i.hasBound = true;
                 i.doRebind = false;
             } catch (RemoteException e) {
-                if (DEBUG_SERVICE) Slog.v(TAG, "Crashed while binding " + r);
+                if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "Crashed while binding " + r);
                 return false;
             }
         }
@@ -1336,7 +1344,7 @@
             return null;
         }
 
-        if (DEBUG_SERVICE) Slog.v(TAG, "Bringing up " + r + " " + r.intent);
+        if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "Bringing up " + r + " " + r.intent);
 
         // We are now bringing the service up, so no longer in the
         // restarting state.
@@ -1347,7 +1355,7 @@
 
         // Make sure this service is no longer considered delayed, we are starting it now.
         if (r.delayed) {
-            if (DEBUG_DELAYED_STARTS) Slog.v(TAG, "REM FR DELAY LIST (bring up): " + r);
+            if (DEBUG_DELAYED_STARTS) Slog.v(TAG_SERVICE, "REM FR DELAY LIST (bring up): " + r);
             getServiceMap(r.userId).mDelayedStartList.remove(r);
             r.delayed = false;
         }
@@ -1430,7 +1438,8 @@
             // Oh and hey we've already been asked to stop!
             r.delayedStop = false;
             if (r.startRequested) {
-                if (DEBUG_DELAYED_STARTS) Slog.v(TAG, "Applying delayed stop (in bring up): " + r);
+                if (DEBUG_DELAYED_STARTS) Slog.v(TAG_SERVICE,
+                        "Applying delayed stop (in bring up): " + r);
                 stopServiceLocked(r);
             }
         }
@@ -1509,7 +1518,7 @@
         sendServiceArgsLocked(r, execInFg, true);
 
         if (r.delayed) {
-            if (DEBUG_DELAYED_STARTS) Slog.v(TAG, "REM FR DELAY LIST (new proc): " + r);
+            if (DEBUG_DELAYED_STARTS) Slog.v(TAG_SERVICE, "REM FR DELAY LIST (new proc): " + r);
             getServiceMap(r.userId).mDelayedStartList.remove(r);
             r.delayed = false;
         }
@@ -1518,7 +1527,8 @@
             // Oh and hey we've already been asked to stop!
             r.delayedStop = false;
             if (r.startRequested) {
-                if (DEBUG_DELAYED_STARTS) Slog.v(TAG, "Applying delayed stop (from start): " + r);
+                if (DEBUG_DELAYED_STARTS) Slog.v(TAG_SERVICE,
+                        "Applying delayed stop (from start): " + r);
                 stopServiceLocked(r);
             }
         }
@@ -1534,7 +1544,7 @@
         while (r.pendingStarts.size() > 0) {
             try {
                 ServiceRecord.StartItem si = r.pendingStarts.remove(0);
-                if (DEBUG_SERVICE) Slog.v(TAG, "Sending arguments to: "
+                if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "Sending arguments to: "
                         + r + " " + r.intent + " args=" + si.intent);
                 if (si.intent == null && N > 1) {
                     // If somehow we got a dummy null intent in the middle,
@@ -1566,7 +1576,7 @@
             } catch (RemoteException e) {
                 // Remote process gone...  we'll let the normal cleanup take
                 // care of this.
-                if (DEBUG_SERVICE) Slog.v(TAG, "Crashed while scheduling start: " + r);
+                if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "Crashed while scheduling start: " + r);
                 break;
             } catch (Exception e) {
                 Slog.w(TAG, "Unexpected exception", e);
@@ -1636,7 +1646,7 @@
         if (r.app != null && r.app.thread != null) {
             for (int i=r.bindings.size()-1; i>=0; i--) {
                 IntentBindRecord ibr = r.bindings.valueAt(i);
-                if (DEBUG_SERVICE) Slog.v(TAG, "Bringing down binding " + ibr
+                if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "Bringing down binding " + ibr
                         + ": hasBound=" + ibr.hasBound);
                 if (ibr.hasBound) {
                     try {
@@ -1654,7 +1664,7 @@
             }
         }
 
-        if (DEBUG_SERVICE) Slog.v(TAG, "Bringing down " + r + " " + r.intent);
+        if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "Bringing down " + r + " " + r.intent);
         r.destroyTime = SystemClock.uptimeMillis();
         if (LOG_SERVICE_START_STOP) {
             EventLogTags.writeAmDestroyService(
@@ -1671,7 +1681,7 @@
         for (int i=mPendingServices.size()-1; i>=0; i--) {
             if (mPendingServices.get(i) == r) {
                 mPendingServices.remove(i);
-                if (DEBUG_SERVICE) Slog.v(TAG, "Removed pending: " + r);
+                if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "Removed pending: " + r);
             }
         }
 
@@ -1704,11 +1714,11 @@
                 }
             } else {
                 if (DEBUG_SERVICE) Slog.v(
-                    TAG, "Removed service that has no process: " + r);
+                    TAG_SERVICE, "Removed service that has no process: " + r);
             }
         } else {
             if (DEBUG_SERVICE) Slog.v(
-                TAG, "Removed service that is not running: " + r);
+                TAG_SERVICE, "Removed service that is not running: " + r);
         }
 
         if (r.bindings.size() > 0) {
@@ -1775,7 +1785,7 @@
         }
 
         if (!c.serviceDead) {
-            if (DEBUG_SERVICE) Slog.v(TAG, "Disconnecting binding " + b.intent
+            if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "Disconnecting binding " + b.intent
                     + ": shouldUnbind=" + b.intent.hasBound);
             if (s.app != null && s.app.thread != null && b.intent.apps.size() == 0
                     && b.intent.hasBound) {
@@ -1902,19 +1912,20 @@
 
     private void serviceDoneExecutingLocked(ServiceRecord r, boolean inDestroying,
             boolean finishing) {
-        if (DEBUG_SERVICE) Slog.v(TAG, "<<< DONE EXECUTING " + r
+        if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "<<< DONE EXECUTING " + r
                 + ": nesting=" + r.executeNesting
                 + ", inDestroying=" + inDestroying + ", app=" + r.app);
-        else if (DEBUG_SERVICE_EXECUTING) Slog.v(TAG, "<<< DONE EXECUTING " + r.shortName);
+        else if (DEBUG_SERVICE_EXECUTING) Slog.v(TAG_SERVICE_EXECUTING,
+                "<<< DONE EXECUTING " + r.shortName);
         r.executeNesting--;
         if (r.executeNesting <= 0) {
             if (r.app != null) {
-                if (DEBUG_SERVICE) Slog.v(TAG,
+                if (DEBUG_SERVICE) Slog.v(TAG_SERVICE,
                         "Nesting at 0 of " + r.shortName);
                 r.app.execServicesFg = false;
                 r.app.executingServices.remove(r);
                 if (r.app.executingServices.size() == 0) {
-                    if (DEBUG_SERVICE || DEBUG_SERVICE_EXECUTING) Slog.v(TAG,
+                    if (DEBUG_SERVICE || DEBUG_SERVICE_EXECUTING) Slog.v(TAG_SERVICE_EXECUTING,
                             "No more executingServices of " + r.shortName);
                     mAm.mHandler.removeMessages(ActivityManagerService.SERVICE_TIMEOUT_MSG, r.app);
                 } else if (r.executeFg) {
@@ -1927,7 +1938,7 @@
                     }
                 }
                 if (inDestroying) {
-                    if (DEBUG_SERVICE) Slog.v(TAG,
+                    if (DEBUG_SERVICE) Slog.v(TAG_SERVICE,
                             "doneExecuting remove destroying " + r);
                     mDestroyingServices.remove(r);
                     r.bindings.clear();
@@ -2141,13 +2152,13 @@
             sr.executeNesting = 0;
             sr.forceClearTracker();
             if (mDestroyingServices.remove(sr)) {
-                if (DEBUG_SERVICE) Slog.v(TAG, "killServices remove destroying " + sr);
+                if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "killServices remove destroying " + sr);
             }
 
             final int numClients = sr.bindings.size();
             for (int bindingi=numClients-1; bindingi>=0; bindingi--) {
                 IntentBindRecord b = sr.bindings.valueAt(bindingi);
-                if (DEBUG_SERVICE) Slog.v(TAG, "Killing binding " + b
+                if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "Killing binding " + b
                         + ": shouldUnbind=" + b.hasBound);
                 b.binder = null;
                 b.requested = b.received = b.hasBound = false;
@@ -2281,7 +2292,7 @@
             if (sr.app == app) {
                 sr.forceClearTracker();
                 mDestroyingServices.remove(i);
-                if (DEBUG_SERVICE) Slog.v(TAG, "killServices remove destroying " + sr);
+                if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "killServices remove destroying " + sr);
             }
         }
 
diff --git a/services/core/java/com/android/server/am/ActivityManagerDebugConfig.java b/services/core/java/com/android/server/am/ActivityManagerDebugConfig.java
new file mode 100644
index 0000000..ae4006d
--- /dev/null
+++ b/services/core/java/com/android/server/am/ActivityManagerDebugConfig.java
@@ -0,0 +1,85 @@
+/*
+ * 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.server.am;
+
+/**
+ * Common class for the various debug {@link android.util.Log} output configuration in the activity
+ * manager package.
+ */
+class ActivityManagerDebugConfig {
+
+    // All output logs in the activity manager package use the {@link #TAG_AM} string for tagging
+    // their log output. This makes it easy to identify the origin of the log message when sifting
+    // through a large amount of log output from multiple sources. However, it also makes trying
+    // to figure-out the origin of a log message while debugging the activity manager a little
+    // painful. By setting this constant to true, log messages from the activity manager package
+    // will be tagged with their class names instead fot the generic tag.
+    static final boolean TAG_WITH_CLASS_NAME = false;
+
+    // While debugging it is sometimes useful to have the category name of the log prepended to the
+    // base log tag to make sifting through logs with the same base tag easier. By setting this
+    // constant to true, the category name of the log point will be prepended to the log tag.
+    static final boolean PREPEND_CATEGORY_NAME = false;
+
+    // Default log tag for the activity manager package.
+    static final String TAG_AM = "ActivityManager";
+
+    // Enable all debug log categories.
+    static final boolean DEBUG_ALL = false;
+
+    // Available log categories in the activity manager package.
+    static final boolean DEBUG_BACKUP = DEBUG_ALL || false;
+    static final boolean DEBUG_BROADCAST = DEBUG_ALL || false;
+    static final boolean DEBUG_BROADCAST_BACKGROUND = DEBUG_BROADCAST || false;
+    static final boolean DEBUG_BROADCAST_LIGHT = DEBUG_BROADCAST || false;
+    static final boolean DEBUG_CLEANUP = DEBUG_ALL || false;
+    static final boolean DEBUG_CONFIGURATION = DEBUG_ALL || false;
+    static final boolean DEBUG_FOCUS = false;
+    static final boolean DEBUG_IMMERSIVE = DEBUG_ALL || false;
+    static final boolean DEBUG_LOCKSCREEN = DEBUG_ALL || false;
+    static final boolean DEBUG_LRU = DEBUG_ALL || false;
+    static final boolean DEBUG_MU = DEBUG_ALL || false;
+    static final boolean DEBUG_OOM_ADJ = DEBUG_ALL || false;
+    static final boolean DEBUG_PAUSE = DEBUG_ALL || false;
+    static final boolean DEBUG_POWER = DEBUG_ALL || false;
+    static final boolean DEBUG_POWER_QUICK = DEBUG_POWER || false;
+    static final boolean DEBUG_PROCESS_OBSERVERS = DEBUG_ALL || false;
+    static final boolean DEBUG_PROCESSES = DEBUG_ALL || false;
+    static final boolean DEBUG_PROVIDER = DEBUG_ALL || false;
+    static final boolean DEBUG_PSS = DEBUG_ALL || false;
+    static final boolean DEBUG_RECENTS = DEBUG_ALL || false;
+    static final boolean DEBUG_RESULTS = DEBUG_ALL || false;
+    static final boolean DEBUG_SERVICE = DEBUG_ALL || false;
+    static final boolean DEBUG_SERVICE_EXECUTING = DEBUG_ALL || false;
+    static final boolean DEBUG_STACK = DEBUG_ALL || false;
+    static final boolean DEBUG_SWITCH = DEBUG_ALL || false;
+    static final boolean DEBUG_TASKS = DEBUG_ALL || false;
+    static final boolean DEBUG_THUMBNAILS = DEBUG_ALL || false;
+    static final boolean DEBUG_TRANSITION = DEBUG_ALL || false;
+    static final boolean DEBUG_URI_PERMISSION = DEBUG_ALL || false;
+    static final boolean DEBUG_USER_LEAVING = DEBUG_ALL || false;
+    static final boolean DEBUG_VISBILITY = DEBUG_ALL || false;
+
+    static final String POSTFIX_BACKUP = (PREPEND_CATEGORY_NAME) ? "_Backup" : "";
+    static final String POSTFIX_BROADCAST = (PREPEND_CATEGORY_NAME) ? "_Broadcast" : "";
+    static final String POSTFIX_CLEANUP = (PREPEND_CATEGORY_NAME) ? "_Cleanup" : "";
+    static final String POSTFIX_MU = "_MU";
+    static final String POSTFIX_SERVICE = (PREPEND_CATEGORY_NAME) ? "_Service" : "";
+    static final String POSTFIX_SERVICE_EXECUTING =
+            (PREPEND_CATEGORY_NAME) ? "_ServiceExecuting" : "";
+
+}
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 966dc88..e7952c1 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -30,6 +30,7 @@
 import static org.xmlpull.v1.XmlPullParser.END_DOCUMENT;
 import static org.xmlpull.v1.XmlPullParser.START_TAG;
 import static com.android.server.am.ActivityStackSupervisor.HOME_STACK_ID;
+import static com.android.server.am.ActivityManagerDebugConfig.*;
 import static com.android.server.am.TaskRecord.INVALID_TASK_ID;
 
 import android.Manifest;
@@ -55,11 +56,13 @@
 import android.service.voice.IVoiceInteractionSession;
 import android.util.ArrayMap;
 import android.util.ArraySet;
+import android.util.DebugUtils;
 import android.util.SparseIntArray;
 
 import android.view.Display;
 import com.android.internal.R;
 import com.android.internal.annotations.GuardedBy;
+import com.android.internal.app.DumpHeapActivity;
 import com.android.internal.app.IAppOpsService;
 import com.android.internal.app.IVoiceInteractor;
 import com.android.internal.app.ProcessMap;
@@ -245,41 +248,39 @@
     // File that stores last updated system version and called preboot receivers
     static final String CALLED_PRE_BOOTS_FILENAME = "called_pre_boots.dat";
 
-    static final String TAG = "ActivityManager";
-    static final String TAG_MU = "ActivityManagerServiceMU";
-    static final boolean DEBUG = false;
-    static final boolean localLOGV = DEBUG;
-    static final boolean DEBUG_BACKUP = localLOGV || false;
-    static final boolean DEBUG_BROADCAST = localLOGV || false;
-    static final boolean DEBUG_BROADCAST_LIGHT = DEBUG_BROADCAST || false;
-    static final boolean DEBUG_BACKGROUND_BROADCAST = DEBUG_BROADCAST || false;
-    static final boolean DEBUG_CLEANUP = localLOGV || false;
-    static final boolean DEBUG_CONFIGURATION = localLOGV || false;
+    private static final String TAG = TAG_WITH_CLASS_NAME ? "ActivityManagerService" : TAG_AM;
+    private static final String TAG_BACKUP = TAG + POSTFIX_BACKUP;
+    private static final String TAG_BROADCAST = TAG + POSTFIX_BROADCAST;
+    private static final String TAG_CLEANUP = TAG + POSTFIX_CLEANUP;
+    private static final String TAG_MU = TAG + POSTFIX_MU;
+
+    // TODO(ogunwale): Migrate all the constants below to use ActivityManagerDebugConfig class.
+    static final boolean DEBUG_CONFIGURATION = DEBUG_ALL || false;
     static final boolean DEBUG_FOCUS = false;
-    static final boolean DEBUG_IMMERSIVE = localLOGV || false;
-    static final boolean DEBUG_MU = localLOGV || false;
-    static final boolean DEBUG_OOM_ADJ = localLOGV || false;
-    static final boolean DEBUG_LRU = localLOGV || false;
-    static final boolean DEBUG_PAUSE = localLOGV || false;
-    static final boolean DEBUG_POWER = localLOGV || false;
+    static final boolean DEBUG_IMMERSIVE = DEBUG_ALL || false;
+    static final boolean DEBUG_MU = DEBUG_ALL || false;
+    static final boolean DEBUG_OOM_ADJ = DEBUG_ALL || false;
+    static final boolean DEBUG_LRU = DEBUG_ALL || false;
+    static final boolean DEBUG_PAUSE = DEBUG_ALL || false;
+    static final boolean DEBUG_POWER = DEBUG_ALL || false;
     static final boolean DEBUG_POWER_QUICK = DEBUG_POWER || false;
-    static final boolean DEBUG_PROCESS_OBSERVERS = localLOGV || false;
-    static final boolean DEBUG_PROCESSES = localLOGV || false;
-    static final boolean DEBUG_PROVIDER = localLOGV || false;
-    static final boolean DEBUG_RESULTS = localLOGV || false;
-    static final boolean DEBUG_SERVICE = localLOGV || false;
-    static final boolean DEBUG_SERVICE_EXECUTING = localLOGV || false;
-    static final boolean DEBUG_STACK = localLOGV || false;
-    static final boolean DEBUG_SWITCH = localLOGV || false;
-    static final boolean DEBUG_TASKS = localLOGV || false;
-    static final boolean DEBUG_THUMBNAILS = localLOGV || false;
-    static final boolean DEBUG_TRANSITION = localLOGV || false;
-    static final boolean DEBUG_URI_PERMISSION = localLOGV || false;
-    static final boolean DEBUG_USER_LEAVING = localLOGV || false;
-    static final boolean DEBUG_VISBILITY = localLOGV || false;
-    static final boolean DEBUG_PSS = localLOGV || false;
-    static final boolean DEBUG_LOCKSCREEN = localLOGV || false;
-    static final boolean DEBUG_RECENTS = localLOGV || false;
+    static final boolean DEBUG_PROCESS_OBSERVERS = DEBUG_ALL || false;
+    static final boolean DEBUG_PROCESSES = DEBUG_ALL || false;
+    static final boolean DEBUG_PROVIDER = DEBUG_ALL || false;
+    static final boolean DEBUG_RESULTS = DEBUG_ALL || false;
+    static final boolean DEBUG_SERVICE = DEBUG_ALL || false;
+    static final boolean DEBUG_SERVICE_EXECUTING = DEBUG_ALL || false;
+    static final boolean DEBUG_STACK = DEBUG_ALL || false;
+    static final boolean DEBUG_SWITCH = DEBUG_ALL || false;
+    static final boolean DEBUG_TASKS = DEBUG_ALL || false;
+    static final boolean DEBUG_THUMBNAILS = DEBUG_ALL || false;
+    static final boolean DEBUG_TRANSITION = DEBUG_ALL || false;
+    static final boolean DEBUG_URI_PERMISSION = DEBUG_ALL || false;
+    static final boolean DEBUG_USER_LEAVING = DEBUG_ALL || false;
+    static final boolean DEBUG_VISBILITY = DEBUG_ALL || false;
+    static final boolean DEBUG_PSS = DEBUG_ALL || false;
+    static final boolean DEBUG_LOCKSCREEN = DEBUG_ALL || false;
+    static final boolean DEBUG_RECENTS = DEBUG_ALL || false;
     static final boolean VALIDATE_TOKENS = false;
     static final boolean SHOW_ACTIVITY_START_TIME = true;
 
@@ -403,11 +404,9 @@
 
     BroadcastQueue broadcastQueueForIntent(Intent intent) {
         final boolean isFg = (intent.getFlags() & Intent.FLAG_RECEIVER_FOREGROUND) != 0;
-        if (DEBUG_BACKGROUND_BROADCAST) {
-            Slog.i(TAG, "Broadcast intent " + intent + " on "
-                    + (isFg ? "foreground" : "background")
-                    + " queue");
-        }
+        if (DEBUG_BROADCAST_BACKGROUND) Slog.i(TAG_BROADCAST,
+                "Broadcast intent " + intent + " on "
+                + (isFg ? "foreground" : "background") + " queue");
         return (isFg) ? mFgBroadcastQueue : mBgBroadcastQueue;
     }
 
@@ -1124,6 +1123,11 @@
     boolean mAutoStopProfiler = false;
     int mProfileType = 0;
     String mOpenGlTraceApp = null;
+    final ArrayMap<String, Long> mMemWatchProcesses = new ArrayMap<>();
+    String mMemWatchDumpProcName;
+    String mMemWatchDumpFile;
+    int mMemWatchDumpPid;
+    int mMemWatchDumpUid;
 
     final long[] mTmpLong = new long[1];
 
@@ -1206,7 +1210,7 @@
 
         AppDeathRecipient(ProcessRecord app, int pid,
                 IApplicationThread thread) {
-            if (localLOGV) Slog.v(
+            if (DEBUG_ALL) Slog.v(
                 TAG, "New death recipient " + this
                 + " for thread " + thread.asBinder());
             mApp = app;
@@ -1216,7 +1220,7 @@
 
         @Override
         public void binderDied() {
-            if (localLOGV) Slog.v(
+            if (DEBUG_ALL) Slog.v(
                 TAG, "Death received in " + this
                 + " for thread " + mAppThread.asBinder());
             synchronized(ActivityManagerService.this) {
@@ -1266,6 +1270,8 @@
     static final int DISMISS_DIALOG_MSG = 48;
     static final int NOTIFY_TASK_STACK_CHANGE_LISTENERS_MSG = 49;
     static final int NOTIFY_CLEARTEXT_NETWORK_MSG = 50;
+    static final int POST_DUMP_HEAP_NOTIFICATION_MSG = 51;
+    static final int DELETE_DUMPHEAP_MSG = 52;
 
     static final int FIRST_ACTIVITY_STACK_MSG = 100;
     static final int FIRST_BROADCAST_QUEUE_MSG = 200;
@@ -1751,7 +1757,7 @@
             }
             case ENTER_ANIMATION_COMPLETE_MSG: {
                 synchronized (ActivityManagerService.this) {
-                    ActivityRecord r = ActivityRecord.forToken((IBinder) msg.obj);
+                    ActivityRecord r = ActivityRecord.forTokenLocked((IBinder) msg.obj);
                     if (r != null && r.app != null && r.app.thread != null) {
                         try {
                             r.app.thread.scheduleEnterAnimationComplete(r.appToken);
@@ -1820,6 +1826,78 @@
                 }
                 break;
             }
+            case POST_DUMP_HEAP_NOTIFICATION_MSG: {
+                final String procName;
+                final int uid;
+                final long memLimit;
+                synchronized (ActivityManagerService.this) {
+                    procName = mMemWatchDumpProcName;
+                    uid = mMemWatchDumpUid;
+                    Long limit = mMemWatchProcesses.get(procName);
+                    memLimit = limit != null ? limit : 0;
+                }
+                if (procName == null) {
+                    return;
+                }
+
+                if (DEBUG_PSS) Slog.d(TAG, "Showing dump heap notification from "
+                        + procName + "/" + uid);
+
+                INotificationManager inm = NotificationManager.getService();
+                if (inm == null) {
+                    return;
+                }
+
+                String text = mContext.getString(R.string.dump_heap_notification, procName);
+                Notification notification = new Notification();
+                notification.icon = com.android.internal.R.drawable.stat_sys_adb;
+                notification.when = 0;
+                notification.flags = Notification.FLAG_ONGOING_EVENT|Notification.FLAG_AUTO_CANCEL;
+                notification.tickerText = text;
+                notification.defaults = 0; // please be quiet
+                notification.sound = null;
+                notification.vibrate = null;
+                notification.color = mContext.getResources().getColor(
+                        com.android.internal.R.color.system_notification_accent_color);
+                Intent deleteIntent = new Intent();
+                deleteIntent.setAction(DumpHeapActivity.ACTION_DELETE_DUMPHEAP);
+                notification.deleteIntent = PendingIntent.getBroadcastAsUser(mContext, 0,
+                        deleteIntent, 0, UserHandle.OWNER);
+                Intent intent = new Intent();
+                intent.setClassName("android", DumpHeapActivity.class.getName());
+                intent.putExtra(DumpHeapActivity.KEY_PROCESS, procName);
+                intent.putExtra(DumpHeapActivity.KEY_SIZE, memLimit);
+                int userId = UserHandle.getUserId(uid);
+                notification.setLatestEventInfo(mContext, text,
+                        mContext.getText(R.string.dump_heap_notification_detail),
+                        PendingIntent.getActivityAsUser(mContext, 0, intent,
+                                PendingIntent.FLAG_CANCEL_CURRENT, null,
+                                new UserHandle(userId)));
+
+                try {
+                    int[] outId = new int[1];
+                    inm.enqueueNotificationWithTag("android", "android", null,
+                            R.string.dump_heap_notification,
+                            notification, outId, userId);
+                } catch (RuntimeException e) {
+                    Slog.w(ActivityManagerService.TAG,
+                            "Error showing notification for dump heap", e);
+                } catch (RemoteException e) {
+                }
+            } break;
+            case DELETE_DUMPHEAP_MSG: {
+                revokeUriPermission(ActivityThread.currentActivityThread().getApplicationThread(),
+                        DumpHeapActivity.JAVA_URI,
+                        Intent.FLAG_GRANT_READ_URI_PERMISSION
+                                | Intent.FLAG_GRANT_WRITE_URI_PERMISSION,
+                        UserHandle.myUserId());
+                synchronized (ActivityManagerService.this) {
+                    mMemWatchDumpFile = null;
+                    mMemWatchDumpProcName = null;
+                    mMemWatchDumpPid = -1;
+                    mMemWatchDumpUid = -1;
+                }
+            } break;
             }
         }
     };
@@ -1906,7 +1984,7 @@
                             if (pss != 0 && proc.thread != null && proc.setProcState == procState
                                     && proc.pid == pid && proc.lastPssTime == lastPssTime) {
                                 num++;
-                                recordPssSample(proc, procState, pss, tmp[0],
+                                recordPssSampleLocked(proc, procState, pss, tmp[0],
                                         SystemClock.uptimeMillis());
                             }
                         }
@@ -2318,7 +2396,7 @@
                                     }
                                     ps.addCpuTimeLocked(st.rel_utime - otherUTime,
                                             st.rel_stime - otherSTime, cpuSpeedTimes);
-                                    pr.curCpuTime += (st.rel_utime+st.rel_stime) * 10;
+                                    pr.curCpuTime += st.rel_utime + st.rel_stime;
                                 } else {
                                     BatteryStatsImpl.Uid.Proc ps = st.batteryStats;
                                     if (ps == null || !ps.isActive()) {
@@ -2398,8 +2476,7 @@
             } else {
                 finishRunningVoiceLocked();
             }
-            mStackSupervisor.setFocusedStack(r, reason + " setFocusedActivity");
-            if (r != null) {
+            if (r != null && mStackSupervisor.setFocusedStack(r, reason + " setFocusedActivity")) {
                 mWindowManager.setFocusedApp(r.appToken, true);
             }
             applyUpdateLockStateLocked(r);
@@ -2423,6 +2500,7 @@
                 ActivityRecord r = stack.topRunningActivityLocked(null);
                 if (r != null) {
                     setFocusedActivityLocked(r, "setFocusedStack");
+                    mStackSupervisor.resumeTopActivitiesLocked(stack, null, null);
                 }
             }
         }
@@ -2442,7 +2520,7 @@
     public void notifyActivityDrawn(IBinder token) {
         if (DEBUG_VISBILITY) Slog.d(TAG, "notifyActivityDrawn: token=" + token);
         synchronized (this) {
-            ActivityRecord r= mStackSupervisor.isInAnyStackLocked(token);
+            ActivityRecord r = mStackSupervisor.isInAnyStackLocked(token);
             if (r != null) {
                 r.task.stack.notifyActivityDrawnLocked(r);
             }
@@ -3877,11 +3955,10 @@
                 return;
             }
 
-            ArrayList<ActivityRecord> activities = new ArrayList<ActivityRecord>(
-                    mHeavyWeightProcess.activities);
-            for (int i=0; i<activities.size(); i++) {
+            ArrayList<ActivityRecord> activities = new ArrayList<>(mHeavyWeightProcess.activities);
+            for (int i = 0; i < activities.size(); i++) {
                 ActivityRecord r = activities.get(i);
-                if (!r.finishing) {
+                if (!r.finishing && r.isInStackLocked()) {
                     r.task.stack.finishActivityLocked(r, Activity.RESULT_CANCELED,
                             null, "finish-heavy", true);
                 }
@@ -4008,7 +4085,7 @@
             final long origId = Binder.clearCallingIdentity();
             try {
                 ActivityRecord r = ActivityRecord.isInStackLocked(token);
-                if (r.task == null || r.task.stack == null) {
+                if (r == null) {
                     return false;
                 }
                 return r.task.stack.safelyDestroyActivityLocked(r, "app-req");
@@ -4233,9 +4310,8 @@
                 doLowMem = false;
             }
             EventLog.writeEvent(EventLogTags.AM_PROC_DIED, app.userId, app.pid, app.processName);
-            if (DEBUG_CLEANUP) Slog.v(
-                TAG, "Dying app: " + app + ", pid: " + pid
-                + ", thread: " + thread.asBinder());
+            if (DEBUG_CLEANUP) Slog.v(TAG_CLEANUP,
+                "Dying app: " + app + ", pid: " + pid + ", thread: " + thread.asBinder());
             handleAppDiedLocked(app, false, true);
 
             if (doOomAdj) {
@@ -5416,7 +5492,7 @@
 
         // Tell the process all about itself.
 
-        if (localLOGV) Slog.v(
+        if (DEBUG_ALL) Slog.v(
                 TAG, "Binding process pid " + pid + " to record " + app);
 
         final String processName = app.processName;
@@ -5452,7 +5528,7 @@
             Slog.i(TAG, "Launching preboot mode app: " + app);
         }
 
-        if (localLOGV) Slog.v(
+        if (DEBUG_ALL) Slog.v(
             TAG, "New app record " + app
             + " thread=" + thread.asBinder() + " pid=" + pid);
         try {
@@ -5573,7 +5649,8 @@
 
         // Check whether the next backup agent is in this process...
         if (!badApp && mBackupTarget != null && mBackupTarget.appInfo.uid == app.uid) {
-            if (DEBUG_BACKUP) Slog.v(TAG, "New app is backup target, launching agent for " + app);
+            if (DEBUG_BACKUP) Slog.v(TAG_BACKUP,
+                    "New app is backup target, launching agent for " + app);
             ensurePackageDexOpt(mBackupTarget.appInfo.packageName);
             try {
                 thread.scheduleCreateBackupAgent(mBackupTarget.appInfo,
@@ -5704,7 +5781,7 @@
                     for (String pkg : pkgs) {
                         synchronized (ActivityManagerService.this) {
                             if (forceStopPackageLocked(pkg, -1, false, false, false, false, false,
-                                    0, "finished booting")) {
+                                    0, "query restart")) {
                                 setResultCode(Activity.RESULT_OK);
                                 return;
                             }
@@ -5714,6 +5791,19 @@
             }
         }, pkgFilter);
 
+        IntentFilter dumpheapFilter = new IntentFilter();
+        dumpheapFilter.addAction(DumpHeapActivity.ACTION_DELETE_DUMPHEAP);
+        mContext.registerReceiver(new BroadcastReceiver() {
+            @Override
+            public void onReceive(Context context, Intent intent) {
+                if (intent.getBooleanExtra(DumpHeapActivity.EXTRA_DELAY_DELETE, false)) {
+                    mHandler.sendEmptyMessageDelayed(POST_DUMP_HEAP_NOTIFICATION_MSG, 5*60*1000);
+                } else {
+                    mHandler.sendEmptyMessage(POST_DUMP_HEAP_NOTIFICATION_MSG);
+                }
+            }
+        }, dumpheapFilter);
+
         // Let system services know.
         mSystemServiceManager.startBootPhase(SystemService.PHASE_BOOT_COMPLETED);
 
@@ -5843,7 +5933,7 @@
     @Override
     public final void activityStopped(IBinder token, Bundle icicle,
             PersistableBundle persistentState, CharSequence description) {
-        if (localLOGV) Slog.v(TAG, "Activity stopped: token=" + token);
+        if (DEBUG_ALL) Slog.v(TAG, "Activity stopped: token=" + token);
 
         // Refuse possible leaked file descriptors
         if (icicle != null && icicle.hasFileDescriptors()) {
@@ -7593,7 +7683,7 @@
         synchronized(this) {
             ArrayList<IAppTask> list = new ArrayList<IAppTask>();
             try {
-                if (localLOGV) Slog.v(TAG, "getAppTasks");
+                if (DEBUG_ALL) Slog.v(TAG, "getAppTasks");
 
                 final int N = mRecentTasks.size();
                 for (int i = 0; i < N; i++) {
@@ -7627,7 +7717,7 @@
         ArrayList<RunningTaskInfo> list = new ArrayList<RunningTaskInfo>();
 
         synchronized(this) {
-            if (localLOGV) Slog.v(
+            if (DEBUG_ALL) Slog.v(
                 TAG, "getTasks: max=" + maxNum + ", flags=" + flags);
 
             final boolean allowed = isGetTasksAllowed("getTasks", Binder.getCallingPid(),
@@ -7706,20 +7796,19 @@
                     android.Manifest.permission.GET_DETAILED_TASKS)
                     == PackageManager.PERMISSION_GRANTED;
 
-            final int N = mRecentTasks.size();
-            ArrayList<ActivityManager.RecentTaskInfo> res
-                    = new ArrayList<ActivityManager.RecentTaskInfo>(
-                            maxNum < N ? maxNum : N);
+            final int recentsCount = mRecentTasks.size();
+            ArrayList<ActivityManager.RecentTaskInfo> res =
+                    new ArrayList<>(maxNum < recentsCount ? maxNum : recentsCount);
 
             final Set<Integer> includedUsers;
             if (includeProfiles) {
                 includedUsers = getProfileIdsLocked(userId);
             } else {
-                includedUsers = new HashSet<Integer>();
+                includedUsers = new HashSet<>();
             }
             includedUsers.add(Integer.valueOf(userId));
 
-            for (int i=0; i<N && maxNum > 0; i++) {
+            for (int i = 0; i < recentsCount && maxNum > 0; i++) {
                 TaskRecord tr = mRecentTasks.get(i);
                 // Only add calling user or related users recent tasks
                 if (!includedUsers.contains(Integer.valueOf(tr.userId))) {
@@ -7915,7 +8004,7 @@
         long ident = Binder.clearCallingIdentity();
         try {
             synchronized (this) {
-                TaskRecord task = mStackSupervisor.anyTaskForIdLocked(taskId, true);
+                TaskRecord task = mStackSupervisor.anyTaskForIdLocked(taskId);
                 if (task == null) {
                     Slog.w(TAG, "resizeTask: taskId=" + taskId + " not found");
                     return;
@@ -8201,7 +8290,7 @@
             if (parentActivityToken == null) {
                 throw new IllegalArgumentException("parent token must not be null");
             }
-            ActivityRecord r = ActivityRecord.forToken(parentActivityToken);
+            ActivityRecord r = ActivityRecord.forTokenLocked(parentActivityToken);
             if (r == null) {
                 return null;
             }
@@ -8347,6 +8436,9 @@
         synchronized (this) {
             pkg = task.intent.getComponent().getPackageName();
         }
+        // isSystemInitiated is used to distinguish between locked and pinned mode, as pinned mode
+        // is initiated by system after the pinning request was shown and locked mode is initiated
+        // by an authorized app directly
         boolean isSystemInitiated = Binder.getCallingUid() == Process.SYSTEM_UID;
         if (!isSystemInitiated && !isLockTaskAuthorized(pkg)) {
             StatusBarManagerInternal statusBarManager = LocalServices.getService(
@@ -8367,7 +8459,9 @@
                                     || (task != mStackSupervisor.getFocusedStack().topTask()))) {
                         throw new IllegalArgumentException("Invalid task, not in foreground");
                     }
-                    mStackSupervisor.setLockTaskModeLocked(task, !isSystemInitiated,
+                    mStackSupervisor.setLockTaskModeLocked(task, isSystemInitiated ?
+                            ActivityManager.LOCK_TASK_MODE_PINNED :
+                            ActivityManager.LOCK_TASK_MODE_LOCKED,
                             "startLockTask");
                 }
             }
@@ -8398,7 +8492,7 @@
         long ident = Binder.clearCallingIdentity();
         try {
             synchronized (this) {
-                final ActivityRecord r = ActivityRecord.forToken(token);
+                final ActivityRecord r = ActivityRecord.forTokenLocked(token);
                 if (r == null) {
                     return;
                 }
@@ -8453,7 +8547,8 @@
             Log.d(TAG, "stopLockTaskMode");
             // Stop lock task
             synchronized (this) {
-                mStackSupervisor.setLockTaskModeLocked(null, false, "stopLockTask");
+                mStackSupervisor.setLockTaskModeLocked(null, ActivityManager.LOCK_TASK_MODE_NONE,
+                        "stopLockTask");
             }
         } finally {
             Binder.restoreCallingIdentity(ident);
@@ -8474,8 +8569,13 @@
 
     @Override
     public boolean isInLockTaskMode() {
+        return getLockTaskModeState() != ActivityManager.LOCK_TASK_MODE_NONE;
+    }
+
+    @Override
+    public int getLockTaskModeState() {
         synchronized (this) {
-            return mStackSupervisor.isInLockTaskMode();
+            return mStackSupervisor.getLockTaskModeState();
         }
     }
 
@@ -9143,7 +9243,7 @@
             ContentProviderRecord cpr = mProviderMap.getProviderByName(name, userId);
             if(cpr == null) {
                 //remove from mProvidersByClass
-                if(localLOGV) Slog.v(TAG, name+" content provider not found in providers list");
+                if(DEBUG_ALL) Slog.v(TAG, name+" content provider not found in providers list");
                 return;
             }
 
@@ -9680,7 +9780,7 @@
     }
 
     public final void activitySlept(IBinder token) {
-        if (localLOGV) Slog.v(TAG, "Activity slept: token=" + token);
+        if (DEBUG_ALL) Slog.v(TAG, "Activity slept: token=" + token);
 
         final long origId = Binder.clearCallingIdentity();
 
@@ -10047,16 +10147,13 @@
     private PendingAssistExtras enqueueAssistContext(int requestType, Intent intent, String hint,
             IResultReceiver receiver, int userHandle) {
         enforceCallingPermission(android.Manifest.permission.GET_TOP_ACTIVITY_INFO,
-                "getAssistContextExtras()");
-        PendingAssistExtras pae;
-        Bundle extras = new Bundle();
+                "enqueueAssistContext()");
         synchronized (this) {
-            ActivityRecord activity = getFocusedStack().mResumedActivity;
+            ActivityRecord activity = getFocusedStack().topActivity();
             if (activity == null) {
-                Slog.w(TAG, "getAssistContextExtras failed: no resumed activity");
+                Slog.w(TAG, "getAssistContextExtras failed: no top activity");
                 return null;
             }
-            extras.putString(Intent.EXTRA_ASSIST_PACKAGE, activity.packageName);
             if (activity.app == null || activity.app.thread == null) {
                 Slog.w(TAG, "getAssistContextExtras failed: no process for " + activity);
                 return null;
@@ -10065,6 +10162,10 @@
                 Slog.w(TAG, "getAssistContextExtras failed: request process same as " + activity);
                 return null;
             }
+            PendingAssistExtras pae;
+            Bundle extras = new Bundle();
+            extras.putString(Intent.EXTRA_ASSIST_PACKAGE, activity.packageName);
+            extras.putInt(Intent.EXTRA_ASSIST_UID, activity.app.uid);
             pae = new PendingAssistExtras(activity, extras, intent, hint, receiver, userHandle);
             try {
                 activity.app.thread.requestAssistContextExtras(activity.appToken, pae,
@@ -12728,6 +12829,22 @@
                         + " mOrigWaitForDebugger=" + mOrigWaitForDebugger);
             }
         }
+        if (mMemWatchProcesses.size() > 0) {
+            pw.println("  Mem watch processes:");
+            for (int i=0; i<mMemWatchProcesses.size(); i++) {
+                if (needSep) {
+                    pw.println();
+                    needSep = false;
+                }
+                pw.print("    "); pw.print(mMemWatchProcesses.keyAt(i));
+                pw.print(": "); DebugUtils.printSizeValue(pw, mMemWatchProcesses.valueAt(i));
+                pw.println();
+            }
+            pw.print("  mMemWatchDumpProcName="); pw.println(mMemWatchDumpProcName);
+            pw.print("  mMemWatchDumpFile="); pw.println(mMemWatchDumpFile);
+            pw.print("  mMemWatchDumpPid="); pw.print(mMemWatchDumpPid);
+                    pw.print(" mMemWatchDumpUid="); pw.println(mMemWatchDumpUid);
+        }
         if (mOpenGlTraceApp != null) {
             if (dumpPackage == null || dumpPackage.equals(mOpenGlTraceApp)) {
                 if (needSep) {
@@ -13410,8 +13527,9 @@
                 pw.print("    ");
                 pw.print("state: cur="); pw.print(ProcessList.makeProcStateString(r.curProcState));
                 pw.print(" set="); pw.print(ProcessList.makeProcStateString(r.setProcState));
-                pw.print(" lastPss="); pw.print(r.lastPss);
-                pw.print(" lastCachedPss="); pw.println(r.lastCachedPss);
+                pw.print(" lastPss="); DebugUtils.printSizeValue(pw, r.lastPss*1024);
+                pw.print(" lastCachedPss="); DebugUtils.printSizeValue(pw, r.lastCachedPss*1024);
+                pw.println();
                 pw.print(prefix);
                 pw.print("    ");
                 pw.print("cached="); pw.print(r.cached);
@@ -14614,7 +14732,7 @@
 
         // If the app is undergoing backup, tell the backup manager about it
         if (mBackupTarget != null && app.pid == mBackupTarget.app.pid) {
-            if (DEBUG_BACKUP || DEBUG_CLEANUP) Slog.d(TAG, "App "
+            if (DEBUG_BACKUP || DEBUG_CLEANUP) Slog.d(TAG_CLEANUP, "App "
                     + mBackupTarget.appInfo + " died during backup");
             try {
                 IBackupManager bm = IBackupManager.Stub.asInterface(
@@ -14641,7 +14759,7 @@
         }
 
         if (!app.persistent || app.isolated) {
-            if (DEBUG_PROCESSES || DEBUG_CLEANUP) Slog.v(TAG,
+            if (DEBUG_PROCESSES || DEBUG_CLEANUP) Slog.v(TAG_CLEANUP,
                     "Removing non-persistent process during cleanup: " + app);
             mProcessNames.remove(app.processName, app.uid);
             mIsolatedProcesses.remove(app.uid);
@@ -14659,8 +14777,8 @@
                 restart = true;
             }
         }
-        if ((DEBUG_PROCESSES || DEBUG_CLEANUP) && mProcessesOnHold.contains(app)) Slog.v(TAG,
-                "Clean-up removing on hold: " + app);
+        if ((DEBUG_PROCESSES || DEBUG_CLEANUP) && mProcessesOnHold.contains(app)) Slog.v(
+                TAG_CLEANUP, "Clean-up removing on hold: " + app);
         mProcessesOnHold.remove(app);
 
         if (app == mHomeProcess) {
@@ -15031,7 +15149,8 @@
     // 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, "bindBackupAgent: app=" + app + " mode=" + backupMode);
+        if (DEBUG_BACKUP) Slog.v(TAG_BACKUP,
+                "bindBackupAgent: app=" + app + " mode=" + backupMode);
         enforceCallingPermission("android.permission.CONFIRM_FULL_BACKUP", "bindBackupAgent");
 
         synchronized(this) {
@@ -15074,7 +15193,7 @@
             // If the process is already attached, schedule the creation of the backup agent now.
             // If it is not yet live, this will be done when it attaches to the framework.
             if (proc.thread != null) {
-                if (DEBUG_BACKUP) Slog.v(TAG, "Agent proc already running: " + proc);
+                if (DEBUG_BACKUP) Slog.v(TAG_BACKUP, "Agent proc already running: " + proc);
                 try {
                     proc.thread.scheduleCreateBackupAgent(app,
                             compatibilityInfoForPackageLocked(app), backupMode);
@@ -15082,7 +15201,7 @@
                     // Will time out on the backup manager side
                 }
             } else {
-                if (DEBUG_BACKUP) Slog.v(TAG, "Agent proc not running, waiting for attach");
+                if (DEBUG_BACKUP) Slog.v(TAG_BACKUP, "Agent proc not running, waiting for attach");
             }
             // Invariants: at this point, the target app process exists and the application
             // is either already running or in the process of coming up.  mBackupTarget and
@@ -15095,7 +15214,7 @@
 
     @Override
     public void clearPendingBackup() {
-        if (DEBUG_BACKUP) Slog.v(TAG, "clearPendingBackup");
+        if (DEBUG_BACKUP) Slog.v(TAG_BACKUP, "clearPendingBackup");
         enforceCallingPermission("android.permission.BACKUP", "clearPendingBackup");
 
         synchronized (this) {
@@ -15106,7 +15225,7 @@
 
     // A backup agent has just come up
     public void backupAgentCreated(String agentPackageName, IBinder agent) {
-        if (DEBUG_BACKUP) Slog.v(TAG, "backupAgentCreated: " + agentPackageName
+        if (DEBUG_BACKUP) Slog.v(TAG_BACKUP, "backupAgentCreated: " + agentPackageName
                 + " = " + agent);
 
         synchronized(this) {
@@ -15133,7 +15252,7 @@
 
     // done with this agent
     public void unbindBackupAgent(ApplicationInfo appInfo) {
-        if (DEBUG_BACKUP) Slog.v(TAG, "unbindBackupAgent: " + appInfo);
+        if (DEBUG_BACKUP) Slog.v(TAG_BACKUP, "unbindBackupAgent: " + appInfo);
         if (appInfo == null) {
             Slog.w(TAG, "unbind backup agent for null app");
             return;
@@ -15276,7 +15395,7 @@
 
         // The first sticky in the list is returned directly back to the client.
         Intent sticky = allSticky != null ? allSticky.get(0) : null;
-        if (DEBUG_BROADCAST) Slog.v(TAG, "Register receiver " + filter + ": " + sticky);
+        if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, "Register receiver " + filter + ": " + sticky);
         if (receiver == null) {
             return sticky;
         }
@@ -15346,7 +15465,7 @@
     }
 
     public void unregisterReceiver(IIntentReceiver receiver) {
-        if (DEBUG_BROADCAST) Slog.v(TAG, "Unregister receiver: " + receiver);
+        if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, "Unregister receiver: " + receiver);
 
         final long origId = Binder.clearCallingIdentity();
         try {
@@ -15497,9 +15616,9 @@
         // By default broadcasts do not go to stopped apps.
         intent.addFlags(Intent.FLAG_EXCLUDE_STOPPED_PACKAGES);
 
-        if (DEBUG_BROADCAST_LIGHT) Slog.v(
-            TAG, (sticky ? "Broadcast sticky: ": "Broadcast: ") + intent
-            + " ordered=" + ordered + " userid=" + userId);
+        if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG_BROADCAST,
+                (sticky ? "Broadcast sticky: ": "Broadcast: ") + intent
+                + " ordered=" + ordered + " userid=" + userId);
         if ((resultTo != null) && !ordered) {
             Slog.w(TAG, "Broadcast " + intent + " not ordered but result callback requested!");
         }
@@ -15821,7 +15940,7 @@
         final boolean replacePending =
                 (intent.getFlags()&Intent.FLAG_RECEIVER_REPLACE_PENDING) != 0;
 
-        if (DEBUG_BROADCAST) Slog.v(TAG, "Enqueing broadcast: " + intent.getAction()
+        if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, "Enqueing broadcast: " + intent.getAction()
                 + " replacePending=" + replacePending);
 
         int NR = registeredReceivers != null ? registeredReceivers.size() : 0;
@@ -15834,8 +15953,7 @@
                     callerPackage, callingPid, callingUid, resolvedType, requiredPermission,
                     appOp, registeredReceivers, resultTo, resultCode, resultData, map,
                     ordered, sticky, false, userId);
-            if (DEBUG_BROADCAST) Slog.v(
-                    TAG, "Enqueueing parallel broadcast " + r);
+            if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, "Enqueueing parallel broadcast " + r);
             final boolean replaced = replacePending && queue.replaceParallelBroadcastLocked(r);
             if (!replaced) {
                 queue.enqueueParallelBroadcastLocked(r);
@@ -15925,11 +16043,10 @@
                     requiredPermission, appOp, receivers, resultTo, resultCode,
                     resultData, map, ordered, sticky, false, userId);
 
-            if (DEBUG_BROADCAST) Slog.v(
-                    TAG, "Enqueueing ordered broadcast " + r
+            if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, "Enqueueing ordered broadcast " + r
                     + ": prev had " + queue.mOrderedBroadcasts.size());
-            if (DEBUG_BROADCAST) Slog.i(
-                    TAG, "Enqueueing broadcast " + r.intent.getAction());
+            if (DEBUG_BROADCAST) Slog.i(TAG_BROADCAST,
+                    "Enqueueing broadcast " + r.intent.getAction());
 
             boolean replaced = replacePending && queue.replaceOrderedBroadcastLocked(r);
             if (!replaced) {
@@ -16058,7 +16175,7 @@
 
     public void finishReceiver(IBinder who, int resultCode, String resultData,
             Bundle resultExtras, boolean resultAbort, int flags) {
-        if (DEBUG_BROADCAST) Slog.v(TAG, "Finish receiver: " + who);
+        if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, "Finish receiver: " + who);
 
         // Refuse possible leaked file descriptors
         if (resultExtras != null && resultExtras.hasFileDescriptors()) {
@@ -16455,8 +16572,8 @@
     @Override
     public boolean shouldUpRecreateTask(IBinder token, String destAffinity) {
         synchronized (this) {
-            ActivityRecord srec = ActivityRecord.forToken(token);
-            if (srec.task != null && srec.task.stack != null) {
+            ActivityRecord srec = ActivityRecord.forTokenLocked(token);
+            if (srec != null) {
                 return srec.task.stack.shouldUpRecreateTaskLocked(srec, destAffinity);
             }
         }
@@ -16467,16 +16584,19 @@
             Intent resultData) {
 
         synchronized (this) {
-            final ActivityStack stack = ActivityRecord.getStackLocked(token);
-            if (stack != null) {
-                return stack.navigateUpToLocked(token, destIntent, resultCode, resultData);
+            final ActivityRecord r = ActivityRecord.forTokenLocked(token);
+            if (r != null) {
+                return r.task.stack.navigateUpToLocked(r, destIntent, resultCode, resultData);
             }
             return false;
         }
     }
 
     public int getLaunchedFromUid(IBinder activityToken) {
-        ActivityRecord srec = ActivityRecord.forToken(activityToken);
+        ActivityRecord srec;
+        synchronized (this) {
+            srec = ActivityRecord.forTokenLocked(activityToken);
+        }
         if (srec == null) {
             return -1;
         }
@@ -16484,7 +16604,10 @@
     }
 
     public String getLaunchedFromPackage(IBinder activityToken) {
-        ActivityRecord srec = ActivityRecord.forToken(activityToken);
+        ActivityRecord srec;
+        synchronized (this) {
+            srec = ActivityRecord.forTokenLocked(activityToken);
+        }
         if (srec == null) {
             return null;
         }
@@ -16824,7 +16947,7 @@
         if (mBackupTarget != null && app == mBackupTarget.app) {
             // If possible we want to avoid killing apps while they're being backed up
             if (adj > ProcessList.BACKUP_APP_ADJ) {
-                if (DEBUG_BACKUP) Slog.v(TAG, "oom BACKUP_APP_ADJ for " + app);
+                if (DEBUG_BACKUP) Slog.v(TAG_BACKUP, "oom BACKUP_APP_ADJ for " + app);
                 adj = ProcessList.BACKUP_APP_ADJ;
                 if (procState > ActivityManager.PROCESS_STATE_IMPORTANT_BACKGROUND) {
                     procState = ActivityManager.PROCESS_STATE_IMPORTANT_BACKGROUND;
@@ -17219,7 +17342,7 @@
     /**
      * Record new PSS sample for a process.
      */
-    void recordPssSample(ProcessRecord proc, int procState, long pss, long uss, long now) {
+    void recordPssSampleLocked(ProcessRecord proc, int procState, long pss, long uss, long now) {
         EventLogTags.writeAmPss(proc.pid, proc.uid, proc.processName, pss*1024, uss*1024);
         proc.lastPssTime = now;
         proc.baseProcessTracker.addPss(pss, uss, true, proc.pkgList);
@@ -17233,6 +17356,67 @@
         if (procState >= ActivityManager.PROCESS_STATE_HOME) {
             proc.lastCachedPss = pss;
         }
+
+        Long check = mMemWatchProcesses.get(proc.processName);
+        if (check != null) {
+            if ((pss*1024) >= check && proc.thread != null && mMemWatchDumpProcName == null) {
+                boolean isDebuggable = "1".equals(SystemProperties.get(SYSTEM_DEBUGGABLE, "0"));
+                if (!isDebuggable) {
+                    if ((proc.info.flags&ApplicationInfo.FLAG_DEBUGGABLE) != 0) {
+                        isDebuggable = true;
+                    }
+                }
+                if (isDebuggable) {
+                    Slog.w(TAG, "Process " + proc + " exceeded pss limit " + check + "; reporting");
+                    final ProcessRecord myProc = proc;
+                    final File heapdumpFile = DumpHeapProvider.getJavaFile();
+                    mMemWatchDumpProcName = proc.processName;
+                    mMemWatchDumpFile = heapdumpFile.toString();
+                    mMemWatchDumpPid = proc.pid;
+                    mMemWatchDumpUid = proc.uid;
+                    BackgroundThread.getHandler().post(new Runnable() {
+                        @Override
+                        public void run() {
+                            revokeUriPermission(ActivityThread.currentActivityThread()
+                                            .getApplicationThread(),
+                                    DumpHeapActivity.JAVA_URI,
+                                    Intent.FLAG_GRANT_READ_URI_PERMISSION
+                                            | Intent.FLAG_GRANT_WRITE_URI_PERMISSION,
+                                    UserHandle.myUserId());
+                            ParcelFileDescriptor fd = null;
+                            try {
+                                heapdumpFile.delete();
+                                fd = ParcelFileDescriptor.open(heapdumpFile,
+                                        ParcelFileDescriptor.MODE_CREATE |
+                                                ParcelFileDescriptor.MODE_TRUNCATE |
+                                                ParcelFileDescriptor.MODE_READ_WRITE);
+                                IApplicationThread thread = myProc.thread;
+                                if (thread != null) {
+                                    try {
+                                        if (DEBUG_PSS) Slog.d(TAG, "Requesting dump heap from "
+                                                + myProc + " to " + heapdumpFile);
+                                        thread.dumpHeap(true, heapdumpFile.toString(), fd);
+                                    } catch (RemoteException e) {
+                                    }
+                                }
+                            } catch (FileNotFoundException e) {
+                                e.printStackTrace();
+                            } finally {
+                                if (fd != null) {
+                                    try {
+                                        fd.close();
+                                    } catch (IOException e) {
+                                    }
+                                }
+                            }
+                        }
+                    });
+                } else {
+                    Slog.w(TAG, "Process " + proc + " exceeded pss limit " + check
+                            + ", but debugging not enabled");
+                }
+            }
+        }
     }
 
     /**
@@ -17591,7 +17775,7 @@
                 // states, which well tend to give noisy data.
                 long start = SystemClock.uptimeMillis();
                 long pss = Debug.getPss(app.pid, mTmpLong, null);
-                recordPssSample(app, app.curProcState, pss, mTmpLong[0], now);
+                recordPssSampleLocked(app, app.curProcState, pss, mTmpLong[0], now);
                 mPendingPssProcesses.remove(app);
                 Slog.i(TAG, "Recorded pss for " + app + " state " + app.setProcState
                         + " to " + app.curProcState + ": "
@@ -18411,6 +18595,38 @@
         }
     }
 
+    @Override
+    public void setDumpHeapDebugLimit(String processName, long maxMemSize) {
+        enforceCallingPermission(android.Manifest.permission.SET_DEBUG_APP,
+                "setDumpHeapDebugLimit()");
+        synchronized (this) {
+            if (maxMemSize > 0) {
+                mMemWatchProcesses.put(processName, maxMemSize);
+                mHandler.sendEmptyMessage(POST_DUMP_HEAP_NOTIFICATION_MSG);
+            } else {
+                mMemWatchProcesses.remove(processName);
+            }
+        }
+    }
+
+    @Override
+    public void dumpHeapFinished(String path) {
+        synchronized (this) {
+            if (Binder.getCallingPid() != mMemWatchDumpPid) {
+                Slog.w(TAG, "dumpHeapFinished: Calling pid " + Binder.getCallingPid()
+                        + " does not match last pid " + mMemWatchDumpPid);
+                return;
+            }
+            if (mMemWatchDumpFile == null || !mMemWatchDumpFile.equals(path)) {
+                Slog.w(TAG, "dumpHeapFinished: Calling path " + path
+                        + " does not match last path " + mMemWatchDumpFile);
+                return;
+            }
+            if (DEBUG_PSS) Slog.d(TAG, "Dump heap finished for " + path);
+            mHandler.sendEmptyMessage(POST_DUMP_HEAP_NOTIFICATION_MSG);
+        }
+    }
+
     /** In this method we try to acquire our lock to make sure that we have not deadlocked */
     public void monitor() {
         synchronized (this) { }
@@ -18534,7 +18750,8 @@
                     return true;
                 }
 
-                mStackSupervisor.setLockTaskModeLocked(null, false, "startUser");
+                mStackSupervisor.setLockTaskModeLocked(null, ActivityManager.LOCK_TASK_MODE_NONE,
+                        "startUser");
 
                 final UserInfo userInfo = getUserManagerLocked().getUserInfo(userId);
                 if (userInfo == null) {
diff --git a/services/core/java/com/android/server/am/ActivityRecord.java b/services/core/java/com/android/server/am/ActivityRecord.java
index 0cbc9d7..ca2721c 100755
--- a/services/core/java/com/android/server/am/ActivityRecord.java
+++ b/services/core/java/com/android/server/am/ActivityRecord.java
@@ -16,6 +16,9 @@
 
 package com.android.server.am;
 
+import static com.android.server.am.ActivityManagerDebugConfig.*;
+import static com.android.server.am.ActivityManagerService.DEBUG_SWITCH;
+import static com.android.server.am.ActivityManagerService.DEBUG_THUMBNAILS;
 import static com.android.server.am.TaskPersister.DEBUG_PERSISTER;
 import static com.android.server.am.TaskPersister.DEBUG_RESTORER;
 import static com.android.server.am.TaskRecord.INVALID_TASK_ID;
@@ -71,7 +74,8 @@
  * An entry in the history stack, representing an activity.
  */
 final class ActivityRecord {
-    static final String TAG = ActivityManagerService.TAG;
+    private static final String TAG = TAG_WITH_CLASS_NAME ? "ActivityRecord" : TAG_AM;
+
     static final boolean DEBUG_SAVED_STATE = ActivityStackSupervisor.DEBUG_SAVED_STATE;
     final public static String RECENTS_PACKAGE_NAME = "com.android.systemui.recents";
 
@@ -316,44 +320,83 @@
     }
 
     static class Token extends IApplicationToken.Stub {
-        final WeakReference<ActivityRecord> weakActivity;
+        private final WeakReference<ActivityRecord> weakActivity;
+        private final ActivityManagerService mService;
 
-        Token(ActivityRecord activity) {
-            weakActivity = new WeakReference<ActivityRecord>(activity);
+        Token(ActivityRecord activity, ActivityManagerService service) {
+            weakActivity = new WeakReference<>(activity);
+            mService = service;
         }
 
-        @Override public void windowsDrawn() {
-            ActivityRecord activity = weakActivity.get();
-            if (activity != null) {
-                activity.windowsDrawn();
+        @Override
+        public void windowsDrawn() {
+            synchronized (mService) {
+                ActivityRecord r = tokenToActivityRecordLocked(this);
+                if (r != null) {
+                    r.windowsDrawnLocked();
+                }
             }
         }
 
-        @Override public void windowsVisible() {
-            ActivityRecord activity = weakActivity.get();
-            if (activity != null) {
-                activity.windowsVisible();
+        @Override
+        public void windowsVisible() {
+            synchronized (mService) {
+                ActivityRecord r = tokenToActivityRecordLocked(this);
+                if (r != null) {
+                    r.windowsVisibleLocked();
+                }
             }
         }
 
-        @Override public void windowsGone() {
-            ActivityRecord activity = weakActivity.get();
-            if (activity != null) {
-                activity.windowsGone();
+        @Override
+        public void windowsGone() {
+            synchronized (mService) {
+                ActivityRecord r = tokenToActivityRecordLocked(this);
+                if (r != null) {
+                    if (DEBUG_SWITCH) Log.v(TAG, "windowsGone(): " + r);
+                    r.nowVisible = false;
+                    return;
+                }
             }
         }
 
-        @Override public boolean keyDispatchingTimedOut(String reason) {
-            ActivityRecord activity = weakActivity.get();
-            return activity != null && activity.keyDispatchingTimedOut(reason);
+        @Override
+        public boolean keyDispatchingTimedOut(String reason) {
+            ActivityRecord r;
+            ActivityRecord anrActivity;
+            ProcessRecord anrApp;
+            synchronized (mService) {
+                r = tokenToActivityRecordLocked(this);
+                if (r == null) {
+                    return false;
+                }
+                anrActivity = r.getWaitingHistoryRecordLocked();
+                anrApp = r != null ? r.app : null;
+            }
+            return mService.inputDispatchingTimedOut(anrApp, anrActivity, r, false, reason);
         }
 
-        @Override public long getKeyDispatchingTimeout() {
-            ActivityRecord activity = weakActivity.get();
-            if (activity != null) {
-                return activity.getKeyDispatchingTimeout();
+        @Override
+        public long getKeyDispatchingTimeout() {
+            synchronized (mService) {
+                ActivityRecord r = tokenToActivityRecordLocked(this);
+                if (r == null) {
+                    return 0;
+                }
+                r = r.getWaitingHistoryRecordLocked();
+                return ActivityManagerService.getInputDispatchingTimeoutLocked(r);
             }
-            return 0;
+        }
+
+        private static final ActivityRecord tokenToActivityRecordLocked(Token token) {
+            if (token == null) {
+                return null;
+            }
+            ActivityRecord r = token.weakActivity.get();
+            if (r == null || r.task == null || r.task.stack == null) {
+                return null;
+            }
+            return r;
         }
 
         @Override
@@ -368,11 +411,11 @@
         }
     }
 
-    static ActivityRecord forToken(IBinder token) {
+    static ActivityRecord forTokenLocked(IBinder token) {
         try {
-            return token != null ? ((Token)token).weakActivity.get() : null;
+            return Token.tokenToActivityRecordLocked((Token)token);
         } catch (ClassCastException e) {
-            Slog.w(ActivityManagerService.TAG, "Bad activity token: " + token, e);
+            Slog.w(TAG, "Bad activity token: " + token, e);
             return null;
         }
     }
@@ -388,7 +431,7 @@
             boolean _componentSpecified, ActivityStackSupervisor supervisor,
             ActivityContainer container, Bundle options) {
         service = _service;
-        appToken = new Token(this);
+        appToken = new Token(this, service);
         info = aInfo;
         launchedFromUid = _launchedFromUid;
         launchedFromPackage = _launchedFromPackage;
@@ -525,13 +568,8 @@
     }
 
     void setTask(TaskRecord newTask, TaskRecord taskToAffiliateWith) {
-        if (task != null && task.removeActivity(this)) {
-            if (task != newTask) {
-                task.stack.removeTask(task, "setTask");
-            } else {
-                Slog.d(TAG, "!!! REMOVE THIS LOG !!! setTask: nearly removed stack=" +
-                        (newTask == null ? null : newTask.stack));
-            }
+        if (task != null && task.removeActivity(this) && task != newTask && task.stack != null) {
+            task.stack.removeTask(task, "setTask");
         }
         task = newTask;
         setTaskToAffiliateWith(taskToAffiliateWith);
@@ -577,6 +615,10 @@
         return inHistory;
     }
 
+    boolean isInStackLocked() {
+        return task != null && task.stack != null && task.stack.isInStackLocked(this) != null;
+    }
+
     boolean isHomeActivity() {
         return mActivityType == HOME_ACTIVITY_TYPE;
     }
@@ -596,9 +638,10 @@
                         (intent.getFlags() & Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS) == 0);
     }
 
-    void makeFinishing() {
+    void makeFinishingLocked() {
         if (!finishing) {
-            if (this == task.stack.getVisibleBehindActivity()) {
+            if (task != null && task.stack != null
+                    && this == task.stack.getVisibleBehindActivity()) {
                 // A finishing activity should not remain as visible in the background
                 mStackSupervisor.requestVisibleBehindLocked(this, false);
             }
@@ -667,8 +710,9 @@
         // stack.
         final ReferrerIntent rintent = new ReferrerIntent(intent, referrer);
         boolean unsent = true;
-        if ((state == ActivityState.RESUMED || (service.isSleeping()
-                        && task.stack.topRunningActivityLocked(null) == this))
+        if ((state == ActivityState.RESUMED
+                || (service.isSleeping() && task.stack != null
+                    && task.stack.topRunningActivityLocked(null) == this))
                 && app != null && app.thread != null) {
             try {
                 ArrayList<ReferrerIntent> ar = new ArrayList<>(1);
@@ -676,11 +720,9 @@
                 app.thread.scheduleNewIntent(ar, appToken);
                 unsent = false;
             } catch (RemoteException e) {
-                Slog.w(ActivityManagerService.TAG,
-                        "Exception thrown sending new intent to " + this, e);
+                Slog.w(TAG, "Exception thrown sending new intent to " + this, e);
             } catch (NullPointerException e) {
-                Slog.w(ActivityManagerService.TAG,
-                        "Exception thrown sending new intent to " + this, e);
+                Slog.w(TAG, "Exception thrown sending new intent to " + this, e);
             }
         }
         if (unsent) {
@@ -820,7 +862,7 @@
 
     void updateThumbnailLocked(Bitmap newThumbnail, CharSequence description) {
         if (newThumbnail != null) {
-            if (ActivityManagerService.DEBUG_THUMBNAILS) Slog.i(ActivityManagerService.TAG,
+            if (DEBUG_THUMBNAILS) Slog.i(TAG,
                     "Setting thumbnail of " + this + " to " + newThumbnail);
             boolean thumbnailUpdated = task.setLastThumbnail(newThumbnail);
             if (thumbnailUpdated && isPersistable()) {
@@ -841,19 +883,27 @@
     }
 
     boolean continueLaunchTickingLocked() {
-        if (launchTickTime != 0) {
-            final ActivityStack stack = task.stack;
-            Message msg = stack.mHandler.obtainMessage(ActivityStack.LAUNCH_TICK_MSG, this);
-            stack.mHandler.removeMessages(ActivityStack.LAUNCH_TICK_MSG);
-            stack.mHandler.sendMessageDelayed(msg, ActivityStack.LAUNCH_TICK);
-            return true;
+        if (launchTickTime == 0) {
+            return false;
         }
-        return false;
+
+        final ActivityStack stack = task.stack;
+        if (stack == null) {
+            return false;
+        }
+
+        Message msg = stack.mHandler.obtainMessage(ActivityStack.LAUNCH_TICK_MSG, this);
+        stack.mHandler.removeMessages(ActivityStack.LAUNCH_TICK_MSG);
+        stack.mHandler.sendMessageDelayed(msg, ActivityStack.LAUNCH_TICK);
+        return true;
     }
 
     void finishLaunchTickingLocked() {
         launchTickTime = 0;
-        task.stack.mHandler.removeMessages(ActivityStack.LAUNCH_TICK_MSG);
+        final ActivityStack stack = task.stack;
+        if (stack != null) {
+            stack.mHandler.removeMessages(ActivityStack.LAUNCH_TICK_MSG);
+        }
     }
 
     // IApplicationToken
@@ -884,8 +934,8 @@
         if (displayStartTime != 0) {
             reportLaunchTimeLocked(curTime);
         }
-        if (fullyDrawnStartTime != 0) {
-            final ActivityStack stack = task.stack;
+        final ActivityStack stack = task.stack;
+        if (fullyDrawnStartTime != 0 && stack != null) {
             final long thisTime = curTime - fullyDrawnStartTime;
             final long totalTime = stack.mFullyDrawnStartTime != 0
                     ? (curTime - stack.mFullyDrawnStartTime) : thisTime;
@@ -905,18 +955,21 @@
                     TimeUtils.formatDuration(totalTime, sb);
                     sb.append(")");
                 }
-                Log.i(ActivityManagerService.TAG, sb.toString());
+                Log.i(TAG, sb.toString());
             }
             if (totalTime > 0) {
                 //service.mUsageStatsService.noteFullyDrawnTime(realActivity, (int) totalTime);
             }
-            fullyDrawnStartTime = 0;
             stack.mFullyDrawnStartTime = 0;
         }
+        fullyDrawnStartTime = 0;
     }
 
     private void reportLaunchTimeLocked(final long curTime) {
         final ActivityStack stack = task.stack;
+        if (stack == null) {
+            return;
+        }
         final long thisTime = curTime - displayStartTime;
         final long totalTime = stack.mLaunchStartTime != 0
                 ? (curTime - stack.mLaunchStartTime) : thisTime;
@@ -936,7 +989,7 @@
                 TimeUtils.formatDuration(totalTime, sb);
                 sb.append(")");
             }
-            Log.i(ActivityManagerService.TAG, sb.toString());
+            Log.i(TAG, sb.toString());
         }
         mStackSupervisor.reportActivityLaunchedLocked(false, this, thisTime, totalTime);
         if (totalTime > 0) {
@@ -946,63 +999,47 @@
         stack.mLaunchStartTime = 0;
     }
 
-    public void windowsDrawn() {
-        synchronized(service) {
-            if (displayStartTime != 0) {
-                reportLaunchTimeLocked(SystemClock.uptimeMillis());
-            }
-            mStackSupervisor.sendWaitingVisibleReportLocked(this);
-            startTime = 0;
-            finishLaunchTickingLocked();
-            if (task != null) {
-                task.hasBeenVisible = true;
-            }
+    void windowsDrawnLocked() {
+        if (displayStartTime != 0) {
+            reportLaunchTimeLocked(SystemClock.uptimeMillis());
+        }
+        mStackSupervisor.sendWaitingVisibleReportLocked(this);
+        startTime = 0;
+        finishLaunchTickingLocked();
+        if (task != null) {
+            task.hasBeenVisible = true;
         }
     }
 
-    public void windowsVisible() {
-        synchronized(service) {
-            mStackSupervisor.reportActivityVisibleLocked(this);
-            if (ActivityManagerService.DEBUG_SWITCH) Log.v(
-                    ActivityManagerService.TAG, "windowsVisible(): " + this);
-            if (!nowVisible) {
-                nowVisible = true;
-                lastVisibleTime = SystemClock.uptimeMillis();
-                if (!idle) {
-                    // Instead of doing the full stop routine here, let's just
-                    // hide any activities we now can, and let them stop when
-                    // the normal idle happens.
-                    mStackSupervisor.processStoppingActivitiesLocked(false);
-                } else {
-                    // If this activity was already idle, then we now need to
-                    // make sure we perform the full stop of any activities
-                    // that are waiting to do so.  This is because we won't
-                    // do that while they are still waiting for this one to
-                    // become visible.
-                    final int N = mStackSupervisor.mWaitingVisibleActivities.size();
-                    if (N > 0) {
-                        for (int i=0; i<N; i++) {
-                            ActivityRecord r = mStackSupervisor.mWaitingVisibleActivities.get(i);
-                            if (ActivityManagerService.DEBUG_SWITCH) Log.v(
-                                    ActivityManagerService.TAG,
-                                    "Was waiting for visible: " + r);
-                        }
-                        mStackSupervisor.mWaitingVisibleActivities.clear();
-                        mStackSupervisor.scheduleIdleLocked();
+    void windowsVisibleLocked() {
+        mStackSupervisor.reportActivityVisibleLocked(this);
+        if (DEBUG_SWITCH) Log.v(TAG, "windowsVisibleLocked(): " + this);
+        if (!nowVisible) {
+            nowVisible = true;
+            lastVisibleTime = SystemClock.uptimeMillis();
+            if (!idle) {
+                // Instead of doing the full stop routine here, let's just hide any activities
+                // we now can, and let them stop when the normal idle happens.
+                mStackSupervisor.processStoppingActivitiesLocked(false);
+            } else {
+                // If this activity was already idle, then we now need to make sure we perform
+                // the full stop of any activities that are waiting to do so. This is because
+                // we won't do that while they are still waiting for this one to become visible.
+                final int size = mStackSupervisor.mWaitingVisibleActivities.size();
+                if (size > 0) {
+                    for (int i = 0; i < size; i++) {
+                        ActivityRecord r = mStackSupervisor.mWaitingVisibleActivities.get(i);
+                        if (DEBUG_SWITCH) Log.v(TAG, "Was waiting for visible: " + r);
                     }
+                    mStackSupervisor.mWaitingVisibleActivities.clear();
+                    mStackSupervisor.scheduleIdleLocked();
                 }
-                service.scheduleAppGcsLocked();
             }
+            service.scheduleAppGcsLocked();
         }
     }
 
-    public void windowsGone() {
-        if (ActivityManagerService.DEBUG_SWITCH) Log.v(
-                ActivityManagerService.TAG, "windowsGone(): " + this);
-        nowVisible = false;
-    }
-
-    private ActivityRecord getWaitingHistoryRecordLocked() {
+    ActivityRecord getWaitingHistoryRecordLocked() {
         // First find the real culprit...  if we are waiting
         // for another app to start, then we have paused dispatching
         // for this activity.
@@ -1023,24 +1060,6 @@
         return r;
     }
 
-    public boolean keyDispatchingTimedOut(String reason) {
-        ActivityRecord r;
-        ProcessRecord anrApp;
-        synchronized(service) {
-            r = getWaitingHistoryRecordLocked();
-            anrApp = r != null ? r.app : null;
-        }
-        return service.inputDispatchingTimedOut(anrApp, r, this, false, reason);
-    }
-
-    /** Returns the key dispatching timeout for this application token. */
-    public long getKeyDispatchingTimeout() {
-        synchronized(service) {
-            ActivityRecord r = getWaitingHistoryRecordLocked();
-            return ActivityManagerService.getInputDispatchingTimeoutLocked(r);
-        }
-    }
-
     /**
      * This method will return true if the activity is either visible, is becoming visible, is
      * currently pausing, or is resumed.
@@ -1068,14 +1087,14 @@
     }
 
     static void activityResumedLocked(IBinder token) {
-        final ActivityRecord r = ActivityRecord.forToken(token);
+        final ActivityRecord r = ActivityRecord.forTokenLocked(token);
         if (DEBUG_SAVED_STATE) Slog.i(TAG, "Resumed activity; dropping state of: " + r);
         r.icicle = null;
         r.haveState = false;
     }
 
     static int getTaskForActivityLocked(IBinder token, boolean onlyRoot) {
-        final ActivityRecord r = ActivityRecord.forToken(token);
+        final ActivityRecord r = ActivityRecord.forTokenLocked(token);
         if (r == null) {
             return INVALID_TASK_ID;
         }
@@ -1088,7 +1107,7 @@
     }
 
     static ActivityRecord isInStackLocked(IBinder token) {
-        final ActivityRecord r = ActivityRecord.forToken(token);
+        final ActivityRecord r = ActivityRecord.forTokenLocked(token);
         return (r != null) ? r.task.stack.isInStackLocked(r) : null;
     }
 
diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java
index c3343f5..be95268 100644
--- a/services/core/java/com/android/server/am/ActivityStack.java
+++ b/services/core/java/com/android/server/am/ActivityStack.java
@@ -16,9 +16,7 @@
 
 package com.android.server.am;
 
-import static com.android.server.am.ActivityManagerService.TAG;
-import static com.android.server.am.ActivityManagerService.localLOGV;
-import static com.android.server.am.ActivityManagerService.DEBUG_CLEANUP;
+import static com.android.server.am.ActivityManagerDebugConfig.*;
 import static com.android.server.am.ActivityManagerService.DEBUG_CONFIGURATION;
 import static com.android.server.am.ActivityManagerService.DEBUG_PAUSE;
 import static com.android.server.am.ActivityManagerService.DEBUG_RESULTS;
@@ -97,6 +95,9 @@
  */
 final class ActivityStack {
 
+    private static final String TAG = TAG_WITH_CLASS_NAME ? "ActivityStack" : TAG_AM;
+    private static final String TAG_CLEANUP = TAG + POSTFIX_CLEANUP;
+
     // Ticks during which we check progress while waiting for an app to launch.
     static final int LAUNCH_TICK = 500;
 
@@ -264,9 +265,7 @@
     final Handler mHandler;
 
     final class ActivityStackHandler extends Handler {
-        //public Handler() {
-        //    if (localLOGV) Slog.v(TAG, "Handler started!");
-        //}
+
         ActivityStackHandler(Looper looper) {
             super(looper);
         }
@@ -462,7 +461,7 @@
     }
 
     ActivityRecord isInStackLocked(IBinder token) {
-        final ActivityRecord r = ActivityRecord.forToken(token);
+        final ActivityRecord r = ActivityRecord.forTokenLocked(token);
         return isInStackLocked(r);
     }
 
@@ -471,7 +470,8 @@
             return null;
         }
         final TaskRecord task = r.task;
-        if (task != null && task.mActivities.contains(r) && mTaskHistory.contains(task)) {
+        if (task != null && task.stack != null
+                && task.mActivities.contains(r) && mTaskHistory.contains(task)) {
             if (task.stack != this) Slog.w(TAG,
                     "Illegal state! task does not point to stack it is in.");
             return r;
@@ -496,11 +496,20 @@
 
     final void moveToFront(String reason) {
         if (isAttached()) {
-            if (isOnHomeDisplay()) {
-                mStackSupervisor.moveHomeStack(isHomeStack(), reason);
+            final boolean homeStack = isHomeStack()
+                    || (mActivityContainer.mParentActivity != null
+                        && mActivityContainer.mParentActivity.isHomeActivity());
+            ActivityStack lastFocusStack = null;
+            if (!homeStack) {
+                // Need to move this stack to the front before calling
+                // {@link ActivityStackSupervisor#moveHomeStack} below.
+                lastFocusStack = mStacks.get(mStacks.size() - 1);
+                mStacks.remove(this);
+                mStacks.add(this);
             }
-            mStacks.remove(this);
-            mStacks.add(this);
+            if (isOnHomeDisplay()) {
+                mStackSupervisor.moveHomeStack(homeStack, reason, lastFocusStack);
+            }
             final TaskRecord task = topTask();
             if (task != null) {
                 mWindowManager.moveTaskToTop(task.taskId);
@@ -1585,7 +1594,8 @@
                         "resumeTopActivityLocked: Launching home next");
                 final int returnTaskType = prevTask == null || !prevTask.isOverHomeStack() ?
                         HOME_ACTIVITY_TYPE : prevTask.getTaskToReturnTo();
-                return mStackSupervisor.resumeHomeStackTask(returnTaskType, prev, "prevFinished");
+                return isOnHomeDisplay() &&
+                        mStackSupervisor.resumeHomeStackTask(returnTaskType, prev, "prevFinished");
             }
         }
 
@@ -2500,9 +2510,11 @@
         }
 
         int taskNdx = mTaskHistory.indexOf(task);
-        do {
-            taskTop = mTaskHistory.get(taskNdx--).getTopActivity();
-        } while (taskTop == null && taskNdx >= 0);
+        if (taskNdx >= 0) {
+            do {
+                taskTop = mTaskHistory.get(taskNdx--).getTopActivity();
+            } while (taskTop == null && taskNdx >= 0);
+        }
 
         if (topOptions != null) {
             // If we got some ActivityOptions from an activity on top that
@@ -2580,7 +2592,6 @@
         if (top == null) {
             return false;
         }
-        stack.moveToFront(myReason);
         mService.setFocusedActivityLocked(top, myReason);
         return true;
     }
@@ -2788,7 +2799,7 @@
             return false;
         }
 
-        r.makeFinishing();
+        r.makeFinishingLocked();
         final TaskRecord task = r.task;
         EventLog.writeEvent(EventLogTags.AM_FINISH_ACTIVITY,
                 r.userId, System.identityHashCode(r),
@@ -2891,7 +2902,7 @@
                 || prevState == ActivityState.INITIALIZING) {
             // If this activity is already stopped, we can just finish
             // it right now.
-            r.makeFinishing();
+            r.makeFinishingLocked();
             boolean activityRemoved = destroyActivityLocked(r, true, "finish-imm");
             if (activityRemoved) {
                 mStackSupervisor.resumeTopActivitiesLocked();
@@ -2904,7 +2915,7 @@
 
         // Need to go through the full pause cycle to get this
         // activity into the stopped state and then finish it.
-        if (localLOGV) Slog.v(TAG, "Enqueueing pending finish: " + r);
+        if (DEBUG_ALL) Slog.v(TAG, "Enqueueing pending finish: " + r);
         mStackSupervisor.mFinishingActivities.add(r);
         r.resumeKeyDispatchingLocked();
         mStackSupervisor.getFocusedStack().resumeTopActivityLocked(null);
@@ -2967,9 +2978,8 @@
         return false;
     }
 
-    final boolean navigateUpToLocked(IBinder token, Intent destIntent, int resultCode,
+    final boolean navigateUpToLocked(ActivityRecord srec, Intent destIntent, int resultCode,
             Intent resultData) {
-        final ActivityRecord srec = ActivityRecord.forToken(token);
         final TaskRecord task = srec.task;
         final ArrayList<ActivityRecord> activities = task.mActivities;
         final int start = activities.indexOf(srec);
@@ -3116,7 +3126,7 @@
     private void removeActivityFromHistoryLocked(ActivityRecord r, String reason) {
         mStackSupervisor.removeChildActivityContainers(r);
         finishActivityResultsLocked(r, Activity.RESULT_CANCELED, null);
-        r.makeFinishing();
+        r.makeFinishingLocked();
         if (DEBUG_ADD_REMOVE) {
             RuntimeException here = new RuntimeException("here");
             here.fillInStackTrace();
@@ -3357,7 +3367,7 @@
     final void activityDestroyedLocked(IBinder token, String reason) {
         final long origId = Binder.clearCallingIdentity();
         try {
-            ActivityRecord r = ActivityRecord.forToken(token);
+            ActivityRecord r = ActivityRecord.forTokenLocked(token);
             if (r != null) {
                 mHandler.removeMessages(DESTROY_TIMEOUT_MSG, r);
             }
@@ -3427,15 +3437,14 @@
     private void removeHistoryRecordsForAppLocked(ArrayList<ActivityRecord> list,
             ProcessRecord app, String listName) {
         int i = list.size();
-        if (DEBUG_CLEANUP) Slog.v(
-            TAG, "Removing app " + app + " from list " + listName
-            + " with " + i + " entries");
+        if (DEBUG_CLEANUP) Slog.v(TAG_CLEANUP,
+            "Removing app " + app + " from list " + listName + " with " + i + " entries");
         while (i > 0) {
             i--;
             ActivityRecord r = list.get(i);
-            if (DEBUG_CLEANUP) Slog.v(TAG, "Record #" + i + " " + r);
+            if (DEBUG_CLEANUP) Slog.v(TAG_CLEANUP, "Record #" + i + " " + r);
             if (r.app == app) {
-                if (DEBUG_CLEANUP) Slog.v(TAG, "---> REMOVING this entry!");
+                if (DEBUG_CLEANUP) Slog.v(TAG_CLEANUP, "---> REMOVING this entry!");
                 list.remove(i);
                 removeTimeoutsForActivityLocked(r);
             }
@@ -3457,15 +3466,15 @@
 
         // Clean out the history list.
         int i = numActivities();
-        if (DEBUG_CLEANUP) Slog.v(
-            TAG, "Removing app " + app + " from history with " + i + " entries");
+        if (DEBUG_CLEANUP) Slog.v(TAG_CLEANUP,
+                "Removing app " + app + " from history with " + i + " entries");
         for (int taskNdx = mTaskHistory.size() - 1; taskNdx >= 0; --taskNdx) {
             final ArrayList<ActivityRecord> activities = mTaskHistory.get(taskNdx).mActivities;
             for (int activityNdx = activities.size() - 1; activityNdx >= 0; --activityNdx) {
                 final ActivityRecord r = activities.get(activityNdx);
                 --i;
-                if (DEBUG_CLEANUP) Slog.v(
-                    TAG, "Record #" + i + " " + r + ": app=" + r.app);
+                if (DEBUG_CLEANUP) Slog.v(TAG_CLEANUP,
+                        "Record #" + i + " " + r + ": app=" + r.app);
                 if (r.app == app) {
                     final boolean remove;
                     if ((!r.haveState && !r.stateNotNeeded) || r.finishing) {
@@ -3504,7 +3513,7 @@
                     } else {
                         // We have the current state for this activity, so
                         // it can be restarted later when needed.
-                        if (localLOGV) Slog.v(
+                        if (DEBUG_ALL) Slog.v(
                             TAG, "Keeping entry, setting app to null");
                         if (r.visible) {
                             hasVisibleActivities = true;
@@ -3656,8 +3665,7 @@
             }
         }
 
-        if (DEBUG_TRANSITION) Slog.v(TAG,
-                "Prepare to back transition: task=" + taskId);
+        if (DEBUG_TRANSITION) Slog.v(TAG, "Prepare to back transition: task=" + taskId);
 
         boolean prevIsHome = false;
         if (tr.isOverHomeStack()) {
@@ -3940,7 +3948,7 @@
                 }
             }
         }
-        final ActivityRecord r = ActivityRecord.forToken(token);
+        final ActivityRecord r = ActivityRecord.forTokenLocked(token);
         if (r == null) {
             return false;
         }
@@ -4041,7 +4049,7 @@
                     numRunning++;
                 }
 
-                if (localLOGV) Slog.v(
+                if (DEBUG_ALL) Slog.v(
                     TAG, r.intent.getComponent().flattenToShortString()
                     + ": task=" + r.task);
             }
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index 907381e..cbbb11a8 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -20,7 +20,7 @@
 import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
 import static android.content.Intent.FLAG_ACTIVITY_TASK_ON_HOME;
 import static android.content.pm.PackageManager.PERMISSION_GRANTED;
-import static com.android.server.am.ActivityManagerService.localLOGV;
+import static com.android.server.am.ActivityManagerDebugConfig.*;
 import static com.android.server.am.ActivityManagerService.DEBUG_CONFIGURATION;
 import static com.android.server.am.ActivityManagerService.DEBUG_FOCUS;
 import static com.android.server.am.ActivityManagerService.DEBUG_PAUSE;
@@ -31,7 +31,6 @@
 import static com.android.server.am.ActivityManagerService.DEBUG_TASKS;
 import static com.android.server.am.ActivityManagerService.DEBUG_USER_LEAVING;
 import static com.android.server.am.ActivityManagerService.FIRST_SUPERVISOR_STACK_MSG;
-import static com.android.server.am.ActivityManagerService.TAG;
 import static com.android.server.am.ActivityRecord.HOME_ACTIVITY_TYPE;
 import static com.android.server.am.ActivityRecord.RECENTS_ACTIVITY_TYPE;
 import static com.android.server.am.ActivityRecord.APPLICATION_ACTIVITY_TYPE;
@@ -70,6 +69,7 @@
 import android.hardware.display.VirtualDisplay;
 import android.hardware.input.InputManager;
 import android.hardware.input.InputManagerInternal;
+import android.net.Uri;
 import android.os.Binder;
 import android.os.Bundle;
 import android.os.Debug;
@@ -115,7 +115,9 @@
 import java.util.List;
 
 public final class ActivityStackSupervisor implements DisplayListener {
-    static final boolean DEBUG = ActivityManagerService.DEBUG || false;
+    private static final String TAG = TAG_WITH_CLASS_NAME ? "ActivityStackSupervisor" : TAG_AM;
+
+    static final boolean DEBUG = DEBUG_ALL || false;
     static final boolean DEBUG_ADD_REMOVE = DEBUG || false;
     static final boolean DEBUG_APP = DEBUG || false;
     static final boolean DEBUG_CONTAINERS = DEBUG || false;
@@ -266,9 +268,11 @@
     /** If non-null then the task specified remains in front and no other tasks may be started
      * until the task exits or #stopLockTaskMode() is called. */
     TaskRecord mLockTaskModeTask;
-    /** Whether lock task has been entered by an authorized app and cannot
-     * be exited. */
-    private boolean mLockTaskIsLocked;
+    /** Store the current lock task mode. Possible values:
+     * {@link ActivityManager#LOCK_TASK_MODE_NONE}, {@link ActicityManager#LOCK_TASK_MODE_LOCKED},
+     * {@link ActicityManager#LOCK_TASK_MODE_PINNED}
+     */
+    private int mLockTaskModeState;
     /**
      * Notifies the user when entering/exiting lock-task.
      */
@@ -386,21 +390,26 @@
         return mLastFocusedStack;
     }
 
-    /** Top of all visible stacks. Use {@link ActivityStack#isStackVisibleLocked} to determine if a
-     * specific stack is visible or not. */
+    /** Top of all visible stacks is/should always be equal to the focused stack.
+     * Use {@link ActivityStack#isStackVisibleLocked} to determine if a specific
+     * stack is visible or not. */
     boolean isFrontStack(ActivityStack stack) {
+        if (stack == null) {
+            return false;
+        }
+
         final ActivityRecord parent = stack.mActivityContainer.mParentActivity;
         if (parent != null) {
             stack = parent.task.stack;
         }
-        ArrayList<ActivityStack> stacks = stack.mStacks;
-        if (stacks != null && !stacks.isEmpty()) {
-            return stack == stacks.get(stacks.size() - 1);
-        }
-        return false;
+        return stack == mFocusedStack;
     }
 
     void moveHomeStack(boolean toFront, String reason) {
+        moveHomeStack(toFront, reason, null);
+    }
+
+    void moveHomeStack(boolean toFront, String reason, ActivityStack lastFocusedStack) {
         ArrayList<ActivityStack> stacks = mHomeStack.mStacks;
         final int topNdx = stacks.size() - 1;
         if (topNdx <= 0) {
@@ -409,13 +418,17 @@
         ActivityStack topStack = stacks.get(topNdx);
         final boolean homeInFront = topStack == mHomeStack;
         if (homeInFront != toFront) {
-            mLastFocusedStack = topStack;
             stacks.remove(mHomeStack);
             stacks.add(toFront ? topNdx : 0, mHomeStack);
-            mFocusedStack = stacks.get(topNdx);
             if (DEBUG_STACK) Slog.d(TAG, "moveHomeTask: topStack old=" + topStack + " new="
                     + mFocusedStack);
         }
+
+        if (lastFocusedStack != null) {
+            mLastFocusedStack = lastFocusedStack;
+        }
+        mFocusedStack = stacks.get(topNdx);
+
         EventLog.writeEvent(EventLogTags.AM_HOME_STACK_MOVED,
                 mCurrentUser, toFront ? 1 : 0, stacks.get(topNdx).getStackId(),
                 mFocusedStack == null ? -1 : mFocusedStack.getStackId(), reason);
@@ -871,6 +884,11 @@
 
         ActivityContainer container = (ActivityContainer)iContainer;
         synchronized (mService) {
+            if (container != null && container.mParentActivity != null &&
+                    container.mParentActivity.state != ActivityState.RESUMED) {
+                // Cannot start a child activity if the parent is not resumed.
+                return ActivityManager.START_CANCELED;
+            }
             final int realCallingPid = Binder.getCallingPid();
             final int realCallingUid = Binder.getCallingUid();
             int callingPid;
@@ -1127,7 +1145,7 @@
         r.launchCount++;
         r.lastLaunchTime = SystemClock.uptimeMillis();
 
-        if (localLOGV) Slog.v(TAG, "Launching: " + r);
+        if (DEBUG_ALL) Slog.v(TAG, "Launching: " + r);
 
         int idx = app.activities.indexOf(r);
         if (idx < 0) {
@@ -1366,6 +1384,9 @@
                 return ActivityManager.START_FORWARD_AND_REQUEST_CONFLICT;
             }
             resultRecord = sourceRecord.resultTo;
+            if (resultRecord != null && !resultRecord.isInStackLocked()) {
+                resultRecord = null;
+            }
             resultWho = sourceRecord.resultWho;
             requestCode = sourceRecord.requestCode;
             sourceRecord.resultTo = null;
@@ -1541,25 +1562,27 @@
         return err;
     }
 
-    ActivityStack adjustStackFocus(ActivityRecord r, boolean newTask) {
+    ActivityStack computeStackFocus(ActivityRecord r, boolean newTask) {
         final TaskRecord task = r.task;
 
         // On leanback only devices we should keep all activities in the same stack.
         if (!mLeanbackOnlyDevice &&
                 (r.isApplicationActivity() || (task != null && task.isApplicationTask()))) {
-            if (task != null) {
-                final ActivityStack taskStack = task.stack;
-                if (taskStack.isOnHomeDisplay()) {
-                    if (mFocusedStack != taskStack) {
-                        if (DEBUG_FOCUS || DEBUG_STACK) Slog.d(TAG, "adjustStackFocus: Setting " +
+
+            ActivityStack stack;
+
+            if (task != null && task.stack != null) {
+                stack = task.stack;
+                if (stack.isOnHomeDisplay()) {
+                    if (mFocusedStack != stack) {
+                        if (DEBUG_FOCUS || DEBUG_STACK) Slog.d(TAG, "computeStackFocus: Setting " +
                                 "focused stack to r=" + r + " task=" + task);
-                        mFocusedStack = taskStack;
                     } else {
                         if (DEBUG_FOCUS || DEBUG_STACK) Slog.d(TAG,
-                            "adjustStackFocus: Focused stack already=" + mFocusedStack);
+                            "computeStackFocus: Focused stack already=" + mFocusedStack);
                     }
                 }
-                return taskStack;
+                return stack;
             }
 
             final ActivityContainer container = r.mInitialActivityContainer;
@@ -1572,43 +1595,41 @@
             if (mFocusedStack != mHomeStack && (!newTask ||
                     mFocusedStack.mActivityContainer.isEligibleForNewTasks())) {
                 if (DEBUG_FOCUS || DEBUG_STACK) Slog.d(TAG,
-                        "adjustStackFocus: Have a focused stack=" + mFocusedStack);
+                        "computeStackFocus: Have a focused stack=" + mFocusedStack);
                 return mFocusedStack;
             }
 
             final ArrayList<ActivityStack> homeDisplayStacks = mHomeStack.mStacks;
             for (int stackNdx = homeDisplayStacks.size() - 1; stackNdx >= 0; --stackNdx) {
-                final ActivityStack stack = homeDisplayStacks.get(stackNdx);
+                stack = homeDisplayStacks.get(stackNdx);
                 if (!stack.isHomeStack()) {
                     if (DEBUG_FOCUS || DEBUG_STACK) Slog.d(TAG,
-                            "adjustStackFocus: Setting focused stack=" + stack);
-                    mFocusedStack = stack;
-                    return mFocusedStack;
+                            "computeStackFocus: Setting focused stack=" + stack);
+                    return stack;
                 }
             }
 
             // Need to create an app stack for this user.
-            mFocusedStack = createStackOnDisplay(getNextStackId(), Display.DEFAULT_DISPLAY);
-            if (DEBUG_FOCUS || DEBUG_STACK) Slog.d(TAG, "adjustStackFocus: New stack r=" + r +
-                    " stackId=" + mFocusedStack.mStackId);
-            return mFocusedStack;
+            stack = createStackOnDisplay(getNextStackId(), Display.DEFAULT_DISPLAY);
+            if (DEBUG_FOCUS || DEBUG_STACK) Slog.d(TAG, "computeStackFocus: New stack r=" + r +
+                    " stackId=" + stack.mStackId);
+            return stack;
         }
         return mHomeStack;
     }
 
-    void setFocusedStack(ActivityRecord r, String reason) {
-        if (r != null) {
-            final TaskRecord task = r.task;
-            boolean isHomeActivity = !r.isApplicationActivity();
-            if (!isHomeActivity && task != null) {
-                isHomeActivity = !task.isApplicationTask();
-            }
-            if (!isHomeActivity && task != null) {
-                final ActivityRecord parent = task.stack.mActivityContainer.mParentActivity;
-                isHomeActivity = parent != null && parent.isHomeActivity();
-            }
-            moveHomeStack(isHomeActivity, reason);
+    boolean setFocusedStack(ActivityRecord r, String reason) {
+        if (r == null) {
+            // Not sure what you are trying to do, but it is not going to work...
+            return false;
         }
+        final TaskRecord task = r.task;
+        if (task == null || task.stack == null) {
+            Slog.w(TAG, "Can't set focus stack for r=" + r + " task=" + task);
+            return false;
+        }
+        task.stack.moveToFront(reason);
+        return true;
     }
 
     final int startActivityUncheckedLocked(final ActivityRecord r, ActivityRecord sourceRecord,
@@ -1658,7 +1679,8 @@
                 && !launchSingleTask && !launchSingleInstance
                 && (launchFlags & Intent.FLAG_ACTIVITY_NEW_DOCUMENT) != 0;
 
-        if (r.resultTo != null && (launchFlags & Intent.FLAG_ACTIVITY_NEW_TASK) != 0) {
+        if (r.resultTo != null && (launchFlags & Intent.FLAG_ACTIVITY_NEW_TASK) != 0
+                && r.resultTo.task.stack != null) {
             // For whatever reason this activity is being launched into a new
             // task...  yet the caller has requested a result back.  Well, that
             // is pretty messed up, so instead immediately send back a cancel
@@ -2060,7 +2082,7 @@
             }
 
         } else {
-            if (r.resultTo != null) {
+            if (r.resultTo != null && r.resultTo.task.stack != null) {
                 r.resultTo.task.stack.sendActivityResultLocked(-1, r.resultTo, r.resultWho,
                         r.requestCode, Activity.RESULT_CANCELED, null);
             }
@@ -2082,10 +2104,9 @@
                 return ActivityManager.START_RETURN_LOCK_TASK_MODE_VIOLATION;
             }
             newTask = true;
-            targetStack = adjustStackFocus(r, newTask);
-            if (!launchTaskBehind) {
-                targetStack.moveToFront("startingNewTask");
-            }
+            targetStack = computeStackFocus(r, newTask);
+            targetStack.moveToFront("startingNewTask");
+
             if (reuseTask == null) {
                 r.setTask(targetStack.createTaskRecord(getNextTaskId(),
                         newTaskInfo != null ? newTaskInfo : r.info,
@@ -2206,7 +2227,7 @@
             // This not being started from an existing activity, and not part
             // of a new task...  just put it in the top task, though these days
             // this case should never happen.
-            targetStack = adjustStackFocus(r, newTask);
+            targetStack = computeStackFocus(r, newTask);
             targetStack.moveToFront("addingToTopTask");
             ActivityRecord prev = targetStack.topActivity();
             r.setTask(prev != null ? prev.task : targetStack.createTaskRecord(getNextTaskId(),
@@ -2284,7 +2305,7 @@
     // Checked.
     final ActivityRecord activityIdleInternalLocked(final IBinder token, boolean fromTimeout,
             Configuration config) {
-        if (localLOGV) Slog.v(TAG, "Activity idle: " + token);
+        if (DEBUG_ALL) Slog.v(TAG, "Activity idle: " + token);
 
         ArrayList<ActivityRecord> stops = null;
         ArrayList<ActivityRecord> finishes = null;
@@ -2294,7 +2315,7 @@
         boolean booting = false;
         boolean activityRemoved = false;
 
-        ActivityRecord r = ActivityRecord.forToken(token);
+        ActivityRecord r = ActivityRecord.forTokenLocked(token);
         if (r != null) {
             if (DEBUG_IDLE) Slog.d(TAG, "activityIdleInternalLocked: Callers=" +
                     Debug.getCallers(4));
@@ -2342,13 +2363,13 @@
         // Atomically retrieve all of the other things to do.
         stops = processStoppingActivitiesLocked(true);
         NS = stops != null ? stops.size() : 0;
-        if ((NF=mFinishingActivities.size()) > 0) {
-            finishes = new ArrayList<ActivityRecord>(mFinishingActivities);
+        if ((NF = mFinishingActivities.size()) > 0) {
+            finishes = new ArrayList<>(mFinishingActivities);
             mFinishingActivities.clear();
         }
 
         if (mStartingUsers.size() > 0) {
-            startingUsers = new ArrayList<UserStartedState>(mStartingUsers);
+            startingUsers = new ArrayList<>(mStartingUsers);
             mStartingUsers.clear();
         }
 
@@ -2357,10 +2378,12 @@
         for (int i = 0; i < NS; i++) {
             r = stops.get(i);
             final ActivityStack stack = r.task.stack;
-            if (r.finishing) {
-                stack.finishCurrentActivityLocked(r, ActivityStack.FINISH_IMMEDIATELY, false);
-            } else {
-                stack.stopActivityLocked(r);
+            if (stack != null) {
+                if (r.finishing) {
+                    stack.finishCurrentActivityLocked(r, ActivityStack.FINISH_IMMEDIATELY, false);
+                } else {
+                    stack.stopActivityLocked(r);
+                }
             }
         }
 
@@ -2368,7 +2391,10 @@
         // waiting for the next one to start.
         for (int i = 0; i < NF; i++) {
             r = finishes.get(i);
-            activityRemoved |= r.task.stack.destroyActivityLocked(r, true, "finish-idle");
+            final ActivityStack stack = r.task.stack;
+            if (stack != null) {
+                activityRemoved |= stack.destroyActivityLocked(r, true, "finish-idle");
+            }
         }
 
         if (!booting) {
@@ -2537,6 +2563,11 @@
             // we'll just indicate that this task returns to the home task.
             task.setTaskToReturnTo(HOME_ACTIVITY_TYPE);
         }
+        if (task.stack == null) {
+            Slog.e(TAG, "findTaskToMoveToFrontLocked: can't move task="
+                    + task + " to front. Stack is null");
+            return;
+        }
         task.stack.moveTaskToFrontLocked(task, false /* noAnimation */, options, reason);
         if (DEBUG_STACK) Slog.d(TAG, "findTaskToMoveToFront: moved to front of stack="
                 + task.stack);
@@ -3165,7 +3196,7 @@
         for (int activityNdx = mStoppingActivities.size() - 1; activityNdx >= 0; --activityNdx) {
             ActivityRecord s = mStoppingActivities.get(activityNdx);
             final boolean waitingVisible = mWaitingVisibleActivities.contains(s);
-            if (localLOGV) Slog.v(TAG, "Stopping " + s + ": nowVisible=" + nowVisible
+            if (DEBUG_ALL) Slog.v(TAG, "Stopping " + s + ": nowVisible=" + nowVisible
                     + " waitingVisible=" + waitingVisible + " finishing=" + s.finishing);
             if (waitingVisible && nowVisible) {
                 mWaitingVisibleActivities.remove(s);
@@ -3175,12 +3206,12 @@
                     // so get rid of it.  Otherwise, we need to go through the
                     // normal flow and hide it once we determine that it is
                     // hidden by the activities in front of it.
-                    if (localLOGV) Slog.v(TAG, "Before stopping, can hide: " + s);
+                    if (DEBUG_ALL) Slog.v(TAG, "Before stopping, can hide: " + s);
                     mWindowManager.setAppVisibility(s.appToken, false);
                 }
             }
             if ((!waitingVisible || mService.isSleepingOrShuttingDown()) && remove) {
-                if (localLOGV) Slog.v(TAG, "Ready to stop: " + s);
+                if (DEBUG_ALL) Slog.v(TAG, "Ready to stop: " + s);
                 if (stops == null) {
                     stops = new ArrayList<>();
                 }
@@ -3536,10 +3567,10 @@
     }
 
     void showLockTaskToast() {
-        mLockTaskNotify.showToast(mLockTaskIsLocked);
+        mLockTaskNotify.showToast(mLockTaskModeState);
     }
 
-    void setLockTaskModeLocked(TaskRecord task, boolean isLocked, String reason) {
+    void setLockTaskModeLocked(TaskRecord task, int lockTaskModeState, String reason) {
         if (task == null) {
             // Take out of lock task mode if necessary
             if (mLockTaskModeTask != null) {
@@ -3563,7 +3594,7 @@
         lockTaskMsg.obj = mLockTaskModeTask.intent.getComponent().getPackageName();
         lockTaskMsg.arg1 = mLockTaskModeTask.userId;
         lockTaskMsg.what = LOCK_TASK_START_MSG;
-        lockTaskMsg.arg2 = !isLocked ? 1 : 0;
+        lockTaskMsg.arg2 = lockTaskModeState;
         mHandler.sendMessage(lockTaskMsg);
     }
 
@@ -3581,8 +3612,8 @@
         }
     }
 
-    boolean isInLockTaskMode() {
-        return mLockTaskModeTask != null;
+    int getLockTaskModeState() {
+        return mLockTaskModeState;
     }
 
     private final class ActivityStackSupervisorHandler extends Handler {
@@ -3674,13 +3705,18 @@
                             mLockTaskNotify = new LockTaskNotify(mService.mContext);
                         }
                         mLockTaskNotify.show(true);
-                        mLockTaskIsLocked = msg.arg2 == 0;
+                        mLockTaskModeState = msg.arg2;
                         if (getStatusBarService() != null) {
-                            int flags =
-                                    StatusBarManager.DISABLE_MASK ^ StatusBarManager.DISABLE_BACK;
-                            if (!mLockTaskIsLocked) {
-                                flags ^= StatusBarManager.DISABLE_HOME
-                                        | StatusBarManager.DISABLE_RECENT;
+                            int flags = 0;
+                            if (mLockTaskModeState == ActivityManager.LOCK_TASK_MODE_LOCKED) {
+                                flags = StatusBarManager.DISABLE_MASK
+                                        & (~StatusBarManager.DISABLE_BACK);
+                            } else if (mLockTaskModeState ==
+                                    ActivityManager.LOCK_TASK_MODE_PINNED) {
+                                flags = StatusBarManager.DISABLE_MASK
+                                        & (~StatusBarManager.DISABLE_BACK)
+                                        & (~StatusBarManager.DISABLE_HOME)
+                                        & (~StatusBarManager.DISABLE_RECENT);
                             }
                             getStatusBarService().disable(flags, mToken,
                                     mService.mContext.getPackageName());
@@ -3714,7 +3750,8 @@
                             boolean shouldLockKeyguard = Settings.Secure.getInt(
                                     mService.mContext.getContentResolver(),
                                     Settings.Secure.LOCK_TO_APP_EXIT_LOCKED) != 0;
-                            if (!mLockTaskIsLocked && shouldLockKeyguard) {
+                            if (mLockTaskModeState == ActivityManager.LOCK_TASK_MODE_PINNED &&
+                                    shouldLockKeyguard) {
                                 mWindowManager.lockNow(null);
                                 mWindowManager.dismissKeyguard();
                                 new LockPatternUtils(mService.mContext)
@@ -3725,6 +3762,8 @@
                         }
                     } catch (RemoteException ex) {
                         throw new RuntimeException(ex);
+                    } finally {
+                        mLockTaskModeState = ActivityManager.LOCK_TASK_MODE_NONE;
                     }
                 } break;
                 case CONTAINER_CALLBACK_TASK_LIST_EMPTY: {
@@ -3748,7 +3787,7 @@
                 } break;
                 case LAUNCH_TASK_BEHIND_COMPLETE: {
                     synchronized (mService) {
-                        ActivityRecord r = ActivityRecord.forToken((IBinder) msg.obj);
+                        ActivityRecord r = ActivityRecord.forTokenLocked((IBinder) msg.obj);
                         if (r != null) {
                             handleLaunchTaskBehindCompleteLocked(r);
                         }
@@ -3879,18 +3918,21 @@
         @Override
         public final int startActivity(Intent intent) {
             mService.enforceNotIsolatedCaller("ActivityContainer.startActivity");
-            int userId = mService.handleIncomingUser(Binder.getCallingPid(),
+            final int userId = mService.handleIncomingUser(Binder.getCallingPid(),
                     Binder.getCallingUid(), mCurrentUser, false,
                     ActivityManagerService.ALLOW_FULL_ONLY, "ActivityContainer", null);
+
             // TODO: Switch to user app stacks here.
-            intent.addFlags(FORCE_NEW_TASK_FLAGS);
             String mimeType = intent.getType();
-            if (mimeType == null && intent.getData() != null
-                    && "content".equals(intent.getData().getScheme())) {
-                mimeType = mService.getProviderMimeType(intent.getData(), userId);
+            final Uri data = intent.getData();
+            if (mimeType == null && data != null && "content".equals(data.getScheme())) {
+                mimeType = mService.getProviderMimeType(data, userId);
             }
-            return startActivityMayWait(null, -1, null, intent, mimeType, null, null, null, null, 0,
-                    0, null, null, null, null, userId, this, null);
+            checkEmbeddedAllowedInner(userId, intent, mimeType);
+
+            intent.addFlags(FORCE_NEW_TASK_FLAGS);
+            return startActivityMayWait(null, -1, null, intent, mimeType, null, null, null, null,
+                    0, 0, null, null, null, null, userId, this, null);
         }
 
         @Override
@@ -3901,21 +3943,19 @@
                 throw new IllegalArgumentException("Bad PendingIntent object");
             }
 
-            return ((PendingIntentRecord)intentSender).sendInner(0, null, null, null, null, null,
-                    null, 0, FORCE_NEW_TASK_FLAGS, FORCE_NEW_TASK_FLAGS, null, this);
-        }
-
-        private void checkEmbeddedAllowedInner(Intent intent, String resolvedType) {
-            int userId = mService.handleIncomingUser(Binder.getCallingPid(),
+            final int userId = mService.handleIncomingUser(Binder.getCallingPid(),
                     Binder.getCallingUid(), mCurrentUser, false,
                     ActivityManagerService.ALLOW_FULL_ONLY, "ActivityContainer", null);
-            if (resolvedType == null) {
-                resolvedType = intent.getType();
-                if (resolvedType == null && intent.getData() != null
-                        && "content".equals(intent.getData().getScheme())) {
-                    resolvedType = mService.getProviderMimeType(intent.getData(), userId);
-                }
-            }
+
+            final PendingIntentRecord pendingIntent = (PendingIntentRecord) intentSender;
+            checkEmbeddedAllowedInner(userId, pendingIntent.key.requestIntent,
+                    pendingIntent.key.requestResolvedType);
+
+            return pendingIntent.sendInner(0, null, null, null, null, null, null, 0,
+                    FORCE_NEW_TASK_FLAGS, FORCE_NEW_TASK_FLAGS, null, this);
+        }
+
+        private void checkEmbeddedAllowedInner(int userId, Intent intent, String resolvedType) {
             ActivityInfo aInfo = resolveActivity(intent, resolvedType, 0, null, userId);
             if (aInfo != null && (aInfo.flags & ActivityInfo.FLAG_ALLOW_EMBEDDED) == 0) {
                 throw new SecurityException(
@@ -3923,23 +3963,6 @@
             }
         }
 
-        /** Throw a SecurityException if allowEmbedded is not true */
-        @Override
-        public final void checkEmbeddedAllowed(Intent intent) {
-            checkEmbeddedAllowedInner(intent, null);
-        }
-
-        /** Throw a SecurityException if allowEmbedded is not true */
-        @Override
-        public final void checkEmbeddedAllowedIntentSender(IIntentSender intentSender) {
-            if (!(intentSender instanceof PendingIntentRecord)) {
-                throw new IllegalArgumentException("Bad PendingIntent object");
-            }
-            PendingIntentRecord pendingIntent = (PendingIntentRecord) intentSender;
-            checkEmbeddedAllowedInner(pendingIntent.key.requestIntent,
-                    pendingIntent.key.requestResolvedType);
-        }
-
         @Override
         public IBinder asBinder() {
             return this;
diff --git a/services/core/java/com/android/server/am/AppBindRecord.java b/services/core/java/com/android/server/am/AppBindRecord.java
index 65273c9..df833ad 100644
--- a/services/core/java/com/android/server/am/AppBindRecord.java
+++ b/services/core/java/com/android/server/am/AppBindRecord.java
@@ -19,7 +19,6 @@
 import android.util.ArraySet;
 
 import java.io.PrintWriter;
-import java.util.Iterator;
 
 /**
  * An association between a service and one of its client applications.
diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java
index c0928c7..6eacfa9 100644
--- a/services/core/java/com/android/server/am/BatteryStatsService.java
+++ b/services/core/java/com/android/server/am/BatteryStatsService.java
@@ -46,7 +46,6 @@
 
 import java.io.File;
 import java.io.FileDescriptor;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.List;
@@ -752,14 +751,17 @@
     private void dumpHelp(PrintWriter pw) {
         pw.println("Battery stats (batterystats) dump options:");
         pw.println("  [--checkin] [--history] [--history-start] [--unplugged] [--charged] [-c]");
-        pw.println("  [--reset] [--write] [-h] [<package.name>]");
+        pw.println("  [--daily] [--reset] [--write] [--new-daily] [--read-daily] [-h] [<package.name>]");
         pw.println("  --checkin: format output for a checkin report.");
         pw.println("  --history: show only history data.");
         pw.println("  --history-start <num>: show only history data starting at given time offset.");
         pw.println("  --unplugged: only output data since last unplugged.");
         pw.println("  --charged: only output data since last charged.");
+        pw.println("  --daily: only output full daily data.");
         pw.println("  --reset: reset the stats, clearing all current data.");
         pw.println("  --write: force write current collected stats to disk.");
+        pw.println("  --new-daily: immediately create and write new daily stats record.");
+        pw.println("  --read-daily: read-load last written daily stats.");
         pw.println("  <package.name>: optional name of package to filter output by.");
         pw.println("  -h: print this help text.");
         pw.println("Battery stats (batterystats) commands:");
@@ -836,6 +838,8 @@
                     flags |= BatteryStats.DUMP_UNPLUGGED_ONLY;
                 } else if ("--charged".equals(arg)) {
                     flags |= BatteryStats.DUMP_CHARGED_ONLY;
+                } else if ("--daily".equals(arg)) {
+                    flags |= BatteryStats.DUMP_DAILY_ONLY;
                 } else if ("--reset".equals(arg)) {
                     synchronized (mStats) {
                         mStats.resetAllStatsCmdLocked();
@@ -848,6 +852,18 @@
                         pw.println("Battery stats written.");
                         noOutput = true;
                     }
+                } else if ("--new-daily".equals(arg)) {
+                    synchronized (mStats) {
+                        mStats.recordDailyStatsLocked();
+                        pw.println("New daily stats written.");
+                        noOutput = true;
+                    }
+                } else if ("--read-daily".equals(arg)) {
+                    synchronized (mStats) {
+                        mStats.readDailyStatsLocked();
+                        pw.println("Last daily stats read.");
+                        noOutput = true;
+                    }
                 } else if ("--enable".equals(arg) || "enable".equals(arg)) {
                     i = doEnableOrDisable(pw, i, args, true);
                     if (i < 0) {
diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java
index 6a29d85..8fe1238 100644
--- a/services/core/java/com/android/server/am/BroadcastQueue.java
+++ b/services/core/java/com/android/server/am/BroadcastQueue.java
@@ -27,7 +27,6 @@
 import android.content.IIntentReceiver;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
-import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.os.Bundle;
@@ -40,9 +39,10 @@
 import android.os.SystemClock;
 import android.os.UserHandle;
 import android.util.EventLog;
-import android.util.Log;
 import android.util.Slog;
 
+import static com.android.server.am.ActivityManagerDebugConfig.*;
+
 /**
  * BROADCASTS
  *
@@ -50,11 +50,9 @@
  * foreground priority, and one for normal (background-priority) broadcasts.
  */
 public final class BroadcastQueue {
-    static final String TAG = "BroadcastQueue";
-    static final String TAG_MU = ActivityManagerService.TAG_MU;
-    static final boolean DEBUG_BROADCAST = ActivityManagerService.DEBUG_BROADCAST;
-    static final boolean DEBUG_BROADCAST_LIGHT = ActivityManagerService.DEBUG_BROADCAST_LIGHT;
-    static final boolean DEBUG_MU = ActivityManagerService.DEBUG_MU;
+    private static final String TAG = TAG_WITH_CLASS_NAME ? "BroadcastQueue" : TAG_AM;
+    private static final String TAG_MU = TAG + POSTFIX_MU;
+    private static final String TAG_BROADCAST = TAG + POSTFIX_BROADCAST;
 
     static final int MAX_BROADCAST_HISTORY = ActivityManager.isLowRamDeviceStatic() ? 10 : 50;
     static final int MAX_BROADCAST_SUMMARY_HISTORY
@@ -145,7 +143,7 @@
             switch (msg.what) {
                 case BROADCAST_INTENT_MSG: {
                     if (DEBUG_BROADCAST) Slog.v(
-                            TAG, "Received BROADCAST_INTENT_MSG");
+                            TAG_BROADCAST, "Received BROADCAST_INTENT_MSG");
                     processNextBroadcast(true);
                 } break;
                 case BROADCAST_TIMEOUT_MSG: {
@@ -198,7 +196,7 @@
     public final boolean replaceParallelBroadcastLocked(BroadcastRecord r) {
         for (int i=mParallelBroadcasts.size()-1; i>=0; i--) {
             if (r.intent.filterEquals(mParallelBroadcasts.get(i).intent)) {
-                if (DEBUG_BROADCAST) Slog.v(TAG,
+                if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST,
                         "***** DROPPING PARALLEL ["
                 + mQueueName + "]: " + r.intent);
                 mParallelBroadcasts.set(i, r);
@@ -211,7 +209,7 @@
     public final boolean replaceOrderedBroadcastLocked(BroadcastRecord r) {
         for (int i=mOrderedBroadcasts.size()-1; i>0; i--) {
             if (r.intent.filterEquals(mOrderedBroadcasts.get(i).intent)) {
-                if (DEBUG_BROADCAST) Slog.v(TAG,
+                if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST,
                         "***** DROPPING ORDERED ["
                         + mQueueName + "]: " + r.intent);
                 mOrderedBroadcasts.set(i, r);
@@ -223,7 +221,7 @@
 
     private final void processCurBroadcastLocked(BroadcastRecord r,
             ProcessRecord app) throws RemoteException {
-        if (DEBUG_BROADCAST)  Slog.v(TAG,
+        if (DEBUG_BROADCAST)  Slog.v(TAG_BROADCAST,
                 "Process cur broadcast " + r + " for app " + app);
         if (app.thread == null) {
             throw new RemoteException();
@@ -240,7 +238,7 @@
 
         boolean started = false;
         try {
-            if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG,
+            if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG_BROADCAST,
                     "Delivering to component " + r.curComponent
                     + ": " + r);
             mService.ensurePackageDexOpt(r.intent.getComponent().getPackageName());
@@ -248,12 +246,12 @@
                     mService.compatibilityInfoForPackageLocked(r.curReceiver.applicationInfo),
                     r.resultCode, r.resultData, r.resultExtras, r.ordered, r.userId,
                     app.repProcState);
-            if (DEBUG_BROADCAST)  Slog.v(TAG,
+            if (DEBUG_BROADCAST)  Slog.v(TAG_BROADCAST,
                     "Process cur broadcast " + r + " DELIVERED for app " + app);
             started = true;
         } finally {
             if (!started) {
-                if (DEBUG_BROADCAST)  Slog.v(TAG,
+                if (DEBUG_BROADCAST)  Slog.v(TAG_BROADCAST,
                         "Process cur broadcast " + r + ": NOT STARTED!");
                 r.receiver = null;
                 r.curApp = null;
@@ -307,23 +305,22 @@
                     r.resultExtras, r.resultAbort, false);
             reschedule = true;
         }
-
-        r = mPendingBroadcast;
-        if (r != null && r.curApp == app) {
-            if (DEBUG_BROADCAST) Slog.v(TAG,
+        if (r == null && mPendingBroadcast != null && mPendingBroadcast.curApp == app) {
+            if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST,
                     "[" + mQueueName + "] skip & discard pending app " + r);
+            r = mPendingBroadcast;
+        }
+
+        if (r != null) {
             logBroadcastReceiverDiscardLocked(r);
             finishReceiverLocked(r, r.resultCode, r.resultData,
                     r.resultExtras, r.resultAbort, false);
-            reschedule = true;
-        }
-        if (reschedule) {
             scheduleBroadcastsLocked();
         }
     }
 
     public void scheduleBroadcastsLocked() {
-        if (DEBUG_BROADCAST) Slog.v(TAG, "Schedule broadcasts ["
+        if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, "Schedule broadcasts ["
                 + mQueueName + "]: current="
                 + mBroadcastsScheduled);
 
@@ -393,8 +390,7 @@
                 // on.  If there are background services currently starting, then we will go into a
                 // special state where we hold off on continuing this broadcast until they are done.
                 if (mService.mServices.hasBackgroundServices(r.userId)) {
-                    Slog.i(ActivityManagerService.TAG, "Delay finish: "
-                            + r.curComponent.flattenToShortString());
+                    Slog.i(TAG, "Delay finish: " + r.curComponent.flattenToShortString());
                     r.state = BroadcastRecord.WAITING_SERVICES;
                     return false;
                 }
@@ -414,7 +410,7 @@
         if (mOrderedBroadcasts.size() > 0) {
             BroadcastRecord br = mOrderedBroadcasts.get(0);
             if (br.userId == userId && br.state == BroadcastRecord.WAITING_SERVICES) {
-                Slog.i(ActivityManagerService.TAG, "Resuming delayed broadcast");
+                Slog.i(TAG, "Resuming delayed broadcast");
                 br.curComponent = null;
                 br.state = BroadcastRecord.IDLE;
                 processNextBroadcast(false);
@@ -477,7 +473,7 @@
             int mode = mService.mAppOpsService.noteOperation(r.appOp,
                     filter.receiverList.uid, filter.packageName);
             if (mode != AppOpsManager.MODE_ALLOWED) {
-                if (DEBUG_BROADCAST)  Slog.v(TAG,
+                if (DEBUG_BROADCAST)  Slog.v(TAG_BROADCAST,
                         "App op " + r.appOp + " not allowed for broadcast to uid "
                         + filter.receiverList.uid + " pkg " + filter.packageName);
                 skip = true;
@@ -515,10 +511,11 @@
                 }
             }
             try {
-                if (DEBUG_BROADCAST_LIGHT) Slog.i(TAG, "Delivering to " + filter + " : " + r);
+                if (DEBUG_BROADCAST_LIGHT) Slog.i(TAG_BROADCAST,
+                        "Delivering to " + filter + " : " + r);
                 performReceiveLocked(filter.receiverList.app, filter.receiverList.receiver,
-                    new Intent(r.intent), r.resultCode, r.resultData,
-                    r.resultExtras, r.ordered, r.initialSticky, r.userId);
+                        new Intent(r.intent), r.resultCode, r.resultData,
+                        r.resultExtras, r.ordered, r.initialSticky, r.userId);
                 if (ordered) {
                     r.state = BroadcastRecord.CALL_DONE_RECEIVE;
                 }
@@ -540,7 +537,7 @@
         synchronized(mService) {
             BroadcastRecord r;
 
-            if (DEBUG_BROADCAST) Slog.v(TAG, "processNextBroadcast ["
+            if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, "processNextBroadcast ["
                     + mQueueName + "]: "
                     + mParallelBroadcasts.size() + " broadcasts, "
                     + mOrderedBroadcasts.size() + " ordered broadcasts");
@@ -557,17 +554,17 @@
                 r.dispatchTime = SystemClock.uptimeMillis();
                 r.dispatchClockTime = System.currentTimeMillis();
                 final int N = r.receivers.size();
-                if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG, "Processing parallel broadcast ["
+                if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG_BROADCAST, "Processing parallel broadcast ["
                         + mQueueName + "] " + r);
                 for (int i=0; i<N; i++) {
                     Object target = r.receivers.get(i);
-                    if (DEBUG_BROADCAST)  Slog.v(TAG,
+                    if (DEBUG_BROADCAST)  Slog.v(TAG_BROADCAST,
                             "Delivering non-ordered on [" + mQueueName + "] to registered "
                             + target + ": " + r);
                     deliverToRegisteredReceiverLocked(r, (BroadcastFilter)target, false);
                 }
                 addBroadcastToHistoryLocked(r);
-                if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG, "Done with parallel broadcast ["
+                if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG_BROADCAST, "Done with parallel broadcast ["
                         + mQueueName + "] " + r);
             }
 
@@ -577,11 +574,9 @@
             // broadcast, then do nothing at this point.  Just in case, we
             // check that the process we're waiting for still exists.
             if (mPendingBroadcast != null) {
-                if (DEBUG_BROADCAST_LIGHT) {
-                    Slog.v(TAG, "processNextBroadcast ["
-                            + mQueueName + "]: waiting for "
-                            + mPendingBroadcast.curApp);
-                }
+                if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG_BROADCAST,
+                        "processNextBroadcast [" + mQueueName + "]: waiting for "
+                        + mPendingBroadcast.curApp);
 
                 boolean isDead;
                 synchronized (mService.mPidsSelfLocked) {
@@ -647,7 +642,7 @@
                 }
 
                 if (r.state != BroadcastRecord.IDLE) {
-                    if (DEBUG_BROADCAST) Slog.d(TAG,
+                    if (DEBUG_BROADCAST) Slog.d(TAG_BROADCAST,
                             "processNextBroadcast("
                             + mQueueName + ") called when not idle (state="
                             + r.state + ")");
@@ -660,7 +655,7 @@
                     // result if requested...
                     if (r.resultTo != null) {
                         try {
-                            if (DEBUG_BROADCAST) Slog.i(TAG,
+                            if (DEBUG_BROADCAST) Slog.i(TAG_BROADCAST,
                                     "Finishing broadcast [" + mQueueName + "] "
                                     + r.intent.getAction() + " app=" + r.callerApp);
                             performReceiveLocked(r.callerApp, r.resultTo,
@@ -677,11 +672,11 @@
                         }
                     }
 
-                    if (DEBUG_BROADCAST) Slog.v(TAG, "Cancelling BROADCAST_TIMEOUT_MSG");
+                    if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, "Cancelling BROADCAST_TIMEOUT_MSG");
                     cancelBroadcastTimeoutLocked();
 
-                    if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG, "Finished with ordered broadcast "
-                            + r);
+                    if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG_BROADCAST,
+                            "Finished with ordered broadcast " + r);
 
                     // ... and on to the next...
                     addBroadcastToHistoryLocked(r);
@@ -701,12 +696,12 @@
             if (recIdx == 0) {
                 r.dispatchTime = r.receiverTime;
                 r.dispatchClockTime = System.currentTimeMillis();
-                if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG, "Processing ordered broadcast ["
+                if (DEBUG_BROADCAST_LIGHT) Slog.v(TAG_BROADCAST, "Processing ordered broadcast ["
                         + mQueueName + "] " + r);
             }
             if (! mPendingBroadcastTimeoutMessage) {
                 long timeoutTime = r.receiverTime + mTimeoutPeriod;
-                if (DEBUG_BROADCAST) Slog.v(TAG,
+                if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST,
                         "Submitting BROADCAST_TIMEOUT_MSG ["
                         + mQueueName + "] for " + r + " at " + timeoutTime);
                 setBroadcastTimeoutLocked(timeoutTime);
@@ -717,7 +712,7 @@
                 // Simple case: this is a registered receiver who gets
                 // a direct call.
                 BroadcastFilter filter = (BroadcastFilter)nextReceiver;
-                if (DEBUG_BROADCAST)  Slog.v(TAG,
+                if (DEBUG_BROADCAST)  Slog.v(TAG_BROADCAST,
                         "Delivering ordered ["
                         + mQueueName + "] to registered "
                         + filter + ": " + r);
@@ -725,7 +720,7 @@
                 if (r.receiver == null || !r.ordered) {
                     // The receiver has already finished, so schedule to
                     // process the next one.
-                    if (DEBUG_BROADCAST) Slog.v(TAG, "Quick finishing ["
+                    if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, "Quick finishing ["
                             + mQueueName + "]: ordered="
                             + r.ordered + " receiver=" + r.receiver);
                     r.state = BroadcastRecord.IDLE;
@@ -788,7 +783,7 @@
                 int mode = mService.mAppOpsService.noteOperation(r.appOp,
                         info.activityInfo.applicationInfo.uid, info.activityInfo.packageName);
                 if (mode != AppOpsManager.MODE_ALLOWED) {
-                    if (DEBUG_BROADCAST)  Slog.v(TAG,
+                    if (DEBUG_BROADCAST)  Slog.v(TAG_BROADCAST,
                             "App op " + r.appOp + " not allowed for broadcast to uid "
                             + info.activityInfo.applicationInfo.uid + " pkg "
                             + info.activityInfo.packageName);
@@ -837,19 +832,18 @@
                             + info.activityInfo.packageName, e);
                 }
                 if (!isAvailable) {
-                    if (DEBUG_BROADCAST) {
-                        Slog.v(TAG, "Skipping delivery to " + info.activityInfo.packageName
-                                + " / " + info.activityInfo.applicationInfo.uid
-                                + " : package no longer available");
-                    }
+                    if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST,
+                            "Skipping delivery to " + info.activityInfo.packageName + " / "
+                            + info.activityInfo.applicationInfo.uid
+                            + " : package no longer available");
                     skip = true;
                 }
             }
 
             if (skip) {
-                if (DEBUG_BROADCAST)  Slog.v(TAG,
-                        "Skipping delivery of ordered ["
-                        + mQueueName + "] " + r + " for whatever reason");
+                if (DEBUG_BROADCAST)  Slog.v(TAG_BROADCAST,
+                        "Skipping delivery of ordered [" + mQueueName + "] "
+                        + r + " for whatever reason");
                 r.receiver = null;
                 r.curFilter = null;
                 r.state = BroadcastRecord.IDLE;
@@ -917,7 +911,7 @@
             }
 
             // Not running -- get it started, to be executed when the app comes up.
-            if (DEBUG_BROADCAST)  Slog.v(TAG,
+            if (DEBUG_BROADCAST)  Slog.v(TAG_BROADCAST,
                     "Need to start app ["
                     + mQueueName + "] " + targetProcess + " for broadcast " + r);
             if ((r.curApp=mService.startProcessLocked(targetProcess,
@@ -992,7 +986,7 @@
                 // broadcast timeout message after each receiver finishes.  Instead, we set up
                 // an initial timeout then kick it down the road a little further as needed
                 // when it expires.
-                if (DEBUG_BROADCAST) Slog.v(TAG,
+                if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST,
                         "Premature timeout ["
                         + mQueueName + "] @ " + now + ": resetting BROADCAST_TIMEOUT_MSG for "
                         + timeoutTime);
@@ -1007,7 +1001,7 @@
             // for started services to finish as well before going on.  So if we have actually
             // waited long enough time timeout the broadcast, let's give up on the whole thing
             // and just move on to the next.
-            Slog.i(ActivityManagerService.TAG, "Waited long enough for: " + (br.curComponent != null
+            Slog.i(TAG, "Waited long enough for: " + (br.curComponent != null
                     ? br.curComponent.flattenToShortString() : "(null)"));
             br.curComponent = null;
             br.state = BroadcastRecord.IDLE;
diff --git a/services/core/java/com/android/server/am/CompatModePackages.java b/services/core/java/com/android/server/am/CompatModePackages.java
index ec500c2..ce63d75 100644
--- a/services/core/java/com/android/server/am/CompatModePackages.java
+++ b/services/core/java/com/android/server/am/CompatModePackages.java
@@ -16,6 +16,8 @@
 
 package com.android.server.am;
 
+import static com.android.server.am.ActivityManagerDebugConfig.*;
+
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
@@ -43,7 +45,7 @@
 import android.util.Xml;
 
 public final class CompatModePackages {
-    private final String TAG = ActivityManagerService.TAG;
+    private static final String TAG = TAG_WITH_CLASS_NAME ? "CompatModePackages" : TAG_AM;
     private final boolean DEBUG_CONFIGURATION = ActivityManagerService.DEBUG_CONFIGURATION;
 
     private final ActivityManagerService mService;
diff --git a/services/core/java/com/android/server/am/CoreSettingsObserver.java b/services/core/java/com/android/server/am/CoreSettingsObserver.java
index d1682b8..9dd07a9 100644
--- a/services/core/java/com/android/server/am/CoreSettingsObserver.java
+++ b/services/core/java/com/android/server/am/CoreSettingsObserver.java
@@ -21,9 +21,6 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.provider.Settings;
-import android.provider.Settings.SettingNotFoundException;
-import android.util.Log;
-
 import java.util.HashMap;
 import java.util.Map;
 
diff --git a/services/core/java/com/android/server/am/DumpHeapProvider.java b/services/core/java/com/android/server/am/DumpHeapProvider.java
new file mode 100644
index 0000000..a8b639e
--- /dev/null
+++ b/services/core/java/com/android/server/am/DumpHeapProvider.java
@@ -0,0 +1,89 @@
+/*
+ * 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 com.android.server.am;
+
+import android.content.ContentProvider;
+import android.content.ContentValues;
+import android.database.Cursor;
+import android.net.Uri;
+import android.os.Environment;
+import android.os.ParcelFileDescriptor;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+
+public class DumpHeapProvider extends ContentProvider {
+    static final Object sLock = new Object();
+    static File sHeapDumpJavaFile;
+
+    static public File getJavaFile() {
+        synchronized (sLock) {
+            return sHeapDumpJavaFile;
+        }
+    }
+
+    @Override
+    public boolean onCreate() {
+        synchronized (sLock) {
+            File dataDir = Environment.getDataDirectory();
+            File systemDir = new File(dataDir, "system");
+            File heapdumpDir = new File(systemDir, "heapdump");
+            heapdumpDir.mkdir();
+            sHeapDumpJavaFile = new File(heapdumpDir, "javaheap.bin");
+        }
+        return true;
+    }
+
+    @Override
+    public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
+        return null;
+    }
+
+    @Override
+    public String getType(Uri uri) {
+        return "application/octet-stream";
+    }
+
+    @Override
+    public Uri insert(Uri uri, ContentValues values) {
+        return null;
+    }
+
+    @Override
+    public int delete(Uri uri, String selection, String[] selectionArgs) {
+        return 0;
+    }
+
+    @Override
+    public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
+        return 0;
+    }
+
+    @Override
+    public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException {
+        synchronized (sLock) {
+            String path = uri.getEncodedPath();
+            final String tag = Uri.decode(path);
+            if (tag.equals("/java")) {
+                return ParcelFileDescriptor.open(sHeapDumpJavaFile,
+                        ParcelFileDescriptor.MODE_READ_ONLY);
+            } else {
+                throw new FileNotFoundException("Invalid path for " + uri);
+            }
+        }
+    }
+}
diff --git a/services/core/java/com/android/server/am/LockTaskNotify.java b/services/core/java/com/android/server/am/LockTaskNotify.java
index b3777ed..afde322 100644
--- a/services/core/java/com/android/server/am/LockTaskNotify.java
+++ b/services/core/java/com/android/server/am/LockTaskNotify.java
@@ -16,6 +16,7 @@
 
 package com.android.server.am;
 
+import android.app.ActivityManager;
 import android.content.Context;
 import android.os.Handler;
 import android.os.Message;
@@ -44,15 +45,20 @@
         mHandler = new H();
     }
 
-    public void showToast(boolean isLocked) {
-        mHandler.obtainMessage(H.SHOW_TOAST, isLocked ? 1 : 0, 0 /* Not used */).sendToTarget();
+    public void showToast(int lockTaskModeState) {
+        mHandler.obtainMessage(H.SHOW_TOAST, lockTaskModeState, 0 /* Not used */).sendToTarget();
     }
 
-    public void handleShowToast(boolean isLocked) {
-        String text = mContext.getString(isLocked
-                ? R.string.lock_to_app_toast_locked : R.string.lock_to_app_toast);
-        if (!isLocked && mAccessibilityManager.isEnabled()) {
-            text = mContext.getString(R.string.lock_to_app_toast_accessible);
+    public void handleShowToast(int lockTaskModeState) {
+        String text = null;
+        if (lockTaskModeState == ActivityManager.LOCK_TASK_MODE_LOCKED) {
+            text = mContext.getString(R.string.lock_to_app_toast_locked);
+        } else if (lockTaskModeState == ActivityManager.LOCK_TASK_MODE_PINNED) {
+            text = mContext.getString(mAccessibilityManager.isEnabled()
+                    ? R.string.lock_to_app_toast_accessible : R.string.lock_to_app_toast);
+        }
+        if (text == null) {
+            return;
         }
         if (mLastToast != null) {
             mLastToast.cancel();
@@ -83,7 +89,7 @@
         public void handleMessage(Message msg) {
             switch(msg.what) {
                 case SHOW_TOAST:
-                    handleShowToast(msg.arg1 != 0);
+                    handleShowToast(msg.arg1);
                     break;
             }
         }
diff --git a/services/core/java/com/android/server/am/PendingIntentRecord.java b/services/core/java/com/android/server/am/PendingIntentRecord.java
index ffaa03d..7f2cae4 100644
--- a/services/core/java/com/android/server/am/PendingIntentRecord.java
+++ b/services/core/java/com/android/server/am/PendingIntentRecord.java
@@ -16,6 +16,9 @@
 
 package com.android.server.am;
 
+import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM;
+import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME;
+
 import android.app.ActivityManager;
 import android.app.IActivityContainer;
 import android.content.IIntentSender;
@@ -29,10 +32,14 @@
 import android.os.UserHandle;
 import android.util.Slog;
 
+import com.android.server.am.ActivityStackSupervisor.ActivityContainer;
+
 import java.io.PrintWriter;
 import java.lang.ref.WeakReference;
 
 final class PendingIntentRecord extends IIntentSender.Stub {
+    private static final String TAG = TAG_WITH_CLASS_NAME ? "PendingIntentRecord" : TAG_AM;
+
     final ActivityManagerService owner;
     final Key key;
     final int uid;
@@ -43,7 +50,7 @@
     String stringName;
     String lastTagPrefix;
     String lastTag;
-    
+
     final static class Key {
         final int type;
         final String packageName;
@@ -201,6 +208,13 @@
             IBinder resultTo, String resultWho, int requestCode,
             int flagsMask, int flagsValues, Bundle options, IActivityContainer container) {
         synchronized(owner) {
+            final ActivityContainer activityContainer = (ActivityContainer)container;
+            if (activityContainer != null && activityContainer.mParentActivity != null &&
+                    activityContainer.mParentActivity.state
+                            != ActivityStack.ActivityState.RESUMED) {
+                // Cannot start a child activity if the parent is not resumed.
+                return ActivityManager.START_CANCELED;
+            }
             if (!canceled) {
                 sent = true;
                 if ((key.flags&PendingIntent.FLAG_ONE_SHOT) != 0) {
@@ -257,13 +271,14 @@
                                         options, userId, container, null);
                             }
                         } catch (RuntimeException e) {
-                            Slog.w(ActivityManagerService.TAG,
-                                    "Unable to send startActivity intent", e);
+                            Slog.w(TAG, "Unable to send startActivity intent", e);
                         }
                         break;
                     case ActivityManager.INTENT_SENDER_ACTIVITY_RESULT:
-                        key.activity.task.stack.sendActivityResultLocked(-1, key.activity,
-                                key.who, key.requestCode, code, finalIntent);
+                        if (key.activity.task.stack != null) {
+                            key.activity.task.stack.sendActivityResultLocked(-1, key.activity,
+                                    key.who, key.requestCode, code, finalIntent);
+                        }
                         break;
                     case ActivityManager.INTENT_SENDER_BROADCAST:
                         try {
@@ -277,8 +292,7 @@
                                 sendFinish = false;
                             }
                         } catch (RuntimeException e) {
-                            Slog.w(ActivityManagerService.TAG,
-                                    "Unable to send startActivity intent", e);
+                            Slog.w(TAG, "Unable to send startActivity intent", e);
                         }
                         break;
                     case ActivityManager.INTENT_SENDER_SERVICE:
@@ -286,12 +300,11 @@
                             owner.startServiceInPackage(uid,
                                     finalIntent, resolvedType, userId);
                         } catch (RuntimeException e) {
-                            Slog.w(ActivityManagerService.TAG,
-                                    "Unable to send startService intent", e);
+                            Slog.w(TAG, "Unable to send startService intent", e);
                         }
                         break;
                 }
-                
+
                 if (sendFinish) {
                     try {
                         finishedReceiver.performReceive(new Intent(finalIntent), 0,
diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java
index c380160..c7aa94c 100644
--- a/services/core/java/com/android/server/am/ProcessList.java
+++ b/services/core/java/com/android/server/am/ProcessList.java
@@ -16,6 +16,9 @@
 
 package com.android.server.am;
 
+import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM;
+import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME;
+
 import java.io.IOException;
 import java.io.OutputStream;
 import java.nio.ByteBuffer;
@@ -38,6 +41,8 @@
  * Activity manager code dealing with processes.
  */
 final class ProcessList {
+    private static final String TAG = TAG_WITH_CLASS_NAME ? "ProcessList" : TAG_AM;
+
     // The minimum time we allow between crashes, for us to consider this
     // application to be bad and stop and its services and reject broadcasts.
     static final int MIN_CRASH_INTERVAL = 60*1000;
@@ -633,8 +638,7 @@
                         LocalSocketAddress.Namespace.RESERVED));
             sLmkdOutputStream = sLmkdSocket.getOutputStream();
         } catch (IOException ex) {
-            Slog.w(ActivityManagerService.TAG,
-                   "lowmemorykiller daemon socket open failed");
+            Slog.w(TAG, "lowmemorykiller daemon socket open failed");
             sLmkdSocket = null;
             return false;
         }
@@ -659,8 +663,7 @@
                 sLmkdOutputStream.write(buf.array(), 0, buf.position());
                 return;
             } catch (IOException ex) {
-                Slog.w(ActivityManagerService.TAG,
-                       "Error writing to lowmemorykiller socket");
+                Slog.w(TAG, "Error writing to lowmemorykiller socket");
 
                 try {
                     sLmkdSocket.close();
diff --git a/services/core/java/com/android/server/am/ProcessRecord.java b/services/core/java/com/android/server/am/ProcessRecord.java
index a6c616a..7cf3b51 100644
--- a/services/core/java/com/android/server/am/ProcessRecord.java
+++ b/services/core/java/com/android/server/am/ProcessRecord.java
@@ -16,7 +16,11 @@
 
 package com.android.server.am;
 
+import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM;
+import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME;
+
 import android.util.ArraySet;
+import android.util.DebugUtils;
 import android.util.EventLog;
 import android.util.Slog;
 import com.android.internal.app.ProcessStats;
@@ -48,6 +52,8 @@
  * is currently running.
  */
 final class ProcessRecord {
+    private static final String TAG = TAG_WITH_CLASS_NAME ? "ProcessRecord" : TAG_AM;
+
     private final BatteryStatsImpl mBatteryStats; // where to collect runtime statistics
     final ApplicationInfo info; // all about the first app in the process
     final boolean isolated;     // true if this is a special isolated process
@@ -248,8 +254,9 @@
                 pw.println();
         pw.print(prefix); pw.print("adjSeq="); pw.print(adjSeq);
                 pw.print(" lruSeq="); pw.print(lruSeq);
-                pw.print(" lastPss="); pw.print(lastPss);
-                pw.print(" lastCachedPss="); pw.println(lastCachedPss);
+                pw.print(" lastPss="); DebugUtils.printSizeValue(pw, lastPss*1024);
+                pw.print(" lastCachedPss="); DebugUtils.printSizeValue(pw, lastCachedPss*1024);
+                pw.println();
         pw.print(prefix); pw.print("cached="); pw.print(cached);
                 pw.print(" empty="); pw.println(empty);
         if (serviceb) {
@@ -470,7 +477,7 @@
         }
         return false;
     }
-    
+
     public void stopFreezingAllLocked() {
         int i = activities.size();
         while (i > 0) {
@@ -478,7 +485,7 @@
             activities.get(i).stopFreezingScreenLocked(true);
         }
     }
-    
+
     public void unlinkDeathRecipient() {
         if (deathRecipient != null && thread != null) {
             thread.asBinder().unlinkToDeath(deathRecipient, 0);
@@ -522,8 +529,7 @@
     void kill(String reason, boolean noisy) {
         if (!killedByAm) {
             if (noisy) {
-                Slog.i(ActivityManagerService.TAG, "Killing " + toShortString() + " (adj " + setAdj
-                        + "): " + reason);
+                Slog.i(TAG, "Killing " + toShortString() + " (adj " + setAdj + "): " + reason);
             }
             EventLog.writeEvent(EventLogTags.AM_KILL, userId, pid, processName, setAdj, reason);
             Process.killProcessQuiet(pid);
diff --git a/services/core/java/com/android/server/am/RecentTasks.java b/services/core/java/com/android/server/am/RecentTasks.java
index f454fed..04912d0 100644
--- a/services/core/java/com/android/server/am/RecentTasks.java
+++ b/services/core/java/com/android/server/am/RecentTasks.java
@@ -16,6 +16,12 @@
 
 package com.android.server.am;
 
+import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM;
+import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME;
+import static com.android.server.am.ActivityManagerService.DEBUG_RECENTS;
+import static com.android.server.am.ActivityManagerService.DEBUG_TASKS;
+import static com.android.server.am.TaskRecord.INVALID_TASK_ID;
+
 import android.app.ActivityManager;
 import android.app.AppGlobals;
 import android.content.ComponentName;
@@ -28,11 +34,6 @@
 import android.os.UserHandle;
 import android.util.Slog;
 
-import static com.android.server.am.ActivityManagerService.DEBUG_RECENTS;
-import static com.android.server.am.ActivityManagerService.DEBUG_TASKS;
-import static com.android.server.am.ActivityManagerService.TAG;
-import static com.android.server.am.TaskRecord.INVALID_TASK_ID;
-
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
@@ -42,6 +43,7 @@
  * Class for managing the recent tasks list.
  */
 class RecentTasks extends ArrayList<TaskRecord> {
+    private static final String TAG = TAG_WITH_CLASS_NAME ? "RecentTasks" : TAG_AM;
 
     // Maximum number recent bitmaps to keep in memory.
     private static final int MAX_RECENT_BITMAPS = 3;
diff --git a/services/core/java/com/android/server/am/ServiceRecord.java b/services/core/java/com/android/server/am/ServiceRecord.java
index 1cb1bb8..6c2e120 100644
--- a/services/core/java/com/android/server/am/ServiceRecord.java
+++ b/services/core/java/com/android/server/am/ServiceRecord.java
@@ -47,10 +47,15 @@
 import java.util.List;
 import java.util.Objects;
 
+import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM;
+import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME;
+
 /**
  * A running application service.
  */
 final class ServiceRecord extends Binder {
+    private static final String TAG = TAG_WITH_CLASS_NAME ? "ServiceRecord" : TAG_AM;
+
     // Maximum number of delivery attempts before giving up.
     static final int MAX_DELIVERY_COUNT = 3;
 
@@ -487,8 +492,7 @@
                                 appUid, appPid, null, localForegroundId, localForegroundNoti,
                                 outId, userId);
                     } catch (RuntimeException e) {
-                        Slog.w(ActivityManagerService.TAG,
-                                "Error showing notification for service", e);
+                        Slog.w(TAG, "Error showing notification for service", e);
                         // If it gave us a garbage notification, it doesn't
                         // get to be foreground.
                         ams.setServiceForeground(name, ServiceRecord.this,
@@ -517,8 +521,7 @@
                         inm.cancelNotificationWithTag(localPackageName, null,
                                 localForegroundId, userId);
                     } catch (RuntimeException e) {
-                        Slog.w(ActivityManagerService.TAG,
-                                "Error canceling notification for service", e);
+                        Slog.w(TAG, "Error canceling notification for service", e);
                     } catch (RemoteException e) {
                     }
                 }
diff --git a/services/core/java/com/android/server/am/TaskRecord.java b/services/core/java/com/android/server/am/TaskRecord.java
index 76bb498..d8d361b 100644
--- a/services/core/java/com/android/server/am/TaskRecord.java
+++ b/services/core/java/com/android/server/am/TaskRecord.java
@@ -16,7 +16,8 @@
 
 package com.android.server.am;
 
-import static com.android.server.am.ActivityManagerService.TAG;
+import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM;
+import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME;
 import static com.android.server.am.ActivityRecord.HOME_ACTIVITY_TYPE;
 import static com.android.server.am.ActivityRecord.APPLICATION_ACTIVITY_TYPE;
 import static com.android.server.am.ActivityRecord.RECENTS_ACTIVITY_TYPE;
@@ -54,6 +55,8 @@
 import java.util.ArrayList;
 
 final class TaskRecord {
+    private static final String TAG = TAG_WITH_CLASS_NAME ? "TaskRecord" : TAG_AM;
+
     static final String ATTR_TASKID = "task_id";
     private static final String TAG_INTENT = "intent";
     private static final String TAG_AFFINITYINTENT = "affinity_intent";
@@ -307,7 +310,7 @@
                     _intent.setSourceBounds(null);
                 }
             }
-            if (ActivityManagerService.DEBUG_TASKS) Slog.v(ActivityManagerService.TAG,
+            if (ActivityManagerService.DEBUG_TASKS) Slog.v(TAG,
                     "Setting Intent of " + this + " to " + _intent);
             intent = _intent;
             realActivity = _intent != null ? _intent.getComponent() : null;
@@ -320,7 +323,7 @@
                 targetIntent.setComponent(targetComponent);
                 targetIntent.setSelector(null);
                 targetIntent.setSourceBounds(null);
-                if (ActivityManagerService.DEBUG_TASKS) Slog.v(ActivityManagerService.TAG,
+                if (ActivityManagerService.DEBUG_TASKS) Slog.v(TAG,
                         "Setting Intent of " + this + " to target " + targetIntent);
                 intent = targetIntent;
                 realActivity = targetComponent;
@@ -497,10 +500,12 @@
     }
 
     ActivityRecord topRunningActivityLocked(ActivityRecord notTop) {
-        for (int activityNdx = mActivities.size() - 1; activityNdx >= 0; --activityNdx) {
-            ActivityRecord r = mActivities.get(activityNdx);
-            if (!r.finishing && r != notTop && stack.okToShowLocked(r)) {
-                return r;
+        if (stack != null) {
+            for (int activityNdx = mActivities.size() - 1; activityNdx >= 0; --activityNdx) {
+                ActivityRecord r = mActivities.get(activityNdx);
+                if (!r.finishing && r != notTop && stack.okToShowLocked(r)) {
+                    return r;
+                }
             }
         }
         return null;
@@ -663,7 +668,7 @@
                     if (opts != null) {
                         ret.updateOptionsLocked(opts);
                     }
-                    if (stack.finishActivityLocked(
+                    if (stack != null && stack.finishActivityLocked(
                             r, Activity.RESULT_CANCELED, null, "clear-task-stack", false)) {
                         --activityNdx;
                         --numActivities;
@@ -676,8 +681,10 @@
                 if (ret.launchMode == ActivityInfo.LAUNCH_MULTIPLE
                         && (launchFlags & Intent.FLAG_ACTIVITY_SINGLE_TOP) == 0) {
                     if (!ret.finishing) {
-                        stack.finishActivityLocked(
-                                ret, Activity.RESULT_CANCELED, null, "clear-task-top", false);
+                        if (stack != null) {
+                            stack.finishActivityLocked(
+                                    ret, Activity.RESULT_CANCELED, null, "clear-task-top", false);
+                        }
                         return null;
                     }
                 }
diff --git a/services/core/java/com/android/server/am/UriPermission.java b/services/core/java/com/android/server/am/UriPermission.java
index 650a837..6e371c1 100644
--- a/services/core/java/com/android/server/am/UriPermission.java
+++ b/services/core/java/com/android/server/am/UriPermission.java
@@ -19,7 +19,6 @@
 import android.content.Intent;
 import android.os.UserHandle;
 import android.util.ArraySet;
-import android.util.Log;
 import android.util.Slog;
 
 import com.android.server.am.ActivityManagerService.GrantUri;
diff --git a/services/core/java/com/android/server/am/UriPermissionOwner.java b/services/core/java/com/android/server/am/UriPermissionOwner.java
index ae83940..28344df 100644
--- a/services/core/java/com/android/server/am/UriPermissionOwner.java
+++ b/services/core/java/com/android/server/am/UriPermissionOwner.java
@@ -17,7 +17,6 @@
 package com.android.server.am;
 
 import android.content.Intent;
-import android.net.Uri;
 import android.os.Binder;
 import android.os.IBinder;
 import android.util.ArraySet;
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
index 473f5db..83ecf91 100644
--- a/services/core/java/com/android/server/audio/AudioService.java
+++ b/services/core/java/com/android/server/audio/AudioService.java
@@ -54,7 +54,6 @@
 import android.media.AudioManagerInternal;
 import android.media.AudioPort;
 import android.media.AudioRoutesInfo;
-import android.media.AudioSystem;
 import android.media.IAudioFocusDispatcher;
 import android.media.IAudioRoutesObserver;
 import android.media.IAudioService;
@@ -63,14 +62,9 @@
 import android.media.IVolumeController;
 import android.media.MediaPlayer;
 import android.media.SoundPool;
-import android.media.AudioAttributes.Builder;
-import android.media.AudioManagerInternal.RingerModeDelegate;
-import android.media.AudioSystem.ErrorCallback;
-import android.media.IAudioService.Stub;
+import android.media.VolumePolicy;
 import android.media.MediaPlayer.OnCompletionListener;
 import android.media.MediaPlayer.OnErrorListener;
-import android.media.SoundPool.OnLoadCompleteListener;
-import android.media.audiopolicy.AudioMix;
 import android.media.audiopolicy.AudioPolicy;
 import android.media.audiopolicy.AudioPolicyConfig;
 import android.media.audiopolicy.IAudioPolicyCallback;
@@ -95,6 +89,7 @@
 import android.util.Log;
 import android.util.MathUtils;
 import android.util.Slog;
+import android.util.SparseIntArray;
 import android.view.KeyEvent;
 import android.view.OrientationEventListener;
 import android.view.Surface;
@@ -102,6 +97,7 @@
 import android.view.accessibility.AccessibilityManager;
 
 import com.android.internal.util.XmlUtils;
+import com.android.server.EventLogTags;
 import com.android.server.LocalServices;
 
 import org.xmlpull.v1.XmlPullParserException;
@@ -118,7 +114,6 @@
 import java.util.NoSuchElementException;
 import java.util.Objects;
 import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * The implementation of the volume manager service.
@@ -145,14 +140,8 @@
     /** Debug volumes */
     protected static final boolean DEBUG_VOL = Log.isLoggable(TAG + ".VOL", Log.DEBUG);
 
-    /** debug calls to media session apis */
-    private static final boolean DEBUG_SESSIONS = Log.isLoggable(TAG + ".SESSIONS", Log.DEBUG);
-
-    /** Allow volume changes to set ringer mode to silent? */
-    private static final boolean VOLUME_SETS_RINGER_MODE_SILENT = false;
-
-    /** In silent mode, are volume adjustments (raises) prevented? */
-    private static final boolean PREVENT_VOLUME_ADJUSTMENT_IF_SILENT = true;
+    /** debug calls to devices APIs */
+    protected static final boolean DEBUG_DEVICES = Log.isLoggable(TAG + ".DEVICES", Log.DEBUG);
 
     /** How long to delay before persisting a change in volume/ringer mode. */
     private static final int PERSIST_DELAY = 500;
@@ -195,7 +184,6 @@
     // AudioHandler messages
     private static final int MSG_SET_DEVICE_VOLUME = 0;
     private static final int MSG_PERSIST_VOLUME = 1;
-    private static final int MSG_PERSIST_MASTER_VOLUME = 2;
     private static final int MSG_PERSIST_RINGER_MODE = 3;
     private static final int MSG_MEDIA_SERVER_DIED = 4;
     private static final int MSG_PLAY_SOUND_EFFECT = 5;
@@ -246,10 +234,6 @@
     private final Object mSoundEffectsLock = new Object();
     private static final int NUM_SOUNDPOOL_CHANNELS = 4;
 
-    // Internally master volume is a float in the 0.0 - 1.0 range,
-    // but to support integer based AudioManager API we translate it to 0 - 100
-    private static final int MAX_MASTER_VOLUME = 100;
-
     // Maximum volume adjust steps allowed in a single batch call.
     private static final int MAX_BATCH_VOLUME_ADJUST_STEPS = 4;
 
@@ -262,7 +246,7 @@
      * uses soundpool (second column) */
     private final int[][] SOUND_EFFECT_FILES_MAP = new int[AudioManager.NUM_SOUND_EFFECTS][2];
 
-   /** @hide Maximum volume index values for audio streams */
+   /** Maximum volume index values for audio streams */
     private static int[] MAX_STREAM_VOLUME = new int[] {
         5,  // STREAM_VOICE_CALL
         7,  // STREAM_SYSTEM
@@ -276,6 +260,20 @@
         15  // STREAM_TTS
     };
 
+    /** Minimum volume index values for audio streams */
+    private static int[] MIN_STREAM_VOLUME = new int[] {
+        1,  // STREAM_VOICE_CALL
+        0,  // STREAM_SYSTEM
+        0,  // STREAM_RING
+        0,  // STREAM_MUSIC
+        0,  // STREAM_ALARM
+        0,  // STREAM_NOTIFICATION
+        1,  // STREAM_BLUETOOTH_SCO
+        0,  // STREAM_SYSTEM_ENFORCED
+        0,  // STREAM_DTMF
+        0   // STREAM_TTS
+    };
+
     /* mStreamVolumeAlias[] indicates for each stream if it uses the volume settings
      * of another stream: This avoids multiplying the volume settings for hidden
      * stream types that follow other stream behavior for volume settings
@@ -327,7 +325,7 @@
      * Map AudioSystem.STREAM_* constants to app ops.  This should be used
      * after mapping through mStreamVolumeAlias.
      */
-    private static final int[] STEAM_VOLUME_OPS = new int[] {
+    private static final int[] STREAM_VOLUME_OPS = new int[] {
         AppOpsManager.OP_AUDIO_VOICE_VOLUME,            // STREAM_VOICE_CALL
         AppOpsManager.OP_AUDIO_MEDIA_VOLUME,            // STREAM_SYSTEM
         AppOpsManager.OP_AUDIO_RING_VOLUME,             // STREAM_RING
@@ -388,16 +386,36 @@
     private final BroadcastReceiver mReceiver = new AudioServiceBroadcastReceiver();
 
     // Devices currently connected
-    private final HashMap <Integer, String> mConnectedDevices = new HashMap <Integer, String>();
+    // Use makeDeviceListKey() to make a unique key for this list.
+    private class DeviceListSpec {
+        int mDeviceType;
+        String mDeviceName;
+        String mDeviceAddress;
+
+        public DeviceListSpec(int deviceType, String deviceName, String deviceAddress) {
+            mDeviceType = deviceType;
+            mDeviceName = deviceName;
+            mDeviceAddress = deviceAddress;
+        }
+
+        public String toString() {
+            return "[type:0x" + Integer.toHexString(mDeviceType) + " name:" + mDeviceName
+                    + " address:" + mDeviceAddress + "]";
+        }
+    }
+
+    // Generate a unique key for the mConnectedDevices List by composing the device "type"
+    // and the "address" associated with a specific instance of that device type
+    private String makeDeviceListKey(int device, String deviceAddress) {
+        return "0x" + Integer.toHexString(device) + ":" + deviceAddress;
+    }
+
+    private final HashMap<String, DeviceListSpec> mConnectedDevices =
+            new HashMap<String, DeviceListSpec>();
 
     // Forced device usage for communications
     private int mForcedUseForComm;
 
-    // True if we have master volume support
-    private final boolean mUseMasterVolume;
-
-    private final int[] mMasterVolumeRamp;
-
     // List of binder death handlers for setMode() client processes.
     // The last process to have called setMode() is at the top of the list.
     private final ArrayList <SetModeDeathHandler> mSetModeDeathHandlers = new ArrayList <SetModeDeathHandler>();
@@ -522,6 +540,8 @@
     private static Long mLastDeviceConnectMsgTime = new Long(0);
 
     private AudioManagerInternal.RingerModeDelegate mRingerModeDelegate;
+    private VolumePolicy mVolumePolicy = VolumePolicy.DEFAULT;
+    private long mLoweredFromNormalToVibrateTime;
 
     // Intent "extra" data keys.
     public static final String CONNECT_INTENT_KEY_PORT_NAME = "portName";
@@ -537,6 +557,8 @@
         return "card=" + card + ";device=" + device + ";";
     }
 
+    private final String DEVICE_NAME_A2DP = "a2dp-device";
+
     ///////////////////////////////////////////////////////////////////////////
     // Construction
     ///////////////////////////////////////////////////////////////////////////
@@ -555,7 +577,7 @@
         Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
         mHasVibrator = vibrator == null ? false : vibrator.hasVibrator();
 
-       // Intialized volume
+        // Initialize volume
         int maxVolume = SystemProperties.getInt("ro.config.vc_call_vol_steps",
                 MAX_STREAM_VOLUME[AudioSystem.STREAM_VOICE_CALL]);
         if (maxVolume != MAX_STREAM_VOLUME[AudioSystem.STREAM_VOICE_CALL]) {
@@ -576,9 +598,6 @@
 
         createAudioSystemThread();
 
-        mMediaFocusControl = new MediaFocusControl(mAudioHandler.getLooper(),
-                mContext, mVolumeController, this);
-
         AudioSystem.setErrorCallback(mAudioSystemCallback);
 
         boolean cameraSoundForced = readCameraSoundForced();
@@ -602,18 +621,17 @@
 
         mUseFixedVolume = mContext.getResources().getBoolean(
                 com.android.internal.R.bool.config_useFixedVolume);
-        mUseMasterVolume = context.getResources().getBoolean(
-                com.android.internal.R.bool.config_useMasterVolume);
-        mMasterVolumeRamp = context.getResources().getIntArray(
-                com.android.internal.R.array.config_masterVolumeRamp);
 
         // must be called before readPersistedSettings() which needs a valid mStreamVolumeAlias[]
         // array initialized by updateStreamVolumeAlias()
-        updateStreamVolumeAlias(false /*updateVolumes*/);
+        updateStreamVolumeAlias(false /*updateVolumes*/, TAG);
         readPersistedSettings();
         mSettingsObserver = new SettingsObserver();
         createStreamStates();
 
+        mMediaFocusControl = new MediaFocusControl(mAudioHandler.getLooper(),
+                mContext, mVolumeController, this);
+
         readAndSetLowRamDevice();
 
         // Call setRingerModeInt() to apply correct mute
@@ -654,8 +672,6 @@
 
         context.registerReceiver(mReceiver, intentFilter);
 
-        restoreMasterVolume();
-
         LocalServices.addService(AudioManagerInternal.class, new AudioServiceInternal());
     }
 
@@ -705,7 +721,7 @@
                 SENDMSG_REPLACE,
                 0,
                 0,
-                null,
+                TAG,
                 SAFE_VOLUME_CONFIGURE_TIMEOUT_MS);
 
         StreamOverride.init(mContext);
@@ -738,7 +754,8 @@
             for (int streamType = 0; streamType < numStreamTypes; streamType++) {
                 if (streamType != mStreamVolumeAlias[streamType]) {
                     mStreamStates[streamType].
-                                    setAllIndexes(mStreamStates[mStreamVolumeAlias[streamType]]);
+                                    setAllIndexes(mStreamStates[mStreamVolumeAlias[streamType]],
+                                            TAG);
                 }
                 // apply stream volume
                 if (!mStreamStates[streamType].mIsMuted) {
@@ -760,6 +777,16 @@
         mStreamStates[streamType].checkFixedVolumeDevices();
     }
 
+    private void checkMuteAffectedStreams() {
+        // any stream with a min level > 0 is not muteable by definition
+        for (int i = 0; i < mStreamStates.length; i++) {
+            final VolumeStreamState vss = mStreamStates[i];
+            if (vss.mIndexMin > 0) {
+                mMuteAffectedStreams &= ~(1 << vss.mStreamType);
+            }
+        }
+    }
+
     private void createStreamStates() {
         int numStreamTypes = AudioSystem.getNumStreamTypes();
         VolumeStreamState[] streams = mStreamStates = new VolumeStreamState[numStreamTypes];
@@ -770,6 +797,7 @@
 
         checkAllFixedVolumeDevices();
         checkAllAliasStreamVolumes();
+        checkMuteAffectedStreams();
     }
 
     private void dumpStreamStates(PrintWriter pw) {
@@ -784,7 +812,7 @@
         pw.println(Integer.toHexString(mMuteAffectedStreams));
     }
 
-    private void updateStreamVolumeAlias(boolean updateVolumes) {
+    private void updateStreamVolumeAlias(boolean updateVolumes, String caller) {
         int dtmfStreamAlias;
 
         switch (mPlatformType) {
@@ -814,7 +842,8 @@
 
         mStreamVolumeAlias[AudioSystem.STREAM_DTMF] = dtmfStreamAlias;
         if (updateVolumes) {
-            mStreamStates[AudioSystem.STREAM_DTMF].setAllIndexes(mStreamStates[dtmfStreamAlias]);
+            mStreamStates[AudioSystem.STREAM_DTMF].setAllIndexes(mStreamStates[dtmfStreamAlias],
+                    caller);
             // apply stream mute states according to new value of mRingerModeAffectedStreams
             setRingerModeInt(getRingerModeInternal(), false);
             sendMsg(mAudioHandler,
@@ -889,7 +918,7 @@
                 UserHandle.USER_CURRENT);
 
         boolean masterMute = System.getIntForUser(cr, System.VOLUME_MASTER_MUTE,
-                                                  0, UserHandle.USER_CURRENT) == 1;
+                0, UserHandle.USER_CURRENT) == 1;
         if (mUseFixedVolume) {
             masterMute = false;
             AudioSystem.setMasterVolume(1.0f);
@@ -943,15 +972,15 @@
     ///////////////////////////////////////////////////////////////////////////
     /** @see AudioManager#adjustVolume(int, int) */
     public void adjustSuggestedStreamVolume(int direction, int suggestedStreamType, int flags,
-            String callingPackage) {
+            String callingPackage, String caller) {
         adjustSuggestedStreamVolume(direction, suggestedStreamType, flags, callingPackage,
-                Binder.getCallingUid());
+                caller, Binder.getCallingUid());
     }
 
     private void adjustSuggestedStreamVolume(int direction, int suggestedStreamType, int flags,
-            String callingPackage, int uid) {
-        if (DEBUG_VOL) Log.d(TAG, "adjustSuggestedStreamVolume() stream="+suggestedStreamType
-                + ", flags=" + flags);
+            String callingPackage, String caller, int uid) {
+        if (DEBUG_VOL) Log.d(TAG, "adjustSuggestedStreamVolume() stream=" + suggestedStreamType
+                + ", flags=" + flags + ", caller=" + caller);
         int streamType;
         boolean isMute = isMuteAdjust(direction);
         if (mVolumeControlStream != -1) {
@@ -976,22 +1005,23 @@
             if (DEBUG_VOL) Log.d(TAG, "Volume controller suppressed adjustment");
         }
 
-        adjustStreamVolume(streamType, direction, flags, callingPackage, uid);
+        adjustStreamVolume(streamType, direction, flags, callingPackage, caller, uid);
     }
 
     /** @see AudioManager#adjustStreamVolume(int, int, int) */
     public void adjustStreamVolume(int streamType, int direction, int flags,
             String callingPackage) {
-        adjustStreamVolume(streamType, direction, flags, callingPackage, Binder.getCallingUid());
+        adjustStreamVolume(streamType, direction, flags, callingPackage, callingPackage,
+                Binder.getCallingUid());
     }
 
     private void adjustStreamVolume(int streamType, int direction, int flags,
-            String callingPackage, int uid) {
+            String callingPackage, String caller, int uid) {
         if (mUseFixedVolume) {
             return;
         }
-        if (DEBUG_VOL) Log.d(TAG, "adjustStreamVolume() stream="+streamType+", dir="+direction
-                + ", flags="+flags);
+        if (DEBUG_VOL) Log.d(TAG, "adjustStreamVolume() stream=" + streamType + ", dir=" + direction
+                + ", flags=" + flags + ", caller=" + caller);
 
         ensureValidDirection(direction);
         ensureValidStreamType(streamType);
@@ -1022,7 +1052,7 @@
             return;
         }
 
-        if (mAppOps.noteOp(STEAM_VOLUME_OPS[streamTypeAlias], uid, callingPackage)
+        if (mAppOps.noteOp(STREAM_VOLUME_OPS[streamTypeAlias], uid, callingPackage)
                 != AppOpsManager.MODE_ALLOWED) {
             return;
         }
@@ -1057,7 +1087,7 @@
         // If either the client forces allowing ringer modes for this adjustment,
         // or the stream type is one that is affected by ringer modes
         if (((flags & AudioManager.FLAG_ALLOW_RINGER_MODES) != 0) ||
-                (streamTypeAlias == getMasterStreamType())) {
+                (streamTypeAlias == getUiSoundsStreamType())) {
             int ringerMode = getRingerModeInternal();
             // do not vibrate if already in vibrate mode
             if (ringerMode == AudioManager.RINGER_MODE_VIBRATE) {
@@ -1112,7 +1142,8 @@
                     !checkSafeMediaVolume(streamTypeAlias, aliasIndex + step, device)) {
                 Log.e(TAG, "adjustStreamVolume() safe volume index = " + oldIndex);
                 mVolumeController.postDisplaySafeVolumeWarning(flags);
-            } else if (streamState.adjustIndex(direction * step, device) || streamState.mIsMuted) {
+            } else if (streamState.adjustIndex(direction * step, device, caller)
+                    || streamState.mIsMuted) {
                 // Post message to set system volume (it in turn will post a
                 // message to persist).
                 if (streamState.mIsMuted) {
@@ -1121,8 +1152,10 @@
                         // unmute immediately for volume up
                         streamState.mute(false);
                     } else if (direction == AudioManager.ADJUST_LOWER) {
-                        sendMsg(mAudioHandler, MSG_UNMUTE_STREAM, SENDMSG_QUEUE,
-                                streamTypeAlias, flags, null, UNMUTE_STREAM_DELAY);
+                        if (mPlatformType == AudioSystem.PLATFORM_TELEVISION) {
+                            sendMsg(mAudioHandler, MSG_UNMUTE_STREAM, SENDMSG_QUEUE,
+                                    streamTypeAlias, flags, null, UNMUTE_STREAM_DELAY);
+                        }
                     }
                 }
                 sendMsg(mAudioHandler,
@@ -1190,33 +1223,6 @@
         }
     }
 
-    /** @see AudioManager#adjustMasterVolume(int, int) */
-    public void adjustMasterVolume(int steps, int flags, String callingPackage) {
-        adjustMasterVolume(steps, flags, callingPackage, Binder.getCallingUid());
-    }
-
-    public void adjustMasterVolume(int steps, int flags, String callingPackage, int uid) {
-        if (mUseFixedVolume) {
-            return;
-        }
-        if (isMuteAdjust(steps)) {
-            setMasterMuteInternal(steps, flags, callingPackage, uid);
-            return;
-        }
-        ensureValidSteps(steps);
-        int volume = Math.round(AudioSystem.getMasterVolume() * MAX_MASTER_VOLUME);
-        int delta = 0;
-        int numSteps = Math.abs(steps);
-        int direction = steps > 0 ? AudioManager.ADJUST_RAISE : AudioManager.ADJUST_LOWER;
-        for (int i = 0; i < numSteps; ++i) {
-            delta = findVolumeDelta(direction, volume);
-            volume += delta;
-        }
-
-        //Log.d(TAG, "adjustMasterVolume volume: " + volume + " steps: " + steps);
-        setMasterVolume(volume, flags, callingPackage, uid);
-    }
-
     // StreamVolumeCommand contains the information needed to defer the process of
     // setStreamVolume() in case the user has to acknowledge the safe volume warning message.
     class StreamVolumeCommand {
@@ -1240,15 +1246,16 @@
         }
     };
 
-    private void onSetStreamVolume(int streamType, int index, int flags, int device) {
-        setStreamVolumeInt(mStreamVolumeAlias[streamType], index, device, false);
-        // setting volume on master stream type also controls silent mode
+    private void onSetStreamVolume(int streamType, int index, int flags, int device,
+            String caller) {
+        setStreamVolumeInt(mStreamVolumeAlias[streamType], index, device, false, caller);
+        // setting volume on ui sounds stream type also controls silent mode
         if (((flags & AudioManager.FLAG_ALLOW_RINGER_MODES) != 0) ||
-                (mStreamVolumeAlias[streamType] == getMasterStreamType())) {
+                (mStreamVolumeAlias[streamType] == getUiSoundsStreamType())) {
             int newRingerMode;
             if (index == 0) {
                 newRingerMode = mHasVibrator ? AudioManager.RINGER_MODE_VIBRATE
-                        : VOLUME_SETS_RINGER_MODE_SILENT ? AudioManager.RINGER_MODE_SILENT
+                        : mVolumePolicy.volumeDownToEnterSilent ? AudioManager.RINGER_MODE_SILENT
                         : AudioManager.RINGER_MODE_NORMAL;
             } else {
                 newRingerMode = AudioManager.RINGER_MODE_NORMAL;
@@ -1259,11 +1266,12 @@
 
     /** @see AudioManager#setStreamVolume(int, int, int) */
     public void setStreamVolume(int streamType, int index, int flags, String callingPackage) {
-        setStreamVolume(streamType, index, flags, callingPackage, Binder.getCallingUid());
+        setStreamVolume(streamType, index, flags, callingPackage, callingPackage,
+                Binder.getCallingUid());
     }
 
     private void setStreamVolume(int streamType, int index, int flags, String callingPackage,
-            int uid) {
+            String caller, int uid) {
         if (mUseFixedVolume) {
             return;
         }
@@ -1282,7 +1290,7 @@
             return;
         }
 
-        if (mAppOps.noteOp(STEAM_VOLUME_OPS[streamTypeAlias], uid, callingPackage)
+        if (mAppOps.noteOp(STREAM_VOLUME_OPS[streamTypeAlias], uid, callingPackage)
                 != AppOpsManager.MODE_ALLOWED) {
             return;
         }
@@ -1330,7 +1338,7 @@
                 mPendingVolumeCommand = new StreamVolumeCommand(
                                                     streamType, index, flags, device);
             } else {
-                onSetStreamVolume(streamType, index, flags, device);
+                onSetStreamVolume(streamType, index, flags, device, caller);
                 index = mStreamStates[streamType].getIndex(device);
             }
         }
@@ -1388,41 +1396,6 @@
         }
     }
 
-    private int findVolumeDelta(int direction, int volume) {
-        int delta = 0;
-        if (direction == AudioManager.ADJUST_RAISE) {
-            if (volume == MAX_MASTER_VOLUME) {
-                return 0;
-            }
-            // This is the default value if we make it to the end
-            delta = mMasterVolumeRamp[1];
-            // If we're raising the volume move down the ramp array until we
-            // find the volume we're above and use that groups delta.
-            for (int i = mMasterVolumeRamp.length - 1; i > 1; i -= 2) {
-                if (volume >= mMasterVolumeRamp[i - 1]) {
-                    delta = mMasterVolumeRamp[i];
-                    break;
-                }
-            }
-        } else if (direction == AudioManager.ADJUST_LOWER){
-            if (volume == 0) {
-                return 0;
-            }
-            int length = mMasterVolumeRamp.length;
-            // This is the default value if we make it to the end
-            delta = -mMasterVolumeRamp[length - 1];
-            // If we're lowering the volume move up the ramp array until we
-            // find the volume we're below and use the group below it's delta
-            for (int i = 2; i < length; i += 2) {
-                if (volume <= mMasterVolumeRamp[i]) {
-                    delta = -mMasterVolumeRamp[i - 1];
-                    break;
-                }
-            }
-        }
-        return delta;
-    }
-
     private void sendBroadcastToAll(Intent intent) {
         intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
         intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
@@ -1471,16 +1444,6 @@
     }
 
     // UI update and Broadcast Intent
-    private void sendMasterVolumeUpdate(int flags, int oldVolume, int newVolume) {
-        mVolumeController.postMasterVolumeChanged(updateFlagsForSystemAudio(flags));
-
-        Intent intent = new Intent(AudioManager.MASTER_VOLUME_CHANGED_ACTION);
-        intent.putExtra(AudioManager.EXTRA_PREV_MASTER_VOLUME_VALUE, oldVolume);
-        intent.putExtra(AudioManager.EXTRA_MASTER_VOLUME_VALUE, newVolume);
-        sendBroadcastToAll(intent);
-    }
-
-    // UI update and Broadcast Intent
     private void sendMasterMuteUpdate(boolean muted, int flags) {
         mVolumeController.postMasterMuteChanged(updateFlagsForSystemAudio(flags));
         broadcastMasterMuteStatus(muted);
@@ -1507,10 +1470,11 @@
     private void setStreamVolumeInt(int streamType,
                                     int index,
                                     int device,
-                                    boolean force) {
+                                    boolean force,
+                                    String caller) {
         VolumeStreamState streamState = mStreamStates[streamType];
 
-        if (streamState.setIndex(index, device) || force) {
+        if (streamState.setIndex(index, device, caller) || force) {
             // Post message to set system volume (it in turn will post a message
             // to persist).
             sendMsg(mAudioHandler,
@@ -1648,27 +1612,21 @@
         }
     }
 
-    private void setMasterMuteInternal(int adjust, int flags, String callingPackage, int uid) {
+    private void setMasterMuteInternal(boolean mute, int flags, String callingPackage, int uid) {
         if (mAppOps.noteOp(AppOpsManager.OP_AUDIO_MASTER_VOLUME, uid, callingPackage)
                 != AppOpsManager.MODE_ALLOWED) {
             return;
         }
-        boolean state;
-        if (adjust == AudioManager.ADJUST_TOGGLE_MUTE) {
-            state = !AudioSystem.getMasterMute();
-        } else {
-            state = adjust == AudioManager.ADJUST_MUTE;
-        }
-        if (state != AudioSystem.getMasterMute()) {
-            setSystemAudioMute(state);
-            AudioSystem.setMasterMute(state);
+        if (mute != AudioSystem.getMasterMute()) {
+            setSystemAudioMute(mute);
+            AudioSystem.setMasterMute(mute);
             // Post a persist master volume msg
-            sendMsg(mAudioHandler, MSG_PERSIST_MASTER_VOLUME_MUTE, SENDMSG_REPLACE, state ? 1
+            sendMsg(mAudioHandler, MSG_PERSIST_MASTER_VOLUME_MUTE, SENDMSG_REPLACE, mute ? 1
                     : 0, UserHandle.getCallingUserId(), null, PERSIST_DELAY);
-            sendMasterMuteUpdate(state, flags);
+            sendMasterMuteUpdate(mute, flags);
 
             Intent intent = new Intent(AudioManager.MASTER_MUTE_CHANGED_ACTION);
-            intent.putExtra(AudioManager.EXTRA_MASTER_VOLUME_MUTED, state);
+            intent.putExtra(AudioManager.EXTRA_MASTER_VOLUME_MUTED, mute);
             sendBroadcastToAll(intent);
         }
     }
@@ -1678,8 +1636,8 @@
         return AudioSystem.getMasterMute();
     }
 
-    protected static int getMaxStreamVolume(int streamType) {
-        return MAX_STREAM_VOLUME[streamType];
+    public void setMasterMute(boolean mute, int flags, String callingPackage) {
+        setMasterMuteInternal(mute, flags, callingPackage, Binder.getCallingUid());
     }
 
     /** @see AudioManager#getStreamVolume(int) */
@@ -1701,61 +1659,16 @@
         }
     }
 
-    @Override
-    public int getMasterVolume() {
-        if (isMasterMute()) return 0;
-        return getLastAudibleMasterVolume();
-    }
-
-    @Override
-    public void setMasterVolume(int volume, int flags, String callingPackage) {
-        setMasterVolume(volume, flags, callingPackage, Binder.getCallingUid());
-    }
-
-    public void setMasterVolume(int volume, int flags, String callingPackage, int uid) {
-        if (mUseFixedVolume) {
-            return;
-        }
-
-        if (mAppOps.noteOp(AppOpsManager.OP_AUDIO_MASTER_VOLUME, uid, callingPackage)
-                != AppOpsManager.MODE_ALLOWED) {
-            return;
-        }
-
-        if (volume < 0) {
-            volume = 0;
-        } else if (volume > MAX_MASTER_VOLUME) {
-            volume = MAX_MASTER_VOLUME;
-        }
-        doSetMasterVolume((float)volume / MAX_MASTER_VOLUME, flags);
-    }
-
-    private void doSetMasterVolume(float volume, int flags) {
-        // don't allow changing master volume when muted
-        if (!AudioSystem.getMasterMute()) {
-            int oldVolume = getMasterVolume();
-            AudioSystem.setMasterVolume(volume);
-
-            int newVolume = getMasterVolume();
-            if (newVolume != oldVolume) {
-                // Post a persist master volume msg
-                sendMsg(mAudioHandler, MSG_PERSIST_MASTER_VOLUME, SENDMSG_REPLACE,
-                        Math.round(volume * (float)1000.0), 0, null, PERSIST_DELAY);
-                setSystemAudioVolume(oldVolume, newVolume, getMasterMaxVolume(), flags);
-            }
-            // Send the volume update regardless whether there was a change.
-            sendMasterVolumeUpdate(flags, oldVolume, newVolume);
-        }
-    }
-
     /** @see AudioManager#getStreamMaxVolume(int) */
     public int getStreamMaxVolume(int streamType) {
         ensureValidStreamType(streamType);
         return (mStreamStates[streamType].getMaxIndex() + 5) / 10;
     }
 
-    public int getMasterMaxVolume() {
-        return MAX_MASTER_VOLUME;
+    /** @see AudioManager#getStreamMinVolume(int) */
+    public int getStreamMinVolume(int streamType) {
+        ensureValidStreamType(streamType);
+        return (mStreamStates[streamType].getMinIndex() + 5) / 10;
     }
 
     /** Get last audible volume before stream was muted. */
@@ -1765,13 +1678,8 @@
         return (mStreamStates[streamType].getIndex(device) + 5) / 10;
     }
 
-    /** Get last audible master volume before it was muted. */
-    public int getLastAudibleMasterVolume() {
-        return Math.round(AudioSystem.getMasterVolume() * MAX_MASTER_VOLUME);
-    }
-
-    /** @see AudioManager#getMasterStreamType()  */
-    public int getMasterStreamType() {
+    /** @see AudioManager#getUiSoundsStreamType()  */
+    public int getUiSoundsStreamType() {
         return mStreamVolumeAlias[AudioSystem.STREAM_SYSTEM];
     }
 
@@ -1845,7 +1753,7 @@
                     setRingerModeExt(ringerMode);
                     if (mRingerModeDelegate != null) {
                         ringerMode = mRingerModeDelegate.onSetRingerModeExternal(ringerModeExternal,
-                                ringerMode, caller, ringerModeInternal);
+                                ringerMode, caller, ringerModeInternal, mVolumePolicy);
                     }
                     if (ringerMode != ringerModeInternal) {
                         setRingerModeInt(ringerMode, true /*persist*/);
@@ -1856,7 +1764,7 @@
                     }
                     if (mRingerModeDelegate != null) {
                         ringerMode = mRingerModeDelegate.onSetRingerModeInternal(ringerModeInternal,
-                                ringerMode, caller, ringerModeExternal);
+                                ringerMode, caller, ringerModeExternal, mVolumePolicy);
                     }
                     setRingerModeExt(ringerMode);
                 }
@@ -1900,12 +1808,12 @@
                 if ((isPlatformVoice() || mHasVibrator) &&
                         mStreamVolumeAlias[streamType] == AudioSystem.STREAM_RING) {
                     synchronized (VolumeStreamState.class) {
-                        Set set = mStreamStates[streamType].mIndex.entrySet();
-                        Iterator i = set.iterator();
-                        while (i.hasNext()) {
-                            Map.Entry entry = (Map.Entry)i.next();
-                            if ((Integer)entry.getValue() == 0) {
-                                entry.setValue(10);
+                        final VolumeStreamState vss = mStreamStates[streamType];
+                        for (int i = 0; i < vss.mIndexMap.size(); i++) {
+                            int device = vss.mIndexMap.keyAt(i);
+                            int value = vss.mIndexMap.valueAt(i);
+                            if (value == 0) {
+                                vss.setIndex(10, device, TAG);
                             }
                         }
                         // Persist volume for stream ring when it is changed here
@@ -1939,20 +1847,6 @@
         }
     }
 
-    private void restoreMasterVolume() {
-        if (mUseFixedVolume) {
-            AudioSystem.setMasterVolume(1.0f);
-            return;
-        }
-        if (mUseMasterVolume) {
-            float volume = Settings.System.getFloatForUser(mContentResolver,
-                    Settings.System.VOLUME_MASTER, -1.0f, UserHandle.USER_CURRENT);
-            if (volume >= 0.0f) {
-                AudioSystem.setMasterVolume(volume);
-            }
-        }
-    }
-
     /** @see AudioManager#shouldVibrate(int) */
     public boolean shouldVibrate(int vibrateType) {
         if (!mHasVibrator) return false;
@@ -2011,7 +1905,7 @@
                 if (index < 0) {
                     Log.w(TAG, "unregistered setMode() client died");
                 } else {
-                    newModeOwnerPid = setModeInt(AudioSystem.MODE_NORMAL, mCb, mPid);
+                    newModeOwnerPid = setModeInt(AudioSystem.MODE_NORMAL, mCb, mPid, TAG);
                 }
             }
             // when entering RINGTONE, IN_CALL or IN_COMMUNICATION mode, clear all
@@ -2041,8 +1935,8 @@
     }
 
     /** @see AudioManager#setMode(int) */
-    public void setMode(int mode, IBinder cb) {
-        if (DEBUG_MODE) { Log.v(TAG, "setMode(mode=" + mode + ")"); }
+    public void setMode(int mode, IBinder cb, String callingPackage) {
+        if (DEBUG_MODE) { Log.v(TAG, "setMode(mode=" + mode + ", callingPackage=" + callingPackage + ")"); }
         if (!checkAudioSettingsPermission("setMode()")) {
             return;
         }
@@ -2065,7 +1959,7 @@
             if (mode == AudioSystem.MODE_CURRENT) {
                 mode = mMode;
             }
-            newModeOwnerPid = setModeInt(mode, cb, Binder.getCallingPid());
+            newModeOwnerPid = setModeInt(mode, cb, Binder.getCallingPid(), callingPackage);
         }
         // when entering RINGTONE, IN_CALL or IN_COMMUNICATION mode, clear all
         // SCO connections not started by the application changing the mode
@@ -2077,8 +1971,9 @@
     // must be called synchronized on mSetModeDeathHandlers
     // setModeInt() returns a valid PID if the audio mode was successfully set to
     // any mode other than NORMAL.
-    private int setModeInt(int mode, IBinder cb, int pid) {
-        if (DEBUG_MODE) { Log.v(TAG, "setModeInt(mode=" + mode + ", pid=" + pid + ")"); }
+    private int setModeInt(int mode, IBinder cb, int pid, String caller) {
+        if (DEBUG_MODE) { Log.v(TAG, "setModeInt(mode=" + mode + ", pid=" + pid + ", caller="
+                + caller + ")"); }
         int newModeOwnerPid = 0;
         if (cb == null) {
             Log.e(TAG, "setModeInt() called with null binder");
@@ -2158,9 +2053,9 @@
             int streamType = getActiveStreamType(AudioManager.USE_DEFAULT_STREAM_TYPE);
             int device = getDeviceForStream(streamType);
             int index = mStreamStates[mStreamVolumeAlias[streamType]].getIndex(device);
-            setStreamVolumeInt(mStreamVolumeAlias[streamType], index, device, true);
+            setStreamVolumeInt(mStreamVolumeAlias[streamType], index, device, true, caller);
 
-            updateStreamVolumeAlias(true /*updateVolumes*/);
+            updateStreamVolumeAlias(true /*updateVolumes*/, caller);
         }
         return newModeOwnerPid;
     }
@@ -2409,13 +2304,14 @@
 
         checkAllFixedVolumeDevices();
         checkAllAliasStreamVolumes();
+        checkMuteAffectedStreams();
 
         synchronized (mSafeMediaVolumeState) {
             mMusicActiveMs = MathUtils.constrain(Settings.Secure.getIntForUser(mContentResolver,
                     Settings.Secure.UNSAFE_VOLUME_MUSIC_ACTIVE_MS, 0, UserHandle.USER_CURRENT),
                     0, UNSAFE_VOLUME_MUSIC_ACTIVE_MS_MAX);
             if (mSafeMediaVolumeState == SAFE_MEDIA_VOLUME_ACTIVE) {
-                enforceSafeMediaVolume();
+                enforceSafeMediaVolume(TAG);
             }
         }
     }
@@ -2934,14 +2830,17 @@
             }
         }
         public void onServiceDisconnected(int profile) {
-            switch(profile) {
+            switch (profile) {
             case BluetoothProfile.A2DP:
                 synchronized (mConnectedDevices) {
                     synchronized (mA2dpAvrcpLock) {
-                        mA2dp = null;
-                        if (mConnectedDevices.containsKey(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP)) {
-                            makeA2dpDeviceUnavailableNow(
-                                    mConnectedDevices.get(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP));
+                        // Disconnect ALL DEVICE_OUT_BLUETOOTH_A2DP devices
+                        for(Map.Entry<String, DeviceListSpec> entry
+                                : mConnectedDevices.entrySet()) {
+                            DeviceListSpec deviceSpec = entry.getValue();
+                            if (deviceSpec.mDeviceType == AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP) {
+                                makeA2dpDeviceUnavailableNow(deviceSpec.mDeviceAddress);
+                            }
                         }
                     }
                 }
@@ -2949,9 +2848,13 @@
 
             case BluetoothProfile.A2DP_SINK:
                 synchronized (mConnectedDevices) {
-                    if (mConnectedDevices.containsKey(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP)) {
-                        makeA2dpSrcUnavailable(
-                                mConnectedDevices.get(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP));
+                    // Disconnect ALL DEVICE_IN_BLUETOOTH_A2DP devices
+                    for(Map.Entry<String, DeviceListSpec> entry
+                            : mConnectedDevices.entrySet()) {
+                        DeviceListSpec deviceSpec = entry.getValue();
+                        if (deviceSpec.mDeviceType == AudioSystem.DEVICE_IN_BLUETOOTH_A2DP) {
+                            makeA2dpSrcUnavailable(deviceSpec.mDeviceAddress);
+                        }
                     }
                 }
                 break;
@@ -2968,7 +2871,7 @@
         }
     };
 
-    private void onCheckMusicActive() {
+    private void onCheckMusicActive(String caller) {
         synchronized (mSafeMediaVolumeState) {
             if (mSafeMediaVolumeState == SAFE_MEDIA_VOLUME_INACTIVE) {
                 int device = getDeviceForStream(AudioSystem.STREAM_MUSIC);
@@ -2979,7 +2882,7 @@
                             SENDMSG_REPLACE,
                             0,
                             0,
-                            null,
+                            caller,
                             MUSIC_ACTIVE_POLL_PERIOD_MS);
                     int index = mStreamStates[AudioSystem.STREAM_MUSIC].getIndex(device);
                     if (AudioSystem.isStreamActive(AudioSystem.STREAM_MUSIC, 0) &&
@@ -2987,7 +2890,7 @@
                         // Approximate cumulative active music time
                         mMusicActiveMs += MUSIC_ACTIVE_POLL_PERIOD_MS;
                         if (mMusicActiveMs > UNSAFE_VOLUME_MUSIC_ACTIVE_MS_MAX) {
-                            setSafeMediaVolumeEnabled(true);
+                            setSafeMediaVolumeEnabled(true, caller);
                             mMusicActiveMs = 0;
                         }
                         saveMusicActiveMs();
@@ -3001,7 +2904,7 @@
         mAudioHandler.obtainMessage(MSG_PERSIST_MUSIC_ACTIVE_MS, mMusicActiveMs, 0).sendToTarget();
     }
 
-    private void onConfigureSafeVolume(boolean force) {
+    private void onConfigureSafeVolume(boolean force, String caller) {
         synchronized (mSafeMediaVolumeState) {
             int mcc = mContext.getResources().getConfiguration().mcc;
             if ((mMcc != mcc) || ((mMcc == 0) && force)) {
@@ -3023,7 +2926,7 @@
                     if (mSafeMediaVolumeState != SAFE_MEDIA_VOLUME_INACTIVE) {
                         if (mMusicActiveMs == 0) {
                             mSafeMediaVolumeState = SAFE_MEDIA_VOLUME_ACTIVE;
-                            enforceSafeMediaVolume();
+                            enforceSafeMediaVolume(caller);
                         } else {
                             // We have existing playback time recorded, already confirmed.
                             mSafeMediaVolumeState = SAFE_MEDIA_VOLUME_INACTIVE;
@@ -3054,7 +2957,8 @@
      * adjusting volume. If so, this will set the proper ringer mode and volume
      * indices on the stream states.
      */
-    private int checkForRingerModeChange(int oldIndex, int direction,  int step, boolean isMuted) {
+    private int checkForRingerModeChange(int oldIndex, int direction, int step, boolean isMuted) {
+        final boolean isTv = mPlatformType == AudioSystem.PLATFORM_TELEVISION;
         int result = FLAG_ADJUST_VOLUME;
         int ringerMode = getRingerModeInternal();
 
@@ -3069,17 +2973,18 @@
                     //   (step <= oldIndex < 2 * step) is equivalent to: (old UI index == 1)
                     if (step <= oldIndex && oldIndex < 2 * step) {
                         ringerMode = RINGER_MODE_VIBRATE;
+                        mLoweredFromNormalToVibrateTime = SystemClock.uptimeMillis();
                     }
                 } else {
                     // (oldIndex < step) is equivalent to (old UI index == 0)
                     if ((oldIndex < step)
-                            && VOLUME_SETS_RINGER_MODE_SILENT
+                            && mVolumePolicy.volumeDownToEnterSilent
                             && mPrevVolDirection != AudioManager.ADJUST_LOWER) {
                         ringerMode = RINGER_MODE_SILENT;
                     }
                 }
-            } else if (direction == AudioManager.ADJUST_TOGGLE_MUTE
-                    || direction == AudioManager.ADJUST_MUTE) {
+            } else if (isTv && (direction == AudioManager.ADJUST_TOGGLE_MUTE
+                    || direction == AudioManager.ADJUST_MUTE)) {
                 if (mHasVibrator) {
                     ringerMode = RINGER_MODE_VIBRATE;
                 } else {
@@ -3097,11 +3002,15 @@
             }
             if ((direction == AudioManager.ADJUST_LOWER)) {
                 // This is the case we were muted with the volume turned up
-                if (oldIndex >= 2 * step && isMuted) {
+                if (isTv && oldIndex >= 2 * step && isMuted) {
                     ringerMode = RINGER_MODE_NORMAL;
                 } else if (mPrevVolDirection != AudioManager.ADJUST_LOWER) {
-                    if (VOLUME_SETS_RINGER_MODE_SILENT) {
-                        ringerMode = RINGER_MODE_SILENT;
+                    if (mVolumePolicy.volumeDownToEnterSilent) {
+                        final long diff = SystemClock.uptimeMillis()
+                                - mLoweredFromNormalToVibrateTime;
+                        if (diff > mVolumePolicy.vibrateToSilentDebounce) {
+                            ringerMode = RINGER_MODE_SILENT;
+                        }
                     } else {
                         result |= AudioManager.FLAG_SHOW_VIBRATE_HINT;
                     }
@@ -3114,13 +3023,13 @@
             result &= ~FLAG_ADJUST_VOLUME;
             break;
         case RINGER_MODE_SILENT:
-            if (direction == AudioManager.ADJUST_LOWER && oldIndex >= 2 * step && isMuted) {
+            if (isTv && direction == AudioManager.ADJUST_LOWER && oldIndex >= 2 * step && isMuted) {
                 // This is the case we were muted with the volume turned up
                 ringerMode = RINGER_MODE_NORMAL;
             } else if (direction == AudioManager.ADJUST_RAISE
                     || direction == AudioManager.ADJUST_TOGGLE_MUTE
                     || direction == AudioManager.ADJUST_UNMUTE) {
-                if (PREVENT_VOLUME_ADJUSTMENT_IF_SILENT) {
+                if (!mVolumePolicy.volumeUpToExitSilent) {
                     result |= AudioManager.FLAG_SHOW_SILENT_HINT;
                 } else {
                   if (mHasVibrator && direction == AudioManager.ADJUST_RAISE) {
@@ -3423,28 +3332,35 @@
      * A class just for packaging up a set of connection parameters.
      */
     private class WiredDeviceConnectionState {
-        public int mType;
-        public int mState;
-        public String mAddress;
-        public String mName;
+        public final int mType;
+        public final int mState;
+        public final String mAddress;
+        public final String mName;
+        public final String mCaller;
 
-        public WiredDeviceConnectionState(int type, int state, String address, String name) {
+        public WiredDeviceConnectionState(int type, int state, String address, String name,
+                String caller) {
             mType = type;
             mState = state;
             mAddress = address;
             mName = name;
+            mCaller = caller;
         }
     }
 
-    public void setWiredDeviceConnectionState(int type, int state, String address,
-            String name) {
+    public void setWiredDeviceConnectionState(int type, int state, String address, String name,
+            String caller) {
         synchronized (mConnectedDevices) {
+            if (DEBUG_DEVICES) {
+                Slog.i(TAG, "setWiredDeviceConnectionState(" + state + " nm: " + name + " addr:"
+                        + address + ")");
+            }
             int delay = checkSendBecomingNoisyIntent(type, state);
             queueMsgUnderWakeLock(mAudioHandler,
                     MSG_SET_WIRED_DEVICE_CONNECTION_STATE,
                     0,
                     0,
-                    new WiredDeviceConnectionState(type, state, address, name),
+                    new WiredDeviceConnectionState(type, state, address, name, caller),
                     delay);
         }
     }
@@ -3485,12 +3401,13 @@
     //  5         mCameraSoundForced
     public class VolumeStreamState {
         private final int mStreamType;
+        private final int mIndexMin;
+        private final int mIndexMax;
 
         private boolean mIsMuted;
         private String mVolumeIndexSettingName;
-        private int mIndexMax;
-        private final ConcurrentHashMap<Integer, Integer> mIndex =
-                                            new ConcurrentHashMap<Integer, Integer>(8, 0.75f, 4);
+
+        private final SparseIntArray mIndexMap = new SparseIntArray(8);
         private final Intent mVolumeChanged;
 
         private VolumeStreamState(String settingName, int streamType) {
@@ -3498,9 +3415,9 @@
             mVolumeIndexSettingName = settingName;
 
             mStreamType = streamType;
-            mIndexMax = MAX_STREAM_VOLUME[streamType];
-            AudioSystem.initStreamVolume(streamType, 0, mIndexMax);
-            mIndexMax *= 10;
+            mIndexMin = MIN_STREAM_VOLUME[streamType] * 10;
+            mIndexMax = MAX_STREAM_VOLUME[streamType] * 10;
+            AudioSystem.initStreamVolume(streamType, mIndexMin / 10, mIndexMax / 10);
 
             readSettings();
             mVolumeChanged = new Intent(AudioManager.VOLUME_CHANGED_ACTION);
@@ -3518,10 +3435,9 @@
 
         public void readSettings() {
             synchronized (VolumeStreamState.class) {
-                // force maximum volume on all streams if fixed volume property
-                // or master volume property is set
-                if (mUseFixedVolume || mUseMasterVolume) {
-                    mIndex.put(AudioSystem.DEVICE_OUT_DEFAULT, mIndexMax);
+                // force maximum volume on all streams if fixed volume property is set
+                if (mUseFixedVolume) {
+                    mIndexMap.put(AudioSystem.DEVICE_OUT_DEFAULT, mIndexMax);
                     return;
                 }
                 // do not read system stream volume from settings: this stream is always aliased
@@ -3535,7 +3451,7 @@
                             index = mIndexMax;
                         }
                     }
-                    mIndex.put(AudioSystem.DEVICE_OUT_DEFAULT, index);
+                    mIndexMap.put(AudioSystem.DEVICE_OUT_DEFAULT, index);
                     return;
                 }
 
@@ -3560,7 +3476,7 @@
                         continue;
                     }
 
-                    mIndex.put(device, getValidIndex(10 * index));
+                    mIndexMap.put(device, getValidIndex(10 * index));
                 }
             }
         }
@@ -3591,11 +3507,8 @@
                 }
                 AudioSystem.setStreamVolumeIndex(mStreamType, index, AudioSystem.DEVICE_OUT_DEFAULT);
                 // then apply device specific volumes
-                Set set = mIndex.entrySet();
-                Iterator i = set.iterator();
-                while (i.hasNext()) {
-                    Map.Entry entry = (Map.Entry)i.next();
-                    int device = ((Integer)entry.getKey()).intValue();
+                for (int i = 0; i < mIndexMap.size(); i++) {
+                    int device = mIndexMap.keyAt(i);
                     if (device != AudioSystem.DEVICE_OUT_DEFAULT) {
                         if (mIsMuted) {
                             index = 0;
@@ -3605,7 +3518,7 @@
                         {
                             index = (mIndexMax + 5)/10;
                         } else {
-                            index = ((Integer)entry.getValue() + 5)/10;
+                            index = (mIndexMap.valueAt(i) + 5)/10;
                         }
                         AudioSystem.setStreamVolumeIndex(mStreamType, index, device);
                     }
@@ -3613,12 +3526,11 @@
             }
         }
 
-        public boolean adjustIndex(int deltaIndex, int device) {
-            return setIndex(getIndex(device) + deltaIndex,
-                            device);
+        public boolean adjustIndex(int deltaIndex, int device, String caller) {
+            return setIndex(getIndex(device) + deltaIndex, device, caller);
         }
 
-        public boolean setIndex(int index, int device) {
+        public boolean setIndex(int index, int device, String caller) {
             boolean changed = false;
             int oldIndex;
             synchronized (VolumeStreamState.class) {
@@ -3629,7 +3541,7 @@
                         index = mIndexMax;
                     }
                 }
-                mIndex.put(device, index);
+                mIndexMap.put(device, index);
 
                 changed = oldIndex != index;
                 if (changed) {
@@ -3642,11 +3554,10 @@
                         if (streamType != mStreamType &&
                                 mStreamVolumeAlias[streamType] == mStreamType) {
                             int scaledIndex = rescaleIndex(index, mStreamType, streamType);
-                            mStreamStates[streamType].setIndex(scaledIndex,
-                                                               device);
+                            mStreamStates[streamType].setIndex(scaledIndex, device, caller);
                             if (currentDevice) {
                                 mStreamStates[streamType].setIndex(scaledIndex,
-                                                                   getDeviceForStream(streamType));
+                                        getDeviceForStream(streamType), caller);
                             }
                         }
                     }
@@ -3655,6 +3566,15 @@
             if (changed) {
                 oldIndex = (oldIndex + 5) / 10;
                 index = (index + 5) / 10;
+                // log base stream changes to the event log
+                if (mStreamVolumeAlias[mStreamType] == mStreamType) {
+                    if (caller == null) {
+                        Log.w(TAG, "No caller for volume_changed event", new Throwable());
+                    }
+                    EventLogTags.writeVolumeChanged(mStreamType, oldIndex, index, mIndexMax / 10,
+                            caller);
+                }
+                // fire changed intents for all streams
                 mVolumeChanged.putExtra(AudioManager.EXTRA_VOLUME_STREAM_VALUE, index);
                 mVolumeChanged.putExtra(AudioManager.EXTRA_PREV_VOLUME_STREAM_VALUE, oldIndex);
                 sendBroadcastToAll(mVolumeChanged);
@@ -3664,12 +3584,12 @@
 
         public int getIndex(int device) {
             synchronized (VolumeStreamState.class) {
-                Integer index = mIndex.get(device);
-                if (index == null) {
+                int index = mIndexMap.get(device, -1);
+                if (index == -1) {
                     // there is always an entry for AudioSystem.DEVICE_OUT_DEFAULT
-                    index = mIndex.get(AudioSystem.DEVICE_OUT_DEFAULT);
+                    index = mIndexMap.get(AudioSystem.DEVICE_OUT_DEFAULT);
                 }
-                return index.intValue();
+                return index;
             }
         }
 
@@ -3677,40 +3597,36 @@
             return mIndexMax;
         }
 
-        public void setAllIndexes(VolumeStreamState srcStream) {
+        public int getMinIndex() {
+            return mIndexMin;
+        }
+
+        public void setAllIndexes(VolumeStreamState srcStream, String caller) {
             synchronized (VolumeStreamState.class) {
                 int srcStreamType = srcStream.getStreamType();
                 // apply default device volume from source stream to all devices first in case
                 // some devices are present in this stream state but not in source stream state
                 int index = srcStream.getIndex(AudioSystem.DEVICE_OUT_DEFAULT);
                 index = rescaleIndex(index, srcStreamType, mStreamType);
-                Set set = mIndex.entrySet();
-                Iterator i = set.iterator();
-                while (i.hasNext()) {
-                    Map.Entry entry = (Map.Entry)i.next();
-                    entry.setValue(index);
+                for (int i = 0; i < mIndexMap.size(); i++) {
+                    mIndexMap.put(mIndexMap.keyAt(i), index);
                 }
                 // Now apply actual volume for devices in source stream state
-                set = srcStream.mIndex.entrySet();
-                i = set.iterator();
-                while (i.hasNext()) {
-                    Map.Entry entry = (Map.Entry)i.next();
-                    int device = ((Integer)entry.getKey()).intValue();
-                    index = ((Integer)entry.getValue()).intValue();
+                SparseIntArray srcMap = srcStream.mIndexMap;
+                for (int i = 0; i < srcMap.size(); i++) {
+                    int device = srcMap.keyAt(i);
+                    index = srcMap.valueAt(i);
                     index = rescaleIndex(index, srcStreamType, mStreamType);
 
-                    setIndex(index, device);
+                    setIndex(index, device, caller);
                 }
             }
         }
 
         public void setAllIndexesToMax() {
             synchronized (VolumeStreamState.class) {
-                Set set = mIndex.entrySet();
-                Iterator i = set.iterator();
-                while (i.hasNext()) {
-                    Map.Entry entry = (Map.Entry)i.next();
-                    entry.setValue(mIndexMax);
+                for (int i = 0; i < mIndexMap.size(); i++) {
+                    mIndexMap.put(mIndexMap.keyAt(i), mIndexMax);
                 }
             }
         }
@@ -3750,15 +3666,12 @@
             synchronized (VolumeStreamState.class) {
                 // ignore settings for fixed volume devices: volume should always be at max or 0
                 if (mStreamVolumeAlias[mStreamType] == AudioSystem.STREAM_MUSIC) {
-                    Set set = mIndex.entrySet();
-                    Iterator i = set.iterator();
-                    while (i.hasNext()) {
-                        Map.Entry entry = (Map.Entry)i.next();
-                        int device = ((Integer)entry.getKey()).intValue();
-                        int index = ((Integer)entry.getValue()).intValue();
+                    for (int i = 0; i < mIndexMap.size(); i++) {
+                        int device = mIndexMap.keyAt(i);
+                        int index = mIndexMap.valueAt(i);
                         if (((device & mFullVolumeDevices) != 0)
                                 || (((device & mFixedVolumeDevices) != 0) && index != 0)) {
-                            entry.setValue(mIndexMax);
+                            mIndexMap.put(device, mIndexMax);
                         }
                         applyDeviceVolume_syncVSS(device);
                     }
@@ -3767,9 +3680,9 @@
         }
 
         private int getValidIndex(int index) {
-            if (index < 0) {
-                return 0;
-            } else if (mUseFixedVolume || mUseMasterVolume || index > mIndexMax) {
+            if (index < mIndexMin) {
+                return mIndexMin;
+            } else if (mUseFixedVolume || index > mIndexMax) {
                 return mIndexMax;
             }
 
@@ -3779,14 +3692,16 @@
         private void dump(PrintWriter pw) {
             pw.print("   Muted: ");
             pw.println(mIsMuted);
+            pw.print("   Min: ");
+            pw.println((mIndexMin + 5) / 10);
             pw.print("   Max: ");
             pw.println((mIndexMax + 5) / 10);
             pw.print("   Current: ");
-            Set set = mIndex.entrySet();
-            Iterator i = set.iterator();
-            while (i.hasNext()) {
-                Map.Entry entry = (Map.Entry)i.next();
-                final int device = (Integer) entry.getKey();
+            for (int i = 0; i < mIndexMap.size(); i++) {
+                if (i > 0) {
+                    pw.print(", ");
+                }
+                final int device = mIndexMap.keyAt(i);
                 pw.print(Integer.toHexString(device));
                 final String deviceName = device == AudioSystem.DEVICE_OUT_DEFAULT ? "default"
                         : AudioSystem.getOutputDeviceName(device);
@@ -3796,11 +3711,23 @@
                     pw.print(")");
                 }
                 pw.print(": ");
-                final int index = (((Integer) entry.getValue()) + 5) / 10;
+                final int index = (mIndexMap.valueAt(i) + 5) / 10;
                 pw.print(index);
-                if (i.hasNext()) {
-                    pw.print(", ");
+            }
+            pw.println();
+            pw.print("   Devices: ");
+            final int devices = AudioSystem.getDevicesForStream(mStreamType);
+            int device, i = 0, n = 0;
+            // iterate all devices from 1 to DEVICE_OUT_DEFAULT exclusive
+            // (the default device is not returned by getDevicesForStream)
+            while ((device = 1 << i) != AudioSystem.DEVICE_OUT_DEFAULT) {
+                if ((devices & device) != 0) {
+                    if (n++ > 0) {
+                        pw.print(", ");
+                    }
+                    pw.print(AudioSystem.getOutputDeviceName(device));
                 }
+                i++;
             }
         }
     }
@@ -4144,16 +4071,6 @@
                     persistVolume((VolumeStreamState) msg.obj, msg.arg1);
                     break;
 
-                case MSG_PERSIST_MASTER_VOLUME:
-                    if (mUseFixedVolume) {
-                        return;
-                    }
-                    Settings.System.putFloatForUser(mContentResolver,
-                                                    Settings.System.VOLUME_MASTER,
-                                                    msg.arg1 / (float)1000.0,
-                                                    UserHandle.USER_CURRENT);
-                    break;
-
                 case MSG_PERSIST_MASTER_VOLUME_MUTE:
                     if (mUseFixedVolume) {
                         return;
@@ -4222,9 +4139,6 @@
                     // Restore ringer mode
                     setRingerModeInt(getRingerModeInternal(), false);
 
-                    // Restore master volume
-                    restoreMasterVolume();
-
                     // Reset device orientation (if monitored for this device)
                     if (mMonitorOrientation) {
                         setOrientationForAudioSystem();
@@ -4303,7 +4217,7 @@
                     {   WiredDeviceConnectionState connectState =
                             (WiredDeviceConnectionState)msg.obj;
                         onSetWiredDeviceConnectionState(connectState.mType, connectState.mState,
-                                connectState.mAddress, connectState.mName);
+                                connectState.mAddress, connectState.mName, connectState.mCaller);
                         mAudioEventWakeLock.release();
                     }
                     break;
@@ -4339,7 +4253,7 @@
                 }
 
                 case MSG_CHECK_MUSIC_ACTIVE:
-                    onCheckMusicActive();
+                    onCheckMusicActive((String) msg.obj);
                     break;
 
                 case MSG_BROADCAST_AUDIO_BECOMING_NOISY:
@@ -4348,7 +4262,8 @@
 
                 case MSG_CONFIGURE_SAFE_MEDIA_VOLUME_FORCED:
                 case MSG_CONFIGURE_SAFE_MEDIA_VOLUME:
-                    onConfigureSafeVolume((msg.what == MSG_CONFIGURE_SAFE_MEDIA_VOLUME_FORCED));
+                    onConfigureSafeVolume((msg.what == MSG_CONFIGURE_SAFE_MEDIA_VOLUME_FORCED),
+                            (String) msg.obj);
                     break;
                 case MSG_PERSIST_SAFE_VOLUME_STATE:
                     onPersistSafeVolumeState(msg.arg1);
@@ -4420,13 +4335,13 @@
                 AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, 0, streamState, 0);
         setBluetoothA2dpOnInt(true);
         AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP,
-                AudioSystem.DEVICE_STATE_AVAILABLE,
-                address,
-                "a2dp-device");
+                AudioSystem.DEVICE_STATE_AVAILABLE, address, DEVICE_NAME_A2DP);
         // Reset A2DP suspend state each time a new sink is connected
         AudioSystem.setParameters("A2dpSuspended=false");
-        mConnectedDevices.put( new Integer(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP),
-                address);
+        mConnectedDevices.put(
+                makeDeviceListKey(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, address),
+                new DeviceListSpec(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, DEVICE_NAME_A2DP,
+                                   address));
     }
 
     private void onSendBecomingNoisyIntent() {
@@ -4439,10 +4354,9 @@
             mAvrcpAbsVolSupported = false;
         }
         AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP,
-                AudioSystem.DEVICE_STATE_UNAVAILABLE,
-                address,
-                "a2dp-device");
-        mConnectedDevices.remove(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP);
+                AudioSystem.DEVICE_STATE_UNAVAILABLE, address, DEVICE_NAME_A2DP);
+        mConnectedDevices.remove(
+                makeDeviceListKey(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, address));
         synchronized (mCurAudioRoutes) {
             // Remove A2DP routes as well
             if (mCurAudioRoutes.bluetoothName != null) {
@@ -4459,7 +4373,8 @@
         // reconnection of the sink.
         AudioSystem.setParameters("A2dpSuspended=true");
         // the device will be made unavailable later, so consider it disconnected right away
-        mConnectedDevices.remove(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP);
+        mConnectedDevices.remove(
+                makeDeviceListKey(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, address));
         // send the delayed message to make the device unavailable later
         Message msg = mAudioHandler.obtainMessage(MSG_BTA2DP_DOCK_TIMEOUT, address);
         mAudioHandler.sendMessageDelayed(msg, BTA2DP_DOCK_TIMEOUT_MILLIS);
@@ -4469,20 +4384,19 @@
     // must be called synchronized on mConnectedDevices
     private void makeA2dpSrcAvailable(String address) {
         AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP,
-                AudioSystem.DEVICE_STATE_AVAILABLE,
-                address,
-                "a2dp-device");
-        mConnectedDevices.put( new Integer(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP),
-                address);
+                AudioSystem.DEVICE_STATE_AVAILABLE, address, DEVICE_NAME_A2DP);
+        mConnectedDevices.put(
+                makeDeviceListKey(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP, address),
+                new DeviceListSpec(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP, DEVICE_NAME_A2DP,
+                                   address));
     }
 
     // must be called synchronized on mConnectedDevices
     private void makeA2dpSrcUnavailable(String address) {
         AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP,
-                AudioSystem.DEVICE_STATE_UNAVAILABLE,
-                address,
-                "a2dp-device");
-        mConnectedDevices.remove(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP);
+                AudioSystem.DEVICE_STATE_UNAVAILABLE, address, DEVICE_NAME_A2DP);
+        mConnectedDevices.remove(
+                makeDeviceListKey(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP, address));
     }
 
     // must be called synchronized on mConnectedDevices
@@ -4509,9 +4423,10 @@
         }
 
         synchronized (mConnectedDevices) {
-            boolean isConnected =
-                (mConnectedDevices.containsKey(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP) &&
-                 mConnectedDevices.get(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP).equals(address));
+            String key = makeDeviceListKey(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP,
+                                           btDevice.getAddress());
+            DeviceListSpec deviceSpec = mConnectedDevices.get(key);
+            boolean isConnected = deviceSpec != null;
 
             if (isConnected && state != BluetoothProfile.STATE_CONNECTED) {
                 if (btDevice.isBluetoothDock()) {
@@ -4572,9 +4487,9 @@
         }
 
         synchronized (mConnectedDevices) {
-                boolean isConnected =
-                (mConnectedDevices.containsKey(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP) &&
-                 mConnectedDevices.get(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP).equals(address));
+            String key = makeDeviceListKey(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP, address);
+            DeviceListSpec deviceSpec = mConnectedDevices.get(key);
+            boolean isConnected = deviceSpec != null;
 
             if (isConnected && state != BluetoothProfile.STATE_CONNECTED) {
                 makeA2dpSrcUnavailable(address);
@@ -4597,27 +4512,32 @@
         }
     }
 
-    private boolean handleDeviceConnection(boolean connect, int device, String address, String deviceName) {
-        Slog.i(TAG, "handleDeviceConnection(" + connect +
-                " dev:" + Integer.toHexString(device) +
-                " address:" + address +
-                " name:" + deviceName + ")");
+    private boolean handleDeviceConnection(boolean connect, int device, String address,
+            String deviceName) {
+        if (DEBUG_DEVICES) {
+            Slog.i(TAG, "handleDeviceConnection(" + connect + " dev:" + Integer.toHexString(device)
+                    + " address:" + address + " name:" + deviceName + ")");
+        }
         synchronized (mConnectedDevices) {
-            boolean isConnected = (mConnectedDevices.containsKey(device) &&
-                    (address.isEmpty() || mConnectedDevices.get(device).equals(address)));
-
-            if (isConnected && !connect) {
-                AudioSystem.setDeviceConnectionState(device,
-                                              AudioSystem.DEVICE_STATE_UNAVAILABLE,
-                                              address, deviceName);
-                 mConnectedDevices.remove(device);
-                 return true;
-            } else if (!isConnected && connect) {
-                 AudioSystem.setDeviceConnectionState(device,
-                                                      AudioSystem.DEVICE_STATE_AVAILABLE,
-                                                      address, deviceName);
-                 mConnectedDevices.put(new Integer(device), address);
-                 return true;
+            String deviceKey = makeDeviceListKey(device, address);
+            if (DEBUG_DEVICES) {
+                Slog.i(TAG, "deviceKey:" + deviceKey);
+            }
+            DeviceListSpec deviceSpec = mConnectedDevices.get(deviceKey);
+            boolean isConnected = deviceSpec != null;
+            if (DEBUG_DEVICES) {
+                Slog.i(TAG, "deviceSpec:" + deviceSpec + " is(already)Connected:" + isConnected);
+            }
+            if (connect && !isConnected) {
+                AudioSystem.setDeviceConnectionState(device, AudioSystem.DEVICE_STATE_AVAILABLE,
+                        address, deviceName);
+                mConnectedDevices.put(deviceKey, new DeviceListSpec(device, deviceName, address));
+                return true;
+            } else if (!connect && isConnected) {
+                AudioSystem.setDeviceConnectionState(device, AudioSystem.DEVICE_STATE_UNAVAILABLE,
+                        address, deviceName);
+                mConnectedDevices.remove(deviceKey);
+                return true;
             }
         }
         return false;
@@ -4638,10 +4558,11 @@
         int delay = 0;
         if ((state == 0) && ((device & mBecomingNoisyIntentDevices) != 0)) {
             int devices = 0;
-            for (int dev : mConnectedDevices.keySet()) {
-                if (((dev & AudioSystem.DEVICE_BIT_IN) == 0) &&
-                        ((dev & mBecomingNoisyIntentDevices) != 0)) {
-                   devices |= dev;
+            for (String key : mConnectedDevices.keySet()) {
+                int dev = mConnectedDevices.get(key).mDeviceType;
+                if (((dev & AudioSystem.DEVICE_BIT_IN) == 0)
+                        && ((dev & mBecomingNoisyIntentDevices) != 0)) {
+                    devices |= dev;
                 }
             }
             if (devices == device) {
@@ -4669,12 +4590,13 @@
         return delay;
     }
 
-    private void sendDeviceConnectionIntent(int device, int state, String address, String deviceName)
-    {
-        Slog.i(TAG, "sendDeviceConnectionIntent(dev:0x" + Integer.toHexString(device) +
-                " state:0x" + Integer.toHexString(state) +
-                " address:" + address +
-                " name:" + deviceName + ");");
+    private void sendDeviceConnectionIntent(int device, int state, String address,
+            String deviceName) {
+        if (DEBUG_DEVICES) {
+            Slog.i(TAG, "sendDeviceConnectionIntent(dev:0x" + Integer.toHexString(device) +
+                    " state:0x" + Integer.toHexString(state) + " address:" + address +
+                    " name:" + deviceName + ");");
+        }
         Intent intent = new Intent();
 
         intent.putExtra(CONNECT_INTENT_KEY_STATE, state);
@@ -4728,12 +4650,14 @@
     }
 
     private void onSetWiredDeviceConnectionState(int device, int state, String address,
-            String deviceName)
-    {
-        Slog.i(TAG, "onSetWiredDeviceConnectionState(dev:" + Integer.toHexString(device)
-                + " state:" + Integer.toHexString(state)
-                + " address:" + address
-                + " deviceName:" + deviceName + ");");
+            String deviceName, String caller) {
+        if (DEBUG_DEVICES) {
+            Slog.i(TAG, "onSetWiredDeviceConnectionState(dev:" + Integer.toHexString(device)
+                    + " state:" + Integer.toHexString(state)
+                    + " address:" + address
+                    + " deviceName:" + deviceName
+                    + " caller: " + caller + ");");
+        }
 
         synchronized (mConnectedDevices) {
             if ((state == 0) && ((device == AudioSystem.DEVICE_OUT_WIRED_HEADSET) ||
@@ -4757,7 +4681,7 @@
                             SENDMSG_REPLACE,
                             0,
                             0,
-                            null,
+                            caller,
                             MUSIC_ACTIVE_POLL_PERIOD_MS);
                 }
                 // Television devices without CEC service apply software volume on HDMI output
@@ -5110,7 +5034,7 @@
                     SENDMSG_REPLACE,
                     0,
                     0,
-                    null,
+                    TAG,
                     0);
 
             boolean cameraSoundForced = readCameraSoundForced();
@@ -5130,7 +5054,7 @@
                             mRingerModeAffectedStreams &=
                                     ~(1 << AudioSystem.STREAM_SYSTEM_ENFORCED);
                         } else {
-                            s.setAllIndexes(mStreamStates[AudioSystem.STREAM_SYSTEM]);
+                            s.setAllIndexes(mStreamStates[AudioSystem.STREAM_SYSTEM], TAG);
                             mRingerModeAffectedStreams |=
                                     (1 << AudioSystem.STREAM_SYSTEM_ENFORCED);
                         }
@@ -5295,13 +5219,13 @@
     private static final int MUSIC_ACTIVE_POLL_PERIOD_MS = 60000;  // 1 minute polling interval
     private static final int SAFE_VOLUME_CONFIGURE_TIMEOUT_MS = 30000;  // 30s after boot completed
 
-    private void setSafeMediaVolumeEnabled(boolean on) {
+    private void setSafeMediaVolumeEnabled(boolean on, String caller) {
         synchronized (mSafeMediaVolumeState) {
             if ((mSafeMediaVolumeState != SAFE_MEDIA_VOLUME_NOT_CONFIGURED) &&
                     (mSafeMediaVolumeState != SAFE_MEDIA_VOLUME_DISABLED)) {
                 if (on && (mSafeMediaVolumeState == SAFE_MEDIA_VOLUME_INACTIVE)) {
                     mSafeMediaVolumeState = SAFE_MEDIA_VOLUME_ACTIVE;
-                    enforceSafeMediaVolume();
+                    enforceSafeMediaVolume(caller);
                 } else if (!on && (mSafeMediaVolumeState == SAFE_MEDIA_VOLUME_ACTIVE)) {
                     mSafeMediaVolumeState = SAFE_MEDIA_VOLUME_INACTIVE;
                     mMusicActiveMs = 1;  // nonzero = confirmed
@@ -5311,14 +5235,14 @@
                             SENDMSG_REPLACE,
                             0,
                             0,
-                            null,
+                            caller,
                             MUSIC_ACTIVE_POLL_PERIOD_MS);
                 }
             }
         }
     }
 
-    private void enforceSafeMediaVolume() {
+    private void enforceSafeMediaVolume(String caller) {
         VolumeStreamState streamState = mStreamStates[AudioSystem.STREAM_MUSIC];
         int devices = mSafeMediaVolumeDevices;
         int i = 0;
@@ -5330,7 +5254,7 @@
             }
             int index = streamState.getIndex(device);
             if (index > mSafeMediaVolumeIndex) {
-                streamState.setIndex(mSafeMediaVolumeIndex, device);
+                streamState.setIndex(mSafeMediaVolumeIndex, device, caller);
                 sendMsg(mAudioHandler,
                         MSG_SET_DEVICE_VOLUME,
                         SENDMSG_QUEUE,
@@ -5356,15 +5280,16 @@
     }
 
     @Override
-    public void disableSafeMediaVolume() {
+    public void disableSafeMediaVolume(String callingPackage) {
         enforceVolumeController("disable the safe media volume");
         synchronized (mSafeMediaVolumeState) {
-            setSafeMediaVolumeEnabled(false);
+            setSafeMediaVolumeEnabled(false, callingPackage);
             if (mPendingVolumeCommand != null) {
                 onSetStreamVolume(mPendingVolumeCommand.mStreamType,
                                   mPendingVolumeCommand.mIndex,
                                   mPendingVolumeCommand.mFlags,
-                                  mPendingVolumeCommand.mDevice);
+                                  mPendingVolumeCommand.mDevice,
+                                  callingPackage);
                 mPendingVolumeCommand = null;
             }
         }
@@ -5372,8 +5297,8 @@
 
     //==========================================================================================
     // Hdmi Cec system audio mode.
-    // If Hdmi Cec's system audio mode is on, audio service should notify volume change
-    // to HdmiControlService so that audio recevier can handle volume change.
+    // If Hdmi Cec's system audio mode is on, audio service should send the volume change
+    // to HdmiControlService so that the audio receiver can handle it.
     //==========================================================================================
 
     private class MyDisplayStatusCallback implements HdmiPlaybackClient.DisplayStatusCallback {
@@ -5531,6 +5456,7 @@
         pw.print("  mCameraSoundForced="); pw.println(mCameraSoundForced);
         pw.print("  mHasVibrator="); pw.println(mHasVibrator);
         pw.print("  mControllerService="); pw.println(mControllerService);
+        pw.print("  mVolumePolicy="); pw.println(mVolumePolicy);
 
         dumpAudioPolicies(pw);
     }
@@ -5606,6 +5532,14 @@
         if (DEBUG_VOL) Log.d(TAG, "Volume controller visible: " + visible);
     }
 
+    @Override
+    public void setVolumePolicy(VolumePolicy policy) {
+        enforceVolumeController("set volume policy");
+        if (policy != null) {
+            mVolumePolicy = policy;
+        }
+    }
+
     public static class VolumeController {
         private static final String TAG = "VolumeController";
 
@@ -5691,16 +5625,6 @@
             }
         }
 
-        public void postMasterVolumeChanged(int flags) {
-            if (mController == null)
-                return;
-            try {
-                mController.masterVolumeChanged(flags);
-            } catch (RemoteException e) {
-                Log.w(TAG, "Error calling masterVolumeChanged", e);
-            }
-        }
-
         public void postMasterMuteChanged(int flags) {
             if (mController == null)
                 return;
@@ -5750,25 +5674,21 @@
                 String callingPackage, int uid) {
             // direction and stream type swap here because the public
             // adjustSuggested has a different order than the other methods.
-            adjustSuggestedStreamVolume(direction, streamType, flags, callingPackage, uid);
+            adjustSuggestedStreamVolume(direction, streamType, flags, callingPackage,
+                    callingPackage, uid);
         }
 
         @Override
         public void adjustStreamVolumeForUid(int streamType, int direction, int flags,
                 String callingPackage, int uid) {
-            adjustStreamVolume(streamType, direction, flags, callingPackage, uid);
+            adjustStreamVolume(streamType, direction, flags, callingPackage,
+                    callingPackage, uid);
         }
 
         @Override
         public void setStreamVolumeForUid(int streamType, int direction, int flags,
                 String callingPackage, int uid) {
-            setStreamVolume(streamType, direction, flags, callingPackage, uid);
-        }
-
-        @Override
-        public void adjustMasterVolumeForUid(int steps, int flags, String callingPackage,
-                int uid) {
-            adjustMasterVolume(steps, flags, callingPackage, uid);
+            setStreamVolume(streamType, direction, flags, callingPackage, callingPackage, uid);
         }
 
         @Override
diff --git a/services/core/java/com/android/server/audio/MediaFocusControl.java b/services/core/java/com/android/server/audio/MediaFocusControl.java
index 24e1ace..fcdd9d9 100644
--- a/services/core/java/com/android/server/audio/MediaFocusControl.java
+++ b/services/core/java/com/android/server/audio/MediaFocusControl.java
@@ -29,7 +29,6 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
-import android.content.IntentFilter;
 import android.content.pm.PackageManager;
 import android.database.ContentObserver;
 import android.media.AudioAttributes;
@@ -37,12 +36,10 @@
 import android.media.AudioManager;
 import android.media.AudioSystem;
 import android.media.IAudioFocusDispatcher;
-import android.media.IAudioService;
 import android.media.IRemoteControlClient;
 import android.media.IRemoteControlDisplay;
 import android.media.IRemoteVolumeObserver;
 import android.media.RemoteControlClient;
-import android.media.AudioManager.OnAudioFocusChangeListener;
 import android.media.audiopolicy.IAudioPolicyCallback;
 import android.net.Uri;
 import android.os.Binder;
@@ -54,7 +51,6 @@
 import android.os.PowerManager;
 import android.os.RemoteException;
 import android.os.UserHandle;
-import android.os.IBinder.DeathRecipient;
 import android.provider.Settings;
 import android.speech.RecognizerIntent;
 import android.telephony.PhoneStateListener;
@@ -106,9 +102,8 @@
 
         PowerManager pm = (PowerManager)mContext.getSystemService(Context.POWER_SERVICE);
         mMediaEventWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "handleMediaEvent");
-        mMainRemote = new RemotePlaybackState(-1,
-                AudioService.getMaxStreamVolume(AudioManager.STREAM_MUSIC),
-                AudioService.getMaxStreamVolume(AudioManager.STREAM_MUSIC));
+        int maxMusicLevel = as.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
+        mMainRemote = new RemotePlaybackState(-1, maxMusicLevel, maxMusicLevel);
 
         // Register for phone state monitoring
         TelephonyManager tmgr = (TelephonyManager)
diff --git a/services/core/java/com/android/server/audio/PlayerRecord.java b/services/core/java/com/android/server/audio/PlayerRecord.java
index a7dbbd1..e98f12e 100644
--- a/services/core/java/com/android/server/audio/PlayerRecord.java
+++ b/services/core/java/com/android/server/audio/PlayerRecord.java
@@ -22,7 +22,6 @@
 import android.media.IRemoteControlClient;
 import android.media.IRemoteVolumeObserver;
 import android.media.RemoteControlClient;
-import android.os.Binder;
 import android.os.IBinder;
 import android.os.IBinder.DeathRecipient;
 import android.os.RemoteException;
diff --git a/services/core/java/com/android/server/connectivity/Nat464Xlat.java b/services/core/java/com/android/server/connectivity/Nat464Xlat.java
index 3fa21d0..a9eaeee 100644
--- a/services/core/java/com/android/server/connectivity/Nat464Xlat.java
+++ b/services/core/java/com/android/server/connectivity/Nat464Xlat.java
@@ -22,16 +22,13 @@
 import java.net.Inet4Address;
 
 import android.content.Context;
-import android.net.IConnectivityManager;
 import android.net.InterfaceConfiguration;
 import android.net.LinkAddress;
 import android.net.LinkProperties;
 import android.net.NetworkAgent;
-import android.net.NetworkUtils;
 import android.net.RouteInfo;
 import android.os.Handler;
 import android.os.Message;
-import android.os.Messenger;
 import android.os.INetworkManagementService;
 import android.os.RemoteException;
 import android.util.Slog;
diff --git a/services/core/java/com/android/server/connectivity/NetworkMonitor.java b/services/core/java/com/android/server/connectivity/NetworkMonitor.java
index 87f78c1..d0e1665 100644
--- a/services/core/java/com/android/server/connectivity/NetworkMonitor.java
+++ b/services/core/java/com/android/server/connectivity/NetworkMonitor.java
@@ -24,9 +24,6 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.net.ConnectivityManager;
-import android.net.Network;
-import android.net.NetworkCapabilities;
-import android.net.NetworkInfo;
 import android.net.NetworkRequest;
 import android.net.ProxyInfo;
 import android.net.TrafficStats;
@@ -54,7 +51,6 @@
 import com.android.internal.util.Protocol;
 import com.android.internal.util.State;
 import com.android.internal.util.StateMachine;
-import com.android.server.ConnectivityService;
 import com.android.server.connectivity.NetworkAgentInfo;
 
 import java.io.IOException;
diff --git a/services/core/java/com/android/server/connectivity/Tethering.java b/services/core/java/com/android/server/connectivity/Tethering.java
index 9566f93..f9b6270 100644
--- a/services/core/java/com/android/server/connectivity/Tethering.java
+++ b/services/core/java/com/android/server/connectivity/Tethering.java
@@ -40,9 +40,7 @@
 import android.os.INetworkManagementService;
 import android.os.Looper;
 import android.os.Message;
-import android.os.RemoteException;
 import android.os.UserHandle;
-import android.provider.Settings;
 import android.telephony.TelephonyManager;
 import android.util.Log;
 
@@ -981,6 +979,12 @@
                         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());
@@ -1033,9 +1037,14 @@
                         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) {}
 
diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java
index 709ca4b..7f47678 100644
--- a/services/core/java/com/android/server/connectivity/Vpn.java
+++ b/services/core/java/com/android/server/connectivity/Vpn.java
@@ -17,12 +17,8 @@
 package com.android.server.connectivity;
 
 import static android.Manifest.permission.BIND_VPN_SERVICE;
-import static android.os.UserHandle.PER_USER_RANGE;
 import static android.net.RouteInfo.RTN_THROW;
 import static android.net.RouteInfo.RTN_UNREACHABLE;
-import static android.system.OsConstants.AF_INET;
-import static android.system.OsConstants.AF_INET6;
-
 import android.Manifest;
 import android.app.AppGlobals;
 import android.app.AppOpsManager;
@@ -33,7 +29,6 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.ServiceConnection;
-import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.ResolveInfo;
@@ -74,6 +69,7 @@
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.net.LegacyVpnInfo;
 import com.android.internal.net.VpnConfig;
+import com.android.internal.net.VpnInfo;
 import com.android.internal.net.VpnProfile;
 import com.android.server.net.BaseNetworkObserver;
 
@@ -813,6 +809,21 @@
         return mConfig.underlyingNetworks;
     }
 
+    /**
+     * This method should only be called by ConnectivityService. Because it doesn't
+     * have enough data to fill VpnInfo.primaryUnderlyingIface field.
+     */
+    public synchronized VpnInfo getVpnInfo() {
+        if (!isRunningLocked()) {
+            return null;
+        }
+
+        VpnInfo info = new VpnInfo();
+        info.ownerUid = mOwnerUID;
+        info.vpnIface = mInterface;
+        return info;
+    }
+
     public synchronized boolean appliesToUid(int uid) {
         if (!isRunningLocked()) {
             return false;
diff --git a/services/core/java/com/android/server/content/ContentService.java b/services/core/java/com/android/server/content/ContentService.java
index 165148b..ea461e5 100644
--- a/services/core/java/com/android/server/content/ContentService.java
+++ b/services/core/java/com/android/server/content/ContentService.java
@@ -25,7 +25,6 @@
 import android.content.IContentService;
 import android.content.ISyncStatusObserver;
 import android.content.PeriodicSync;
-import android.content.pm.PackageManager;
 import android.content.SyncAdapterType;
 import android.content.SyncInfo;
 import android.content.SyncRequest;
diff --git a/services/core/java/com/android/server/display/ColorFade.java b/services/core/java/com/android/server/display/ColorFade.java
index 4e075c3..bb4dbc3 100644
--- a/services/core/java/com/android/server/display/ColorFade.java
+++ b/services/core/java/com/android/server/display/ColorFade.java
@@ -25,7 +25,6 @@
 import java.nio.FloatBuffer;
 
 import android.content.Context;
-import android.content.res.Resources;
 import android.graphics.PixelFormat;
 import android.graphics.SurfaceTexture;
 import android.hardware.display.DisplayManagerInternal;
@@ -47,7 +46,6 @@
 import libcore.io.Streams;
 
 import com.android.server.LocalServices;
-import com.android.internal.R;
 
 /**
  * <p>
diff --git a/services/core/java/com/android/server/display/DisplayPowerState.java b/services/core/java/com/android/server/display/DisplayPowerState.java
index fc068af..c97bdb6 100644
--- a/services/core/java/com/android/server/display/DisplayPowerState.java
+++ b/services/core/java/com/android/server/display/DisplayPowerState.java
@@ -19,7 +19,6 @@
 import com.android.server.lights.Light;
 
 import android.content.Context;
-import android.os.AsyncTask;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.PowerManager;
diff --git a/services/core/java/com/android/server/fingerprint/FingerprintService.java b/services/core/java/com/android/server/fingerprint/FingerprintService.java
index 2941574..b398f41 100644
--- a/services/core/java/com/android/server/fingerprint/FingerprintService.java
+++ b/services/core/java/com/android/server/fingerprint/FingerprintService.java
@@ -16,15 +16,12 @@
 
 package com.android.server.fingerprint;
 
-import android.app.Service;
-import android.content.ContentResolver;
 import android.content.Context;
-import android.content.Intent;
 import android.os.Handler;
 import android.os.IBinder;
-import android.os.PowerManager;
+import android.os.Looper;
+import android.os.MessageQueue;
 import android.os.RemoteException;
-import android.provider.Settings;
 import android.service.fingerprint.FingerprintManager;
 import android.util.ArrayMap;
 import android.util.Slog;
@@ -34,12 +31,10 @@
 import android.service.fingerprint.FingerprintUtils;
 import android.service.fingerprint.IFingerprintService;
 import android.service.fingerprint.IFingerprintServiceReceiver;
+import static android.Manifest.permission.MANAGE_FINGERPRINT;
+import static android.Manifest.permission.USE_FINGERPRINT;
 
-import java.io.PrintWriter;
 import java.lang.ref.WeakReference;
-import java.util.HashMap;
-import java.util.Map.Entry;
-import java.util.Set;
 
 /**
  * A service to manage multiple clients that want to access the fingerprint HAL API.
@@ -68,14 +63,13 @@
         }
     };
     private Context mContext;
+    private int mHalDeviceId;
 
     private static final int STATE_IDLE = 0;
     private static final int STATE_LISTENING = 1;
     private static final int STATE_ENROLLING = 2;
     private static final int STATE_REMOVING = 3;
     private static final long MS_PER_SEC = 1000;
-    public static final String USE_FINGERPRINT = "android.permission.USE_FINGERPRINT";
-    public static final String ENROLL_FINGERPRINT = "android.permission.ENROLL_FINGERPRINT";
 
     private static final class ClientData {
         public IFingerprintServiceReceiver receiver;
@@ -113,17 +107,17 @@
     public FingerprintService(Context context) {
         super(context);
         mContext = context;
-        nativeInit(this);
+        nativeInit(Looper.getMainLooper().getQueue(), this);
     }
 
     // TODO: Move these into separate process
     // JNI methods to communicate from FingerprintManagerService to HAL
-    native int nativeEnroll(int timeout);
-    native int nativeEnrollCancel();
-    native int nativeRemove(int fingerprintId);
-    native int nativeOpenHal();
-    native int nativeCloseHal();
-    native void nativeInit(FingerprintService service);
+    static native int nativeEnroll(int timeout);
+    static native int nativeEnrollCancel();
+    static native int nativeRemove(int fingerprintId);
+    static native int nativeOpenHal();
+    static native int nativeCloseHal();
+    static native void nativeInit(MessageQueue queue, FingerprintService service);
 
     // JNI methods for communicating from HAL to clients
     void notify(int msg, int arg1, int arg2) {
@@ -131,11 +125,13 @@
     }
 
     void handleNotify(int msg, int arg1, int arg2) {
-        Slog.v(TAG, "handleNotify(msg=" + msg + ", arg1=" + arg1 + ", arg2=" + arg2 + ")");
+        Slog.v(TAG, "handleNotify(msg=" + msg + ", arg1=" + arg1 + ", arg2=" + arg2 + ")"
+                + ", " + mClients.size() + " clients");
         for (int i = 0; i < mClients.size(); i++) {
+            if (DEBUG) Slog.v(TAG, "Client[" + i + "] binder token: " + mClients.keyAt(i));
             ClientData clientData = mClients.valueAt(i);
             if (clientData == null || clientData.receiver == null) {
-                if (DEBUG) Slog.v(TAG, "clientData at " + i + " is invalid!!");
+                if (DEBUG) Slog.v(TAG, "clientData is invalid!!");
                 continue;
             }
             switch (msg) {
@@ -282,26 +278,27 @@
         mClients.remove(token);
     }
 
-    void checkPermission(String permisison) {
-        // TODO
+    void checkPermission(String permission) {
+        getContext().enforceCallingOrSelfPermission(permission, "Must have "
+                + permission + " permission.");
     }
 
     private final class FingerprintServiceWrapper extends IFingerprintService.Stub {
         @Override // Binder call
         public void enroll(IBinder token, long timeout, int userId) {
-            checkPermission(ENROLL_FINGERPRINT);
+            checkPermission(MANAGE_FINGERPRINT);
             startEnroll(token, timeout, userId);
         }
 
         @Override // Binder call
         public void enrollCancel(IBinder token,int userId) {
-            checkPermission(ENROLL_FINGERPRINT);
+            checkPermission(MANAGE_FINGERPRINT);
             startEnrollCancel(token, userId);
         }
 
         @Override // Binder call
         public void remove(IBinder token, int fingerprintId, int userId) {
-            checkPermission(ENROLL_FINGERPRINT); // TODO: Maybe have another permission
+            checkPermission(MANAGE_FINGERPRINT); // TODO: Maybe have another permission
             startRemove(token, fingerprintId, userId);
         }
 
@@ -317,12 +314,25 @@
             checkPermission(USE_FINGERPRINT);
             removeListener(token, userId);
         }
+
+        @Override // Binder call
+        public boolean isHardwareDetected() {
+            checkPermission(USE_FINGERPRINT);
+            return mHalDeviceId != 0;
+        }
+
+        @Override
+        public void rename(int fpId, String name) {
+            checkPermission(MANAGE_FINGERPRINT);
+            // TODO
+        }
     }
 
     @Override
     public void onStart() {
        publishBinderService(Context.FINGERPRINT_SERVICE, new FingerprintServiceWrapper());
-       nativeOpenHal();
+       mHalDeviceId = nativeOpenHal();
+       if (DEBUG) Slog.v(TAG, "Fingerprint HAL id: " + mHalDeviceId);
     }
 
 }
diff --git a/services/core/java/com/android/server/hdmi/DelayedMessageBuffer.java b/services/core/java/com/android/server/hdmi/DelayedMessageBuffer.java
index 77ffe0b..2c1a7d5 100644
--- a/services/core/java/com/android/server/hdmi/DelayedMessageBuffer.java
+++ b/services/core/java/com/android/server/hdmi/DelayedMessageBuffer.java
@@ -17,8 +17,6 @@
 package com.android.server.hdmi;
 
 import android.hardware.hdmi.HdmiDeviceInfo;
-import android.util.Slog;
-
 import java.util.ArrayList;
 import java.util.Iterator;
 
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
index cfc9132..7c93e56 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
@@ -30,8 +30,6 @@
 import static android.hardware.hdmi.HdmiControlManager.TIMER_RECORDING_TYPE_DIGITAL;
 import static android.hardware.hdmi.HdmiControlManager.TIMER_RECORDING_TYPE_EXTERNAL;
 
-import android.annotation.Nullable;
-import android.content.Context;
 import android.hardware.hdmi.HdmiControlManager;
 import android.hardware.hdmi.HdmiDeviceInfo;
 import android.hardware.hdmi.HdmiPortInfo;
@@ -41,10 +39,8 @@
 import android.media.AudioManager;
 import android.media.AudioSystem;
 import android.media.tv.TvInputInfo;
-import android.media.tv.TvInputManager;
 import android.media.tv.TvInputManager.TvInputCallback;
 import android.os.RemoteException;
-import android.os.SystemProperties;
 import android.provider.Settings.Global;
 import android.util.ArraySet;
 import android.util.Slog;
@@ -55,8 +51,6 @@
 import com.android.server.hdmi.DeviceDiscoveryAction.DeviceDiscoveryCallback;
 import com.android.server.hdmi.HdmiAnnotations.ServiceThreadOnly;
 import com.android.server.hdmi.HdmiControlService.SendMessageCallback;
-import com.android.server.SystemService;
-
 import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -208,7 +202,6 @@
                 reason != HdmiControlService.INITIATED_BY_BOOT_UP);
         mLocalDeviceAddresses = initLocalDeviceAddresses();
         launchDeviceDiscovery();
-        startQueuedActions();
     }
 
 
diff --git a/services/core/java/com/android/server/hdmi/HdmiMhlControllerStub.java b/services/core/java/com/android/server/hdmi/HdmiMhlControllerStub.java
index 3883200..f19b19b 100644
--- a/services/core/java/com/android/server/hdmi/HdmiMhlControllerStub.java
+++ b/services/core/java/com/android/server/hdmi/HdmiMhlControllerStub.java
@@ -20,7 +20,6 @@
 import android.util.SparseArray;
 
 import com.android.internal.util.IndentingPrintWriter;
-import com.android.server.hdmi.HdmiControlService.SendMessageCallback;
 
 /**
  * A handler class for MHL control command. It converts user's command into MHL command and pass it
diff --git a/services/core/java/com/android/server/hdmi/RequestArcAction.java b/services/core/java/com/android/server/hdmi/RequestArcAction.java
index 31322a9..cbbf91b 100644
--- a/services/core/java/com/android/server/hdmi/RequestArcAction.java
+++ b/services/core/java/com/android/server/hdmi/RequestArcAction.java
@@ -17,7 +17,6 @@
 package com.android.server.hdmi;
 
 import android.hardware.hdmi.HdmiDeviceInfo;
-import android.util.Slog;
 
 /**
  * Base feature action class for &lt;Request ARC Initiation&gt;/&lt;Request ARC Termination&gt;.
diff --git a/services/core/java/com/android/server/job/controllers/IdleController.java b/services/core/java/com/android/server/job/controllers/IdleController.java
index 7b71027..8e2ca18 100644
--- a/services/core/java/com/android/server/job/controllers/IdleController.java
+++ b/services/core/java/com/android/server/job/controllers/IdleController.java
@@ -22,7 +22,6 @@
 import android.app.AlarmManager;
 import android.app.PendingIntent;
 import android.content.BroadcastReceiver;
-import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
diff --git a/services/core/java/com/android/server/job/controllers/StateController.java b/services/core/java/com/android/server/job/controllers/StateController.java
index ca56886..7d76fc0 100644
--- a/services/core/java/com/android/server/job/controllers/StateController.java
+++ b/services/core/java/com/android/server/job/controllers/StateController.java
@@ -18,7 +18,6 @@
 
 import android.content.Context;
 
-import com.android.server.job.JobSchedulerService;
 import com.android.server.job.StateChangedListener;
 
 import java.io.PrintWriter;
diff --git a/services/core/java/com/android/server/location/GpsLocationProvider.java b/services/core/java/com/android/server/location/GpsLocationProvider.java
index 65693b4..7c41abbc 100644
--- a/services/core/java/com/android/server/location/GpsLocationProvider.java
+++ b/services/core/java/com/android/server/location/GpsLocationProvider.java
@@ -22,7 +22,6 @@
 import com.android.internal.location.GpsNetInitiatedHandler.GpsNiNotification;
 import com.android.internal.location.ProviderProperties;
 import com.android.internal.location.ProviderRequest;
-import com.android.internal.R;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneConstants;
 
diff --git a/services/core/java/com/android/server/location/GpsXtraDownloader.java b/services/core/java/com/android/server/location/GpsXtraDownloader.java
index c820a43..3585049 100644
--- a/services/core/java/com/android/server/location/GpsXtraDownloader.java
+++ b/services/core/java/com/android/server/location/GpsXtraDownloader.java
@@ -16,13 +16,11 @@
 
 package com.android.server.location;
 
-import android.content.Context;
 import android.text.TextUtils;
 import android.util.Log;
 
 import java.net.HttpURLConnection;
 import java.net.URL;
-import libcore.io.IoUtils;
 import libcore.io.Streams;
 
 import java.io.IOException;
diff --git a/services/core/java/com/android/server/media/MediaSessionRecord.java b/services/core/java/com/android/server/media/MediaSessionRecord.java
index df31158..b5036db 100644
--- a/services/core/java/com/android/server/media/MediaSessionRecord.java
+++ b/services/core/java/com/android/server/media/MediaSessionRecord.java
@@ -17,7 +17,6 @@
 package com.android.server.media;
 
 import android.app.PendingIntent;
-import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ParceledListSlice;
@@ -38,11 +37,9 @@
 import android.media.session.MediaController;
 import android.media.session.MediaController.PlaybackInfo;
 import android.media.session.MediaSession;
-import android.media.session.MediaSessionManager;
 import android.media.session.ParcelableVolumeInfo;
 import android.media.session.PlaybackState;
 import android.media.AudioAttributes;
-import android.net.Uri;
 import android.os.Binder;
 import android.os.Bundle;
 import android.os.DeadObjectException;
@@ -61,7 +58,6 @@
 
 import java.io.PrintWriter;
 import java.util.ArrayList;
-import java.util.UUID;
 
 /**
  * This is the system implementation of a Session. Apps will interact with the
@@ -94,14 +90,12 @@
     private final SessionStub mSession;
     private final SessionCb mSessionCb;
     private final MediaSessionService mService;
-    private final boolean mUseMasterVolume;
 
     private final Object mLock = new Object();
     private final ArrayList<ISessionControllerCallback> mControllerCallbacks =
             new ArrayList<ISessionControllerCallback>();
 
     private long mFlags;
-    private IMediaRouter mMediaRouter;
     private PendingIntent mMediaButtonReceiver;
     private PendingIntent mLaunchIntent;
 
@@ -145,8 +139,6 @@
         mAudioManager = (AudioManager) service.getContext().getSystemService(Context.AUDIO_SERVICE);
         mAudioManagerInternal = LocalServices.getService(AudioManagerInternal.class);
         mAudioAttrs = new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_MEDIA).build();
-        mUseMasterVolume = service.getContext().getResources().getBoolean(
-                com.android.internal.R.bool.config_useMasterVolume);
     }
 
     /**
@@ -251,13 +243,6 @@
             flags &= ~AudioManager.FLAG_PLAY_SOUND;
         }
         if (mVolumeType == PlaybackInfo.PLAYBACK_TYPE_LOCAL) {
-            if (mUseMasterVolume) {
-                // If this device only uses master volume and playback is local
-                // just adjust the master volume and return.
-                mAudioManagerInternal.adjustMasterVolumeForUid(direction, flags, packageName,
-                        uid);
-                return;
-            }
             int stream = AudioAttributes.toLegacyStreamType(mAudioAttrs);
             if (useSuggested) {
                 if (AudioSystem.isStreamActive(stream, 0)) {
@@ -733,7 +718,6 @@
 
         @Override
         public void setMediaRouter(IMediaRouter router) {
-            mMediaRouter = router;
             mHandler.post(MessageHandler.MSG_UPDATE_SESSION_STATE);
         }
 
@@ -824,6 +808,7 @@
             }
             if (typeChanged) {
                 mService.onSessionPlaybackTypeChanged(MediaSessionRecord.this);
+                mHandler.post(MessageHandler.MSG_UPDATE_VOLUME);
             }
         }
 
@@ -838,6 +823,7 @@
             }
             if (typeChanged) {
                 mService.onSessionPlaybackTypeChanged(MediaSessionRecord.this);
+                mHandler.post(MessageHandler.MSG_UPDATE_VOLUME);
             }
         }
     }
diff --git a/services/core/java/com/android/server/media/MediaSessionService.java b/services/core/java/com/android/server/media/MediaSessionService.java
index a5efc83..a530dfa 100644
--- a/services/core/java/com/android/server/media/MediaSessionService.java
+++ b/services/core/java/com/android/server/media/MediaSessionService.java
@@ -39,9 +39,7 @@
 import android.media.session.ISession;
 import android.media.session.ISessionCallback;
 import android.media.session.ISessionManager;
-import android.media.session.MediaController.PlaybackInfo;
 import android.media.session.MediaSession;
-import android.media.session.MediaSessionManager;
 import android.net.Uri;
 import android.os.Binder;
 import android.os.Bundle;
@@ -91,11 +89,9 @@
     private final Object mLock = new Object();
     private final MessageHandler mHandler = new MessageHandler();
     private final PowerManager.WakeLock mMediaEventWakeLock;
-    private final boolean mUseMasterVolume;
 
     private KeyguardManager mKeyguardManager;
     private IAudioService mAudioService;
-    private AudioManager mAudioManager;
     private AudioManagerInternal mAudioManagerInternal;
     private ContentResolver mContentResolver;
     private SettingsObserver mSettingsObserver;
@@ -112,8 +108,6 @@
         mPriorityStack = new MediaSessionStack();
         PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
         mMediaEventWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "handleMediaEvent");
-        mUseMasterVolume = context.getResources().getBoolean(
-                com.android.internal.R.bool.config_useMasterVolume);
     }
 
     @Override
@@ -123,7 +117,6 @@
         mKeyguardManager =
                 (KeyguardManager) getContext().getSystemService(Context.KEYGUARD_SERVICE);
         mAudioService = getAudioService();
-        mAudioManager = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE);
         mAudioManagerInternal = LocalServices.getService(AudioManagerInternal.class);
         mContentResolver = getContext().getContentResolver();
         mSettingsObserver = new SettingsObserver();
@@ -470,11 +463,6 @@
         return -1;
     }
 
-    private boolean isSessionDiscoverable(MediaSessionRecord record) {
-        // TODO probably want to check more than if it's active.
-        return record.isActive();
-    }
-
     private void pushSessionsChanged(int userId) {
         synchronized (mLock) {
             List<MediaSessionRecord> records = mPriorityStack.getActiveSessions(userId);
@@ -891,12 +879,8 @@
                 }
                 try {
                     String packageName = getContext().getOpPackageName();
-                    if (mUseMasterVolume) {
-                            mAudioService.adjustMasterVolume(direction, flags, packageName);
-                    } else {
-                        mAudioService.adjustSuggestedStreamVolume(direction, suggestedStream,
-                                flags, packageName);
-                    }
+                    mAudioService.adjustSuggestedStreamVolume(direction, suggestedStream,
+                            flags, packageName, TAG);
                 } catch (RemoteException e) {
                     Log.e(TAG, "Error adjusting default volume.", e);
                 }
diff --git a/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java b/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java
index bfdc400..a029b0e 100644
--- a/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java
+++ b/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java
@@ -33,9 +33,7 @@
 import android.os.Binder;
 import android.os.Handler;
 import android.os.IBinder;
-import android.os.IBinder.DeathRecipient;
 import android.os.Looper;
-import android.os.Message;
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.util.ArrayMap;
@@ -45,9 +43,6 @@
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
 import java.util.Map;
 
 /**
diff --git a/services/core/java/com/android/server/net/IpConfigStore.java b/services/core/java/com/android/server/net/IpConfigStore.java
index b5a450d..90e26d8 100644
--- a/services/core/java/com/android/server/net/IpConfigStore.java
+++ b/services/core/java/com/android/server/net/IpConfigStore.java
@@ -24,25 +24,19 @@
 import android.net.ProxyInfo;
 import android.net.RouteInfo;
 import android.net.StaticIpConfiguration;
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.text.TextUtils;
 import android.util.Log;
 import android.util.SparseArray;
 
 import com.android.server.net.DelayedDiskWrite;
 
 import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.EOFException;
 import java.io.FileInputStream;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.net.InetAddress;
 import java.net.Inet4Address;
-import java.util.Map;
 
 public class IpConfigStore {
     private static final String TAG = "IpConfigStore";
diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
index 2be591b..cc0fcf5 100644
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
@@ -28,9 +28,7 @@
 import static android.content.Intent.ACTION_USER_REMOVED;
 import static android.content.Intent.EXTRA_UID;
 import static android.net.ConnectivityManager.CONNECTIVITY_ACTION_IMMEDIATE;
-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.TYPE_WIMAX;
 import static android.net.ConnectivityManager.isNetworkTypeMobile;
 import static android.net.NetworkPolicy.CYCLE_NONE;
@@ -46,7 +44,6 @@
 import static android.net.NetworkPolicyManager.computeLastCycleBoundary;
 import static android.net.NetworkPolicyManager.dumpPolicy;
 import static android.net.NetworkPolicyManager.dumpRules;
-import static android.net.NetworkTemplate.MATCH_ETHERNET;
 import static android.net.NetworkTemplate.MATCH_MOBILE_3G_LOWER;
 import static android.net.NetworkTemplate.MATCH_MOBILE_4G;
 import static android.net.NetworkTemplate.MATCH_MOBILE_ALL;
@@ -60,7 +57,6 @@
 import static android.net.wifi.WifiManager.EXTRA_NETWORK_INFO;
 import static android.net.wifi.WifiManager.EXTRA_WIFI_CONFIGURATION;
 import static android.net.wifi.WifiManager.EXTRA_WIFI_INFO;
-import static android.telephony.TelephonyManager.SIM_STATE_READY;
 import static android.text.format.DateUtils.DAY_IN_MILLIS;
 import static com.android.internal.util.ArrayUtils.appendInt;
 import static com.android.internal.util.Preconditions.checkNotNull;
@@ -122,7 +118,6 @@
 import android.provider.Settings;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
-import android.text.TextUtils;
 import android.text.format.Formatter;
 import android.text.format.Time;
 import android.util.ArrayMap;
diff --git a/services/core/java/com/android/server/net/NetworkStatsCollection.java b/services/core/java/com/android/server/net/NetworkStatsCollection.java
index 3ac20f7..20f5f97 100644
--- a/services/core/java/com/android/server/net/NetworkStatsCollection.java
+++ b/services/core/java/com/android/server/net/NetworkStatsCollection.java
@@ -22,10 +22,8 @@
 import static android.net.NetworkStats.TAG_NONE;
 import static android.net.NetworkStats.UID_ALL;
 import static android.net.TrafficStats.UID_REMOVED;
-import static android.text.format.DateUtils.SECOND_IN_MILLIS;
 import static android.text.format.DateUtils.WEEK_IN_MILLIS;
 
-import android.net.ConnectivityManager;
 import android.net.NetworkIdentity;
 import android.net.NetworkStats;
 import android.net.NetworkStatsHistory;
diff --git a/services/core/java/com/android/server/net/NetworkStatsRecorder.java b/services/core/java/com/android/server/net/NetworkStatsRecorder.java
index d5d7667..6490865 100644
--- a/services/core/java/com/android/server/net/NetworkStatsRecorder.java
+++ b/services/core/java/com/android/server/net/NetworkStatsRecorder.java
@@ -31,6 +31,7 @@
 import android.util.MathUtils;
 import android.util.Slog;
 
+import com.android.internal.net.VpnInfo;
 import com.android.internal.util.FileRotator;
 import com.android.internal.util.IndentingPrintWriter;
 import com.google.android.collect.Sets;
@@ -163,7 +164,8 @@
      * snapshot is considered bootstrap, and is not counted as delta.
      */
     public void recordSnapshotLocked(NetworkStats snapshot,
-            Map<String, NetworkIdentitySet> ifaceIdent, long currentTimeMillis) {
+            Map<String, NetworkIdentitySet> ifaceIdent, VpnInfo[] vpnArray,
+            long currentTimeMillis) {
         final HashSet<String> unknownIfaces = Sets.newHashSet();
 
         // skip recording when snapshot missing
@@ -182,6 +184,12 @@
         final long end = currentTimeMillis;
         final long start = end - delta.getElapsedRealtime();
 
+        if (vpnArray != null) {
+            for (VpnInfo info : vpnArray) {
+                delta.migrateTun(info.ownerUid, info.vpnIface, info.primaryUnderlyingIface);
+            }
+        }
+
         NetworkStats.Entry entry = null;
         for (int i = 0; i < delta.size(); i++) {
             entry = delta.getValues(i, entry);
diff --git a/services/core/java/com/android/server/net/NetworkStatsService.java b/services/core/java/com/android/server/net/NetworkStatsService.java
index 856a076..0b596aa 100644
--- a/services/core/java/com/android/server/net/NetworkStatsService.java
+++ b/services/core/java/com/android/server/net/NetworkStatsService.java
@@ -111,6 +111,7 @@
 import android.util.TrustedTime;
 
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.VpnInfo;
 import com.android.internal.util.ArrayUtils;
 import com.android.internal.util.FileRotator;
 import com.android.internal.util.IndentingPrintWriter;
@@ -855,6 +856,20 @@
         return ident;
     }
 
+    private void recordSnapshotLocked(long currentTime) throws RemoteException {
+        // snapshot and record current counters; read UID stats first to
+        // avoid overcounting dev stats.
+        final NetworkStats uidSnapshot = getNetworkStatsUidDetail();
+        final NetworkStats xtSnapshot = mNetworkManager.getNetworkStatsSummaryXt();
+        final NetworkStats devSnapshot = mNetworkManager.getNetworkStatsSummaryDev();
+
+        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);
+    }
+
     /**
      * Bootstrap initial stats snapshot, usually during {@link #systemReady()}
      * so we have baseline values without double-counting.
@@ -864,17 +879,7 @@
                 : System.currentTimeMillis();
 
         try {
-            // snapshot and record current counters; read UID stats first to
-            // avoid overcounting dev stats.
-            final NetworkStats uidSnapshot = getNetworkStatsUidDetail();
-            final NetworkStats xtSnapshot = mNetworkManager.getNetworkStatsSummaryXt();
-            final NetworkStats devSnapshot = mNetworkManager.getNetworkStatsSummaryDev();
-
-            mDevRecorder.recordSnapshotLocked(devSnapshot, mActiveIfaces, currentTime);
-            mXtRecorder.recordSnapshotLocked(xtSnapshot, mActiveIfaces, currentTime);
-            mUidRecorder.recordSnapshotLocked(uidSnapshot, mActiveUidIfaces, currentTime);
-            mUidTagRecorder.recordSnapshotLocked(uidSnapshot, mActiveUidIfaces, currentTime);
-
+            recordSnapshotLocked(currentTime);
         } catch (IllegalStateException e) {
             Slog.w(TAG, "problem reading network stats: " + e);
         } catch (RemoteException e) {
@@ -918,17 +923,7 @@
                 : System.currentTimeMillis();
 
         try {
-            // snapshot and record current counters; read UID stats first to
-            // avoid overcounting dev stats.
-            final NetworkStats uidSnapshot = getNetworkStatsUidDetail();
-            final NetworkStats xtSnapshot = mNetworkManager.getNetworkStatsSummaryXt();
-            final NetworkStats devSnapshot = mNetworkManager.getNetworkStatsSummaryDev();
-
-            mDevRecorder.recordSnapshotLocked(devSnapshot, mActiveIfaces, currentTime);
-            mXtRecorder.recordSnapshotLocked(xtSnapshot, mActiveIfaces, currentTime);
-            mUidRecorder.recordSnapshotLocked(uidSnapshot, mActiveUidIfaces, currentTime);
-            mUidTagRecorder.recordSnapshotLocked(uidSnapshot, mActiveUidIfaces, currentTime);
-
+            recordSnapshotLocked(currentTime);
         } catch (IllegalStateException e) {
             Log.wtf(TAG, "problem reading network stats", e);
             return;
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index 9b6b5fb..0c71d5f 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -55,6 +55,7 @@
 import android.media.IRingtonePlayer;
 import android.net.Uri;
 import android.os.Binder;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Environment;
 import android.os.Handler;
@@ -65,6 +66,7 @@
 import android.os.Message;
 import android.os.Process;
 import android.os.RemoteException;
+import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.os.Vibrator;
 import android.provider.Settings;
@@ -125,6 +127,8 @@
 public class NotificationManagerService extends SystemService {
     static final String TAG = "NotificationService";
     static final boolean DBG = Log.isLoggable(TAG, Log.DEBUG);
+    public static final boolean ENABLE_CHILD_NOTIFICATIONS = Build.IS_DEBUGGABLE
+            && SystemProperties.getBoolean("debug.child_notifs", false);
 
     static final int MAX_PACKAGE_NOTIFICATIONS = 50;
 
@@ -1026,6 +1030,7 @@
     private void updateListenerHintsLocked() {
         final int hints = mListenersDisablingEffects.isEmpty() ? 0 : HINT_HOST_DISABLE_EFFECTS;
         if (hints == mListenerHints) return;
+        ZenLog.traceListenerHintsChanged(mListenerHints, hints, mListenersDisablingEffects.size());
         mListenerHints = hints;
         scheduleListenerHintsChanged(hints);
     }
@@ -1034,6 +1039,7 @@
         final ComponentName suppressor = !mListenersDisablingEffects.isEmpty()
                 ? mListenersDisablingEffects.valueAt(0).component : null;
         if (Objects.equals(suppressor, mEffectsSuppressor)) return;
+        ZenLog.traceEffectsSuppressorChanged(mEffectsSuppressor, suppressor);
         mEffectsSuppressor = suppressor;
         mZenModeHelper.setEffectsSuppressed(suppressor != null);
         getContext().sendBroadcast(new Intent(NotificationManager.ACTION_EFFECTS_SUPPRESSOR_CHANGED)
@@ -2005,35 +2011,37 @@
      */
     private boolean removeUnusedGroupedNotificationLocked(NotificationRecord r,
             NotificationRecord old, int callingUid, int callingPid) {
-        // No optimizations are possible if listeners want groups.
-        if (mListeners.notificationGroupsDesired()) {
-            return false;
-        }
-
-        StatusBarNotification sbn = r.sbn;
-        String group = sbn.getGroupKey();
-        boolean isSummary = sbn.getNotification().isGroupSummary();
-        boolean isChild = sbn.getNotification().isGroupChild();
-
-        NotificationRecord summary = mSummaryByGroupKey.get(group);
-        if (isChild && summary != null) {
-            // Child with an active summary -> ignore
-            if (DBG) {
-                Slog.d(TAG, "Ignoring group child " + sbn.getKey() + " due to existing summary "
-                        + summary.getKey());
+        if (!ENABLE_CHILD_NOTIFICATIONS) {
+            // No optimizations are possible if listeners want groups.
+            if (mListeners.notificationGroupsDesired()) {
+                return false;
             }
-            // Make sure we don't leave an old version of the notification around.
-            if (old != null) {
+
+            StatusBarNotification sbn = r.sbn;
+            String group = sbn.getGroupKey();
+            boolean isSummary = sbn.getNotification().isGroupSummary();
+            boolean isChild = sbn.getNotification().isGroupChild();
+
+            NotificationRecord summary = mSummaryByGroupKey.get(group);
+            if (isChild && summary != null) {
+                // Child with an active summary -> ignore
                 if (DBG) {
-                    Slog.d(TAG, "Canceling old version of ignored group child " + sbn.getKey());
+                    Slog.d(TAG, "Ignoring group child " + sbn.getKey() + " due to existing summary "
+                            + summary.getKey());
                 }
-                cancelNotificationLocked(old, false, REASON_GROUP_OPTIMIZATION);
+                // Make sure we don't leave an old version of the notification around.
+                if (old != null) {
+                    if (DBG) {
+                        Slog.d(TAG, "Canceling old version of ignored group child " + sbn.getKey());
+                    }
+                    cancelNotificationLocked(old, false, REASON_GROUP_OPTIMIZATION);
+                }
+                return true;
+            } else if (isSummary) {
+                // Summary -> cancel children
+                cancelGroupChildrenLocked(r, callingUid, callingPid, null,
+                        REASON_GROUP_OPTIMIZATION);
             }
-            return true;
-        } else if (isSummary) {
-            // Summary -> cancel children
-            cancelGroupChildrenLocked(r, callingUid, callingPid, null,
-                    REASON_GROUP_OPTIMIZATION);
         }
         return false;
     }
@@ -2584,8 +2592,8 @@
             @Override
             public void run() {
                 String listenerName = listener == null ? null : listener.component.toShortString();
-                EventLogTags.writeNotificationCancel(callingUid, callingPid, pkg, id, tag, userId,
-                        mustHaveFlags, mustNotHaveFlags, reason, listenerName);
+                if (DBG) EventLogTags.writeNotificationCancel(callingUid, callingPid, pkg, id, tag,
+                        userId, mustHaveFlags, mustNotHaveFlags, reason, listenerName);
 
                 synchronized (mNotificationList) {
                     int index = indexOfNotificationLocked(pkg, tag, id, userId);
diff --git a/services/core/java/com/android/server/notification/RankingHelper.java b/services/core/java/com/android/server/notification/RankingHelper.java
index 6a96f85..518e223 100644
--- a/services/core/java/com/android/server/notification/RankingHelper.java
+++ b/services/core/java/com/android/server/notification/RankingHelper.java
@@ -24,7 +24,6 @@
 import android.text.TextUtils;
 import android.util.ArrayMap;
 import android.util.ArraySet;
-import android.util.Log;
 import android.util.Slog;
 import android.util.SparseIntArray;
 import org.xmlpull.v1.XmlPullParser;
diff --git a/services/core/java/com/android/server/notification/ZenLog.java b/services/core/java/com/android/server/notification/ZenLog.java
index dda0b37..1fc967f 100644
--- a/services/core/java/com/android/server/notification/ZenLog.java
+++ b/services/core/java/com/android/server/notification/ZenLog.java
@@ -24,8 +24,8 @@
 import android.provider.Settings.Global;
 import android.service.notification.Condition;
 import android.service.notification.IConditionProvider;
+import android.service.notification.NotificationListenerService;
 import android.service.notification.ZenModeConfig;
-import android.util.ArraySet;
 import android.util.Slog;
 
 import java.io.PrintWriter;
@@ -57,6 +57,8 @@
     private static final int TYPE_CONFIG = 11;
     private static final int TYPE_NOT_INTERCEPTED = 12;
     private static final int TYPE_DISABLE_EFFECTS = 13;
+    private static final int TYPE_SUPPRESSOR_CHANGED = 14;
+    private static final int TYPE_LISTENER_HINTS_CHANGED = 15;
 
     private static int sNext;
     private static int sSize;
@@ -121,6 +123,17 @@
         append(TYPE_DISABLE_EFFECTS, record.getKey() + "," + reason);
     }
 
+    public static void traceEffectsSuppressorChanged(ComponentName oldSuppressor,
+            ComponentName newSuppressor) {
+        append(TYPE_SUPPRESSOR_CHANGED, componentToString(oldSuppressor) + "->"
+            + componentToString(newSuppressor));
+    }
+
+    public static void traceListenerHintsChanged(int oldHints, int newHints, int listenerCount) {
+        append(TYPE_LISTENER_HINTS_CHANGED, hintsToString(oldHints) + "->"
+            + hintsToString(newHints) + ",listeners=" + listenerCount);
+    }
+
     private static String subscribeResult(IConditionProvider provider, RemoteException e) {
         return provider == null ? "no provider" : e != null ? e.getMessage() : "ok";
     }
@@ -140,6 +153,8 @@
             case TYPE_CONFIG: return "config";
             case TYPE_NOT_INTERCEPTED: return "not_intercepted";
             case TYPE_DISABLE_EFFECTS: return "disable_effects";
+            case TYPE_SUPPRESSOR_CHANGED: return "suppressor_changed";
+            case TYPE_LISTENER_HINTS_CHANGED: return "listener_hints_changed";
             default: return "unknown";
         }
     }
@@ -162,6 +177,14 @@
         }
     }
 
+    private static String hintsToString(int hints) {
+        switch (hints) {
+            case 0 : return "none";
+            case NotificationListenerService.HINT_HOST_DISABLE_EFFECTS : return "disable_effects";
+            default: return Integer.toString(hints);
+        }
+    }
+
     private static String componentToString(ComponentName component) {
         return component != null ? component.toShortString() : null;
     }
diff --git a/services/core/java/com/android/server/notification/ZenModeHelper.java b/services/core/java/com/android/server/notification/ZenModeHelper.java
index 841fc21..a985b01 100644
--- a/services/core/java/com/android/server/notification/ZenModeHelper.java
+++ b/services/core/java/com/android/server/notification/ZenModeHelper.java
@@ -31,6 +31,7 @@
 import android.media.AudioAttributes;
 import android.media.AudioManager;
 import android.media.AudioManagerInternal;
+import android.media.VolumePolicy;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
@@ -334,7 +335,7 @@
 
     @Override  // RingerModeDelegate
     public int onSetRingerModeInternal(int ringerModeOld, int ringerModeNew, String caller,
-            int ringerModeExternal) {
+            int ringerModeExternal, VolumePolicy policy) {
         final boolean isChange = ringerModeOld != ringerModeNew;
 
         int ringerModeExternalOut = ringerModeNew;
@@ -342,7 +343,7 @@
         int newZen = -1;
         switch (ringerModeNew) {
             case AudioManager.RINGER_MODE_SILENT:
-                if (isChange) {
+                if (isChange && policy.doNotDisturbWhenSilent) {
                     if (mZenMode != Global.ZEN_MODE_NO_INTERRUPTIONS) {
                         newZen = Global.ZEN_MODE_NO_INTERRUPTIONS;
                     }
@@ -371,7 +372,7 @@
 
     @Override  // RingerModeDelegate
     public int onSetRingerModeExternal(int ringerModeOld, int ringerModeNew, String caller,
-            int ringerModeInternal) {
+            int ringerModeInternal, VolumePolicy policy) {
         int ringerModeInternalOut = ringerModeNew;
         final boolean isChange = ringerModeOld != ringerModeNew;
         final boolean isVibrate = ringerModeInternal == AudioManager.RINGER_MODE_VIBRATE;
diff --git a/services/core/java/com/android/server/pm/CrossProfileIntentResolver.java b/services/core/java/com/android/server/pm/CrossProfileIntentResolver.java
index a335d3a..0e0096d 100644
--- a/services/core/java/com/android/server/pm/CrossProfileIntentResolver.java
+++ b/services/core/java/com/android/server/pm/CrossProfileIntentResolver.java
@@ -18,7 +18,6 @@
 package com.android.server.pm;
 
 
-import java.io.PrintWriter;
 import com.android.server.IntentResolver;
 import java.util.List;
 
diff --git a/services/core/java/com/android/server/pm/Installer.java b/services/core/java/com/android/server/pm/Installer.java
index 31c604f..5cde8ea 100644
--- a/services/core/java/com/android/server/pm/Installer.java
+++ b/services/core/java/com/android/server/pm/Installer.java
@@ -83,13 +83,14 @@
     }
 
     public int dexopt(String apkPath, int uid, boolean isPublic, String pkgName,
-            String instructionSet, boolean vmSafeMode) {
+            String instructionSet, boolean vmSafeMode, boolean debuggable) {
         if (!isValidInstructionSet(instructionSet)) {
             Slog.e(TAG, "Invalid instruction set: " + instructionSet);
             return -1;
         }
 
-        return mInstaller.dexopt(apkPath, uid, isPublic, pkgName, instructionSet, vmSafeMode);
+        return mInstaller.dexopt(apkPath, uid, isPublic, pkgName, instructionSet, vmSafeMode,
+                debuggable);
     }
 
     public int idmap(String targetApkPath, String overlayApkPath, int uid) {
diff --git a/services/core/java/com/android/server/pm/InstructionSets.java b/services/core/java/com/android/server/pm/InstructionSets.java
new file mode 100644
index 0000000..79e7a20
--- /dev/null
+++ b/services/core/java/com/android/server/pm/InstructionSets.java
@@ -0,0 +1,114 @@
+/*
+ * 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 com.android.server.pm;
+
+import android.content.pm.ApplicationInfo;
+import android.os.Build;
+import android.os.SystemProperties;
+import android.text.TextUtils;
+import android.util.ArraySet;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import dalvik.system.VMRuntime;
+
+/**
+ * Provides various methods for obtaining and converting of instruction sets.
+ *
+ * @hide
+ */
+public class InstructionSets {
+    private static final String PREFERRED_INSTRUCTION_SET =
+            VMRuntime.getInstructionSet(Build.SUPPORTED_ABIS[0]);;
+    public static String[] getAppDexInstructionSets(ApplicationInfo info) {
+        if (info.primaryCpuAbi != null) {
+            if (info.secondaryCpuAbi != null) {
+                return new String[] {
+                        VMRuntime.getInstructionSet(info.primaryCpuAbi),
+                        VMRuntime.getInstructionSet(info.secondaryCpuAbi) };
+            } else {
+                return new String[] {
+                        VMRuntime.getInstructionSet(info.primaryCpuAbi) };
+            }
+        }
+
+        return new String[] { getPreferredInstructionSet() };
+    }
+
+    public static String[] getAppDexInstructionSets(PackageSetting ps) {
+        if (ps.primaryCpuAbiString != null) {
+            if (ps.secondaryCpuAbiString != null) {
+                return new String[] {
+                        VMRuntime.getInstructionSet(ps.primaryCpuAbiString),
+                        VMRuntime.getInstructionSet(ps.secondaryCpuAbiString) };
+            } else {
+                return new String[] {
+                        VMRuntime.getInstructionSet(ps.primaryCpuAbiString) };
+            }
+        }
+
+        return new String[] { getPreferredInstructionSet() };
+    }
+
+    public static String getPreferredInstructionSet() {
+        return PREFERRED_INSTRUCTION_SET;
+    }
+
+    /**
+     * Returns the instruction set that should be used to compile dex code. In the presence of
+     * a native bridge this might be different than the one shared libraries use.
+     */
+    public static String getDexCodeInstructionSet(String sharedLibraryIsa) {
+        String dexCodeIsa = SystemProperties.get("ro.dalvik.vm.isa." + sharedLibraryIsa);
+        return TextUtils.isEmpty(dexCodeIsa) ? sharedLibraryIsa : dexCodeIsa;
+    }
+
+    public static String[] getDexCodeInstructionSets(String[] instructionSets) {
+        ArraySet<String> dexCodeInstructionSets = new ArraySet<String>(instructionSets.length);
+        for (String instructionSet : instructionSets) {
+            dexCodeInstructionSets.add(getDexCodeInstructionSet(instructionSet));
+        }
+        return dexCodeInstructionSets.toArray(new String[dexCodeInstructionSets.size()]);
+    }
+
+    /**
+     * Returns deduplicated list of supported instructions for dex code.
+     */
+    public static String[] getAllDexCodeInstructionSets() {
+        String[] supportedInstructionSets = new String[Build.SUPPORTED_ABIS.length];
+        for (int i = 0; i < supportedInstructionSets.length; i++) {
+            String abi = Build.SUPPORTED_ABIS[i];
+            supportedInstructionSets[i] = VMRuntime.getInstructionSet(abi);
+        }
+        return getDexCodeInstructionSets(supportedInstructionSets);
+    }
+
+    public static List<String> getAllInstructionSets() {
+        final String[] allAbis = Build.SUPPORTED_ABIS;
+        final List<String> allInstructionSets = new ArrayList<String>(allAbis.length);
+
+        for (String abi : allAbis) {
+            final String instructionSet = VMRuntime.getInstructionSet(abi);
+            if (!allInstructionSets.contains(instructionSet)) {
+                allInstructionSets.add(instructionSet);
+            }
+        }
+
+        return allInstructionSets;
+    }
+}
diff --git a/services/core/java/com/android/server/pm/KeySetManagerService.java b/services/core/java/com/android/server/pm/KeySetManagerService.java
index 4a8e318..aa63932 100644
--- a/services/core/java/com/android/server/pm/KeySetManagerService.java
+++ b/services/core/java/com/android/server/pm/KeySetManagerService.java
@@ -17,7 +17,6 @@
 package com.android.server.pm;
 
 import android.content.pm.PackageParser;
-import android.os.Binder;
 import android.util.ArraySet;
 import android.util.Base64;
 import android.util.Slog;
@@ -415,9 +414,9 @@
         // Get the package's known keys and KeySets
         ArraySet<Long> deletableKeySets = getOriginalKeySetsByPackageNameLPr(packageName);
         ArraySet<Long> deletableKeys = new ArraySet<Long>();
-        ArraySet<Long> knownKeys = null;
-        for (Long ks : deletableKeySets) {
-            knownKeys = mKeySetMapping.get(ks);
+        final int origDksSize = deletableKeySets.size();
+        for (int i = 0; i < origDksSize; i++) {
+            ArraySet<Long> knownKeys = mKeySetMapping.get(deletableKeySets.valueAt(i));
             if (knownKeys != null) {
                 deletableKeys.addAll(knownKeys);
             }
@@ -430,9 +429,9 @@
             }
             ArraySet<Long> knownKeySets = getOriginalKeySetsByPackageNameLPr(pkgName);
             deletableKeySets.removeAll(knownKeySets);
-            knownKeys = new ArraySet<Long>();
-            for (Long ks : knownKeySets) {
-                knownKeys = mKeySetMapping.get(ks);
+            final int kksSize = knownKeySets.size();
+            for (int i = 0; i < kksSize; i++) {
+                ArraySet<Long> knownKeys = mKeySetMapping.get(knownKeySets.valueAt(i));
                 if (knownKeys != null) {
                     deletableKeys.removeAll(knownKeys);
                 }
@@ -441,18 +440,22 @@
 
         // The remaining keys and KeySets are not relied on by any other
         // application and so can be safely deleted.
-        for (Long ks : deletableKeySets) {
+        final int dksSize = deletableKeySets.size();
+        for (int i = 0; i < dksSize; i++) {
+            Long ks = deletableKeySets.valueAt(i);
             mKeySets.delete(ks);
             mKeySetMapping.delete(ks);
         }
-        for (Long keyId : deletableKeys) {
-            mPublicKeys.delete(keyId);
+        final int dkSize = deletableKeys.size();
+        for (int i = 0; i < dkSize; i++) {
+            mPublicKeys.delete(deletableKeys.valueAt(i));
         }
 
         // Now remove the deleted KeySets from each package's signingKeySets
         for (String pkgName : mPackages.keySet()) {
             PackageSetting p = mPackages.get(pkgName);
-            for (Long ks : deletableKeySets) {
+            for (int i = 0; i < dksSize; i++) {
+                Long ks = deletableKeySets.valueAt(i);
                 p.keySetData.removeSigningKeySet(ks);
             }
         }
diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
new file mode 100644
index 0000000..2dbce0a
--- /dev/null
+++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
@@ -0,0 +1,216 @@
+/*
+ * 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 com.android.server.pm;
+
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageParser;
+import android.os.UserHandle;
+import android.util.ArraySet;
+import android.util.Log;
+import android.util.Slog;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import dalvik.system.DexFile;
+import dalvik.system.StaleDexCacheError;
+
+import static com.android.server.pm.InstructionSets.getAppDexInstructionSets;
+import static com.android.server.pm.InstructionSets.getDexCodeInstructionSets;
+
+/**
+ * Helper class for running dexopt command on packages.
+ */
+final class PackageDexOptimizer {
+    static final String TAG = "PackageManager.DexOptimizer";
+    static final int DEX_OPT_SKIPPED = 0;
+    static final int DEX_OPT_PERFORMED = 1;
+    static final int DEX_OPT_DEFERRED = 2;
+    static final int DEX_OPT_FAILED = -1;
+
+    private final PackageManagerService mPackageManagerService;
+    private ArraySet<PackageParser.Package> mDeferredDexOpt;
+
+    PackageDexOptimizer(PackageManagerService packageManagerService) {
+        this.mPackageManagerService = packageManagerService;
+    }
+
+    /**
+     * Performs dexopt on all code paths and libraries of the specified package for specified
+     * instruction sets.
+     *
+     * <p>Calls to {@link com.android.server.pm.Installer#dexopt} are synchronized on
+     * {@link PackageManagerService#mInstallLock}.
+     */
+    int performDexOpt(PackageParser.Package pkg, String[] instructionSets,
+            boolean forceDex, boolean defer, boolean inclDependencies) {
+        ArraySet<String> done;
+        if (inclDependencies && (pkg.usesLibraries != null || pkg.usesOptionalLibraries != null)) {
+            done = new ArraySet<String>();
+            done.add(pkg.packageName);
+        } else {
+            done = null;
+        }
+        synchronized (mPackageManagerService.mInstallLock) {
+            return performDexOptLI(pkg, instructionSets, forceDex, defer, done);
+        }
+    }
+
+    private int performDexOptLI(PackageParser.Package pkg, String[] targetInstructionSets,
+            boolean forceDex, boolean defer, ArraySet<String> done) {
+        final String[] instructionSets = targetInstructionSets != null ?
+                targetInstructionSets : getAppDexInstructionSets(pkg.applicationInfo);
+
+        if (done != null) {
+            done.add(pkg.packageName);
+            if (pkg.usesLibraries != null) {
+                performDexOptLibsLI(pkg.usesLibraries, instructionSets, forceDex, defer, done);
+            }
+            if (pkg.usesOptionalLibraries != null) {
+                performDexOptLibsLI(pkg.usesOptionalLibraries, instructionSets, forceDex, defer,
+                        done);
+            }
+        }
+
+        if ((pkg.applicationInfo.flags & ApplicationInfo.FLAG_HAS_CODE) == 0) {
+            return DEX_OPT_SKIPPED;
+        }
+
+        final boolean vmSafeMode = (pkg.applicationInfo.flags & ApplicationInfo.FLAG_VM_SAFE_MODE) != 0;
+        final boolean debuggable = (pkg.applicationInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;
+
+        final List<String> paths = pkg.getAllCodePathsExcludingResourceOnly();
+        boolean performedDexOpt = false;
+        // There are three basic cases here:
+        // 1.) we need to dexopt, either because we are forced or it is needed
+        // 2.) we are deferring a needed dexopt
+        // 3.) we are skipping an unneeded dexopt
+        final String[] dexCodeInstructionSets = getDexCodeInstructionSets(instructionSets);
+        for (String dexCodeInstructionSet : dexCodeInstructionSets) {
+            if (!forceDex && pkg.mDexOptPerformed.contains(dexCodeInstructionSet)) {
+                continue;
+            }
+
+            for (String path : paths) {
+                try {
+                    // This will return DEXOPT_NEEDED if we either cannot find any odex file for this
+                    // package or the one we find does not match the image checksum (i.e. it was
+                    // compiled against an old image). It will return PATCHOAT_NEEDED if we can find a
+                    // odex file and it matches the checksum of the image but not its base address,
+                    // meaning we need to move it.
+                    final byte isDexOptNeeded = DexFile.isDexOptNeededInternal(path,
+                            pkg.packageName, dexCodeInstructionSet, defer);
+                    if (forceDex || (!defer && isDexOptNeeded == DexFile.DEXOPT_NEEDED)) {
+                        Log.i(TAG, "Running dexopt on: " + path + " pkg="
+                                + pkg.applicationInfo.packageName + " isa=" + dexCodeInstructionSet
+                                + " vmSafeMode=" + vmSafeMode + " debuggable=" + debuggable);
+                        final int sharedGid = UserHandle.getSharedAppGid(pkg.applicationInfo.uid);
+                        final int ret = mPackageManagerService.mInstaller.dexopt(path, sharedGid,
+                                !pkg.isForwardLocked(), pkg.packageName, dexCodeInstructionSet,
+                                vmSafeMode, debuggable);
+
+                        if (ret < 0) {
+                            // Don't bother running dexopt again if we failed, it will probably
+                            // just result in an error again. Also, don't bother dexopting for other
+                            // paths & ISAs.
+                            return DEX_OPT_FAILED;
+                        }
+
+                        performedDexOpt = true;
+                    } else if (!defer && isDexOptNeeded == DexFile.PATCHOAT_NEEDED) {
+                        Log.i(TAG, "Running patchoat on: " + pkg.applicationInfo.packageName);
+                        final int sharedGid = UserHandle.getSharedAppGid(pkg.applicationInfo.uid);
+                        final int ret = mPackageManagerService.mInstaller.patchoat(path, sharedGid,
+                                !pkg.isForwardLocked(), pkg.packageName, dexCodeInstructionSet);
+
+                        if (ret < 0) {
+                            // Don't bother running patchoat again if we failed, it will probably
+                            // just result in an error again. Also, don't bother dexopting for other
+                            // paths & ISAs.
+                            return DEX_OPT_FAILED;
+                        }
+
+                        performedDexOpt = true;
+                    }
+
+                    // We're deciding to defer a needed dexopt. Don't bother dexopting for other
+                    // paths and instruction sets. We'll deal with them all together when we process
+                    // our list of deferred dexopts.
+                    if (defer && isDexOptNeeded != DexFile.UP_TO_DATE) {
+                        addPackageForDeferredDexopt(pkg);
+                        return DEX_OPT_DEFERRED;
+                    }
+                } catch (FileNotFoundException e) {
+                    Slog.w(TAG, "Apk not found for dexopt: " + path);
+                    return DEX_OPT_FAILED;
+                } catch (IOException e) {
+                    Slog.w(TAG, "IOException reading apk: " + path, e);
+                    return DEX_OPT_FAILED;
+                } catch (StaleDexCacheError e) {
+                    Slog.w(TAG, "StaleDexCacheError when reading apk: " + path, e);
+                    return DEX_OPT_FAILED;
+                } catch (Exception e) {
+                    Slog.w(TAG, "Exception when doing dexopt : ", e);
+                    return DEX_OPT_FAILED;
+                }
+            }
+
+            // At this point we haven't failed dexopt and we haven't deferred dexopt. We must
+            // either have either succeeded dexopt, or have had isDexOptNeededInternal tell us
+            // it isn't required. We therefore mark that this package doesn't need dexopt unless
+            // it's forced. performedDexOpt will tell us whether we performed dex-opt or skipped
+            // it.
+            pkg.mDexOptPerformed.add(dexCodeInstructionSet);
+        }
+
+        // If we've gotten here, we're sure that no error occurred and that we haven't
+        // deferred dex-opt. We've either dex-opted one more paths or instruction sets or
+        // we've skipped all of them because they are up to date. In both cases this
+        // package doesn't need dexopt any longer.
+        return performedDexOpt ? DEX_OPT_PERFORMED : DEX_OPT_SKIPPED;
+    }
+
+    private void performDexOptLibsLI(ArrayList<String> libs, String[] instructionSets,
+            boolean forceDex, boolean defer, ArraySet<String> done) {
+        for (String libName : libs) {
+            PackageParser.Package libPkg = mPackageManagerService.findSharedNonSystemLibrary(
+                    libName);
+            if (libPkg != null && !done.contains(libName)) {
+                performDexOptLI(libPkg, instructionSets, forceDex, defer, done);
+            }
+        }
+    }
+
+    /**
+     * Clears set of deferred dexopt packages.
+     * @return content of dexopt set if it was not empty
+     */
+    public ArraySet<PackageParser.Package> clearDeferredDexOptPackages() {
+        ArraySet<PackageParser.Package> result = mDeferredDexOpt;
+        mDeferredDexOpt = null;
+        return result;
+    }
+
+    public void addPackageForDeferredDexopt(PackageParser.Package pkg) {
+        if (mDeferredDexOpt == null) {
+            mDeferredDexOpt = new ArraySet<PackageParser.Package>();
+        }
+        mDeferredDexOpt.add(pkg);
+    }
+}
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index fb4c110..52411bf 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -55,6 +55,10 @@
 import static com.android.internal.content.NativeLibraryHelper.LIB_DIR_NAME;
 import static com.android.internal.util.ArrayUtils.appendInt;
 import static com.android.internal.util.ArrayUtils.removeInt;
+import static com.android.server.pm.InstructionSets.getAppDexInstructionSets;
+import static com.android.server.pm.InstructionSets.getDexCodeInstructionSet;
+import static com.android.server.pm.InstructionSets.getDexCodeInstructionSets;
+import static com.android.server.pm.InstructionSets.getPreferredInstructionSet;
 
 import android.util.ArrayMap;
 
@@ -184,7 +188,6 @@
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileDescriptor;
-import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.FileReader;
@@ -213,7 +216,6 @@
 import java.util.concurrent.atomic.AtomicLong;
 
 import dalvik.system.DexFile;
-import dalvik.system.StaleDexCacheError;
 import dalvik.system.VMRuntime;
 
 import libcore.io.IoUtils;
@@ -323,13 +325,8 @@
 
     private static final String VENDOR_OVERLAY_DIR = "/vendor/overlay";
 
-    private static String sPreferredInstructionSet;
-
     final ServiceThread mHandlerThread;
 
-    private static final String IDMAP_PREFIX = "/data/resource-cache/";
-    private static final String IDMAP_SUFFIX = "@idmap";
-
     final PackageHandler mHandler;
 
     /**
@@ -466,8 +463,7 @@
 
     final PackageInstallerService mInstallerService;
 
-    ArraySet<PackageParser.Package> mDeferredDexOpt = null;
-
+    private final PackageDexOptimizer mPackageDexOptimizer;
     // Cache of users who need badging.
     SparseBooleanArray mUserNeedsBadging = new SparseBooleanArray();
 
@@ -1050,7 +1046,7 @@
                                         res.pkg.applicationInfo.packageName, null, updateUsers);
 
                                 // treat asec-hosted packages like removable media on upgrade
-                                if (isForwardLocked(res.pkg) || isExternal(res.pkg)) {
+                                if (res.pkg.isForwardLocked() || isExternal(res.pkg)) {
                                     if (DEBUG_INSTALL) {
                                         Slog.i(TAG, "upgrading pkg " + res.pkg
                                                 + " is ASEC-hosted -> AVAILABLE");
@@ -1338,6 +1334,7 @@
         }
 
         mInstaller = installer;
+        mPackageDexOptimizer = new PackageDexOptimizer(this);
 
         getDefaultDisplayMetrics(context, mMetrics);
 
@@ -1438,9 +1435,10 @@
                 Slog.w(TAG, "No SYSTEMSERVERCLASSPATH found!");
             }
 
-            final List<String> allInstructionSets = getAllInstructionSets();
+            final List<String> allInstructionSets = InstructionSets.getAllInstructionSets();
             final String[] dexCodeInstructionSets =
-                getDexCodeInstructionSets(allInstructionSets.toArray(new String[allInstructionSets.size()]));
+                    getDexCodeInstructionSets(
+                            allInstructionSets.toArray(new String[allInstructionSets.size()]));
 
             /**
              * Ensure all external libraries have had dexopt run on them.
@@ -2335,6 +2333,19 @@
         return null;
     }
 
+    /**
+     * @hide
+     */
+    PackageParser.Package findSharedNonSystemLibrary(String libName) {
+        synchronized (mPackages) {
+            PackageManagerService.SharedLibraryEntry lib = mSharedLibraries.get(libName);
+            if (lib != null && lib.apk != null) {
+                return mPackages.get(lib.apk);
+            }
+        }
+        return null;
+    }
+
     @Override
     public FeatureInfo[] getSystemAvailableFeatures() {
         Collection<FeatureInfo> featSet;
@@ -4616,8 +4627,7 @@
 
         final ArraySet<PackageParser.Package> pkgs;
         synchronized (mPackages) {
-            pkgs = mDeferredDexOpt;
-            mDeferredDexOpt = null;
+            pkgs = mPackageDexOptimizer.clearDeferredDexOptPackages();
         }
 
         if (pkgs != null) {
@@ -4773,8 +4783,8 @@
         }
         PackageParser.Package p = pkg;
         synchronized (mInstallLock) {
-            performDexOptLI(p, null /* instruction sets */, false /* force dex */,
-                            false /* defer */, true /* include dependencies */);
+            mPackageDexOptimizer.performDexOpt(p, null /* instruction sets */,
+                    false /* force dex */, false /* defer */, true /* include dependencies */);
         }
     }
 
@@ -4823,8 +4833,9 @@
 
         synchronized (mInstallLock) {
             final String[] instructionSets = new String[] { targetInstructionSet };
-            return performDexOptLI(p, instructionSets, false /* force dex */, false /* defer */,
-                    true /* include dependencies */) == DEX_OPT_PERFORMED;
+            int result = mPackageDexOptimizer.performDexOpt(p, instructionSets,
+                    false /* forceDex */, false /* defer */, true /* inclDependencies */);
+            return result == PackageDexOptimizer.DEX_OPT_PERFORMED;
         }
     }
 
@@ -4851,226 +4862,6 @@
         mPackageUsage.write(true);
     }
 
-    private void performDexOptLibsLI(ArrayList<String> libs, String[] instructionSets,
-             boolean forceDex, boolean defer, ArraySet<String> done) {
-        for (int i=0; i<libs.size(); i++) {
-            PackageParser.Package libPkg;
-            String libName;
-            synchronized (mPackages) {
-                libName = libs.get(i);
-                SharedLibraryEntry lib = mSharedLibraries.get(libName);
-                if (lib != null && lib.apk != null) {
-                    libPkg = mPackages.get(lib.apk);
-                } else {
-                    libPkg = null;
-                }
-            }
-            if (libPkg != null && !done.contains(libName)) {
-                performDexOptLI(libPkg, instructionSets, forceDex, defer, done);
-            }
-        }
-    }
-
-    static final int DEX_OPT_SKIPPED = 0;
-    static final int DEX_OPT_PERFORMED = 1;
-    static final int DEX_OPT_DEFERRED = 2;
-    static final int DEX_OPT_FAILED = -1;
-
-    private int performDexOptLI(PackageParser.Package pkg, String[] targetInstructionSets,
-            boolean forceDex, boolean defer, ArraySet<String> done) {
-        final String[] instructionSets = targetInstructionSets != null ?
-                targetInstructionSets : getAppDexInstructionSets(pkg.applicationInfo);
-
-        if (done != null) {
-            done.add(pkg.packageName);
-            if (pkg.usesLibraries != null) {
-                performDexOptLibsLI(pkg.usesLibraries, instructionSets, forceDex, defer, done);
-            }
-            if (pkg.usesOptionalLibraries != null) {
-                performDexOptLibsLI(pkg.usesOptionalLibraries, instructionSets, forceDex, defer, done);
-            }
-        }
-
-        if ((pkg.applicationInfo.flags & ApplicationInfo.FLAG_HAS_CODE) == 0) {
-            return DEX_OPT_SKIPPED;
-        }
-
-        final boolean vmSafeMode = (pkg.applicationInfo.flags & ApplicationInfo.FLAG_VM_SAFE_MODE) != 0;
-
-        final List<String> paths = pkg.getAllCodePathsExcludingResourceOnly();
-        boolean performedDexOpt = false;
-        // There are three basic cases here:
-        // 1.) we need to dexopt, either because we are forced or it is needed
-        // 2.) we are defering a needed dexopt
-        // 3.) we are skipping an unneeded dexopt
-        final String[] dexCodeInstructionSets = getDexCodeInstructionSets(instructionSets);
-        for (String dexCodeInstructionSet : dexCodeInstructionSets) {
-            if (!forceDex && pkg.mDexOptPerformed.contains(dexCodeInstructionSet)) {
-                continue;
-            }
-
-            for (String path : paths) {
-                try {
-                    // This will return DEXOPT_NEEDED if we either cannot find any odex file for this
-                    // patckage or the one we find does not match the image checksum (i.e. it was
-                    // compiled against an old image). It will return PATCHOAT_NEEDED if we can find a
-                    // odex file and it matches the checksum of the image but not its base address,
-                    // meaning we need to move it.
-                    final byte isDexOptNeeded = DexFile.isDexOptNeededInternal(path,
-                            pkg.packageName, dexCodeInstructionSet, defer);
-                    if (forceDex || (!defer && isDexOptNeeded == DexFile.DEXOPT_NEEDED)) {
-                        Log.i(TAG, "Running dexopt on: " + path + " pkg="
-                                + pkg.applicationInfo.packageName + " isa=" + dexCodeInstructionSet
-                                + " vmSafeMode=" + vmSafeMode);
-                        final int sharedGid = UserHandle.getSharedAppGid(pkg.applicationInfo.uid);
-                        final int ret = mInstaller.dexopt(path, sharedGid, !isForwardLocked(pkg),
-                                pkg.packageName, dexCodeInstructionSet, vmSafeMode);
-
-                        if (ret < 0) {
-                            // Don't bother running dexopt again if we failed, it will probably
-                            // just result in an error again. Also, don't bother dexopting for other
-                            // paths & ISAs.
-                            return DEX_OPT_FAILED;
-                        }
-
-                        performedDexOpt = true;
-                    } else if (!defer && isDexOptNeeded == DexFile.PATCHOAT_NEEDED) {
-                        Log.i(TAG, "Running patchoat on: " + pkg.applicationInfo.packageName);
-                        final int sharedGid = UserHandle.getSharedAppGid(pkg.applicationInfo.uid);
-                        final int ret = mInstaller.patchoat(path, sharedGid, !isForwardLocked(pkg),
-                                pkg.packageName, dexCodeInstructionSet);
-
-                        if (ret < 0) {
-                            // Don't bother running patchoat again if we failed, it will probably
-                            // just result in an error again. Also, don't bother dexopting for other
-                            // paths & ISAs.
-                            return DEX_OPT_FAILED;
-                        }
-
-                        performedDexOpt = true;
-                    }
-
-                    // We're deciding to defer a needed dexopt. Don't bother dexopting for other
-                    // paths and instruction sets. We'll deal with them all together when we process
-                    // our list of deferred dexopts.
-                    if (defer && isDexOptNeeded != DexFile.UP_TO_DATE) {
-                        if (mDeferredDexOpt == null) {
-                            mDeferredDexOpt = new ArraySet<PackageParser.Package>();
-                        }
-                        mDeferredDexOpt.add(pkg);
-                        return DEX_OPT_DEFERRED;
-                    }
-                } catch (FileNotFoundException e) {
-                    Slog.w(TAG, "Apk not found for dexopt: " + path);
-                    return DEX_OPT_FAILED;
-                } catch (IOException e) {
-                    Slog.w(TAG, "IOException reading apk: " + path, e);
-                    return DEX_OPT_FAILED;
-                } catch (StaleDexCacheError e) {
-                    Slog.w(TAG, "StaleDexCacheError when reading apk: " + path, e);
-                    return DEX_OPT_FAILED;
-                } catch (Exception e) {
-                    Slog.w(TAG, "Exception when doing dexopt : ", e);
-                    return DEX_OPT_FAILED;
-                }
-            }
-
-            // At this point we haven't failed dexopt and we haven't deferred dexopt. We must
-            // either have either succeeded dexopt, or have had isDexOptNeededInternal tell us
-            // it isn't required. We therefore mark that this package doesn't need dexopt unless
-            // it's forced. performedDexOpt will tell us whether we performed dex-opt or skipped
-            // it.
-            pkg.mDexOptPerformed.add(dexCodeInstructionSet);
-        }
-
-        // If we've gotten here, we're sure that no error occurred and that we haven't
-        // deferred dex-opt. We've either dex-opted one more paths or instruction sets or
-        // we've skipped all of them because they are up to date. In both cases this
-        // package doesn't need dexopt any longer.
-        return performedDexOpt ? DEX_OPT_PERFORMED : DEX_OPT_SKIPPED;
-    }
-
-    private static String[] getAppDexInstructionSets(ApplicationInfo info) {
-        if (info.primaryCpuAbi != null) {
-            if (info.secondaryCpuAbi != null) {
-                return new String[] {
-                        VMRuntime.getInstructionSet(info.primaryCpuAbi),
-                        VMRuntime.getInstructionSet(info.secondaryCpuAbi) };
-            } else {
-                return new String[] {
-                        VMRuntime.getInstructionSet(info.primaryCpuAbi) };
-            }
-        }
-
-        return new String[] { getPreferredInstructionSet() };
-    }
-
-    private static String[] getAppDexInstructionSets(PackageSetting ps) {
-        if (ps.primaryCpuAbiString != null) {
-            if (ps.secondaryCpuAbiString != null) {
-                return new String[] {
-                        VMRuntime.getInstructionSet(ps.primaryCpuAbiString),
-                        VMRuntime.getInstructionSet(ps.secondaryCpuAbiString) };
-            } else {
-                return new String[] {
-                        VMRuntime.getInstructionSet(ps.primaryCpuAbiString) };
-            }
-        }
-
-        return new String[] { getPreferredInstructionSet() };
-    }
-
-    private static String getPreferredInstructionSet() {
-        if (sPreferredInstructionSet == null) {
-            sPreferredInstructionSet = VMRuntime.getInstructionSet(Build.SUPPORTED_ABIS[0]);
-        }
-
-        return sPreferredInstructionSet;
-    }
-
-    private static List<String> getAllInstructionSets() {
-        final String[] allAbis = Build.SUPPORTED_ABIS;
-        final List<String> allInstructionSets = new ArrayList<String>(allAbis.length);
-
-        for (String abi : allAbis) {
-            final String instructionSet = VMRuntime.getInstructionSet(abi);
-            if (!allInstructionSets.contains(instructionSet)) {
-                allInstructionSets.add(instructionSet);
-            }
-        }
-
-        return allInstructionSets;
-    }
-
-    /**
-     * Returns the instruction set that should be used to compile dex code. In the presence of
-     * a native bridge this might be different than the one shared libraries use.
-     */
-    private static String getDexCodeInstructionSet(String sharedLibraryIsa) {
-        String dexCodeIsa = SystemProperties.get("ro.dalvik.vm.isa." + sharedLibraryIsa);
-        return (dexCodeIsa.isEmpty() ? sharedLibraryIsa : dexCodeIsa);
-    }
-
-    private static String[] getDexCodeInstructionSets(String[] instructionSets) {
-        ArraySet<String> dexCodeInstructionSets = new ArraySet<String>(instructionSets.length);
-        for (String instructionSet : instructionSets) {
-            dexCodeInstructionSets.add(getDexCodeInstructionSet(instructionSet));
-        }
-        return dexCodeInstructionSets.toArray(new String[dexCodeInstructionSets.size()]);
-    }
-
-    /**
-     * Returns deduplicated list of supported instructions for dex code.
-     */
-    public static String[] getAllDexCodeInstructionSets() {
-        String[] supportedInstructionSets = new String[Build.SUPPORTED_ABIS.length];
-        for (int i = 0; i < supportedInstructionSets.length; i++) {
-            String abi = Build.SUPPORTED_ABIS[i];
-            supportedInstructionSets[i] = VMRuntime.getInstructionSet(abi);
-        }
-        return getDexCodeInstructionSets(supportedInstructionSets);
-    }
-
     @Override
     public void forceDexOpt(String packageName) {
         enforceSystemOrRoot("forceDexOpt");
@@ -5086,25 +4877,14 @@
         synchronized (mInstallLock) {
             final String[] instructionSets = new String[] {
                     getPrimaryInstructionSet(pkg.applicationInfo) };
-            final int res = performDexOptLI(pkg, instructionSets, true, false, true);
-            if (res != DEX_OPT_PERFORMED) {
+            final int res = mPackageDexOptimizer.performDexOpt(pkg, instructionSets,
+                    true /*forceDex*/, false /* defer */, true /* inclDependencies */);
+            if (res != PackageDexOptimizer.DEX_OPT_PERFORMED) {
                 throw new IllegalStateException("Failed to dexopt: " + res);
             }
         }
     }
 
-    private int performDexOptLI(PackageParser.Package pkg, String[] instructionSets,
-                                boolean forceDex, boolean defer, boolean inclDependencies) {
-        ArraySet<String> done;
-        if (inclDependencies && (pkg.usesLibraries != null || pkg.usesOptionalLibraries != null)) {
-            done = new ArraySet<String>();
-            done.add(pkg.packageName);
-        } else {
-            done = null;
-        }
-        return performDexOptLI(pkg, instructionSets,  forceDex, defer, done);
-    }
-
     private boolean verifyPackageUpdateLPr(PackageSetting oldPkg, PackageParser.Package newPkg) {
         if ((oldPkg.pkgFlags&ApplicationInfo.FLAG_SYSTEM) == 0) {
             Slog.w(TAG, "Unable to update from " + oldPkg.name
@@ -5120,10 +4900,6 @@
         return true;
     }
 
-    File getDataPathForUser(int userId) {
-        return new File(mUserAppDataDir.getAbsolutePath() + File.separator + userId);
-    }
-
     private File getDataPathForPackage(String packageName, int userId) {
         /*
          * Until we fully support multiple users, return the directory we
@@ -5791,7 +5567,7 @@
             // pass once we've determined ABI below.
             setNativeLibraryPaths(pkg);
 
-            final boolean isAsec = isForwardLocked(pkg) || isExternal(pkg);
+            final boolean isAsec = pkg.isForwardLocked() || isExternal(pkg);
             final String nativeLibraryRootStr = pkg.applicationInfo.nativeLibraryRootDir;
             final boolean useIsaSpecificSubdirs = pkg.applicationInfo.nativeLibraryRootRequiresIsa;
 
@@ -5967,8 +5743,9 @@
         }
 
         if ((scanFlags & SCAN_NO_DEX) == 0) {
-            if (performDexOptLI(pkg, null /* instruction sets */, forceDex,
-                    (scanFlags & SCAN_DEFER_DEX) != 0, false) == DEX_OPT_FAILED) {
+            int result = mPackageDexOptimizer.performDexOpt(pkg, null /* instruction sets */,
+                    forceDex, (scanFlags & SCAN_DEFER_DEX) != 0, false /* inclDependencies */);
+            if (result == PackageDexOptimizer.DEX_OPT_FAILED) {
                 throw new PackageManagerException(INSTALL_FAILED_DEXOPT, "scanPackageLI");
             }
         }
@@ -6042,8 +5819,10 @@
             if ((scanFlags & SCAN_NO_DEX) == 0) {
                 for (int i = 0; i < clientLibPkgs.size(); i++) {
                     PackageParser.Package clientPkg = clientLibPkgs.get(i);
-                    if (performDexOptLI(clientPkg, null /* instruction sets */, forceDex,
-                            (scanFlags & SCAN_DEFER_DEX) != 0, false) == DEX_OPT_FAILED) {
+                    int result = mPackageDexOptimizer.performDexOpt(clientPkg,
+                            null /* instruction sets */, forceDex,
+                            (scanFlags & SCAN_DEFER_DEX) != 0, false);
+                    if (result == PackageDexOptimizer.DEX_OPT_FAILED) {
                         throw new PackageManagerException(INSTALL_FAILED_DEXOPT,
                                 "scanPackageLI failed to dexopt clientLibPkgs");
                     }
@@ -6512,14 +6291,15 @@
                         ps.pkg.applicationInfo.primaryCpuAbi = adjustedAbi;
                         Slog.i(TAG, "Adjusting ABI for : " + ps.name + " to " + adjustedAbi);
 
-                        if (performDexOptLI(ps.pkg, null /* instruction sets */, forceDexOpt,
-                                deferDexOpt, true) == DEX_OPT_FAILED) {
+                        int result = mPackageDexOptimizer.performDexOpt(ps.pkg,
+                                null /* instruction sets */, forceDexOpt, deferDexOpt, true);
+                        if (result == PackageDexOptimizer.DEX_OPT_FAILED) {
                             ps.primaryCpuAbiString = null;
                             ps.pkg.applicationInfo.primaryCpuAbi = null;
                             return;
                         } else {
                             mInstaller.rmdex(ps.codePathString,
-                                             getDexCodeInstructionSet(getPreferredInstructionSet()));
+                                    getDexCodeInstructionSet(getPreferredInstructionSet()));
                         }
                     }
                 }
@@ -6592,7 +6372,7 @@
         final String codePath = pkg.codePath;
         final File codeFile = new File(codePath);
         final boolean bundledApp = isSystemApp(info) && !isUpdatedSystemApp(info);
-        final boolean asecApp = isForwardLocked(info) || isExternal(info);
+        final boolean asecApp = info.isForwardLocked() || isExternal(info);
 
         info.nativeLibraryRootDir = null;
         info.nativeLibraryRootRequiresIsa = false;
@@ -9427,6 +9207,25 @@
         }
     }
 
+    private void removeDexFiles(List<String> allCodePaths, String[] instructionSets) {
+        if (!allCodePaths.isEmpty()) {
+            if (instructionSets == null) {
+                throw new IllegalStateException("instructionSet == null");
+            }
+            String[] dexCodeInstructionSets = getDexCodeInstructionSets(instructionSets);
+            for (String codePath : allCodePaths) {
+                for (String dexCodeInstructionSet : dexCodeInstructionSets) {
+                    int retCode = mInstaller.rmdex(codePath, dexCodeInstructionSet);
+                    if (retCode < 0) {
+                        Slog.w(TAG, "Couldn't remove dex file for package: "
+                                + " at location " + codePath + ", retcode=" + retCode);
+                        // we don't consider this to be a failure of the core package deletion
+                    }
+                }
+            }
+        }
+    }
+
     /**
      * Logic to handle installation of non-ASEC applications, including copying
      * and renaming logic.
@@ -9639,23 +9438,7 @@
             }
 
             cleanUp();
-
-            if (!allCodePaths.isEmpty()) {
-                if (instructionSets == null) {
-                    throw new IllegalStateException("instructionSet == null");
-                }
-                String[] dexCodeInstructionSets = getDexCodeInstructionSets(instructionSets);
-                for (String codePath : allCodePaths) {
-                    for (String dexCodeInstructionSet : dexCodeInstructionSets) {
-                        int retCode = mInstaller.rmdex(codePath, dexCodeInstructionSet);
-                        if (retCode < 0) {
-                            Slog.w(TAG, "Couldn't remove dex file for package: "
-                                    + " at location " + codePath + ", retcode=" + retCode);
-                            // we don't consider this to be a failure of the core package deletion
-                        }
-                    }
-                }
-            }
+            removeDexFiles(allCodePaths, instructionSets);
         }
 
         boolean doPostDeleteLI(boolean delete) {
@@ -9960,31 +9743,10 @@
 
         private void cleanUpResourcesLI(List<String> allCodePaths) {
             cleanUp();
-
-            if (!allCodePaths.isEmpty()) {
-                if (instructionSets == null) {
-                    throw new IllegalStateException("instructionSet == null");
-                }
-                String[] dexCodeInstructionSets = getDexCodeInstructionSets(instructionSets);
-                for (String codePath : allCodePaths) {
-                    for (String dexCodeInstructionSet : dexCodeInstructionSets) {
-                        int retCode = mInstaller.rmdex(codePath, dexCodeInstructionSet);
-                        if (retCode < 0) {
-                            Slog.w(TAG, "Couldn't remove dex file for package: "
-                                    + " at location " + codePath + ", retcode=" + retCode);
-                            // we don't consider this to be a failure of the core package deletion
-                        }
-                    }
-                }
-            }
+            removeDexFiles(allCodePaths, instructionSets);
         }
 
-        boolean matchContainer(String app) {
-            if (cid.startsWith(app)) {
-                return true;
-            }
-            return false;
-        }
+
 
         String getPackageName() {
             return getAsecPackageName(cid);
@@ -10194,7 +9956,7 @@
             PackageParser.Package newPackage = scanPackageLI(pkg, parseFlags, scanFlags,
                     System.currentTimeMillis(), user);
 
-            updateSettingsLI(newPackage, installerPackageName, null, null, res);
+            updateSettingsLI(newPackage, installerPackageName, null, null, res, user);
             // delete the partially installed application. the data directory will have to be
             // restored if it was already existing
             if (res.returnCode != PackageManager.INSTALL_SUCCEEDED) {
@@ -10302,7 +10064,7 @@
 
             // If deleted package lived in a container, give users a chance to
             // relinquish resources before killing.
-            if (isForwardLocked(deletedPackage) || isExternal(deletedPackage)) {
+            if (deletedPackage.isForwardLocked() || isExternal(deletedPackage)) {
                 if (DEBUG_INSTALL) {
                     Slog.i(TAG, "upgrading pkg " + deletedPackage + " is ASEC-hosted -> UNAVAILABLE");
                 }
@@ -10316,7 +10078,8 @@
             try {
                 final PackageParser.Package newPackage = scanPackageLI(pkg, parseFlags,
                         scanFlags | SCAN_UPDATE_TIME, System.currentTimeMillis(), user);
-                updateSettingsLI(newPackage, installerPackageName, allUsers, perUserInstalled, res);
+                updateSettingsLI(newPackage, installerPackageName, allUsers, perUserInstalled, res,
+                        user);
                 updatedSettings = true;
             } catch (PackageManagerException e) {
                 res.setError("Package couldn't be installed in " + pkg.codePath, e);
@@ -10343,7 +10106,7 @@
                 // Parse old package
                 boolean oldOnSd = isExternal(deletedPackage);
                 int oldParseFlags  = mDefParseFlags | PackageParser.PARSE_CHATTY |
-                        (isForwardLocked(deletedPackage) ? PackageParser.PARSE_FORWARD_LOCK : 0) |
+                        (deletedPackage.isForwardLocked() ? PackageParser.PARSE_FORWARD_LOCK : 0) |
                         (oldOnSd ? PackageParser.PARSE_ON_SDCARD : 0);
                 int oldScanFlags = SCAN_UPDATE_SIGNATURE | SCAN_UPDATE_TIME;
                 try {
@@ -10446,7 +10209,8 @@
             }
 
             if (res.returnCode == PackageManager.INSTALL_SUCCEEDED) {
-                updateSettingsLI(newPackage, installerPackageName, allUsers, perUserInstalled, res);
+                updateSettingsLI(newPackage, installerPackageName, allUsers, perUserInstalled, res,
+                        user);
                 updatedSettings = true;
             }
 
@@ -10482,7 +10246,7 @@
 
     private void updateSettingsLI(PackageParser.Package newPackage, String installerPackageName,
             int[] allUsers, boolean[] perUserInstalled,
-            PackageInstalledInfo res) {
+            PackageInstalledInfo res, UserHandle user) {
         String pkgName = newPackage.packageName;
         synchronized (mPackages) {
             //write settings. the installStatus will be incomplete at this stage.
@@ -10501,13 +10265,13 @@
             // For system-bundled packages, we assume that installing an upgraded version
             // of the package implies that the user actually wants to run that new code,
             // so we enable the package.
-            if (isSystemApp(newPackage)) {
-                // NB: implicit assumption that system package upgrades apply to all users
-                if (DEBUG_INSTALL) {
-                    Slog.d(TAG, "Implicitly enabling system package on upgrade: " + pkgName);
-                }
-                PackageSetting ps = mSettings.mPackages.get(pkgName);
-                if (ps != null) {
+            PackageSetting ps = mSettings.mPackages.get(pkgName);
+            if (ps != null) {
+                if (isSystemApp(newPackage)) {
+                    // NB: implicit assumption that system package upgrades apply to all users
+                    if (DEBUG_INSTALL) {
+                        Slog.d(TAG, "Implicitly enabling system package on upgrade: " + pkgName);
+                    }
                     if (res.origUsers != null) {
                         for (int userHandle : res.origUsers) {
                             ps.setEnabled(COMPONENT_ENABLED_STATE_DEFAULT,
@@ -10527,6 +10291,13 @@
                         // upcoming call to mSettings.writeLPr().
                     }
                 }
+                // It's implied that when a user requests installation, they want the app to be
+                // installed and enabled.
+                int userId = user.getIdentifier();
+                if (userId != UserHandle.USER_ALL) {
+                    ps.setInstalled(true, userId);
+                    ps.setEnabled(COMPONENT_ENABLED_STATE_DEFAULT, userId, installerPackageName);
+                }
             }
             res.name = pkgName;
             res.uid = newPackage.applicationInfo.uid;
@@ -10733,18 +10504,6 @@
         }
     }
 
-    private static boolean isForwardLocked(PackageParser.Package pkg) {
-        return (pkg.applicationInfo.privateFlags & ApplicationInfo.PRIVATE_FLAG_FORWARD_LOCK) != 0;
-    }
-
-    private static boolean isForwardLocked(ApplicationInfo info) {
-        return (info.privateFlags & ApplicationInfo.PRIVATE_FLAG_FORWARD_LOCK) != 0;
-    }
-
-    private boolean isForwardLocked(PackageSetting ps) {
-        return (ps.pkgPrivateFlags & ApplicationInfo.PRIVATE_FLAG_FORWARD_LOCK) != 0;
-    }
-
     private static boolean isMultiArch(PackageSetting ps) {
         return (ps.pkgFlags & ApplicationInfo.FLAG_MULTIARCH) != 0;
     }
@@ -10798,7 +10557,7 @@
         if (isExternal(ps)) {
             installFlags |= PackageManager.INSTALL_EXTERNAL;
         }
-        if (isForwardLocked(ps)) {
+        if (ps.isForwardLocked()) {
             installFlags |= PackageManager.INSTALL_FORWARD_LOCK;
         }
         return installFlags;
@@ -11652,7 +11411,7 @@
             if (ps != null) {
                 libDirRoot = ps.legacyNativeLibraryPathString;
             }
-            if (p != null && (isExternal(p) || isForwardLocked(p))) {
+            if (p != null && (isExternal(p) || p.isForwardLocked())) {
                 String secureContainerId = cidFromCodePath(p.applicationInfo.getBaseCodePath());
                 if (secureContainerId != null) {
                     asecPath = PackageHelper.getSdFilesystem(secureContainerId);
@@ -11666,7 +11425,7 @@
                 Slog.w(TAG, "Package " + packageName + " has no applicationInfo.");
                 return false;
             }
-            if (isForwardLocked(p)) {
+            if (p.isForwardLocked()) {
                 publicSrcDir = applicationInfo.getBaseResourcePath();
             }
         }
@@ -12998,7 +12757,7 @@
                     }
 
                     final AsecInstallArgs args = new AsecInstallArgs(cid,
-                            getAppDexInstructionSets(ps), isForwardLocked(ps));
+                            getAppDexInstructionSets(ps), ps.isForwardLocked());
                     // The package status is changed only if the code path
                     // matches between settings and the container id.
                     if (ps.codePathString != null
@@ -13280,7 +13039,7 @@
                             Slog.w(TAG, "No move required. Trying to move to same location");
                             returnCode = PackageManager.MOVE_FAILED_INVALID_LOCATION;
                         } else {
-                            if (isForwardLocked(pkg)) {
+                            if (pkg.isForwardLocked()) {
                                 currInstallFlags |= PackageManager.INSTALL_FORWARD_LOCK;
                                 newInstallFlags |= PackageManager.INSTALL_FORWARD_LOCK;
                             }
diff --git a/services/core/java/com/android/server/pm/PackageSetting.java b/services/core/java/com/android/server/pm/PackageSetting.java
index 8ea0bee..06d842a 100644
--- a/services/core/java/com/android/server/pm/PackageSetting.java
+++ b/services/core/java/com/android/server/pm/PackageSetting.java
@@ -64,4 +64,8 @@
     public boolean isPrivileged() {
         return (pkgPrivateFlags & ApplicationInfo.PRIVATE_FLAG_PRIVILEGED) != 0;
     }
+
+    public boolean isForwardLocked() {
+        return (pkgPrivateFlags & ApplicationInfo.PRIVATE_FLAG_FORWARD_LOCK) != 0;
+    }
 }
diff --git a/services/core/java/com/android/server/pm/PersistentPreferredIntentResolver.java b/services/core/java/com/android/server/pm/PersistentPreferredIntentResolver.java
index 9c8a9bd..ef29cb3 100644
--- a/services/core/java/com/android/server/pm/PersistentPreferredIntentResolver.java
+++ b/services/core/java/com/android/server/pm/PersistentPreferredIntentResolver.java
@@ -16,8 +16,6 @@
 
 package com.android.server.pm;
 
-import java.io.PrintWriter;
-
 import com.android.server.IntentResolver;
 
 public class PersistentPreferredIntentResolver
diff --git a/services/core/java/com/android/server/pm/SELinuxMMAC.java b/services/core/java/com/android/server/pm/SELinuxMMAC.java
index 95ed7bc..1ff6fb8 100644
--- a/services/core/java/com/android/server/pm/SELinuxMMAC.java
+++ b/services/core/java/com/android/server/pm/SELinuxMMAC.java
@@ -16,15 +16,12 @@
 
 package com.android.server.pm;
 
-import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageParser;
 import android.content.pm.Signature;
 import android.os.Environment;
 import android.util.Slog;
 import android.util.Xml;
 
-import com.android.internal.util.XmlUtils;
-
 import libcore.io.IoUtils;
 
 import java.io.File;
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index 2729392..e4f5e7d 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -917,6 +917,7 @@
         writeBoolean(serializer, restrictions, UserManager.DISALLOW_CREATE_WINDOWS);
         writeBoolean(serializer, restrictions, UserManager.DISALLOW_CROSS_PROFILE_COPY_PASTE);
         writeBoolean(serializer, restrictions, UserManager.DISALLOW_OUTGOING_BEAM);
+        writeBoolean(serializer, restrictions, UserManager.DISALLOW_WALLPAPER);
         serializer.endTag(null, TAG_RESTRICTIONS);
     }
 
@@ -1063,6 +1064,7 @@
         readBoolean(parser, restrictions, UserManager.DISALLOW_CREATE_WINDOWS);
         readBoolean(parser, restrictions, UserManager.DISALLOW_CROSS_PROFILE_COPY_PASTE);
         readBoolean(parser, restrictions, UserManager.DISALLOW_OUTGOING_BEAM);
+        readBoolean(parser, restrictions, UserManager.DISALLOW_WALLPAPER);
     }
 
     private void readBoolean(XmlPullParser parser, Bundle restrictions,
diff --git a/services/core/java/com/android/server/policy/BurnInProtectionHelper.java b/services/core/java/com/android/server/policy/BurnInProtectionHelper.java
index b8a3155..b99c436 100644
--- a/services/core/java/com/android/server/policy/BurnInProtectionHelper.java
+++ b/services/core/java/com/android/server/policy/BurnInProtectionHelper.java
@@ -25,7 +25,11 @@
 import android.content.res.Resources;
 import android.hardware.display.DisplayManager;
 import android.hardware.display.DisplayManagerInternal;
+import android.os.Build;
+import android.os.Handler;
 import android.os.SystemClock;
+import android.os.SystemProperties;
+import android.util.Log;
 import android.view.Display;
 
 import com.android.server.LocalServices;
@@ -37,7 +41,7 @@
     private static final String TAG = "BurnInProtection";
 
     // Default value when max burnin radius is not set.
-    public static final int BURN_IN_RADIUS_MAX_DEFAULT = -1;
+    public static final int BURN_IN_MAX_RADIUS_DEFAULT = -1;
 
     private static final long BURNIN_PROTECTION_WAKEUP_INTERVAL_MS = TimeUnit.MINUTES.toMillis(1);
     private static final long BURNIN_PROTECTION_MINIMAL_INTERVAL_MS = TimeUnit.SECONDS.toMillis(10);
@@ -74,23 +78,19 @@
             updateBurnInProtection();
         }
     };
-
-    public BurnInProtectionHelper(Context context) {
+    
+    public BurnInProtectionHelper(Context context, int minHorizontalOffset,
+            int maxHorizontalOffset, int minVerticalOffset, int maxVerticalOffset,
+            int maxOffsetRadius) {
         final Resources resources = context.getResources();
-        mMinHorizontalBurnInOffset = resources.getInteger(
-                com.android.internal.R.integer.config_burnInProtectionMinHorizontalOffset);
-        mMaxHorizontalBurnInOffset = resources.getInteger(
-                com.android.internal.R.integer.config_burnInProtectionMaxHorizontalOffset);
-        mMinVerticalBurnInOffset = resources.getInteger(
-                com.android.internal.R.integer.config_burnInProtectionMinVerticalOffset);
-        mMaxVerticalBurnInOffset = resources.getInteger(
-                com.android.internal.R.integer.config_burnInProtectionMaxVerticalOffset);
-        int burnInRadiusMax = resources.getInteger(
-                com.android.internal.R.integer.config_burnInProtectionMaxRadius);
-        if (burnInRadiusMax != BURN_IN_RADIUS_MAX_DEFAULT) {
-            mBurnInRadiusMaxSquared = burnInRadiusMax * burnInRadiusMax;
+        mMinHorizontalBurnInOffset = minHorizontalOffset;
+        mMaxHorizontalBurnInOffset = maxHorizontalOffset;
+        mMinVerticalBurnInOffset = minVerticalOffset;
+        mMaxVerticalBurnInOffset = maxHorizontalOffset;
+        if (maxOffsetRadius != BURN_IN_MAX_RADIUS_DEFAULT) {
+            mBurnInRadiusMaxSquared = maxOffsetRadius * maxOffsetRadius;
         } else {
-            mBurnInRadiusMaxSquared = BURN_IN_RADIUS_MAX_DEFAULT;
+            mBurnInRadiusMaxSquared = BURN_IN_MAX_RADIUS_DEFAULT;
         }
 
         mDisplayManagerInternal = LocalServices.getService(DisplayManagerInternal.class);
@@ -175,7 +175,7 @@
                 }
             }
             // If we are outside of the radius, let's try again.
-        } while (mBurnInRadiusMaxSquared != BURN_IN_RADIUS_MAX_DEFAULT
+        } while (mBurnInRadiusMaxSquared != BURN_IN_MAX_RADIUS_DEFAULT
                 && mLastBurnInXOffset * mLastBurnInXOffset + mLastBurnInYOffset * mLastBurnInYOffset
                         > mBurnInRadiusMaxSquared);
     }
diff --git a/services/core/java/com/android/server/policy/ImmersiveModeConfirmation.java b/services/core/java/com/android/server/policy/ImmersiveModeConfirmation.java
index e511346..e720f3e 100644
--- a/services/core/java/com/android/server/policy/ImmersiveModeConfirmation.java
+++ b/services/core/java/com/android/server/policy/ImmersiveModeConfirmation.java
@@ -40,6 +40,7 @@
 import android.view.animation.Animation;
 import android.view.animation.AnimationUtils;
 import android.view.animation.DecelerateInterpolator;
+import android.view.animation.Interpolator;
 import android.widget.Button;
 import android.widget.FrameLayout;
 
@@ -170,7 +171,7 @@
         final WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
                 ViewGroup.LayoutParams.MATCH_PARENT,
                 ViewGroup.LayoutParams.MATCH_PARENT,
-                WindowManager.LayoutParams.TYPE_TOAST,
+                WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL,
                 0
                         | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
                         | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
@@ -179,8 +180,7 @@
                 PixelFormat.TRANSLUCENT);
         lp.privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS;
         lp.setTitle("ImmersiveModeConfirmation");
-        lp.windowAnimations = com.android.internal.R.style.Animation_RecentApplications;
-        lp.gravity = Gravity.FILL;
+        lp.windowAnimations = com.android.internal.R.style.Animation_ImmersiveModeConfirmation;
         return lp;
     }
 
@@ -194,10 +194,12 @@
 
     private class ClingWindowView extends FrameLayout {
         private static final int BGCOLOR = 0x80000000;
-        private static final int OFFSET_DP = 48;
+        private static final int OFFSET_DP = 96;
+        private static final int ANIMATION_DURATION = 250;
 
         private final Runnable mConfirm;
         private final ColorDrawable mColor = new ColorDrawable(0);
+        private final Interpolator mInterpolator;
         private ValueAnimator mColorAnim;
         private ViewGroup mClingLayout;
 
@@ -222,8 +224,10 @@
         public ClingWindowView(Context context, Runnable confirm) {
             super(context);
             mConfirm = confirm;
-            setClickable(true);
             setBackground(mColor);
+            setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_NO);
+            mInterpolator = AnimationUtils
+                    .loadInterpolator(mContext, android.R.interpolator.linear_out_slow_in);
         }
 
         @Override
@@ -248,40 +252,40 @@
             addView(mClingLayout, getBubbleLayoutParams());
 
             if (ActivityManager.isHighEndGfx()) {
-                final View bubble = mClingLayout.findViewById(R.id.text);
-                bubble.setAlpha(0f);
-                bubble.setTranslationY(-OFFSET_DP*density);
-                bubble.animate()
-                        .alpha(1f)
-                        .translationY(0)
-                        .setDuration(300)
-                        .setInterpolator(new DecelerateInterpolator())
-                        .start();
+                final View cling = mClingLayout;
+                cling.setAlpha(0f);
+                cling.setTranslationY(-OFFSET_DP * density);
 
-                ok.setAlpha(0f);
-                ok.setTranslationY(-OFFSET_DP*density);
-                ok.animate().alpha(1f)
-                        .translationY(0)
-                        .setDuration(300)
-                        .setStartDelay(200)
-                        .setInterpolator(new DecelerateInterpolator())
-                        .start();
-
-                mColorAnim = ValueAnimator.ofObject(new ArgbEvaluator(), 0, BGCOLOR);
-                mColorAnim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+                postOnAnimation(new Runnable() {
                     @Override
-                    public void onAnimationUpdate(ValueAnimator animation) {
-                        final int c = (Integer) animation.getAnimatedValue();
-                        mColor.setColor(c);
+                    public void run() {
+                        cling.animate()
+                                .alpha(1f)
+                                .translationY(0)
+                                .setDuration(ANIMATION_DURATION)
+                                .setInterpolator(mInterpolator)
+                                .withLayer()
+                                .start();
+
+                        mColorAnim = ValueAnimator.ofObject(new ArgbEvaluator(), 0, BGCOLOR);
+                        mColorAnim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+                            @Override
+                            public void onAnimationUpdate(ValueAnimator animation) {
+                                final int c = (Integer) animation.getAnimatedValue();
+                                mColor.setColor(c);
+                            }
+                        });
+                        mColorAnim.setDuration(ANIMATION_DURATION);
+                        mColorAnim.setInterpolator(mInterpolator);
+                        mColorAnim.start();
                     }
                 });
-                mColorAnim.setDuration(1000);
-                mColorAnim.start();
             } else {
                 mColor.setColor(BGCOLOR);
             }
 
-            mContext.registerReceiver(mReceiver, new IntentFilter(Intent.ACTION_CONFIGURATION_CHANGED));
+            mContext.registerReceiver(mReceiver,
+                    new IntentFilter(Intent.ACTION_CONFIGURATION_CHANGED));
         }
 
         @Override
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index c414072..cdd6c7f 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -49,6 +49,7 @@
 import android.media.Ringtone;
 import android.media.RingtoneManager;
 import android.media.session.MediaSessionLegacyHelper;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Debug;
 import android.os.FactoryTest;
@@ -75,7 +76,6 @@
 import android.util.DisplayMetrics;
 import android.util.EventLog;
 import android.util.Log;
-import android.util.Pair;
 import android.util.Slog;
 import android.util.SparseArray;
 import android.view.Display;
@@ -95,6 +95,7 @@
 import android.view.Surface;
 import android.view.View;
 import android.view.ViewConfiguration;
+import android.view.ViewRootImpl;
 import android.view.Window;
 import android.view.WindowManager;
 import android.view.WindowManagerGlobal;
@@ -105,9 +106,6 @@
 import android.view.animation.Animation;
 import android.view.animation.AnimationSet;
 import android.view.animation.AnimationUtils;
-import android.view.animation.Interpolator;
-import android.view.animation.TranslateAnimation;
-
 import com.android.internal.R;
 import com.android.internal.statusbar.IStatusBarService;
 import com.android.internal.widget.PointerLocationView;
@@ -384,7 +382,6 @@
     boolean mHasSoftInput = false;
     boolean mTranslucentDecorEnabled = true;
     boolean mUseTvRouting;
-    boolean mUseMasterVolume;
 
     int mPointerLocationMode = 0; // guarded by mLock
 
@@ -544,6 +541,9 @@
     private boolean mAllowTheaterModeWakeFromLidSwitch;
     private boolean mAllowTheaterModeWakeFromWakeGesture;
 
+    // Whether to support long press from power button in non-interactive mode
+    private boolean mSupportLongPressPowerWhenNonInteractive;
+
     // Whether to go to sleep entering theater mode from power button
     private boolean mGoToSleepOnButtonPressTheaterMode;
 
@@ -890,12 +890,21 @@
                 }
             } else {
                 wakeUpFromPowerKey(event.getDownTime());
-                final int maxCount = getMaxMultiPressPowerCount();
 
-                if (maxCount <= 1) {
-                    mPowerKeyHandled = true;
-                } else {
+                if (mSupportLongPressPowerWhenNonInteractive && hasLongPressOnPowerBehavior()) {
+                    Message msg = mHandler.obtainMessage(MSG_POWER_LONG_PRESS);
+                    msg.setAsynchronous(true);
+                    mHandler.sendMessageDelayed(msg,
+                            ViewConfiguration.get(mContext).getDeviceGlobalActionKeyTimeout());
                     mBeganFromNonInteractive = true;
+                } else {
+                    final int maxCount = getMaxMultiPressPowerCount();
+
+                    if (maxCount <= 1) {
+                        mPowerKeyHandled = true;
+                    } else {
+                        mBeganFromNonInteractive = true;
+                    }
                 }
             }
         }
@@ -1178,6 +1187,12 @@
         }
     };
 
+    private boolean isRoundWindow() {
+        return mContext.getResources().getBoolean(com.android.internal.R.bool.config_windowIsRound)
+                || (Build.HARDWARE.contains("goldfish")
+                && SystemProperties.getBoolean(ViewRootImpl.PROPERTY_EMULATOR_CIRCULAR, false));
+    }
+
     /** {@inheritDoc} */
     @Override
     public void init(Context context, IWindowManager windowManager,
@@ -1187,9 +1202,40 @@
         mWindowManagerFuncs = windowManagerFuncs;
         mWindowManagerInternal = LocalServices.getService(WindowManagerInternal.class);
         mDreamManagerInternal = LocalServices.getService(DreamManagerInternal.class);
-        if (context.getResources().getBoolean(
-                com.android.internal.R.bool.config_enableBurnInProtection)){
-            mBurnInProtectionHelper = new BurnInProtectionHelper(context);
+
+        // Init display burn-in protection
+        boolean burnInProtectionEnabled = context.getResources().getBoolean(
+                com.android.internal.R.bool.config_enableBurnInProtection);
+        // Allow a system property to override this. Used by developer settings.
+        boolean burnInProtectionDevMode =
+                SystemProperties.getBoolean("persist.debug.force_burn_in", false);
+        if (burnInProtectionEnabled || burnInProtectionDevMode) {
+            final int minHorizontal;
+            final int maxHorizontal;
+            final int minVertical;
+            final int maxVertical;
+            final int maxRadius;
+            if (burnInProtectionDevMode) {
+                minHorizontal = -8;
+                maxHorizontal = 8;
+                minVertical = -8;
+                maxVertical = -4;
+                maxRadius = (isRoundWindow()) ? 6 : -1;
+            } else {
+                Resources resources = context.getResources();
+                minHorizontal = resources.getInteger(
+                        com.android.internal.R.integer.config_burnInProtectionMinHorizontalOffset);
+                maxHorizontal = resources.getInteger(
+                        com.android.internal.R.integer.config_burnInProtectionMaxHorizontalOffset);
+                minVertical = resources.getInteger(
+                        com.android.internal.R.integer.config_burnInProtectionMinVerticalOffset);
+                maxVertical = resources.getInteger(
+                        com.android.internal.R.integer.config_burnInProtectionMaxVerticalOffset);
+                maxRadius = resources.getInteger(
+                        com.android.internal.R.integer.config_burnInProtectionMaxRadius);
+            }
+            mBurnInProtectionHelper = new BurnInProtectionHelper(
+                    context, minHorizontal, maxHorizontal, minVertical, maxVertical, maxRadius);
         }
 
         mHandler = new PolicyHandler();
@@ -1264,6 +1310,9 @@
         mGoToSleepOnButtonPressTheaterMode = mContext.getResources().getBoolean(
                 com.android.internal.R.bool.config_goToSleepOnButtonPressTheaterMode);
 
+        mSupportLongPressPowerWhenNonInteractive = mContext.getResources().getBoolean(
+                com.android.internal.R.bool.config_supportLongPressPowerWhenNonInteractive);
+
         mShortPressOnPowerBehavior = mContext.getResources().getInteger(
                 com.android.internal.R.integer.config_shortPressOnPowerBehavior);
         mLongPressOnPowerBehavior = mContext.getResources().getInteger(
@@ -1274,8 +1323,6 @@
                 com.android.internal.R.integer.config_triplePressOnPowerBehavior);
 
         mUseTvRouting = AudioSystem.getPlatformType(mContext) == AudioSystem.PLATFORM_TELEVISION;
-        mUseMasterVolume = mContext.getResources().getBoolean(
-                com.android.internal.R.bool.config_useMasterVolume);
 
         readConfigurationDependentBehaviors();
 
@@ -4863,26 +4910,16 @@
         switch (keyCode) {
             case KeyEvent.KEYCODE_VOLUME_UP:
                 try {
-                    if (mUseMasterVolume) {
-                        getAudioService().adjustMasterVolume(AudioManager.ADJUST_RAISE, flags,
-                                pkgName);
-                    } else {
-                        getAudioService().adjustSuggestedStreamVolume(AudioManager.ADJUST_RAISE,
-                                AudioManager.USE_DEFAULT_STREAM_TYPE, flags, pkgName);
-                    }
+                    getAudioService().adjustSuggestedStreamVolume(AudioManager.ADJUST_RAISE,
+                            AudioManager.USE_DEFAULT_STREAM_TYPE, flags, pkgName, TAG);
                 } catch (RemoteException e) {
                     Log.e(TAG, "Error dispatching volume up in dispatchTvAudioEvent.", e);
                 }
                 break;
             case KeyEvent.KEYCODE_VOLUME_DOWN:
                 try {
-                    if (mUseMasterVolume) {
-                        getAudioService().adjustMasterVolume(AudioManager.ADJUST_LOWER, flags,
-                                pkgName);
-                    } else {
-                        getAudioService().adjustSuggestedStreamVolume(AudioManager.ADJUST_LOWER,
-                                AudioManager.USE_DEFAULT_STREAM_TYPE, flags, pkgName);
-                    }
+                    getAudioService().adjustSuggestedStreamVolume(AudioManager.ADJUST_LOWER,
+                            AudioManager.USE_DEFAULT_STREAM_TYPE, flags, pkgName, TAG);
                 } catch (RemoteException e) {
                     Log.e(TAG, "Error dispatching volume down in dispatchTvAudioEvent.", e);
                 }
@@ -4890,14 +4927,9 @@
             case KeyEvent.KEYCODE_VOLUME_MUTE:
                 try {
                     if (event.getRepeatCount() == 0) {
-                        if (mUseMasterVolume) {
-                            getAudioService().adjustMasterVolume(AudioManager.ADJUST_TOGGLE_MUTE,
-                                    flags, pkgName);
-                        } else {
-                            getAudioService().adjustSuggestedStreamVolume(
-                                    AudioManager.ADJUST_TOGGLE_MUTE,
-                                    AudioManager.USE_DEFAULT_STREAM_TYPE, flags, pkgName);
-                        }
+                        getAudioService().adjustSuggestedStreamVolume(
+                                AudioManager.ADJUST_TOGGLE_MUTE,
+                                AudioManager.USE_DEFAULT_STREAM_TYPE, flags, pkgName, TAG);
                     }
                 } catch (RemoteException e) {
                     Log.e(TAG, "Error dispatching mute in dispatchTvAudioEvent.", e);
@@ -5036,8 +5068,8 @@
             boolean sb = mStatusBarController.checkShowTransientBarLw();
             boolean nb = mNavigationBarController.checkShowTransientBarLw();
             if (sb || nb) {
-                WindowState barTarget = sb ? mStatusBar : mNavigationBar;
-                if (sb ^ nb && barTarget != swipeTarget) {
+                // Don't show status bar when swiping on already visible navigation bar
+                if (!nb && swipeTarget == mNavigationBar) {
                     if (DEBUG) Slog.d(TAG, "Not showing transient bar, wrong swipe target");
                     return;
                 }
diff --git a/services/core/java/com/android/server/policy/StatusBarController.java b/services/core/java/com/android/server/policy/StatusBarController.java
index 4d4ab44..d1b50da 100644
--- a/services/core/java/com/android/server/policy/StatusBarController.java
+++ b/services/core/java/com/android/server/policy/StatusBarController.java
@@ -23,7 +23,6 @@
 import android.util.Slog;
 import android.view.View;
 import android.view.WindowManager;
-import android.view.WindowManagerInternal;
 import android.view.animation.Animation;
 import android.view.animation.AnimationSet;
 import android.view.animation.Interpolator;
diff --git a/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java
index c3fc195..75c33af 100644
--- a/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java
+++ b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java
@@ -5,6 +5,7 @@
 import android.content.Intent;
 import android.content.ServiceConnection;
 import android.content.pm.ActivityInfo;
+import android.content.res.Resources;
 import android.graphics.PixelFormat;
 import android.os.Bundle;
 import android.os.IBinder;
@@ -27,9 +28,6 @@
  * local or remote instances of keyguard.
  */
 public class KeyguardServiceDelegate {
-    public static final String KEYGUARD_PACKAGE = "com.android.systemui";
-    public static final String KEYGUARD_CLASS = "com.android.systemui.keyguard.KeyguardService";
-
     private static final String TAG = "KeyguardServiceDelegate";
     private static final boolean DEBUG = true;
 
@@ -111,10 +109,15 @@
 
     public void bindService(Context context) {
         Intent intent = new Intent();
-        intent.setClassName(KEYGUARD_PACKAGE, KEYGUARD_CLASS);
+        final Resources resources = context.getApplicationContext().getResources();
+
+        final ComponentName keyguardComponent = ComponentName.unflattenFromString(
+                resources.getString(com.android.internal.R.string.config_keyguardComponent));
+        intent.setComponent(keyguardComponent);
+
         if (!context.bindServiceAsUser(intent, mKeyguardConnection,
                 Context.BIND_AUTO_CREATE, UserHandle.OWNER)) {
-            Log.v(TAG, "*** Keyguard: can't bind to " + KEYGUARD_CLASS);
+            Log.v(TAG, "*** Keyguard: can't bind to " + keyguardComponent);
             mKeyguardState.showing = false;
             mKeyguardState.showingAndNotOccluded = false;
             mKeyguardState.secure = false;
diff --git a/services/core/java/com/android/server/search/SearchManagerService.java b/services/core/java/com/android/server/search/SearchManagerService.java
index ddf02e9..2b2b2ac 100644
--- a/services/core/java/com/android/server/search/SearchManagerService.java
+++ b/services/core/java/com/android/server/search/SearchManagerService.java
@@ -34,7 +34,6 @@
 import android.content.pm.ResolveInfo;
 import android.database.ContentObserver;
 import android.os.Binder;
-import android.os.Bundle;
 import android.os.Process;
 import android.os.RemoteException;
 import android.os.UserHandle;
@@ -265,7 +264,7 @@
     }
 
     @Override
-    public boolean launchAssistAction(int requestType, String hint, int userHandle) {
+    public boolean launchAssistAction(String hint, int userHandle) {
         ComponentName comp = getAssistIntent(userHandle);
         if (comp == null) {
             return false;
@@ -275,7 +274,8 @@
             Intent intent = new Intent(Intent.ACTION_ASSIST);
             intent.setComponent(comp);
             IActivityManager am = ActivityManagerNative.getDefault();
-            return am.launchAssistIntent(intent, requestType, hint, userHandle);
+            return am.launchAssistIntent(intent, ActivityManager.ASSIST_CONTEXT_BASIC, hint,
+                    userHandle);
         } catch (RemoteException e) {
         } finally {
             Binder.restoreCallingIdentity(ident);
diff --git a/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java b/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java
index 111c09b..b819993 100644
--- a/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java
+++ b/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java
@@ -18,8 +18,7 @@
 
 import com.android.server.EventLogTags;
 import com.android.server.SystemService;
-import com.android.server.pm.PackageManagerService;
-
+import com.android.server.pm.InstructionSets;
 import android.app.Notification;
 import android.app.NotificationManager;
 import android.app.PendingIntent;
@@ -341,7 +340,7 @@
     }
 
     private static boolean isBootImageOnDisk() {
-        for (String instructionSet : PackageManagerService.getAllDexCodeInstructionSets()) {
+        for (String instructionSet : InstructionSets.getAllDexCodeInstructionSets()) {
             if (!VMRuntime.isBootClassPathOnDisk(instructionSet)) {
                 return false;
             }
diff --git a/services/core/java/com/android/server/telecom/TelecomLoaderService.java b/services/core/java/com/android/server/telecom/TelecomLoaderService.java
index 64a67fc..22fee22 100644
--- a/services/core/java/com/android/server/telecom/TelecomLoaderService.java
+++ b/services/core/java/com/android/server/telecom/TelecomLoaderService.java
@@ -63,7 +63,7 @@
 
     private static final ComponentName SERVICE_COMPONENT = new ComponentName(
             "com.android.server.telecom",
-            "com.android.server.telecom.TelecomService");
+            "com.android.server.telecom.components.TelecomService");
 
     private static final String SERVICE_ACTION = "com.android.ITelecomService";
 
diff --git a/services/core/java/com/android/server/trust/TrustAgentWrapper.java b/services/core/java/com/android/server/trust/TrustAgentWrapper.java
index 57b204d..0109313 100644
--- a/services/core/java/com/android/server/trust/TrustAgentWrapper.java
+++ b/services/core/java/com/android/server/trust/TrustAgentWrapper.java
@@ -40,6 +40,7 @@
 import android.service.trust.ITrustAgentService;
 import android.service.trust.ITrustAgentServiceCallback;
 
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -359,6 +360,8 @@
                         mSetTrustAgentFeaturesToken = new Binder();
                         mTrustAgentService.onConfigure(config, mSetTrustAgentFeaturesToken);
                     }
+                } else {
+                    mTrustAgentService.onConfigure(Collections.EMPTY_LIST, null);
                 }
                 final long maxTimeToLock = dpm.getMaximumTimeToLock(null);
                 if (maxTimeToLock != mMaximumTimeToLock) {
@@ -395,6 +398,7 @@
     }
 
     public void destroy() {
+        mContext.unregisterReceiver(mBroadcastReceiver);
         mHandler.removeMessages(MSG_RESTART_TIMEOUT);
 
         if (!mBound) {
diff --git a/services/core/java/com/android/server/tv/TvInputHardwareManager.java b/services/core/java/com/android/server/tv/TvInputHardwareManager.java
index c5f4161..ac8ad30 100644
--- a/services/core/java/com/android/server/tv/TvInputHardwareManager.java
+++ b/services/core/java/com/android/server/tv/TvInputHardwareManager.java
@@ -55,11 +55,9 @@
 import android.view.KeyEvent;
 import android.view.Surface;
 
-import com.android.internal.os.SomeArgs;
 import com.android.server.SystemService;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.LinkedList;
@@ -104,7 +102,6 @@
     };
     private int mCurrentIndex = 0;
     private int mCurrentMaxIndex = 0;
-    private final boolean mUseMasterVolume;
 
     // TODO: Should handle STANDBY case.
     private final SparseBooleanArray mHdmiStateMap = new SparseBooleanArray();
@@ -119,8 +116,6 @@
         mContext = context;
         mListener = listener;
         mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
-        mUseMasterVolume = mContext.getResources().getBoolean(
-                com.android.internal.R.bool.config_useMasterVolume);
         mHal.init();
     }
 
@@ -141,12 +136,10 @@
             } else {
                 Slog.w(TAG, "HdmiControlService is not available");
             }
-            if (!mUseMasterVolume) {
-                final IntentFilter filter = new IntentFilter();
-                filter.addAction(AudioManager.VOLUME_CHANGED_ACTION);
-                filter.addAction(AudioManager.STREAM_MUTE_CHANGED_ACTION);
-                mContext.registerReceiver(mVolumeReceiver, filter);
-            }
+            final IntentFilter filter = new IntentFilter();
+            filter.addAction(AudioManager.VOLUME_CHANGED_ACTION);
+            filter.addAction(AudioManager.STREAM_MUTE_CHANGED_ACTION);
+            mContext.registerReceiver(mVolumeReceiver, filter);
             updateVolume();
         }
     }
@@ -547,7 +540,7 @@
     }
 
     private float getMediaStreamVolume() {
-        return mUseMasterVolume ? 1.0f : ((float) mCurrentIndex / (float) mCurrentMaxIndex);
+        return (float) mCurrentIndex / (float) mCurrentMaxIndex;
     }
 
     private class Connection implements IBinder.DeathRecipient {
diff --git a/services/core/java/com/android/server/updates/SELinuxPolicyInstallReceiver.java b/services/core/java/com/android/server/updates/SELinuxPolicyInstallReceiver.java
index 24318df..4e53687 100644
--- a/services/core/java/com/android/server/updates/SELinuxPolicyInstallReceiver.java
+++ b/services/core/java/com/android/server/updates/SELinuxPolicyInstallReceiver.java
@@ -19,7 +19,6 @@
 import android.content.Context;
 import android.content.Intent;
 import android.os.SystemProperties;
-import android.provider.Settings;
 import android.system.ErrnoException;
 import android.system.Os;
 import android.util.Base64;
@@ -48,39 +47,6 @@
         super("/data/security/bundle", "sepolicy_bundle", "metadata/", "version");
     }
 
-    private void backupContexts(File contexts) {
-        new File(contexts, versionPath).renameTo(
-                new File(contexts, versionPath + "_backup"));
-
-        new File(contexts, macPermissionsPath).renameTo(
-                new File(contexts, macPermissionsPath + "_backup"));
-
-        new File(contexts, seappContextsPath).renameTo(
-                new File(contexts, seappContextsPath + "_backup"));
-
-        new File(contexts, propertyContextsPath).renameTo(
-                new File(contexts, propertyContextsPath + "_backup"));
-
-        new File(contexts, fileContextsPath).renameTo(
-                new File(contexts, fileContextsPath + "_backup"));
-
-        new File(contexts, sepolicyPath).renameTo(
-                new File(contexts, sepolicyPath + "_backup"));
-
-        new File(contexts, serviceContextsPath).renameTo(
-                new File(contexts, serviceContextsPath + "_backup"));
-    }
-
-    private void copyUpdate(File contexts) {
-        new File(updateDir, versionPath).renameTo(new File(contexts, versionPath));
-        new File(updateDir, macPermissionsPath).renameTo(new File(contexts, macPermissionsPath));
-        new File(updateDir, seappContextsPath).renameTo(new File(contexts, seappContextsPath));
-        new File(updateDir, propertyContextsPath).renameTo(new File(contexts, propertyContextsPath));
-        new File(updateDir, fileContextsPath).renameTo(new File(contexts, fileContextsPath));
-        new File(updateDir, sepolicyPath).renameTo(new File(contexts, sepolicyPath));
-        new File(updateDir, serviceContextsPath).renameTo(new File(contexts, serviceContextsPath));
-    }
-
     private int readInt(BufferedInputStream reader) throws IOException {
         int value = 0;
         for (int i=0; i < 4; i++) {
@@ -108,17 +74,27 @@
         writeUpdate(updateDir, destination, Base64.decode(chunk, Base64.DEFAULT));
     }
 
+    private void deleteRecursive(File fileOrDirectory) {
+        if (fileOrDirectory.isDirectory())
+            for (File child : fileOrDirectory.listFiles())
+                deleteRecursive(child);
+        fileOrDirectory.delete();
+    }
+
     private void unpackBundle() throws IOException {
         BufferedInputStream stream = new BufferedInputStream(new FileInputStream(updateContent));
+        File tmp = new File(updateDir.getParentFile(), "tmp");
         try {
             int[] chunkLengths = readChunkLengths(stream);
-            installFile(new File(updateDir, versionPath), stream, chunkLengths[0]);
-            installFile(new File(updateDir, macPermissionsPath), stream, chunkLengths[1]);
-            installFile(new File(updateDir, seappContextsPath), stream, chunkLengths[2]);
-            installFile(new File(updateDir, propertyContextsPath), stream, chunkLengths[3]);
-            installFile(new File(updateDir, fileContextsPath), stream, chunkLengths[4]);
-            installFile(new File(updateDir, sepolicyPath), stream, chunkLengths[5]);
-            installFile(new File(updateDir, serviceContextsPath), stream, chunkLengths[6]);
+            deleteRecursive(tmp);
+            tmp.mkdirs();
+            installFile(new File(tmp, versionPath), stream, chunkLengths[0]);
+            installFile(new File(tmp, macPermissionsPath), stream, chunkLengths[1]);
+            installFile(new File(tmp, seappContextsPath), stream, chunkLengths[2]);
+            installFile(new File(tmp, propertyContextsPath), stream, chunkLengths[3]);
+            installFile(new File(tmp, fileContextsPath), stream, chunkLengths[4]);
+            installFile(new File(tmp, sepolicyPath), stream, chunkLengths[5]);
+            installFile(new File(tmp, serviceContextsPath), stream, chunkLengths[6]);
         } finally {
             IoUtils.closeQuietly(stream);
         }
@@ -126,22 +102,22 @@
 
     private void applyUpdate() throws IOException, ErrnoException {
         Slog.i(TAG, "Applying SELinux policy");
-        File contexts = new File(updateDir.getParentFile(), "contexts");
+        File backup = new File(updateDir.getParentFile(), "backup");
         File current = new File(updateDir.getParentFile(), "current");
-        File update = new File(updateDir.getParentFile(), "update");
         File tmp = new File(updateDir.getParentFile(), "tmp");
         if (current.exists()) {
-            Os.symlink(updateDir.getPath(), update.getPath());
-            Os.rename(update.getPath(), current.getPath());
-        } else {
-            Os.symlink(updateDir.getPath(), current.getPath());
+            deleteRecursive(backup);
+            Os.rename(current.getPath(), backup.getPath());
         }
-        contexts.mkdirs();
-        backupContexts(contexts);
-        copyUpdate(contexts);
-        Os.symlink(contexts.getPath(), tmp.getPath());
-        Os.rename(tmp.getPath(), current.getPath());
-        SystemProperties.set("selinux.reload_policy", "1");
+        try {
+            Os.rename(tmp.getPath(), current.getPath());
+            SystemProperties.set("selinux.reload_policy", "1");
+        } catch (ErrnoException e) {
+            Slog.e(TAG, "Could not update selinux policy: ", e);
+            if (backup.exists()) {
+                Os.rename(backup.getPath(), current.getPath());
+            }
+        }
     }
 
     @Override
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
index b48fadb2..99cf8df 100644
--- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
+++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
@@ -20,6 +20,7 @@
 
 import android.app.ActivityManagerNative;
 import android.app.AppGlobals;
+import android.app.AppOpsManager;
 import android.app.IUserSwitchObserver;
 import android.app.IWallpaperManager;
 import android.app.IWallpaperManagerCallback;
@@ -164,6 +165,7 @@
     final IWindowManager mIWindowManager;
     final IPackageManager mIPackageManager;
     final MyPackageMonitor mMonitor;
+    final AppOpsManager mAppOpsManager;
     WallpaperData mLastWallpaper;
 
     /**
@@ -478,6 +480,7 @@
         mIWindowManager = IWindowManager.Stub.asInterface(
                 ServiceManager.getService(Context.WINDOW_SERVICE));
         mIPackageManager = AppGlobals.getPackageManager();
+        mAppOpsManager = (AppOpsManager) mContext.getSystemService(Context.APP_OPS_SERVICE);
         mMonitor = new MyPackageMonitor();
         mMonitor.register(context, null, UserHandle.ALL, true);
         getWallpaperDir(UserHandle.USER_OWNER).mkdirs();
@@ -613,8 +616,12 @@
         }
     }
 
-    public void clearWallpaper() {
+    public void clearWallpaper(String callingPackage) {
         if (DEBUG) Slog.v(TAG, "clearWallpaper");
+        checkPermission(android.Manifest.permission.SET_WALLPAPER);
+        if (!isWallpaperSupported(callingPackage)) {
+            return;
+        }
         synchronized (mLock) {
             clearWallpaperLocked(false, UserHandle.getCallingUserId(), null);
         }
@@ -622,6 +629,9 @@
 
     void clearWallpaperLocked(boolean defaultFailed, int userId, IRemoteCallback reply) {
         WallpaperData wallpaper = mWallpaperMap.get(userId);
+        if (wallpaper == null) {
+            return;
+        }
         File f = new File(getWallpaperDir(userId), WALLPAPER);
         if (f.exists()) {
             f.delete();
@@ -668,6 +678,10 @@
                 Binder.restoreCallingIdentity(ident);
             }
             for (UserInfo user: users) {
+                // ignore managed profiles
+                if (user.isManagedProfile()) {
+                    continue;
+                }
                 WallpaperData wd = mWallpaperMap.get(user.id);
                 if (wd == null) {
                     // User hasn't started yet, so load her settings to peek at the wallpaper
@@ -690,8 +704,12 @@
         return p;
     }
 
-    public void setDimensionHints(int width, int height) throws RemoteException {
+    public void setDimensionHints(int width, int height, String callingPackage)
+            throws RemoteException {
         checkPermission(android.Manifest.permission.SET_WALLPAPER_HINTS);
+        if (!isWallpaperSupported(callingPackage)) {
+            return;
+        }
         synchronized (mLock) {
             int userId = UserHandle.getCallingUserId();
             WallpaperData wallpaper = mWallpaperMap.get(userId);
@@ -733,19 +751,30 @@
     public int getWidthHint() throws RemoteException {
         synchronized (mLock) {
             WallpaperData wallpaper = mWallpaperMap.get(UserHandle.getCallingUserId());
-            return wallpaper.width;
+            if (wallpaper != null) {
+                return wallpaper.width;
+            } else {
+                return 0;
+            }
         }
     }
 
     public int getHeightHint() throws RemoteException {
         synchronized (mLock) {
             WallpaperData wallpaper = mWallpaperMap.get(UserHandle.getCallingUserId());
-            return wallpaper.height;
+            if (wallpaper != null) {
+                return wallpaper.height;
+            } else {
+                return 0;
+            }
         }
     }
 
-    public void setDisplayPadding(Rect padding) {
+    public void setDisplayPadding(Rect padding, String callingPackage) {
         checkPermission(android.Manifest.permission.SET_WALLPAPER_HINTS);
+        if (!isWallpaperSupported(callingPackage)) {
+            return;
+        }
         synchronized (mLock) {
             int userId = UserHandle.getCallingUserId();
             WallpaperData wallpaper = mWallpaperMap.get(userId);
@@ -791,6 +820,9 @@
                 wallpaperUserId = UserHandle.getUserId(callingUid);
             }
             WallpaperData wallpaper = mWallpaperMap.get(wallpaperUserId);
+            if (wallpaper == null) {
+                return null;
+            }
             try {
                 if (outParams != null) {
                     outParams.putInt("width", wallpaper.width);
@@ -814,15 +846,18 @@
         int userId = UserHandle.getCallingUserId();
         synchronized (mLock) {
             WallpaperData wallpaper = mWallpaperMap.get(userId);
-            if (wallpaper.connection != null) {
+            if (wallpaper != null && wallpaper.connection != null) {
                 return wallpaper.connection.mInfo;
             }
             return null;
         }
     }
 
-    public ParcelFileDescriptor setWallpaper(String name) {
+    public ParcelFileDescriptor setWallpaper(String name, String callingPackage) {
         checkPermission(android.Manifest.permission.SET_WALLPAPER);
+        if (!isWallpaperSupported(callingPackage)) {
+            return null;
+        }
         synchronized (mLock) {
             if (DEBUG) Slog.v(TAG, "setWallpaper");
             int userId = UserHandle.getCallingUserId();
@@ -868,6 +903,13 @@
         return null;
     }
 
+    public void setWallpaperComponentChecked(ComponentName name, String callingPackage) {
+        if (isWallpaperSupported(callingPackage)) {
+            setWallpaperComponent(name);
+        }
+    }
+
+    // ToDo: Remove this version of the function
     public void setWallpaperComponent(ComponentName name) {
         checkPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT);
         synchronized (mLock) {
@@ -1097,6 +1139,15 @@
         }
     }
 
+    /**
+     * Certain user types do not support wallpapers (e.g. managed profiles). The check is
+     * implemented through through the OP_WRITE_WALLPAPER AppOp.
+     */
+    public boolean isWallpaperSupported(String callingPackage) {
+        return mAppOpsManager.checkOpNoThrow(AppOpsManager.OP_WRITE_WALLPAPER, Binder.getCallingUid(),
+                callingPackage) == AppOpsManager.MODE_ALLOWED;
+    }
+
     private static JournaledFile makeJournaledFile(int userId) {
         final String base = new File(getWallpaperDir(userId), WALLPAPER_INFO).getAbsolutePath();
         return new JournaledFile(new File(base), new File(base + ".tmp"));
@@ -1174,7 +1225,7 @@
 
     private void loadSettingsLocked(int userId) {
         if (DEBUG) Slog.v(TAG, "loadSettingsLocked");
-        
+
         JournaledFile journal = makeJournaledFile(userId);
         FileInputStream stream = null;
         File file = journal.chooseForRead();
diff --git a/services/core/java/com/android/server/wm/AppTransition.java b/services/core/java/com/android/server/wm/AppTransition.java
index ef70895..4c06cbe 100644
--- a/services/core/java/com/android/server/wm/AppTransition.java
+++ b/services/core/java/com/android/server/wm/AppTransition.java
@@ -977,7 +977,9 @@
                             + " anim=" + a + " nextAppTransition=ANIM_CUSTOM_IN_PLACE"
                             + " transit=" + transit + " Callers=" + Debug.getCallers(3));
         } else if (mNextAppTransitionType == NEXT_TRANSIT_TYPE_CLIP_REVEAL) {
-            a = createClipRevealAnimationLocked(transit, enter, appWidth, appHeight);
+            a = createClipRevealAnimationLocked(transit, enter,
+                    containingFrame.right - containingFrame.left,
+                    containingFrame.bottom - containingFrame.top);
             if (DEBUG_APP_TRANSITIONS || DEBUG_ANIM) Slog.v(TAG,
                     "applyAnimation:"
                             + " anim=" + a + " nextAppTransition=ANIM_CLIP_REVEAL"
diff --git a/services/core/java/com/android/server/wm/CircularDisplayMask.java b/services/core/java/com/android/server/wm/CircularDisplayMask.java
index 9fdfc47..7c2da2d 100644
--- a/services/core/java/com/android/server/wm/CircularDisplayMask.java
+++ b/services/core/java/com/android/server/wm/CircularDisplayMask.java
@@ -50,9 +50,10 @@
     private int mRotation;
     private boolean mVisible;
     private boolean mDimensionsUnequal = false;
+    private int mMaskThickness;
 
     public CircularDisplayMask(Display display, SurfaceSession session, int zOrder,
-            int screenOffset) {
+            int screenOffset, int maskThickness) {
         mScreenSize = new Point();
         display.getSize(mScreenSize);
         if (mScreenSize.x != mScreenSize.y) {
@@ -84,6 +85,7 @@
         mPaint.setAntiAlias(true);
         mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
         mScreenOffset = screenOffset;
+        mMaskThickness = maskThickness;
     }
 
     private void drawIfNeeded() {
@@ -121,8 +123,8 @@
         int circleRadius = mScreenSize.x / 2;
         c.drawColor(Color.BLACK);
 
-        // The radius is reduced by 1 to provide an anti aliasing effect on the display edges.
-        c.drawCircle(circleRadius, circleRadius, circleRadius - 1, mPaint);
+        // The radius is reduced by mMaskThickness to provide an anti aliasing effect on the display edges.
+        c.drawCircle(circleRadius, circleRadius, circleRadius - mMaskThickness, mPaint);
         mSurface.unlockCanvasAndPost(c);
     }
 
diff --git a/services/core/java/com/android/server/wm/EmulatorDisplayOverlay.java b/services/core/java/com/android/server/wm/EmulatorDisplayOverlay.java
index 5e4bd8b..4c8a6f9 100644
--- a/services/core/java/com/android/server/wm/EmulatorDisplayOverlay.java
+++ b/services/core/java/com/android/server/wm/EmulatorDisplayOverlay.java
@@ -25,7 +25,6 @@
 import android.graphics.PorterDuff;
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
-import android.util.Slog;
 import android.view.Display;
 import android.view.Surface;
 import android.view.Surface.OutOfResourcesException;
diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java
index 3e1c5ff..6d09f55 100644
--- a/services/core/java/com/android/server/wm/TaskStack.java
+++ b/services/core/java/com/android/server/wm/TaskStack.java
@@ -93,10 +93,6 @@
     // stack bounds once the stack is no longer forced to fullscreen.
     final private Rect mPreForceFullscreenBounds;
 
-    // When true this stack is at the top of the screen and should be layed out to extend under
-    // the status bar.
-    boolean mUnderStatusBar;
-
     // Device rotation as of the last time {@link #mBounds} was set.
     int mRotation;
 
@@ -106,7 +102,6 @@
         mOverrideConfig = Configuration.EMPTY;
         mForceFullscreen = false;
         mPreForceFullscreenBounds = new Rect();
-        mUnderStatusBar = true;
         // TODO: remove bounds from log, they are always 0.
         EventLog.writeEvent(EventLogTags.WM_STACK_CREATED, stackId, mBounds.left, mBounds.top,
                 mBounds.right, mBounds.bottom);
@@ -165,7 +160,6 @@
         mDimLayer.setBounds(bounds);
         mAnimationBackgroundSurface.setBounds(bounds);
         mBounds.set(bounds);
-        mUnderStatusBar = (mBounds.top == 0);
         mRotation = rotation;
         updateOverrideConfiguration();
         return true;
diff --git a/services/core/java/com/android/server/wm/WindowAnimator.java b/services/core/java/com/android/server/wm/WindowAnimator.java
index a11963c..46fa38a 100644
--- a/services/core/java/com/android/server/wm/WindowAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowAnimator.java
@@ -30,8 +30,6 @@
 import static com.android.server.wm.WindowManagerService.LayoutFields.SET_WALLPAPER_ACTION_PENDING;
 
 import android.content.Context;
-import android.os.Debug;
-import android.os.SystemClock;
 import android.util.Slog;
 import android.util.SparseArray;
 import android.util.SparseIntArray;
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 7e69e87..99bad07 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -496,7 +496,12 @@
     int mLastDisplayFreezeDuration = 0;
     Object mLastFinishedFreezeSource = null;
     boolean mWaitingForConfig = false;
-    boolean mWindowsFreezingScreen = false;
+
+    final static int WINDOWS_FREEZING_SCREENS_NONE = 0;
+    final static int WINDOWS_FREEZING_SCREENS_ACTIVE = 1;
+    final static int WINDOWS_FREEZING_SCREENS_TIMEOUT = 2;
+    private int mWindowsFreezingScreen = WINDOWS_FREEZING_SCREENS_NONE;
+
     boolean mClientFreezingScreen = false;
     int mAppsFreezingScreen = 0;
     int mLastWindowForcedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
@@ -609,6 +614,13 @@
     static final long WALLPAPER_TIMEOUT_RECOVERY = 10000;
     boolean mAnimateWallpaperWithTarget;
 
+    // We give a wallpaper up to 1000ms to finish drawing before playing app transitions.
+    static final long WALLPAPER_DRAW_PENDING_TIMEOUT_DURATION = 1000;
+    static final int WALLPAPER_DRAW_NORMAL = 0;
+    static final int WALLPAPER_DRAW_PENDING = 1;
+    static final int WALLPAPER_DRAW_TIMEOUT = 2;
+    int mWallpaperDrawState = WALLPAPER_DRAW_NORMAL;
+
     AppWindowToken mFocusedApp = null;
 
     PowerManager mPowerManager;
@@ -4052,6 +4064,8 @@
                 mAppTransition.prepare();
                 mStartingIconInTransition = false;
                 mSkipAppTransitionAnimation = false;
+            }
+            if (mAppTransition.isTransitionSet()) {
                 mH.removeMessages(H.APP_TRANSITION_TIMEOUT);
                 mH.sendEmptyMessageDelayed(H.APP_TRANSITION_TIMEOUT, 5000);
             }
@@ -4699,7 +4713,7 @@
                 if (mAppsFreezingScreen == 1) {
                     startFreezingDisplayLocked(false, 0, 0);
                     mH.removeMessages(H.APP_FREEZE_TIMEOUT);
-                    mH.sendEmptyMessageDelayed(H.APP_FREEZE_TIMEOUT, 5000);
+                    mH.sendEmptyMessageDelayed(H.APP_FREEZE_TIMEOUT, 2000);
                 }
             }
             final int N = wtoken.allAppWindows.size();
@@ -5852,13 +5866,15 @@
                     if (mCircularDisplayMask == null) {
                         int screenOffset = mContext.getResources().getDimensionPixelSize(
                                 com.android.internal.R.dimen.circular_display_mask_offset);
+                        int maskThickness = mContext.getResources().getDimensionPixelSize(
+                                com.android.internal.R.dimen.circular_display_mask_thickness);
 
                         mCircularDisplayMask = new CircularDisplayMask(
                                 getDefaultDisplayContentLocked().getDisplay(),
                                 mFxSession,
                                 mPolicy.windowTypeToLayerLw(
                                         WindowManager.LayoutParams.TYPE_POINTER)
-                                        * TYPE_LAYER_MULTIPLIER + 10, screenOffset);
+                                        * TYPE_LAYER_MULTIPLIER + 10, screenOffset, maskThickness);
                     }
                     mCircularDisplayMask.setVisibility(true);
                 } else if (mCircularDisplayMask != null) {
@@ -6415,7 +6431,7 @@
         mAltOrientation = altOrientation;
         mPolicy.setRotationLw(mRotation);
 
-        mWindowsFreezingScreen = true;
+        mWindowsFreezingScreen = WINDOWS_FREEZING_SCREENS_ACTIVE;
         mH.removeMessages(H.WINDOW_FREEZE_TIMEOUT);
         mH.sendEmptyMessageDelayed(H.WINDOW_FREEZE_TIMEOUT, WINDOW_FREEZE_TIMEOUT_DURATION);
         mWaitingForConfig = true;
@@ -7549,6 +7565,7 @@
 
         public static final int CHECK_IF_BOOT_ANIMATION_FINISHED = 37;
         public static final int RESET_ANR_MESSAGE = 38;
+        public static final int WALLPAPER_DRAW_PENDING_TIMEOUT = 39;
 
         @Override
         public void handleMessage(Message msg) {
@@ -7784,6 +7801,7 @@
                     // TODO(multidisplay): Can non-default displays rotate?
                     synchronized (mWindowMap) {
                         Slog.w(TAG, "Window freeze timeout expired.");
+                        mWindowsFreezingScreen = WINDOWS_FREEZING_SCREENS_TIMEOUT;
                         final WindowList windows = getDefaultWindowListLocked();
                         int i = windows.size();
                         while (i > 0) {
@@ -7803,8 +7821,12 @@
 
                 case APP_TRANSITION_TIMEOUT: {
                     synchronized (mWindowMap) {
-                        if (mAppTransition.isTransitionSet()) {
-                            if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, "*** APP TRANSITION TIMEOUT");
+                        if (mAppTransition.isTransitionSet() || !mOpeningApps.isEmpty()
+                                    || !mClosingApps.isEmpty()) {
+                            if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, "*** APP TRANSITION TIMEOUT."
+                                    + " isTransitionSet()=" + mAppTransition.isTransitionSet()
+                                    + " mOpeningApps.size()=" + mOpeningApps.size()
+                                    + " mClosingApps.size()=" + mClosingApps.size());
                             mAppTransition.setTimeout();
                             performLayoutAndPlaceSurfacesLocked();
                         }
@@ -7851,6 +7873,7 @@
                 case APP_FREEZE_TIMEOUT: {
                     synchronized (mWindowMap) {
                         Slog.w(TAG, "App freeze timeout expired.");
+                        mWindowsFreezingScreen = WINDOWS_FREEZING_SCREENS_TIMEOUT;
                         final int numStacks = mStackIdToStack.size();
                         for (int stackNdx = 0; stackNdx < numStacks; ++stackNdx) {
                             final TaskStack stack = mStackIdToStack.valueAt(stackNdx);
@@ -8065,6 +8088,17 @@
                     }
                 }
                 break;
+                case WALLPAPER_DRAW_PENDING_TIMEOUT: {
+                    synchronized (mWindowMap) {
+                        if (mWallpaperDrawState == WALLPAPER_DRAW_PENDING) {
+                            mWallpaperDrawState = WALLPAPER_DRAW_TIMEOUT;
+                            if (DEBUG_APP_TRANSITIONS || DEBUG_WALLPAPER) Slog.v(TAG,
+                                    "*** WALLPAPER DRAW TIMEOUT");
+                            performLayoutAndPlaceSurfacesLocked();
+                        }
+                    }
+                }
+                break;
             }
             if (DEBUG_WINDOW_TRACE) {
                 Slog.v(TAG, "handleMessage: exit");
@@ -8914,8 +8948,8 @@
             w.mOrientationChanging = true;
             w.mLastFreezeDuration = 0;
             mInnerFields.mOrientationChangeComplete = false;
-            if (!mWindowsFreezingScreen) {
-                mWindowsFreezingScreen = true;
+            if (mWindowsFreezingScreen == WINDOWS_FREEZING_SCREENS_NONE) {
+                mWindowsFreezingScreen = WINDOWS_FREEZING_SCREENS_ACTIVE;
                 // XXX should probably keep timeout from
                 // when we first froze the display.
                 mH.removeMessages(H.WINDOW_FREEZE_TIMEOUT);
@@ -8939,10 +8973,7 @@
                 "Checking " + NN + " opening apps (frozen="
                 + mDisplayFrozen + " timeout="
                 + mAppTransition.isTimeout() + ")...");
-        if (!mDisplayFrozen && !mAppTransition.isTimeout()) {
-            // If the display isn't frozen, wait to do anything until
-            // all of the apps are ready.  Otherwise just go because
-            // we'll unfreeze the display when everyone is ready.
+        if (!mAppTransition.isTimeout()) {
             for (i=0; i<NN && goodToGo; i++) {
                 AppWindowToken wtoken = mOpeningApps.valueAt(i);
                 if (DEBUG_APP_TRANSITIONS) Slog.v(TAG,
@@ -8955,6 +8986,39 @@
                     goodToGo = false;
                 }
             }
+            if (goodToGo && isWallpaperVisible(mWallpaperTarget)) {
+                boolean wallpaperGoodToGo = true;
+                for (int curTokenIndex = mWallpaperTokens.size() - 1;
+                        curTokenIndex >= 0 && wallpaperGoodToGo; curTokenIndex--) {
+                    WindowToken token = mWallpaperTokens.get(curTokenIndex);
+                    for (int curWallpaperIndex = token.windows.size() - 1; curWallpaperIndex >= 0;
+                            curWallpaperIndex--) {
+                        WindowState wallpaper = token.windows.get(curWallpaperIndex);
+                        if (wallpaper.mWallpaperVisible && !wallpaper.isDrawnLw()) {
+                            // We've told this wallpaper to be visible, but it is not drawn yet
+                            wallpaperGoodToGo = false;
+                            if (mWallpaperDrawState != WALLPAPER_DRAW_TIMEOUT) {
+                                // wait for this wallpaper until it is drawn or timeout
+                                goodToGo = false;
+                            }
+                            if (mWallpaperDrawState == WALLPAPER_DRAW_NORMAL) {
+                                mWallpaperDrawState = WALLPAPER_DRAW_PENDING;
+                                mH.removeMessages(H.WALLPAPER_DRAW_PENDING_TIMEOUT);
+                                mH.sendEmptyMessageDelayed(H.WALLPAPER_DRAW_PENDING_TIMEOUT,
+                                        WALLPAPER_DRAW_PENDING_TIMEOUT_DURATION);
+                            }
+                            if (DEBUG_APP_TRANSITIONS || DEBUG_WALLPAPER) Slog.v(TAG,
+                                    "Wallpaper should be visible but has not been drawn yet. " +
+                                    "mWallpaperDrawState=" + mWallpaperDrawState);
+                            break;
+                        }
+                    }
+                }
+                if (wallpaperGoodToGo) {
+                    mWallpaperDrawState = WALLPAPER_DRAW_NORMAL;
+                    mH.removeMessages(H.WALLPAPER_DRAW_PENDING_TIMEOUT);
+                }
+            }
         }
         if (goodToGo) {
             if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, "**** GOOD TO GO");
@@ -9905,8 +9969,8 @@
                 "With display frozen, orientationChangeComplete="
                 + mInnerFields.mOrientationChangeComplete);
         if (mInnerFields.mOrientationChangeComplete) {
-            if (mWindowsFreezingScreen) {
-                mWindowsFreezingScreen = false;
+            if (mWindowsFreezingScreen != WINDOWS_FREEZING_SCREENS_NONE) {
+                mWindowsFreezingScreen = WINDOWS_FREEZING_SCREENS_NONE;
                 mLastFinishedFreezeSource = mInnerFields.mLastWindowFreezeSource;
                 mH.removeMessages(H.WINDOW_FREEZE_TIMEOUT);
             }
@@ -10188,7 +10252,7 @@
         } else {
             mInnerFields.mOrientationChangeComplete = true;
             mInnerFields.mLastWindowFreezeSource = mAnimator.mLastWindowFreezeSource;
-            if (mWindowsFreezingScreen) {
+            if (mWindowsFreezingScreen != WINDOWS_FREEZING_SCREENS_NONE) {
                 doRequest = true;
             }
         }
@@ -10524,13 +10588,15 @@
             return;
         }
 
-        if (mWaitingForConfig || mAppsFreezingScreen > 0 || mWindowsFreezingScreen
-                || mClientFreezingScreen) {
+        if (mWaitingForConfig || mAppsFreezingScreen > 0
+                || mWindowsFreezingScreen == WINDOWS_FREEZING_SCREENS_ACTIVE
+                || mClientFreezingScreen || !mOpeningApps.isEmpty()) {
             if (DEBUG_ORIENTATION) Slog.d(TAG,
                 "stopFreezingDisplayLocked: Returning mWaitingForConfig=" + mWaitingForConfig
                 + ", mAppsFreezingScreen=" + mAppsFreezingScreen
                 + ", mWindowsFreezingScreen=" + mWindowsFreezingScreen
-                + ", mClientFreezingScreen=" + mClientFreezingScreen);
+                + ", mClientFreezingScreen=" + mClientFreezingScreen
+                + ", mOpeningApps.size()=" + mOpeningApps.size());
             return;
         }
 
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index 04aea84..f94ed77 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -16,21 +16,21 @@
 
 package com.android.server.wm;
 
+import static android.view.WindowManager.LayoutParams.FIRST_SUB_WINDOW;
+import static android.view.WindowManager.LayoutParams.LAST_SUB_WINDOW;
+import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_COMPATIBLE_WINDOW;
+import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION;
+import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_KEYGUARD;
+import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING;
+import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD;
+import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD_DIALOG;
+import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
 import static com.android.server.wm.WindowManagerService.DEBUG_CONFIGURATION;
 import static com.android.server.wm.WindowManagerService.DEBUG_LAYOUT;
 import static com.android.server.wm.WindowManagerService.DEBUG_ORIENTATION;
 import static com.android.server.wm.WindowManagerService.DEBUG_POWER;
 import static com.android.server.wm.WindowManagerService.DEBUG_RESIZE;
 import static com.android.server.wm.WindowManagerService.DEBUG_VISIBILITY;
-import static android.view.WindowManager.LayoutParams.FIRST_SUB_WINDOW;
-import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_KEYGUARD;
-import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_COMPATIBLE_WINDOW;
-import static android.view.WindowManager.LayoutParams.LAST_SUB_WINDOW;
-import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION;
-import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD;
-import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD_DIALOG;
-import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING;
-import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
 
 import android.app.AppOpsManager;
 import android.os.Debug;
@@ -519,9 +519,15 @@
         TaskStack stack = mAppToken != null ? getStack() : null;
         if (stack != null && !stack.isFullscreen()) {
             stack.getBounds(mContainingFrame);
-            if (stack.mUnderStatusBar) {
-                mContainingFrame.top = pf.top;
+            final WindowState imeWin = mService.mInputMethodWindow;
+            if (imeWin != null && imeWin.isVisibleNow() && mService.mInputMethodTarget == this
+                    && mContainingFrame.bottom > cf.bottom) {
+                // IME is up and obscuring this window. Adjust the window position so it is visible.
+                mContainingFrame.top -= mContainingFrame.bottom - cf.bottom;
             }
+            // Make sure the containing frame is within the content frame so we don't layout
+            // resized window under screen decorations.
+            mContainingFrame.intersect(cf);
             mDisplayFrame.set(mContainingFrame);
         } else {
             mContainingFrame.set(pf);
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java
index 89ed5b7..ac1b0f1 100644
--- a/services/core/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java
@@ -1139,6 +1139,8 @@
                     mShownAlpha *= appTransformation.getAlpha();
                     if (appTransformation.hasClipRect()) {
                         mClipRect.set(appTransformation.getClipRect());
+                        // Account for non-fullscreen windows
+                        mClipRect.offset(frame.left, frame.top);
                         if (mWin.mHScale > 0) {
                             mClipRect.left /= mWin.mHScale;
                             mClipRect.right /= mWin.mHScale;
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DeviceOwner.java b/services/devicepolicy/java/com/android/server/devicepolicy/DeviceOwner.java
index 57ed876..ea59d4b 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DeviceOwner.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DeviceOwner.java
@@ -53,6 +53,7 @@
 
     private static final String DEVICE_OWNER_XML = "device_owner.xml";
     private static final String TAG_DEVICE_OWNER = "device-owner";
+    private static final String TAG_DEVICE_INITIALIZER = "device-initializer";
     private static final String TAG_PROFILE_OWNER = "profile-owner";
     private static final String ATTR_NAME = "name";
     private static final String ATTR_PACKAGE = "package";
@@ -68,6 +69,9 @@
     // Internal state for the device owner package.
     private OwnerInfo mDeviceOwner;
 
+    // Internal state for the device initializer package.
+    private OwnerInfo mDeviceInitializer;
+
     // Internal state for the profile owner packages.
     private final HashMap<Integer, OwnerInfo> mProfileOwners = new HashMap<Integer, OwnerInfo>();
 
@@ -104,6 +108,15 @@
     }
 
     /**
+     * Creates an instance of the device owner object with the device initializer set.
+     */
+    static DeviceOwner createWithDeviceInitializer(String packageName, String ownerName) {
+        DeviceOwner owner = new DeviceOwner();
+        owner.mDeviceInitializer = new OwnerInfo(ownerName, packageName);
+        return owner;
+    }
+
+    /**
      * Creates an instance of the device owner object with the profile owner set.
      */
     static DeviceOwner createWithProfileOwner(ComponentName admin, String ownerName, int userId) {
@@ -128,6 +141,26 @@
         mDeviceOwner = null;
     }
 
+    String getDeviceInitializerPackageName() {
+        return mDeviceInitializer != null ? mDeviceInitializer.packageName : null;
+    }
+
+    String getDeviceInitializerName() {
+        return mDeviceInitializer != null ? mDeviceInitializer.name : null;
+    }
+
+    void setDeviceInitializer(String packageName, String ownerName) {
+        mDeviceInitializer = new OwnerInfo(ownerName, packageName);
+    }
+
+    void clearDeviceInitializer() {
+        mDeviceInitializer = null;
+    }
+
+    boolean hasDeviceInitializer() {
+        return mDeviceInitializer != null;
+    }
+
     void setProfileOwner(ComponentName admin, String ownerName, int userId) {
         mProfileOwners.put(userId, new OwnerInfo(ownerName, admin));
     }
@@ -199,6 +232,10 @@
                     String name = parser.getAttributeValue(null, ATTR_NAME);
                     String packageName = parser.getAttributeValue(null, ATTR_PACKAGE);
                     mDeviceOwner = new OwnerInfo(name, packageName);
+                } else if (tag.equals(TAG_DEVICE_INITIALIZER)) {
+                    String name = parser.getAttributeValue(null, ATTR_NAME);
+                    String packageName = parser.getAttributeValue(null, ATTR_PACKAGE);
+                    mDeviceInitializer = new OwnerInfo(name, packageName);
                 } else if (tag.equals(TAG_PROFILE_OWNER)) {
                     String profileOwnerPackageName = parser.getAttributeValue(null, ATTR_PACKAGE);
                     String profileOwnerName = parser.getAttributeValue(null, ATTR_NAME);
@@ -259,6 +296,16 @@
                 out.endTag(null, TAG_DEVICE_OWNER);
             }
 
+            // Write device initializer tag
+            if (mDeviceInitializer != null) {
+                out.startTag(null, TAG_DEVICE_INITIALIZER);
+                out.attribute(null, ATTR_PACKAGE, mDeviceInitializer.packageName);
+                if (mDeviceInitializer.name != null) {
+                    out.attribute(null, ATTR_NAME, mDeviceInitializer.name);
+                }
+                out.endTag(null, TAG_DEVICE_INITIALIZER);
+            }
+
             // Write profile owner tags
             if (mProfileOwners.size() > 0) {
                 for (HashMap.Entry<Integer, OwnerInfo> owner : mProfileOwners.entrySet()) {
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index 761f6ee..985c93c 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -17,6 +17,7 @@
 package com.android.server.devicepolicy;
 
 import static android.Manifest.permission.MANAGE_CA_CERTIFICATES;
+import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_COMPLEX;
 import static android.app.admin.DevicePolicyManager.WIPE_EXTERNAL_STORAGE;
 import static android.app.admin.DevicePolicyManager.WIPE_RESET_PROTECTION_DATA;
 import static android.content.pm.PackageManager.GET_UNINSTALLED_PACKAGES;
@@ -51,6 +52,7 @@
 import android.content.pm.ServiceInfo;
 import android.content.pm.UserInfo;
 import android.database.ContentObserver;
+import android.graphics.Bitmap;
 import android.hardware.usb.UsbManager;
 import android.media.AudioManager;
 import android.media.IAudioService;
@@ -179,6 +181,14 @@
         DEVICE_OWNER_USER_RESTRICTIONS.add(UserManager.DISALLOW_SMS);
     }
 
+    // The following user restrictions cannot be changed by any active admin, including device
+    // owner and profile owner.
+    private static final Set<String> IMMUTABLE_USER_RESTRICTIONS;
+    static {
+        IMMUTABLE_USER_RESTRICTIONS = new HashSet();
+        IMMUTABLE_USER_RESTRICTIONS.add(UserManager.DISALLOW_WALLPAPER);
+    }
+
     private static final Set<String> SECURE_SETTINGS_WHITELIST;
     private static final Set<String> SECURE_SETTINGS_DEVICEOWNER_WHITELIST;
     private static final Set<String> GLOBAL_SETTINGS_WHITELIST;
@@ -196,14 +206,13 @@
         GLOBAL_SETTINGS_WHITELIST.add(Settings.Global.ADB_ENABLED);
         GLOBAL_SETTINGS_WHITELIST.add(Settings.Global.AUTO_TIME);
         GLOBAL_SETTINGS_WHITELIST.add(Settings.Global.AUTO_TIME_ZONE);
-        GLOBAL_SETTINGS_WHITELIST.add(Settings.Global.BLUETOOTH_ON);
         GLOBAL_SETTINGS_WHITELIST.add(Settings.Global.DATA_ROAMING);
         GLOBAL_SETTINGS_WHITELIST.add(Settings.Global.DEVELOPMENT_SETTINGS_ENABLED);
         GLOBAL_SETTINGS_WHITELIST.add(Settings.Global.MODE_RINGER);
         GLOBAL_SETTINGS_WHITELIST.add(Settings.Global.NETWORK_PREFERENCE);
         GLOBAL_SETTINGS_WHITELIST.add(Settings.Global.USB_MASS_STORAGE_ENABLED);
-        GLOBAL_SETTINGS_WHITELIST.add(Settings.Global.WIFI_ON);
         GLOBAL_SETTINGS_WHITELIST.add(Settings.Global.WIFI_SLEEP_POLICY);
+        GLOBAL_SETTINGS_WHITELIST.add(Settings.Global.STAY_ON_WHILE_PLUGGED_IN);
     }
 
     final Context mContext;
@@ -1141,13 +1150,15 @@
             boolean ownsProfile = (getProfileOwner(userHandle) != null
                     && getProfileOwner(userHandle).getPackageName()
                         .equals(admin.info.getPackageName()));
+            boolean ownsInitialization = isDeviceInitializer(admin.info.getPackageName())
+                    && !hasUserSetupCompleted(userHandle);
 
             if (reqPolicy == DeviceAdminInfo.USES_POLICY_DEVICE_OWNER) {
-                if (ownsDevice) {
+                if (ownsDevice || (userHandle == UserHandle.USER_OWNER && ownsInitialization)) {
                     return admin;
                 }
             } else if (reqPolicy == DeviceAdminInfo.USES_POLICY_PROFILE_OWNER) {
-                if (ownsDevice || ownsProfile) {
+                if (ownsDevice || ownsProfile || ownsInitialization) {
                     return admin;
                 }
             } else {
@@ -1901,7 +1912,7 @@
                 return;
             }
             if (admin.getUid() != Binder.getCallingUid()) {
-                // If trying to remove device owner, refuse when the caller is not the owner.
+                // Active device owners must remain active admins.
                 if (isDeviceOwner(adminReceiver.getPackageName())) {
                     return;
                 }
@@ -2342,6 +2353,9 @@
                 final int N = policy.mAdminList.size();
                 for (int i=0; i<N; i++) {
                     ActiveAdmin admin = policy.mAdminList.get(i);
+                    if (!isLimitPasswordAllowed(admin, PASSWORD_QUALITY_COMPLEX)) {
+                        continue;
+                    }
                     if (length < admin.minimumPasswordLetters) {
                         length = admin.minimumPasswordLetters;
                     }
@@ -2387,6 +2401,9 @@
                 final int N = policy.mAdminList.size();
                 for (int i = 0; i < N; i++) {
                     ActiveAdmin admin = policy.mAdminList.get(i);
+                    if (!isLimitPasswordAllowed(admin, PASSWORD_QUALITY_COMPLEX)) {
+                        continue;
+                    }
                     if (length < admin.minimumPasswordNumeric) {
                         length = admin.minimumPasswordNumeric;
                     }
@@ -2432,6 +2449,9 @@
                 final int N = policy.mAdminList.size();
                 for (int i=0; i<N; i++) {
                     ActiveAdmin admin = policy.mAdminList.get(i);
+                    if (!isLimitPasswordAllowed(admin, PASSWORD_QUALITY_COMPLEX)) {
+                        continue;
+                    }
                     if (length < admin.minimumPasswordSymbols) {
                         length = admin.minimumPasswordSymbols;
                     }
@@ -2477,6 +2497,9 @@
                 final int N = policy.mAdminList.size();
                 for (int i=0; i<N; i++) {
                     ActiveAdmin admin = policy.mAdminList.get(i);
+                    if (!isLimitPasswordAllowed(admin, PASSWORD_QUALITY_COMPLEX)) {
+                        continue;
+                    }
                     if (length < admin.minimumPasswordNonLetter) {
                         length = admin.minimumPasswordNonLetter;
                     }
@@ -3868,6 +3891,110 @@
     }
 
     @Override
+    public boolean setDeviceInitializer(ComponentName who, ComponentName initializer,
+            String ownerName) {
+        if (!mHasFeature) {
+            return false;
+        }
+        if (initializer == null || !DeviceOwner.isInstalled(
+                initializer.getPackageName(), mContext.getPackageManager())) {
+            throw new IllegalArgumentException("Invalid component name " + initializer
+                    + " for device initializer");
+        }
+        synchronized (this) {
+            enforceCanSetDeviceInitializer(who);
+
+            if (mDeviceOwner != null && mDeviceOwner.hasDeviceInitializer()) {
+                throw new IllegalStateException(
+                        "Trying to set device initializer but device initializer is already set.");
+            }
+
+            if (mDeviceOwner == null) {
+                // Device owner state does not exist, create it.
+                mDeviceOwner = DeviceOwner.createWithDeviceInitializer(
+                        initializer.getPackageName(), ownerName);
+                mDeviceOwner.writeOwnerFile();
+                return true;
+            } else {
+                // Device owner already exists, update it.
+                mDeviceOwner.setDeviceInitializer(initializer.getPackageName(), ownerName);
+                mDeviceOwner.writeOwnerFile();
+                return true;
+            }
+        }
+    }
+
+    private void enforceCanSetDeviceInitializer(ComponentName who) {
+        if (who == null) {
+            mContext.enforceCallingOrSelfPermission(
+                    android.Manifest.permission.MANAGE_DEVICE_ADMINS, null);
+            if (hasUserSetupCompleted(UserHandle.USER_OWNER)) {
+                throw new IllegalStateException(
+                        "Trying to set device initializer but device is already provisioned.");
+            }
+        } else {
+            getActiveAdminForCallerLocked(who, DeviceAdminInfo.USES_POLICY_DEVICE_OWNER);
+        }
+    }
+
+    @Override
+    public boolean isDeviceInitializer(String packageName) {
+        if (!mHasFeature) {
+            return false;
+        }
+        synchronized (this) {
+            return mDeviceOwner != null
+                    && mDeviceOwner.hasDeviceInitializer()
+                    && mDeviceOwner.getDeviceInitializerPackageName().equals(packageName);
+        }
+    }
+
+    @Override
+    public String getDeviceInitializer() {
+        if (!mHasFeature) {
+            return null;
+        }
+        synchronized (this) {
+            if (mDeviceOwner != null && mDeviceOwner.hasDeviceInitializer()) {
+                return mDeviceOwner.getDeviceInitializerPackageName();
+            }
+        }
+        return null;
+    }
+
+    @Override
+    public void clearDeviceInitializer(ComponentName who) {
+        if (!mHasFeature) {
+            return;
+        }
+        Preconditions.checkNotNull(who, "ComponentName is null");
+
+        ActiveAdmin admin = getActiveAdminUncheckedLocked(who, UserHandle.getCallingUserId());
+
+        if (admin.getUid() != Binder.getCallingUid()) {
+            throw new SecurityException("Admin " + who + " is not owned by uid "
+                    + Binder.getCallingUid());
+        }
+
+        if (!isDeviceInitializer(admin.info.getPackageName())
+                && !isDeviceOwner(admin.info.getPackageName())) {
+            throw new SecurityException(
+                    "clearDeviceInitializer can only be called by the device initializer/owner");
+        }
+        synchronized (this) {
+            long ident = Binder.clearCallingIdentity();
+            try {
+                if (mDeviceOwner != null) {
+                    mDeviceOwner.clearDeviceInitializer();
+                    mDeviceOwner.writeOwnerFile();
+                }
+            } finally {
+                Binder.restoreCallingIdentity(ident);
+            }
+        }
+    }
+
+    @Override
     public boolean setProfileOwner(ComponentName who, String ownerName, int userHandle) {
         if (!mHasFeature) {
             return false;
@@ -3940,7 +4067,7 @@
         Bundle userRestrictions = mUserManager.getUserRestrictions();
         mUserManager.setUserRestrictions(new Bundle(), userHandle);
         if (userRestrictions.getBoolean(UserManager.DISALLOW_ADJUST_VOLUME)) {
-            audioManager.adjustMasterVolume(AudioManager.ADJUST_UNMUTE, 0);
+            audioManager.setMasterMute(false, 0);
         }
         if (userRestrictions.getBoolean(UserManager.DISALLOW_UNMUTE_MICROPHONE)) {
             audioManager.setMicrophoneMute(false);
@@ -3962,6 +4089,51 @@
     }
 
     @Override
+    public boolean setUserEnabled(ComponentName who) {
+        if (!mHasFeature) {
+            return false;
+        }
+        synchronized (this) {
+            if (who == null) {
+                throw new NullPointerException("ComponentName is null");
+            }
+            int userId = UserHandle.getCallingUserId();
+
+            ActiveAdmin activeAdmin =
+                    getActiveAdminForCallerLocked(who, DeviceAdminInfo.USES_POLICY_PROFILE_OWNER);
+            if (!isDeviceInitializer(activeAdmin.info.getPackageName())) {
+                throw new SecurityException(
+                        "This method can only be called by device initializers");
+            }
+
+            long id = Binder.clearCallingIdentity();
+            try {
+                if (!isDeviceOwner(activeAdmin.info.getPackageName())) {
+                    IPackageManager ipm = AppGlobals.getPackageManager();
+                    ipm.setComponentEnabledSetting(who,
+                            PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
+                            PackageManager.DONT_KILL_APP, userId);
+
+                    removeActiveAdmin(who, userId);
+                }
+
+                if (userId == UserHandle.USER_OWNER) {
+                    Settings.Global.putInt(mContext.getContentResolver(),
+                            Settings.Global.DEVICE_PROVISIONED, 1);
+                }
+                Settings.Secure.putIntForUser(mContext.getContentResolver(),
+                        Settings.Secure.USER_SETUP_COMPLETE, 1, userId);
+            } catch (RemoteException e) {
+                Log.i(LOG_TAG, "Can't talk to package manager", e);
+                return false;
+            } finally {
+                restoreCallingIdentity(id);
+            }
+            return true;
+        }
+    }
+
+    @Override
     public void setProfileEnabled(ComponentName who) {
         if (!mHasFeature) {
             return;
@@ -4803,6 +4975,9 @@
                     && DEVICE_OWNER_USER_RESTRICTIONS.contains(key)) {
                 throw new SecurityException("Profile owners cannot set user restriction " + key);
             }
+            if (IMMUTABLE_USER_RESTRICTIONS.contains(key)) {
+                throw new SecurityException("User restriction " + key + " cannot be changed");
+            }
             boolean alreadyRestricted = mUserManager.hasUserRestriction(key, user);
 
             IAudioService iAudioService = null;
@@ -4817,8 +4992,7 @@
                     if (UserManager.DISALLOW_UNMUTE_MICROPHONE.equals(key)) {
                         iAudioService.setMicrophoneMute(true, who.getPackageName());
                     } else if (UserManager.DISALLOW_ADJUST_VOLUME.equals(key)) {
-                        iAudioService.adjustMasterVolume(AudioManager.ADJUST_MUTE, 0,
-                                who.getPackageName());
+                        iAudioService.setMasterMute(true, 0, who.getPackageName());
                     }
                 } catch (RemoteException re) {
                     Slog.e(LOG_TAG, "Failed to talk to AudioService.", re);
@@ -4883,8 +5057,7 @@
                     if (UserManager.DISALLOW_UNMUTE_MICROPHONE.equals(key)) {
                         iAudioService.setMicrophoneMute(false, who.getPackageName());
                     } else if (UserManager.DISALLOW_ADJUST_VOLUME.equals(key)) {
-                        iAudioService.adjustMasterVolume(AudioManager.ADJUST_UNMUTE, 0,
-                                who.getPackageName());
+                        iAudioService.setMasterMute(false, 0, who.getPackageName());
                     }
                 } catch (RemoteException re) {
                     Slog.e(LOG_TAG, "Failed to talk to AudioService.", re);
@@ -5269,8 +5442,21 @@
             getActiveAdminForCallerLocked(who, DeviceAdminInfo.USES_POLICY_DEVICE_OWNER);
 
             if (!GLOBAL_SETTINGS_WHITELIST.contains(setting)) {
-                throw new SecurityException(String.format(
-                        "Permission denial: device owners cannot update %1$s", setting));
+                // BLUETOOTH_ON and WIFI_ON used to be supported but not any more. We do not want to
+                // throw a SecurityException not to break apps.
+                if (!Settings.Global.BLUETOOTH_ON.equals(setting)
+                        && !Settings.Global.WIFI_ON.equals(setting)) {
+                    throw new SecurityException(String.format(
+                            "Permission denial: device owners cannot update %1$s", setting));
+                }
+            }
+
+            if (Settings.Global.STAY_ON_WHILE_PLUGGED_IN.equals(setting)) {
+                // ignore if it contradicts an existing policy
+                long timeMs = getMaximumTimeToLock(who, UserHandle.getCallingUserId());
+                if (timeMs > 0 && timeMs < Integer.MAX_VALUE) {
+                    return;
+                }
             }
 
             long id = Binder.clearCallingIdentity();
@@ -5319,10 +5505,8 @@
 
             IAudioService iAudioService = IAudioService.Stub.asInterface(
                     ServiceManager.getService(Context.AUDIO_SERVICE));
-            try{
-                iAudioService.adjustMasterVolume(
-                        on ? AudioManager.ADJUST_MUTE : AudioManager.ADJUST_UNMUTE, 0,
-                        who.getPackageName());
+            try {
+                iAudioService.setMasterMute(on, 0, who.getPackageName());
             } catch (RemoteException re) {
                 Slog.e(LOG_TAG, "Failed to setMasterMute", re);
             }
@@ -5341,6 +5525,22 @@
         }
     }
 
+    @Override
+    public void setUserIcon(ComponentName who, Bitmap icon) {
+        synchronized (this) {
+            Preconditions.checkNotNull(who, "ComponentName is null");
+            getActiveAdminForCallerLocked(who, DeviceAdminInfo.USES_POLICY_PROFILE_OWNER);
+
+            int userId = UserHandle.getCallingUserId();
+            long id = Binder.clearCallingIdentity();
+            try {
+                mUserManager.setUserIcon(userId, icon);
+            } finally {
+                restoreCallingIdentity(id);
+            }
+        }
+    }
+
     /**
      * We need to update the internal state of whether a user has completed setup once. After
      * that, we ignore any changes that reset the Settings.Secure.USER_SETUP_COMPLETE changes
@@ -5440,4 +5640,15 @@
             }
         }
     }
+
+    /**
+     * Returns true if specified admin is allowed to limit passwords and has a
+     * {@code passwordQuality} of at least {@code minPasswordQuality}
+     */
+    private static boolean isLimitPasswordAllowed(ActiveAdmin admin, int minPasswordQuality) {
+        if (admin.passwordQuality < minPasswordQuality) {
+            return false;
+        }
+        return admin.info.usesPolicy(DeviceAdminInfo.USES_POLICY_LIMIT_PASSWORD);
+    }
 }
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 875d395..a0c7f86 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -26,15 +26,11 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
-import android.content.pm.IPackageManager;
 import android.content.pm.PackageManager;
 import android.content.res.Configuration;
-import android.media.tv.TvInputManager;
 import android.os.Build;
 import android.os.Environment;
 import android.os.FactoryTest;
-import android.os.Handler;
-import android.os.IBinder;
 import android.os.IPowerManager;
 import android.os.Looper;
 import android.os.RemoteException;
@@ -43,22 +39,18 @@
 import android.os.SystemClock;
 import android.os.SystemProperties;
 import android.os.UserHandle;
-import android.service.dreams.DreamService;
 import android.util.DisplayMetrics;
 import android.util.EventLog;
-import android.util.Log;
 import android.util.Slog;
 import android.view.WindowManager;
 import android.webkit.WebViewFactory;
 
 import com.android.internal.R;
 import com.android.internal.os.BinderInternal;
-import com.android.internal.os.Zygote;
 import com.android.internal.os.SamplingProfilerIntegration;
 import com.android.server.accessibility.AccessibilityManagerService;
 import com.android.server.accounts.AccountManagerService;
 import com.android.server.am.ActivityManagerService;
-import com.android.server.am.BatteryStatsService;
 import com.android.server.audio.AudioService;
 import com.android.server.clipboard.ClipboardService;
 import com.android.server.content.ContentService;
@@ -69,7 +61,6 @@
 import com.android.server.hdmi.HdmiControlService;
 import com.android.server.input.InputManagerService;
 import com.android.server.job.JobSchedulerService;
-import com.android.server.lights.LightsManager;
 import com.android.server.lights.LightsService;
 import com.android.server.media.MediaRouterService;
 import com.android.server.media.MediaSessionService;
@@ -678,7 +669,8 @@
 
                 mSystemServiceManager.startService("com.android.server.wifi.RttService");
 
-                if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_ETHERNET)) {
+                if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_ETHERNET) ||
+                    mPackageManager.hasSystemFeature(PackageManager.FEATURE_USB_HOST)) {
                     mSystemServiceManager.startService(ETHERNET_SERVICE_CLASS);
                 }
 
diff --git a/services/restrictions/java/com/android/server/restrictions/RestrictionsManagerService.java b/services/restrictions/java/com/android/server/restrictions/RestrictionsManagerService.java
index 218f899..946d28e 100644
--- a/services/restrictions/java/com/android/server/restrictions/RestrictionsManagerService.java
+++ b/services/restrictions/java/com/android/server/restrictions/RestrictionsManagerService.java
@@ -16,35 +16,20 @@
 
 package com.android.server.restrictions;
 
-import android.Manifest;
-import android.accounts.IAccountAuthenticator;
 import android.app.AppGlobals;
-import android.app.Notification;
-import android.app.NotificationManager;
-import android.app.PendingIntent;
 import android.app.admin.IDevicePolicyManager;
-import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
-import android.content.IntentFilter;
 import android.content.IRestrictionsManager;
 import android.content.RestrictionsManager;
-import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
-import android.content.pm.ServiceInfo;
-import android.content.pm.UserInfo;
-import android.database.ContentObserver;
-import android.net.Uri;
 import android.os.Binder;
 import android.os.Bundle;
-import android.os.IBinder;
 import android.os.IUserManager;
 import android.os.PersistableBundle;
-import android.os.Process;
 import android.os.RemoteException;
 import android.os.UserHandle;
-import android.os.UserManager;
 import android.util.Log;
 
 import com.android.internal.util.ArrayUtils;
diff --git a/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java b/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java
index beb353a..c198900 100644
--- a/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java
@@ -20,7 +20,6 @@
 import static android.net.ConnectivityManager.TYPE_MOBILE;
 import static android.net.ConnectivityManager.TYPE_WIFI;
 import static android.net.ConnectivityManager.getNetworkTypeName;
-import static android.net.NetworkStateTracker.EVENT_STATE_CHANGED;
 import static org.mockito.Matchers.anyInt;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Matchers.isA;
diff --git a/services/usage/java/com/android/server/usage/IntervalStats.java b/services/usage/java/com/android/server/usage/IntervalStats.java
index 5f639ab..869d6e1 100644
--- a/services/usage/java/com/android/server/usage/IntervalStats.java
+++ b/services/usage/java/com/android/server/usage/IntervalStats.java
@@ -81,6 +81,17 @@
         return event;
     }
 
+    private boolean isStatefulEvent(int eventType) {
+        switch (eventType) {
+            case UsageEvents.Event.MOVE_TO_FOREGROUND:
+            case UsageEvents.Event.MOVE_TO_BACKGROUND:
+            case UsageEvents.Event.END_OF_DAY:
+            case UsageEvents.Event.CONTINUE_PREVIOUS_DAY:
+                return true;
+        }
+        return false;
+    }
+
     void update(String packageName, long timeStamp, int eventType) {
         UsageStats usageStats = getOrCreateUsageStats(packageName);
 
@@ -93,7 +104,11 @@
                 usageStats.mTotalTimeInForeground += timeStamp - usageStats.mLastTimeUsed;
             }
         }
-        usageStats.mLastEvent = eventType;
+
+        if (isStatefulEvent(eventType)) {
+            usageStats.mLastEvent = eventType;
+        }
+
         usageStats.mLastTimeUsed = timeStamp;
         usageStats.mEndTimeStamp = timeStamp;
 
diff --git a/services/usage/java/com/android/server/usage/UsageStatsDatabase.java b/services/usage/java/com/android/server/usage/UsageStatsDatabase.java
index 26ced03..235567c 100644
--- a/services/usage/java/com/android/server/usage/UsageStatsDatabase.java
+++ b/services/usage/java/com/android/server/usage/UsageStatsDatabase.java
@@ -378,26 +378,27 @@
                 }
             }
 
-            try {
-                IntervalStats stats = new IntervalStats();
-                ArrayList<T> results = new ArrayList<>();
-                for (int i = startIndex; i <= endIndex; i++) {
-                    final AtomicFile f = intervalStats.valueAt(i);
+            final IntervalStats stats = new IntervalStats();
+            final ArrayList<T> results = new ArrayList<>();
+            for (int i = startIndex; i <= endIndex; i++) {
+                final AtomicFile f = intervalStats.valueAt(i);
 
-                    if (DEBUG) {
-                        Slog.d(TAG, "Reading stat file " + f.getBaseFile().getAbsolutePath());
-                    }
+                if (DEBUG) {
+                    Slog.d(TAG, "Reading stat file " + f.getBaseFile().getAbsolutePath());
+                }
 
+                try {
                     UsageStatsXml.read(f, stats);
                     if (beginTime < stats.endTime) {
                         combiner.combine(stats, false, results);
                     }
+                } catch (IOException e) {
+                    Slog.e(TAG, "Failed to read usage stats file", e);
+                    // We continue so that we return results that are not
+                    // corrupt.
                 }
-                return results;
-            } catch (IOException e) {
-                Slog.e(TAG, "Failed to read usage stats file", e);
-                return null;
             }
+            return results;
         }
     }
 
@@ -450,6 +451,10 @@
             mCal.addDays(-7);
             pruneFilesOlderThan(mIntervalDirs[UsageStatsManager.INTERVAL_DAILY],
                     mCal.getTimeInMillis());
+
+            // We must re-index our file list or we will be trying to read
+            // deleted files.
+            indexFilesLocked();
         }
     }
 
diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java
index 485b2a2..5eefe6a 100644
--- a/services/usage/java/com/android/server/usage/UsageStatsService.java
+++ b/services/usage/java/com/android/server/usage/UsageStatsService.java
@@ -488,6 +488,23 @@
         }
 
         @Override
+        public void reportEvent(String packageName, int userId, int eventType) {
+            if (packageName == null) {
+                Slog.w(TAG, "Event reported without a package name");
+                return;
+            }
+
+            UsageEvents.Event event = new UsageEvents.Event();
+            event.mPackage = packageName;
+
+            // This will later be converted to system time.
+            event.mTimeStamp = SystemClock.elapsedRealtime();
+
+            event.mEventType = eventType;
+            mHandler.obtainMessage(MSG_REPORT_EVENT, userId, 0, event).sendToTarget();
+        }
+
+        @Override
         public void reportConfigurationChange(Configuration config, int userId) {
             if (config == null) {
                 Slog.w(TAG, "Configuration event reported with a null config");
diff --git a/services/usage/java/com/android/server/usage/UsageStatsXmlV1.java b/services/usage/java/com/android/server/usage/UsageStatsXmlV1.java
index ef95a7b..bfb71c5 100644
--- a/services/usage/java/com/android/server/usage/UsageStatsXmlV1.java
+++ b/services/usage/java/com/android/server/usage/UsageStatsXmlV1.java
@@ -191,7 +191,7 @@
             statsOut.events.clear();
         }
 
-        statsOut.endTime = XmlUtils.readLongAttribute(parser, END_TIME_ATTR);
+        statsOut.endTime = statsOut.beginTime + XmlUtils.readLongAttribute(parser, END_TIME_ATTR);
 
         int eventCode;
         int outerDepth = parser.getDepth();
diff --git a/services/usage/java/com/android/server/usage/UserUsageStatsService.java b/services/usage/java/com/android/server/usage/UserUsageStatsService.java
index 6596781..75fa030 100644
--- a/services/usage/java/com/android/server/usage/UserUsageStatsService.java
+++ b/services/usage/java/com/android/server/usage/UserUsageStatsService.java
@@ -570,6 +570,8 @@
                 return "CONTINUE_PREVIOUS_DAY";
             case UsageEvents.Event.CONFIGURATION_CHANGE:
                 return "CONFIGURATION_CHANGE";
+            case UsageEvents.Event.INTERACTION:
+                return "INTERACTION";
             default:
                 return "UNKNOWN";
         }
diff --git a/services/usb/java/com/android/server/usb/UsbAlsaManager.java b/services/usb/java/com/android/server/usb/UsbAlsaManager.java
index 0aa8862..23e1970 100644
--- a/services/usb/java/com/android/server/usb/UsbAlsaManager.java
+++ b/services/usb/java/com/android/server/usb/UsbAlsaManager.java
@@ -16,10 +16,7 @@
 
 package com.android.server.usb;
 
-import android.alsa.AlsaCardsParser;
-import android.alsa.AlsaDevicesParser;
 import android.content.Context;
-import android.content.Intent;
 import android.content.res.Resources;
 import android.hardware.usb.UsbConstants;
 import android.hardware.usb.UsbDevice;
@@ -29,14 +26,14 @@
 import android.media.midi.MidiDeviceInfo;
 import android.os.FileObserver;
 import android.os.Bundle;
-import android.os.IBinder;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.SystemClock;
-import android.os.UserHandle;
 import android.provider.Settings;
 import android.util.Slog;
 
+import com.android.internal.alsa.AlsaCardsParser;
+import com.android.internal.alsa.AlsaDevicesParser;
 import com.android.server.audio.AudioService;
 
 import libcore.io.IoUtils;
@@ -76,8 +73,6 @@
 
     private UsbAudioDevice mAccessoryAudioDevice = null;
 
-    private UsbAudioDevice mSelectedAudioDevice = null;
-
     // UsbMidiDevice for USB peripheral mode (gadget) device
     private UsbMidiDevice mPeripheralMidiDevice = null;
 
@@ -189,8 +184,12 @@
                 int device = (audioDevice == mAccessoryAudioDevice ?
                         AudioSystem.DEVICE_OUT_USB_ACCESSORY :
                         AudioSystem.DEVICE_OUT_USB_DEVICE);
+                if (DEBUG) {
+                    Slog.i(TAG, "pre-call device:0x" + Integer.toHexString(device) +
+                            " addr:" + address + " name:" + audioDevice.mDeviceName);
+                }
                 mAudioService.setWiredDeviceConnectionState(
-                        device, state, address, audioDevice.mDeviceName);
+                        device, state, address, audioDevice.mDeviceName, TAG);
             }
 
             // Capture Device
@@ -199,7 +198,7 @@
                         AudioSystem.DEVICE_IN_USB_ACCESSORY :
                         AudioSystem.DEVICE_IN_USB_DEVICE);
                 mAudioService.setWiredDeviceConnectionState(
-                        device, state, address, audioDevice.mDeviceName);
+                        device, state, address, audioDevice.mDeviceName, TAG);
             }
         } catch (RemoteException e) {
             Slog.e(TAG, "RemoteException in setWiredDeviceConnectionState");
@@ -285,23 +284,13 @@
     /*
      * Select the default device of the specified card.
      */
-    /* package */ boolean selectAudioCard(int card) {
+    /* package */ UsbAudioDevice selectAudioCard(int card) {
         if (DEBUG) {
             Slog.d(TAG, "selectAudioCard() card:" + card);
         }
         if (!mCardsParser.isCardUsb(card)) {
             // Don't. AudioPolicyManager has logic for falling back to internal devices.
-            return false;
-        }
-
-        if (mSelectedAudioDevice != null) {
-            if (mSelectedAudioDevice.mCard == card) {
-                // Nothing to do here.
-                return false;
-            }
-            // "disconnect" the AudioPolicyManager from the previously selected device.
-            notifyDeviceState(mSelectedAudioDevice, false);
-            mSelectedAudioDevice = null;
+            return null;
         }
 
         mDevicesParser.scan();
@@ -317,30 +306,30 @@
 
         // Playback device file needed/present?
         if (hasPlayback && (waitForAlsaDevice(card, device, AlsaDevice.TYPE_PLAYBACK) == null)) {
-            return false;
+            return null;
         }
 
         // Capture device file needed/present?
         if (hasCapture && (waitForAlsaDevice(card, device, AlsaDevice.TYPE_CAPTURE) == null)) {
-            return false;
+            return null;
         }
 
         if (DEBUG) {
             Slog.d(TAG, "usb: hasPlayback:" + hasPlayback + " hasCapture:" + hasCapture);
         }
 
-        mSelectedAudioDevice =
+        UsbAudioDevice audioDevice =
                 new UsbAudioDevice(card, device, hasPlayback, hasCapture, deviceClass);
-        mSelectedAudioDevice.mDeviceName = mCardsParser.getCardRecordFor(card).mCardName;
-        mSelectedAudioDevice.mDeviceDescription =
-                mCardsParser.getCardRecordFor(card).mCardDescription;
+        AlsaCardsParser.AlsaCardRecord cardRecord = mCardsParser.getCardRecordFor(card);
+        audioDevice.mDeviceName = cardRecord.mCardName;
+        audioDevice.mDeviceDescription = cardRecord.mCardDescription;
 
-        notifyDeviceState(mSelectedAudioDevice, true);
+        notifyDeviceState(audioDevice, true);
 
-        return true;
+        return audioDevice;
     }
 
-    /* package */ boolean selectDefaultDevice() {
+    /* package */ UsbAudioDevice selectDefaultDevice() {
         if (DEBUG) {
             Slog.d(TAG, "UsbAudioManager.selectDefaultDevice()");
         }
@@ -350,7 +339,8 @@
 
     /* package */ void usbDeviceAdded(UsbDevice usbDevice) {
        if (DEBUG) {
-          Slog.d(TAG, "usbDeviceAdded(): " + usbDevice);
+          Slog.d(TAG, "deviceAdded(): " + usbDevice.getManufacturerName() +
+                  "nm:" + usbDevice.getProductName());
         }
 
         // Is there an audio interface in there?
@@ -387,8 +377,10 @@
         // If the default isn't a USB device, let the existing "select internal mechanism"
         // handle the selection.
         if (mCardsParser.isCardUsb(addedCard)) {
-            selectAudioCard(addedCard);
-            mAudioDevices.put(usbDevice, mSelectedAudioDevice);
+            UsbAudioDevice audioDevice = selectAudioCard(addedCard);
+            if (audioDevice != null) {
+                mAudioDevices.put(usbDevice, audioDevice);
+            }
 
             // look for MIDI devices
 
@@ -402,9 +394,19 @@
                 AlsaDevice alsaDevice = waitForAlsaDevice(addedCard, device, AlsaDevice.TYPE_MIDI);
                 if (alsaDevice != null) {
                     Bundle properties = new Bundle();
-                    properties.putString(MidiDeviceInfo.PROPERTY_MANUFACTURER,
-                            usbDevice.getManufacturerName());
-                    properties.putString(MidiDeviceInfo.PROPERTY_MODEL, usbDevice.getProductName());
+                    String manufacturer = usbDevice.getManufacturerName();
+                    String product = usbDevice.getProductName();
+                    String name;
+                    if (manufacturer == null || manufacturer.isEmpty()) {
+                        name = product;
+                    } else if (product == null || product.isEmpty()) {
+                        name = manufacturer;
+                    } else {
+                        name = manufacturer + " " + product;
+                    }
+                    properties.putString(MidiDeviceInfo.PROPERTY_NAME, name);
+                    properties.putString(MidiDeviceInfo.PROPERTY_MANUFACTURER, manufacturer);
+                    properties.putString(MidiDeviceInfo.PROPERTY_PRODUCT, product);
                     properties.putString(MidiDeviceInfo.PROPERTY_SERIAL_NUMBER,
                             usbDevice.getSerialNumber());
                     properties.putInt(MidiDeviceInfo.PROPERTY_ALSA_CARD, alsaDevice.mCard);
@@ -423,14 +425,14 @@
 
     /* package */ void usbDeviceRemoved(UsbDevice usbDevice) {
         if (DEBUG) {
-          Slog.d(TAG, "deviceRemoved(): " + usbDevice);
+          Slog.d(TAG, "deviceRemoved(): " + usbDevice.getManufacturerName() +
+                  " " + usbDevice.getProductName());
         }
 
         UsbAudioDevice audioDevice = mAudioDevices.remove(usbDevice);
         if (audioDevice != null) {
             if (audioDevice.mHasPlayback || audioDevice.mHasPlayback) {
                 notifyDeviceState(audioDevice, false);
-                mSelectedAudioDevice = null;
 
                 // if there any external devices left, select one of them
                 selectDefaultDevice();
@@ -462,7 +464,7 @@
             Resources r = mContext.getResources();
             properties.putString(MidiDeviceInfo.PROPERTY_MANUFACTURER, r.getString(
                     com.android.internal.R.string.usb_midi_peripheral_manufacturer_name));
-            properties.putString(MidiDeviceInfo.PROPERTY_MODEL, r.getString(
+            properties.putString(MidiDeviceInfo.PROPERTY_PRODUCT, r.getString(
                     com.android.internal.R.string.usb_midi_peripheral_model_name));
             properties.putInt(MidiDeviceInfo.PROPERTY_ALSA_CARD, card);
             properties.putInt(MidiDeviceInfo.PROPERTY_ALSA_DEVICE, device);
diff --git a/services/usb/java/com/android/server/usb/UsbDebuggingManager.java b/services/usb/java/com/android/server/usb/UsbDebuggingManager.java
index e489279..8849acd 100644
--- a/services/usb/java/com/android/server/usb/UsbDebuggingManager.java
+++ b/services/usb/java/com/android/server/usb/UsbDebuggingManager.java
@@ -21,7 +21,6 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
 import android.content.res.Resources;
 import android.net.LocalSocket;
 import android.net.LocalSocketAddress;
@@ -35,6 +34,7 @@
 import android.os.UserHandle;
 import android.util.Slog;
 import android.util.Base64;
+
 import com.android.server.FgThread;
 
 import java.lang.Thread;
@@ -48,7 +48,7 @@
 import java.security.MessageDigest;
 import java.util.Arrays;
 
-public class UsbDebuggingManager implements Runnable {
+public class UsbDebuggingManager {
     private static final String TAG = "UsbDebuggingManager";
     private static final boolean DEBUG = false;
 
@@ -59,86 +59,135 @@
 
     private final Context mContext;
     private final Handler mHandler;
-    private Thread mThread;
+    private UsbDebuggingThread mThread;
     private boolean mAdbEnabled = false;
     private String mFingerprints;
-    private LocalSocket mSocket = null;
-    private OutputStream mOutputStream = null;
 
     public UsbDebuggingManager(Context context) {
         mHandler = new UsbDebuggingHandler(FgThread.get().getLooper());
         mContext = context;
     }
 
-    private void listenToSocket() throws IOException {
-        try {
-            byte[] buffer = new byte[BUFFER_SIZE];
-            LocalSocketAddress address = new LocalSocketAddress(ADBD_SOCKET,
-                                         LocalSocketAddress.Namespace.RESERVED);
-            InputStream inputStream = null;
+    class UsbDebuggingThread extends Thread {
+        private boolean mStopped;
+        private LocalSocket mSocket;
+        private OutputStream mOutputStream;
+        private InputStream mInputStream;
 
-            mSocket = new LocalSocket();
-            mSocket.connect(address);
+        UsbDebuggingThread() {
+            super(TAG);
+        }
 
-            mOutputStream = mSocket.getOutputStream();
-            inputStream = mSocket.getInputStream();
-
+        @Override
+        public void run() {
+            if (DEBUG) Slog.d(TAG, "Entering thread");
             while (true) {
-                int count = inputStream.read(buffer);
-                if (count < 0) {
-                    break;
+                synchronized (this) {
+                    if (mStopped) {
+                        if (DEBUG) Slog.d(TAG, "Exiting thread");
+                        return;
+                    }
+                    try {
+                        openSocketLocked();
+                    } catch (Exception e) {
+                        /* Don't loop too fast if adbd dies, before init restarts it */
+                        SystemClock.sleep(1000);
+                    }
                 }
-
-                if (buffer[0] == 'P' && buffer[1] == 'K') {
-                    String key = new String(Arrays.copyOfRange(buffer, 2, count));
-                    Slog.d(TAG, "Received public key: " + key);
-                    Message msg = mHandler.obtainMessage(UsbDebuggingHandler.MESSAGE_ADB_CONFIRM);
-                    msg.obj = key;
-                    mHandler.sendMessage(msg);
-                }
-                else {
-                    Slog.e(TAG, "Wrong message: " + (new String(Arrays.copyOfRange(buffer, 0, 2))));
-                    break;
+                try {
+                    listenToSocket();
+                } catch (Exception e) {
+                    /* Don't loop too fast if adbd dies, before init restarts it */
+                    SystemClock.sleep(1000);
                 }
             }
-        } finally {
-            closeSocket();
         }
-    }
 
-    @Override
-    public void run() {
-        while (mAdbEnabled) {
+        private void openSocketLocked() throws IOException {
             try {
-                listenToSocket();
-            } catch (Exception e) {
-                /* Don't loop too fast if adbd dies, before init restarts it */
-                SystemClock.sleep(1000);
+                LocalSocketAddress address = new LocalSocketAddress(ADBD_SOCKET,
+                        LocalSocketAddress.Namespace.RESERVED);
+                mInputStream = null;
+
+                if (DEBUG) Slog.d(TAG, "Creating socket");
+                mSocket = new LocalSocket();
+                mSocket.connect(address);
+
+                mOutputStream = mSocket.getOutputStream();
+                mInputStream = mSocket.getInputStream();
+            } catch (IOException ioe) {
+                closeSocketLocked();
+                throw ioe;
             }
         }
-    }
 
-    private void closeSocket() {
-        try {
-            mOutputStream.close();
-        } catch (IOException e) {
-            Slog.e(TAG, "Failed closing output stream: " + e);
-        }
-
-        try {
-            mSocket.close();
-        } catch (IOException ex) {
-            Slog.e(TAG, "Failed closing socket: " + ex);
-        }
-    }
-
-    private void sendResponse(String msg) {
-        if (mOutputStream != null) {
+        private void listenToSocket() throws IOException {
             try {
-                mOutputStream.write(msg.getBytes());
+                byte[] buffer = new byte[BUFFER_SIZE];
+                while (true) {
+                    int count = mInputStream.read(buffer);
+                    if (count < 0) {
+                        break;
+                    }
+
+                    if (buffer[0] == 'P' && buffer[1] == 'K') {
+                        String key = new String(Arrays.copyOfRange(buffer, 2, count));
+                        Slog.d(TAG, "Received public key: " + key);
+                        Message msg = mHandler.obtainMessage(UsbDebuggingHandler.MESSAGE_ADB_CONFIRM);
+                        msg.obj = key;
+                        mHandler.sendMessage(msg);
+                    } else {
+                        Slog.e(TAG, "Wrong message: "
+                                + (new String(Arrays.copyOfRange(buffer, 0, 2))));
+                        break;
+                    }
+                }
+            } finally {
+                synchronized (this) {
+                    closeSocketLocked();
+                }
             }
-            catch (IOException ex) {
-                Slog.e(TAG, "Failed to write response:", ex);
+        }
+
+        private void closeSocketLocked() {
+            if (DEBUG) Slog.d(TAG, "Closing socket");
+            try {
+                if (mOutputStream != null) {
+                    mOutputStream.close();
+                    mOutputStream = null;
+                }
+            } catch (IOException e) {
+                Slog.e(TAG, "Failed closing output stream: " + e);
+            }
+
+            try {
+                if (mSocket != null) {
+                    mSocket.close();
+                    mSocket = null;
+                }
+            } catch (IOException ex) {
+                Slog.e(TAG, "Failed closing socket: " + ex);
+            }
+        }
+
+        /** Call to stop listening on the socket and exit the thread. */
+        void stopListening() {
+            synchronized (this) {
+                mStopped = true;
+                closeSocketLocked();
+            }
+        }
+
+        void sendResponse(String msg) {
+            synchronized (this) {
+                if (!mStopped && mOutputStream != null) {
+                    try {
+                        mOutputStream.write(msg.getBytes());
+                    }
+                    catch (IOException ex) {
+                        Slog.e(TAG, "Failed to write response:", ex);
+                    }
+                }
             }
         }
     }
@@ -163,7 +212,7 @@
 
                     mAdbEnabled = true;
 
-                    mThread = new Thread(UsbDebuggingManager.this, TAG);
+                    mThread = new UsbDebuggingThread();
                     mThread.start();
 
                     break;
@@ -173,16 +222,12 @@
                         break;
 
                     mAdbEnabled = false;
-                    closeSocket();
 
-                    try {
-                        mThread.join();
-                    } catch (Exception ex) {
+                    if (mThread != null) {
+                        mThread.stopListening();
+                        mThread = null;
                     }
 
-                    mThread = null;
-                    mOutputStream = null;
-                    mSocket = null;
                     break;
 
                 case MESSAGE_ADB_ALLOW: {
@@ -199,25 +244,33 @@
                         writeKey(key);
                     }
 
-                    sendResponse("OK");
+                    if (mThread != null) {
+                        mThread.sendResponse("OK");
+                    }
                     break;
                 }
 
                 case MESSAGE_ADB_DENY:
-                    sendResponse("NO");
+                    if (mThread != null) {
+                        mThread.sendResponse("NO");
+                    }
                     break;
 
                 case MESSAGE_ADB_CONFIRM: {
                     if ("trigger_restart_min_framework".equals(
                             SystemProperties.get("vold.decrypt"))) {
                         Slog.d(TAG, "Deferring adb confirmation until after vold decrypt");
-                        sendResponse("NO");
+                        if (mThread != null) {
+                            mThread.sendResponse("NO");
+                        }
                         break;
                     }
                     String key = (String)msg.obj;
                     String fingerprints = getFingerprints(key);
                     if ("".equals(fingerprints)) {
-                        sendResponse("NO");
+                        if (mThread != null) {
+                            mThread.sendResponse("NO");
+                        }
                         break;
                     }
                     mFingerprints = fingerprints;
@@ -387,7 +440,7 @@
 
     public void dump(FileDescriptor fd, PrintWriter pw) {
         pw.println("  USB Debugging State:");
-        pw.println("    Connected to adbd: " + (mOutputStream != null));
+        pw.println("    Connected to adbd: " + (mThread != null));
         pw.println("    Last key received: " + mFingerprints);
         pw.println("    User keys:");
         try {
diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java
index 43c7336..b7ed8d1 100644
--- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java
+++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java
@@ -30,7 +30,6 @@
 import android.database.ContentObserver;
 import android.hardware.usb.UsbAccessory;
 import android.hardware.usb.UsbManager;
-import android.media.AudioManager;
 import android.os.FileUtils;
 import android.os.Handler;
 import android.os.Looper;
diff --git a/services/usb/java/com/android/server/usb/UsbHostManager.java b/services/usb/java/com/android/server/usb/UsbHostManager.java
index c53fea2..5b58051 100644
--- a/services/usb/java/com/android/server/usb/UsbHostManager.java
+++ b/services/usb/java/com/android/server/usb/UsbHostManager.java
@@ -17,7 +17,6 @@
 package com.android.server.usb;
 
 import android.content.Context;
-import android.content.Intent;
 import android.hardware.usb.UsbConfiguration;
 import android.hardware.usb.UsbConstants;
 import android.hardware.usb.UsbDevice;
@@ -25,13 +24,11 @@
 import android.hardware.usb.UsbInterface;
 import android.os.Bundle;
 import android.os.ParcelFileDescriptor;
-import android.os.Parcelable;
 import android.util.Slog;
 
 import com.android.internal.annotations.GuardedBy;
 
 import java.io.FileDescriptor;
-import java.io.FileNotFoundException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git a/services/usb/java/com/android/server/usb/UsbMidiDevice.java b/services/usb/java/com/android/server/usb/UsbMidiDevice.java
index e17abc0..f23bb93 100644
--- a/services/usb/java/com/android/server/usb/UsbMidiDevice.java
+++ b/services/usb/java/com/android/server/usb/UsbMidiDevice.java
@@ -19,8 +19,8 @@
 import android.content.Context;
 import android.media.midi.MidiDeviceInfo;
 import android.media.midi.MidiDeviceServer;
+import android.media.midi.MidiDispatcher;
 import android.media.midi.MidiManager;
-import android.media.midi.MidiPort;
 import android.media.midi.MidiReceiver;
 import android.media.midi.MidiSender;
 import android.os.Bundle;
@@ -30,6 +30,8 @@
 import android.system.StructPollfd;
 import android.util.Log;
 
+import libcore.io.IoUtils;
+
 import java.io.Closeable;
 import java.io.FileDescriptor;
 import java.io.FileInputStream;
@@ -39,8 +41,11 @@
 public final class UsbMidiDevice implements Closeable {
     private static final String TAG = "UsbMidiDevice";
 
-    private final MidiDeviceServer mServer;
-    private final MidiReceiver[] mOutputPortReceivers;
+    private MidiDeviceServer mServer;
+
+    private final MidiReceiver[] mInputPortReceivers;
+
+    private static final int BUFFER_SIZE = 512;
 
     // for polling multiple FileDescriptors for MIDI events
     private final StructPollfd[] mPollFDs;
@@ -50,12 +55,6 @@
     private final FileOutputStream[] mOutputStreams;
 
     public static UsbMidiDevice create(Context context, Bundle properties, int card, int device) {
-        MidiManager midiManager = (MidiManager)context.getSystemService(Context.MIDI_SERVICE);
-        if (midiManager == null) {
-            Log.e(TAG, "No MidiManager in UsbMidiDevice.create()");
-            return null;
-        }
-
         // FIXME - support devices with different number of input and output ports
         int subDevices = nativeGetSubdeviceCount(card, device);
         if (subDevices <= 0) {
@@ -70,19 +69,16 @@
             return null;
         }
 
-        MidiDeviceServer server = midiManager.createDeviceServer(subDevices, subDevices, properties,
-                false, MidiDeviceInfo.TYPE_USB);
-        if (server == null) {
+        UsbMidiDevice midiDevice = new UsbMidiDevice(fileDescriptors, fileDescriptors);
+        if (!midiDevice.register(context, properties)) {
+            IoUtils.closeQuietly(midiDevice);
             Log.e(TAG, "createDeviceServer failed");
             return null;
         }
-
-        return new UsbMidiDevice(server, fileDescriptors, fileDescriptors);
+        return midiDevice;
     }
 
-    private UsbMidiDevice(MidiDeviceServer server, FileDescriptor[] inputFiles,
-            FileDescriptor[] outputFiles) {
-        mServer = server;
+    private UsbMidiDevice(FileDescriptor[] inputFiles, FileDescriptor[] outputFiles) {
         int inputCount = inputFiles.length;
         int outputCount = outputFiles.length;
 
@@ -102,30 +98,40 @@
             mOutputStreams[i] = new FileOutputStream(outputFiles[i]);
         }
 
-        mOutputPortReceivers = new MidiReceiver[outputCount];
-        for (int port = 0; port < outputCount; port++) {
-            mOutputPortReceivers[port] = server.openOutputPortReceiver(port);
-        }
-
+        mInputPortReceivers = new MidiReceiver[inputCount];
         for (int port = 0; port < inputCount; port++) {
-            final int portNumberF = port;
-            MidiReceiver receiver = new MidiReceiver() {
-
+            final int portF = port;
+            mInputPortReceivers[port] = new MidiReceiver() {
                 @Override
-                public void post(byte[] data, int offset, int count, long timestamp)
+                public void onReceive(byte[] data, int offset, int count, long timestamp)
                         throws IOException {
                     // FIXME - timestamps are ignored, future posting not supported yet.
-                    mOutputStreams[portNumberF].write(data, offset, count);
+                    mOutputStreams[portF].write(data, offset, count);
                 }
             };
-            MidiSender sender = server.openInputPortSender(port);
-            sender.connect(receiver);
+        }
+    }
+
+    private boolean register(Context context, Bundle properties) {
+        MidiManager midiManager = (MidiManager)context.getSystemService(Context.MIDI_SERVICE);
+        if (midiManager == null) {
+            Log.e(TAG, "No MidiManager in UsbMidiDevice.create()");
+            return false;
         }
 
+        int outputCount = mOutputStreams.length;
+        mServer = midiManager.createDeviceServer(mInputPortReceivers, outputCount,
+                null, null, properties, MidiDeviceInfo.TYPE_USB, null);
+        if (mServer == null) {
+            return false;
+        }
+        final MidiReceiver[] outputReceivers = mServer.getOutputPortReceivers();
+
+        // FIXME can we only run this when we have a dispatcher that has listeners?
         new Thread() {
             @Override
             public void run() {
-                byte[] buffer = new byte[MidiPort.MAX_PACKET_DATA_SIZE];
+                byte[] buffer = new byte[BUFFER_SIZE];
                 try {
                     boolean done = false;
                     while (!done) {
@@ -137,8 +143,7 @@
                                 pfd.revents = 0;
 
                                 int count = mInputStreams[index].read(buffer);
-                                mOutputPortReceivers[index].post(buffer, 0, count,
-                                        System.nanoTime());
+                                outputReceivers[index].send(buffer, 0, count);
                             } else if ((pfd.revents & (OsConstants.POLLERR
                                                         | OsConstants.POLLHUP)) != 0) {
                                 done = true;
@@ -155,11 +160,15 @@
                 }
             }
         }.start();
+
+        return true;
     }
 
     @Override
     public void close() throws IOException {
-        mServer.close();
+        if (mServer != null) {
+            mServer.close();
+        }
 
         for (int i = 0; i < mInputStreams.length; i++) {
             mInputStreams[i].close();
diff --git a/services/usb/java/com/android/server/usb/UsbSettingsManager.java b/services/usb/java/com/android/server/usb/UsbSettingsManager.java
index 37b5c51..bfd1f13 100644
--- a/services/usb/java/com/android/server/usb/UsbSettingsManager.java
+++ b/services/usb/java/com/android/server/usb/UsbSettingsManager.java
@@ -27,7 +27,6 @@
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.ResolveInfo;
-import android.content.res.Resources;
 import android.content.res.XmlResourceParser;
 import android.hardware.usb.UsbAccessory;
 import android.hardware.usb.UsbDevice;
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
index fd990d7..6b8c49c 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
@@ -385,7 +385,7 @@
         }
 
         @Override
-        public void startSession(IVoiceInteractionService service, Bundle args, int flags) {
+        public void showSession(IVoiceInteractionService service, Bundle args, int flags) {
             synchronized (this) {
                 if (mImpl == null || mImpl.mService == null
                         || service.asBinder() != mImpl.mService.asBinder()) {
@@ -396,7 +396,7 @@
                 final int callingUid = Binder.getCallingUid();
                 final long caller = Binder.clearCallingIdentity();
                 try {
-                    mImpl.startSessionLocked(callingPid, callingUid, args, flags);
+                    mImpl.showSessionLocked(callingPid, callingUid, args, flags);
                 } finally {
                     Binder.restoreCallingIdentity(caller);
                 }
@@ -424,6 +424,42 @@
         }
 
         @Override
+        public boolean showSessionFromSession(IBinder token, Bundle sessionArgs, int flags) {
+            synchronized (this) {
+                if (mImpl == null) {
+                    Slog.w(TAG, "showSessionFromSession without running voice interaction service");
+                    return false;
+                }
+                final int callingPid = Binder.getCallingPid();
+                final int callingUid = Binder.getCallingUid();
+                final long caller = Binder.clearCallingIdentity();
+                try {
+                    return mImpl.showSessionLocked(callingPid, callingUid, sessionArgs, flags);
+                } finally {
+                    Binder.restoreCallingIdentity(caller);
+                }
+            }
+        }
+
+        @Override
+        public boolean hideSessionFromSession(IBinder token) {
+            synchronized (this) {
+                if (mImpl == null) {
+                    Slog.w(TAG, "hideSessionFromSession without running voice interaction service");
+                    return false;
+                }
+                final int callingPid = Binder.getCallingPid();
+                final int callingUid = Binder.getCallingUid();
+                final long caller = Binder.clearCallingIdentity();
+                try {
+                    return mImpl.hideSessionLocked(callingPid, callingUid);
+                } finally {
+                    Binder.restoreCallingIdentity(caller);
+                }
+            }
+        }
+
+        @Override
         public int startVoiceActivity(IBinder token, Intent intent, String resolvedType) {
             synchronized (this) {
                 if (mImpl == null) {
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java
index e80f702..9e92867 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java
@@ -26,7 +26,6 @@
 import android.content.IntentFilter;
 import android.content.ServiceConnection;
 import android.content.pm.PackageManager;
-import android.os.Binder;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.IBinder;
@@ -35,20 +34,17 @@
 import android.os.UserHandle;
 import android.service.voice.IVoiceInteractionService;
 import android.service.voice.IVoiceInteractionSession;
-import android.service.voice.IVoiceInteractionSessionService;
 import android.service.voice.VoiceInteractionService;
 import android.service.voice.VoiceInteractionServiceInfo;
 import android.util.Slog;
 import android.view.IWindowManager;
-import android.view.WindowManager;
 
 import com.android.internal.app.IVoiceInteractor;
-import com.android.internal.os.IResultReceiver;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 
-class VoiceInteractionManagerServiceImpl {
+class VoiceInteractionManagerServiceImpl implements VoiceInteractionSessionConnection.Callback {
     final static String TAG = "VoiceInteractionServiceManager";
 
     final boolean mValid;
@@ -65,7 +61,7 @@
     boolean mBound = false;
     IVoiceInteractionService mService;
 
-    SessionConnection mActiveSession;
+    VoiceInteractionSessionConnection mActiveSession;
 
     final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
         @Override
@@ -101,124 +97,6 @@
         }
     };
 
-    final class SessionConnection implements ServiceConnection {
-        final IBinder mToken = new Binder();
-        final Bundle mArgs;
-        final int mFlags;
-        boolean mBound;
-        IVoiceInteractionSessionService mService;
-        IVoiceInteractionSession mSession;
-        IVoiceInteractor mInteractor;
-        boolean mHaveAssistData;
-        Bundle mAssistData;
-
-        final IResultReceiver mAssistReceiver = new IResultReceiver.Stub() {
-            @Override
-            public void send(int resultCode, Bundle resultData) throws RemoteException {
-                synchronized (mLock) {
-                    mHaveAssistData = true;
-                    mAssistData = resultData;
-                    if (mSession != null) {
-                        try {
-                            mSession.handleAssist(resultData);
-                        } catch (RemoteException e) {
-                        }
-                    }
-                }
-            }
-        };
-
-        SessionConnection(Bundle args, int flags) {
-            mArgs = args;
-            mFlags = flags;
-            Intent serviceIntent = new Intent(VoiceInteractionService.SERVICE_INTERFACE);
-            serviceIntent.setComponent(mSessionComponentName);
-            mBound = mContext.bindServiceAsUser(serviceIntent, this,
-                    Context.BIND_AUTO_CREATE, new UserHandle(mUser));
-            if (mBound) {
-                try {
-                    mIWindowManager.addWindowToken(mToken,
-                            WindowManager.LayoutParams.TYPE_VOICE_INTERACTION);
-                } catch (RemoteException e) {
-                    Slog.w(TAG, "Failed adding window token", e);
-                }
-                if ((flags&VoiceInteractionService.START_WITH_ASSIST) != 0) {
-                    try {
-                        mAm.requestAssistContextExtras(0, mAssistReceiver);
-                    } catch (RemoteException e) {
-                    }
-                } else {
-                    mHaveAssistData = true;
-                }
-            } else {
-                Slog.w(TAG, "Failed binding to voice interaction session service " + mComponent);
-            }
-        }
-
-        @Override
-        public void onServiceConnected(ComponentName name, IBinder service) {
-            synchronized (mLock) {
-                mService = IVoiceInteractionSessionService.Stub.asInterface(service);
-                if (mActiveSession == this) {
-                    try {
-                        mService.newSession(mToken, mArgs, mFlags);
-                    } catch (RemoteException e) {
-                        Slog.w(TAG, "Failed adding window token", e);
-                    }
-                }
-            }
-        }
-
-        @Override
-        public void onServiceDisconnected(ComponentName name) {
-            mService = null;
-        }
-
-        public void cancel() {
-            if (mBound) {
-                if (mSession != null) {
-                    try {
-                        mSession.destroy();
-                    } catch (RemoteException e) {
-                        Slog.w(TAG, "Voice interation session already dead");
-                    }
-                }
-                if (mSession != null) {
-                    try {
-                        mAm.finishVoiceTask(mSession);
-                    } catch (RemoteException e) {
-                    }
-                }
-                mContext.unbindService(this);
-                try {
-                    mIWindowManager.removeWindowToken(mToken);
-                } catch (RemoteException e) {
-                    Slog.w(TAG, "Failed removing window token", e);
-                }
-                mBound = false;
-                mService = null;
-                mSession = null;
-                mInteractor = null;
-            }
-        }
-
-        public void dump(String prefix, PrintWriter pw) {
-            pw.print(prefix); pw.print("mToken="); pw.println(mToken);
-            pw.print(prefix); pw.print("mArgs="); pw.println(mArgs);
-            pw.print(prefix); pw.print("mFlags=0x"); pw.println(Integer.toHexString(mFlags));
-            pw.print(prefix); pw.print("mBound="); pw.println(mBound);
-            if (mBound) {
-                pw.print(prefix); pw.print("mService="); pw.println(mService);
-                pw.print(prefix); pw.print("mSession="); pw.println(mSession);
-                pw.print(prefix); pw.print("mInteractor="); pw.println(mInteractor);
-            }
-            pw.print(prefix); pw.print("mHaveAssistData="); pw.println(mHaveAssistData);
-            if (mHaveAssistData) {
-                pw.print(prefix); pw.print("mAssistData="); pw.println(mAssistData);
-            }
-        }
-    };
-
     VoiceInteractionManagerServiceImpl(Context context, Handler handler, Object lock,
             int userHandle, ComponentName service) {
         mContext = context;
@@ -256,12 +134,16 @@
         mContext.registerReceiver(mBroadcastReceiver, filter, null, handler);
     }
 
-    public void startSessionLocked(int callingPid, int callingUid, Bundle args, int flags) {
-        if (mActiveSession != null) {
-            mActiveSession.cancel();
-            mActiveSession = null;
+    public boolean showSessionLocked(int callingPid, int callingUid, Bundle args, int flags) {
+        if (mActiveSession == null) {
+            mActiveSession = new VoiceInteractionSessionConnection(mLock, mSessionComponentName,
+                    mUser, mContext, this, callingPid, callingUid);
         }
-        mActiveSession = new SessionConnection(args, flags);
+        return mActiveSession.showLocked(args, flags);
+    }
+
+    public boolean hideSessionLocked(int callingPid, int callingUid) {
+        return mActiveSession.hideLocked();
     }
 
     public boolean deliverNewSessionLocked(int callingPid, int callingUid, IBinder token,
@@ -270,14 +152,7 @@
             Slog.w(TAG, "deliverNewSession does not match active session");
             return false;
         }
-        mActiveSession.mSession = session;
-        mActiveSession.mInteractor = interactor;
-        if (mActiveSession.mHaveAssistData) {
-            try {
-                session.handleAssist(mActiveSession.mAssistData);
-            } catch (RemoteException e) {
-            }
-        }
+        mActiveSession.deliverNewSessionLocked(session, interactor);
         return true;
     }
 
@@ -367,4 +242,11 @@
             Slog.w(TAG, "RemoteException while calling soundModelsChanged", e);
         }
     }
+
+    @Override
+    public void sessionConnectionGone(VoiceInteractionSessionConnection connection) {
+        synchronized (mLock) {
+            finishLocked(connection.mCallingPid, connection.mCallingUid, connection.mToken);
+        }
+    }
 }
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java
new file mode 100644
index 0000000..30d97b9
--- /dev/null
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java
@@ -0,0 +1,372 @@
+/*
+ * 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 com.android.server.voiceinteraction;
+
+import android.app.ActivityManager;
+import android.app.ActivityManagerNative;
+import android.app.AssistContent;
+import android.app.IActivityManager;
+import android.content.ClipData;
+import android.content.ComponentName;
+import android.content.ContentProvider;
+import android.content.Context;
+import android.content.Intent;
+import android.content.ServiceConnection;
+import android.net.Uri;
+import android.os.Binder;
+import android.os.Bundle;
+import android.os.IBinder;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.os.UserHandle;
+import android.service.voice.IVoiceInteractionSession;
+import android.service.voice.IVoiceInteractionSessionService;
+import android.service.voice.VoiceInteractionService;
+import android.util.Slog;
+import android.view.IWindowManager;
+import android.view.WindowManager;
+import com.android.internal.app.IVoiceInteractor;
+import com.android.internal.os.IResultReceiver;
+
+import java.io.PrintWriter;
+
+final class VoiceInteractionSessionConnection implements ServiceConnection {
+    final static String TAG = "VoiceInteractionServiceManager";
+
+    final IBinder mToken = new Binder();
+    final Object mLock;
+    final ComponentName mSessionComponentName;
+    final Intent mBindIntent;
+    final int mUser;
+    final Context mContext;
+    final Callback mCallback;
+    final int mCallingPid;
+    final int mCallingUid;
+    final IActivityManager mAm;
+    final IWindowManager mIWindowManager;
+    final IBinder mPermissionOwner;
+    boolean mShown;
+    Bundle mShowArgs;
+    int mShowFlags;
+    boolean mBound;
+    boolean mFullyBound;
+    boolean mCanceled;
+    IVoiceInteractionSessionService mService;
+    IVoiceInteractionSession mSession;
+    IVoiceInteractor mInteractor;
+    boolean mHaveAssistData;
+    Bundle mAssistData;
+
+    public interface Callback {
+        public void sessionConnectionGone(VoiceInteractionSessionConnection connection);
+    }
+
+    final ServiceConnection mFullConnection = new ServiceConnection() {
+        @Override
+        public void onServiceConnected(ComponentName name, IBinder service) {
+        }
+        @Override
+        public void onServiceDisconnected(ComponentName name) {
+        }
+    };
+
+    final IResultReceiver mAssistReceiver = new IResultReceiver.Stub() {
+        @Override
+        public void send(int resultCode, Bundle resultData) throws RemoteException {
+            synchronized (mLock) {
+                if (mShown) {
+                    mHaveAssistData = true;
+                    mAssistData = resultData;
+                    deliverAssistData();
+                }
+            }
+        }
+    };
+
+    public VoiceInteractionSessionConnection(Object lock, ComponentName component, int user,
+            Context context, Callback callback, int callingPid, int callingUid) {
+        mLock = lock;
+        mSessionComponentName = component;
+        mUser = user;
+        mContext = context;
+        mCallback = callback;
+        mCallingPid = callingPid;
+        mCallingUid = callingUid;
+        mAm = ActivityManagerNative.getDefault();
+        mIWindowManager = IWindowManager.Stub.asInterface(
+                ServiceManager.getService(Context.WINDOW_SERVICE));
+        IBinder permOwner = null;
+        try {
+            permOwner = mAm.newUriPermissionOwner("voicesession:"
+                    + component.flattenToShortString());
+        } catch (RemoteException e) {
+            Slog.w("voicesession", "AM dead", e);
+        }
+        mPermissionOwner = permOwner;
+        mBindIntent = new Intent(VoiceInteractionService.SERVICE_INTERFACE);
+        mBindIntent.setComponent(mSessionComponentName);
+        mBound = mContext.bindServiceAsUser(mBindIntent, this,
+                Context.BIND_AUTO_CREATE|Context.BIND_ALLOW_OOM_MANAGEMENT, new UserHandle(mUser));
+        if (mBound) {
+            try {
+                mIWindowManager.addWindowToken(mToken,
+                        WindowManager.LayoutParams.TYPE_VOICE_INTERACTION);
+            } catch (RemoteException e) {
+                Slog.w(TAG, "Failed adding window token", e);
+            }
+        } else {
+            Slog.w(TAG, "Failed binding to voice interaction session service "
+                    + mSessionComponentName);
+        }
+    }
+
+    public boolean showLocked(Bundle args, int flags) {
+        if (mBound) {
+            if (!mFullyBound) {
+                mFullyBound = mContext.bindServiceAsUser(mBindIntent, mFullConnection,
+                        Context.BIND_AUTO_CREATE|Context.BIND_TREAT_LIKE_ACTIVITY,
+                        new UserHandle(mUser));
+            }
+            mShown = true;
+            mShowArgs = args;
+            mShowFlags = flags;
+            if ((flags&VoiceInteractionService.START_WITH_ASSIST) != 0) {
+                try {
+                    mAm.requestAssistContextExtras(ActivityManager.ASSIST_CONTEXT_FULL,
+                            mAssistReceiver);
+                } catch (RemoteException e) {
+                }
+            } else {
+                mHaveAssistData = false;
+                mAssistData = null;
+            }
+            if (mSession != null) {
+                try {
+                    mSession.show(mShowArgs, mShowFlags);
+                    mShowArgs = null;
+                    mShowFlags = 0;
+                } catch (RemoteException e) {
+                }
+                deliverAssistData();
+            }
+            return true;
+        }
+        return false;
+    }
+
+    void grantUriPermission(Uri uri, int mode, int srcUid, int destUid, String destPkg) {
+        if (!"content".equals(uri.getScheme())) {
+            return;
+        }
+        long ident = Binder.clearCallingIdentity();
+        try {
+            // This will throw SecurityException for us.
+            mAm.checkGrantUriPermission(srcUid, null, ContentProvider.getUriWithoutUserId(uri),
+                    mode, ContentProvider.getUserIdFromUri(uri, UserHandle.getUserId(srcUid)));
+            // No security exception, do the grant.
+            int sourceUserId = ContentProvider.getUserIdFromUri(uri, mUser);
+            uri = ContentProvider.getUriWithoutUserId(uri);
+            mAm.grantUriPermissionFromOwner(mPermissionOwner, srcUid, destPkg,
+                    uri, Intent.FLAG_GRANT_READ_URI_PERMISSION, sourceUserId, mUser);
+        } catch (RemoteException e) {
+        } catch (SecurityException e) {
+            Slog.w(TAG, "Can't propagate permission", e);
+        } finally {
+            Binder.restoreCallingIdentity(ident);
+        }
+
+    }
+
+    void grantClipDataItemPermission(ClipData.Item item, int mode, int srcUid, int destUid,
+            String destPkg) {
+        if (item.getUri() != null) {
+            grantUriPermission(item.getUri(), mode, srcUid, destUid, destPkg);
+        }
+        Intent intent = item.getIntent();
+        if (intent != null && intent.getData() != null) {
+            grantUriPermission(intent.getData(), mode, srcUid, destUid, destPkg);
+        }
+    }
+
+    void grantClipDataPermissions(ClipData data, int mode, int srcUid, int destUid,
+            String destPkg) {
+        final int N = data.getItemCount();
+        for (int i=0; i<N; i++) {
+            grantClipDataItemPermission(data.getItemAt(i), mode, srcUid, destUid, destPkg);
+        }
+    }
+
+    void deliverAssistData() {
+        if (mSession == null || !mHaveAssistData) {
+            return;
+        }
+        if (mAssistData != null) {
+            int uid = mAssistData.getInt(Intent.EXTRA_ASSIST_UID, -1);
+            if (uid >= 0) {
+                Bundle assistContext = mAssistData.getBundle(Intent.EXTRA_ASSIST_CONTEXT);
+                if (assistContext != null) {
+                    AssistContent content = AssistContent.getAssistContent(assistContext);
+                    if (content != null) {
+                        Intent intent = content.getIntent();
+                        if (intent != null) {
+                            ClipData data = intent.getClipData();
+                            if (data != null && Intent.isAccessUriMode(intent.getFlags())) {
+                                grantClipDataPermissions(data, intent.getFlags(), uid,
+                                        mCallingUid, mSessionComponentName.getPackageName());
+                            }
+                        }
+                        ClipData data = content.getClipData();
+                        if (data != null) {
+                            grantClipDataPermissions(data, Intent.FLAG_GRANT_READ_URI_PERMISSION,
+                                    uid, mCallingUid, mSessionComponentName.getPackageName());
+                        }
+                    }
+                }
+            }
+        }
+        try {
+            mSession.handleAssist(mAssistData);
+            mAssistData = null;
+            mHaveAssistData = false;
+        } catch (RemoteException e) {
+        }
+    }
+
+    public boolean hideLocked() {
+        if (mBound) {
+            if (mShown) {
+                mShown = false;
+                mShowArgs = null;
+                mShowFlags = 0;
+                mHaveAssistData = false;
+                mAssistData = null;
+                if (mSession != null) {
+                    try {
+                        mSession.hide();
+                    } catch (RemoteException e) {
+                    }
+                }
+                try {
+                    mAm.revokeUriPermissionFromOwner(mPermissionOwner, null,
+                            Intent.FLAG_GRANT_READ_URI_PERMISSION
+                                    | Intent.FLAG_GRANT_WRITE_URI_PERMISSION,
+                            mUser);
+                } catch (RemoteException e) {
+                }
+            }
+            if (mFullyBound) {
+                mContext.unbindService(mFullConnection);
+                mFullyBound = false;
+            }
+            return true;
+        }
+        return false;
+    }
+
+    public boolean deliverNewSessionLocked(IVoiceInteractionSession session,
+            IVoiceInteractor interactor) {
+        mSession = session;
+        mInteractor = interactor;
+        if (mShown) {
+            try {
+                session.show(mShowArgs, mShowFlags);
+                mShowArgs = null;
+                mShowFlags = 0;
+            } catch (RemoteException e) {
+            }
+            if (mHaveAssistData) {
+                try {
+                    session.handleAssist(mAssistData);
+                    mAssistData = null;
+                    mHaveAssistData = false;
+                } catch (RemoteException e) {
+                }
+            }
+        }
+        return true;
+    }
+
+    @Override
+    public void onServiceConnected(ComponentName name, IBinder service) {
+        synchronized (mLock) {
+            mService = IVoiceInteractionSessionService.Stub.asInterface(service);
+            if (!mCanceled) {
+                try {
+                    mService.newSession(mToken, mShowArgs, mShowFlags);
+                } catch (RemoteException e) {
+                    Slog.w(TAG, "Failed adding window token", e);
+                }
+            }
+        }
+    }
+
+    @Override
+    public void onServiceDisconnected(ComponentName name) {
+        mCallback.sessionConnectionGone(this);
+        mService = null;
+    }
+
+    public void cancel() {
+        mCanceled = true;
+        if (mBound) {
+            if (mSession != null) {
+                try {
+                    mSession.destroy();
+                } catch (RemoteException e) {
+                    Slog.w(TAG, "Voice interation session already dead");
+                }
+            }
+            if (mSession != null) {
+                try {
+                    mAm.finishVoiceTask(mSession);
+                } catch (RemoteException e) {
+                }
+            }
+            mContext.unbindService(this);
+            try {
+                mIWindowManager.removeWindowToken(mToken);
+            } catch (RemoteException e) {
+                Slog.w(TAG, "Failed removing window token", e);
+            }
+            mBound = false;
+            mService = null;
+            mSession = null;
+            mInteractor = null;
+        }
+        if (mFullyBound) {
+            mContext.unbindService(mFullConnection);
+            mFullyBound = false;
+        }
+    }
+
+    public void dump(String prefix, PrintWriter pw) {
+        pw.print(prefix); pw.print("mToken="); pw.println(mToken);
+        pw.print(prefix); pw.print("mShown="); pw.println(mShown);
+        pw.print(prefix); pw.print("mShowArgs="); pw.println(mShowArgs);
+        pw.print(prefix); pw.print("mShowFlags=0x"); pw.println(Integer.toHexString(mShowFlags));
+        pw.print(prefix); pw.print("mBound="); pw.println(mBound);
+        if (mBound) {
+            pw.print(prefix); pw.print("mService="); pw.println(mService);
+            pw.print(prefix); pw.print("mSession="); pw.println(mSession);
+            pw.print(prefix); pw.print("mInteractor="); pw.println(mInteractor);
+        }
+        pw.print(prefix); pw.print("mHaveAssistData="); pw.println(mHaveAssistData);
+        if (mHaveAssistData) {
+            pw.print(prefix); pw.print("mAssistData="); pw.println(mAssistData);
+        }
+    }
+};
diff --git a/telecomm/java/android/telecom/AuthenticatorService.java b/telecomm/java/android/telecom/AuthenticatorService.java
new file mode 100644
index 0000000..39717c3
--- /dev/null
+++ b/telecomm/java/android/telecom/AuthenticatorService.java
@@ -0,0 +1,99 @@
+/*
+ * 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.telecom;
+import android.accounts.AbstractAccountAuthenticator;
+import android.accounts.Account;
+import android.accounts.AccountAuthenticatorResponse;
+import android.accounts.NetworkErrorException;
+import android.app.Service;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.IBinder;
+
+/**
+ * A generic stub account authenticator service often used for sync adapters that do not directly
+ * involve accounts.
+ */
+public class AuthenticatorService extends Service {
+    private static Authenticator mAuthenticator;
+
+    @Override
+    public void onCreate() {
+        mAuthenticator = new Authenticator(this);
+    }
+
+    @Override
+    public IBinder onBind(Intent intent) {
+        return mAuthenticator.getIBinder();
+    }
+
+    /**
+     * Stub account authenticator. All methods either return null or throw an exception.
+     */
+    public class Authenticator extends AbstractAccountAuthenticator {
+        public Authenticator(Context context) {
+            super(context);
+        }
+
+        @Override
+        public Bundle editProperties(AccountAuthenticatorResponse accountAuthenticatorResponse,
+                                     String s) {
+            throw new UnsupportedOperationException();
+        }
+
+        @Override
+        public Bundle addAccount(AccountAuthenticatorResponse accountAuthenticatorResponse,
+                                 String s, String s2, String[] strings, Bundle bundle)
+                throws NetworkErrorException {
+            return null;
+        }
+
+        @Override
+        public Bundle confirmCredentials(AccountAuthenticatorResponse accountAuthenticatorResponse,
+                                         Account account, Bundle bundle)
+                throws NetworkErrorException {
+            return null;
+        }
+
+        @Override
+        public Bundle getAuthToken(AccountAuthenticatorResponse accountAuthenticatorResponse,
+                                   Account account, String s, Bundle bundle)
+                throws NetworkErrorException {
+            throw new UnsupportedOperationException();
+        }
+
+        @Override
+        public String getAuthTokenLabel(String s) {
+            throw new UnsupportedOperationException();
+        }
+
+        @Override
+        public Bundle updateCredentials(AccountAuthenticatorResponse accountAuthenticatorResponse,
+                                        Account account, String s, Bundle bundle)
+                throws NetworkErrorException {
+            throw new UnsupportedOperationException();
+        }
+
+        @Override
+        public Bundle hasFeatures(AccountAuthenticatorResponse accountAuthenticatorResponse,
+                                  Account account, String[] strings)
+                throws NetworkErrorException {
+            throw new UnsupportedOperationException();
+        }
+    }
+}
diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java
index bbf3384..ab586515 100644
--- a/telecomm/java/android/telecom/Call.java
+++ b/telecomm/java/android/telecom/Call.java
@@ -141,28 +141,42 @@
         public static final int CAPABILITY_MANAGE_CONFERENCE = 0x00000080;
 
         /**
-         * Local device supports video telephony.
+         * Local device supports receiving video.
          * @hide
          */
-        public static final int CAPABILITY_SUPPORTS_VT_LOCAL = 0x00000100;
+        public static final int CAPABILITY_SUPPORTS_VT_LOCAL_RX = 0x00000100;
 
         /**
-         * Remote device supports video telephony.
+         * Local device supports transmitting video.
          * @hide
          */
-        public static final int CAPABILITY_SUPPORTS_VT_REMOTE = 0x00000200;
+        public static final int CAPABILITY_SUPPORTS_VT_LOCAL_TX = 0x00000200;
 
         /**
-         * Call is using high definition audio.
+         * Local device supports bidirectional video calling.
          * @hide
          */
-        public static final int CAPABILITY_HIGH_DEF_AUDIO = 0x00000400;
+        public static final int CAPABILITY_SUPPORTS_VT_LOCAL =
+                CAPABILITY_SUPPORTS_VT_LOCAL_RX | CAPABILITY_SUPPORTS_VT_LOCAL_TX;
 
         /**
-         * Call is using voice over WIFI.
+         * Remote device supports receiving video.
          * @hide
          */
-        public static final int CAPABILITY_VoWIFI = 0x00000800;
+        public static final int CAPABILITY_SUPPORTS_VT_REMOTE_RX = 0x00000400;
+
+        /**
+         * Remote device supports transmitting video.
+         * @hide
+         */
+        public static final int CAPABILITY_SUPPORTS_VT_REMOTE_TX = 0x00000800;
+
+        /**
+         * Remote device supports bidirectional video calling.
+         * @hide
+         */
+        public static final int CAPABILITY_SUPPORTS_VT_REMOTE =
+                CAPABILITY_SUPPORTS_VT_REMOTE_RX | CAPABILITY_SUPPORTS_VT_REMOTE_TX;
 
         /**
          * Call is able to be separated from its parent {@code Conference}, if any.
@@ -182,6 +196,29 @@
          */
         public static final int CAPABILITY_GENERIC_CONFERENCE = 0x00004000;
 
+        /**
+         * Call is using high definition audio.
+         * @hide
+         */
+        public static final int CAPABILITY_HIGH_DEF_AUDIO = 0x00008000;
+
+        /**
+         * Call is using WIFI.
+         * @hide
+         */
+        public static final int CAPABILITY_WIFI = 0x00010000;
+
+        //******************************************************************************************
+        // Next CAPABILITY value: 0x00020000
+        //******************************************************************************************
+
+        /**
+         * Indicates that the current device callback number should be shown.
+         *
+         * @hide
+         */
+        public static final int CAPABILITY_SHOW_CALLBACK_NUMBER = 0x00008000;
+
         private final Uri mHandle;
         private final int mHandlePresentation;
         private final String mCallerDisplayName;
@@ -249,21 +286,36 @@
             if (can(capabilities, CAPABILITY_MANAGE_CONFERENCE)) {
                 builder.append(" CAPABILITY_MANAGE_CONFERENCE");
             }
+            if (can(capabilities, CAPABILITY_SUPPORTS_VT_LOCAL_RX)) {
+                builder.append(" CAPABILITY_SUPPORTS_VT_LOCAL_RX");
+            }
+            if (can(capabilities, CAPABILITY_SUPPORTS_VT_LOCAL_TX)) {
+                builder.append(" CAPABILITY_SUPPORTS_VT_LOCAL_TX");
+            }
             if (can(capabilities, CAPABILITY_SUPPORTS_VT_LOCAL)) {
                 builder.append(" CAPABILITY_SUPPORTS_VT_LOCAL");
             }
+            if (can(capabilities, CAPABILITY_SUPPORTS_VT_REMOTE_RX)) {
+                builder.append(" CAPABILITY_SUPPORTS_VT_REMOTE_RX");
+            }
+            if (can(capabilities, CAPABILITY_SUPPORTS_VT_REMOTE_TX)) {
+                builder.append(" CAPABILITY_SUPPORTS_VT_REMOTE_TX");
+            }
             if (can(capabilities, CAPABILITY_SUPPORTS_VT_REMOTE)) {
                 builder.append(" CAPABILITY_SUPPORTS_VT_REMOTE");
             }
             if (can(capabilities, CAPABILITY_HIGH_DEF_AUDIO)) {
                 builder.append(" CAPABILITY_HIGH_DEF_AUDIO");
             }
-            if (can(capabilities, CAPABILITY_VoWIFI)) {
-                builder.append(" CAPABILITY_VoWIFI");
+            if (can(capabilities, CAPABILITY_WIFI)) {
+                builder.append(" CAPABILITY_WIFI");
             }
             if (can(capabilities, CAPABILITY_GENERIC_CONFERENCE)) {
                 builder.append(" CAPABILITY_GENERIC_CONFERENCE");
             }
+            if (can(capabilities, CAPABILITY_SHOW_CALLBACK_NUMBER)) {
+                builder.append(" CAPABILITY_SHOW_CALLBACK_NUMBER");
+            }
             builder.append("]");
             return builder.toString();
         }
diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java
index 108c0af..f7a19f8 100644
--- a/telecomm/java/android/telecom/Connection.java
+++ b/telecomm/java/android/telecom/Connection.java
@@ -106,28 +106,42 @@
     public static final int CAPABILITY_MANAGE_CONFERENCE = 0x00000080;
 
     /**
-     * Local device supports video telephony.
+     * Local device supports receiving video.
      * @hide
      */
-    public static final int CAPABILITY_SUPPORTS_VT_LOCAL = 0x00000100;
+    public static final int CAPABILITY_SUPPORTS_VT_LOCAL_RX = 0x00000100;
 
     /**
-     * Remote device supports video telephony.
+     * Local device supports transmitting video.
      * @hide
      */
-    public static final int CAPABILITY_SUPPORTS_VT_REMOTE = 0x00000200;
+    public static final int CAPABILITY_SUPPORTS_VT_LOCAL_TX = 0x00000200;
 
     /**
-     * Connection is using high definition audio.
+     * Local device supports bidirectional video calling.
      * @hide
      */
-    public static final int CAPABILITY_HIGH_DEF_AUDIO = 0x00000400;
+    public static final int CAPABILITY_SUPPORTS_VT_LOCAL =
+            CAPABILITY_SUPPORTS_VT_LOCAL_RX | CAPABILITY_SUPPORTS_VT_LOCAL_TX;
 
     /**
-     * Connection is using voice over WIFI.
+     * Remote device supports receiving video.
      * @hide
      */
-    public static final int CAPABILITY_VoWIFI = 0x00000800;
+    public static final int CAPABILITY_SUPPORTS_VT_REMOTE_RX = 0x00000400;
+
+    /**
+     * Remote device supports transmitting video.
+     * @hide
+     */
+    public static final int CAPABILITY_SUPPORTS_VT_REMOTE_TX = 0x00000800;
+
+    /**
+     * Remote device supports bidirectional video calling.
+     * @hide
+     */
+    public static final int CAPABILITY_SUPPORTS_VT_REMOTE =
+            CAPABILITY_SUPPORTS_VT_REMOTE_RX | CAPABILITY_SUPPORTS_VT_REMOTE_TX;
 
     /**
      * Connection is able to be separated from its parent {@code Conference}, if any.
@@ -147,6 +161,31 @@
      */
     public static final int CAPABILITY_GENERIC_CONFERENCE = 0x00004000;
 
+    /**
+     * Connection is using high definition audio.
+     * @hide
+     */
+    public static final int CAPABILITY_HIGH_DEF_AUDIO = 0x00008000;
+
+    /**
+     * Connection is using WIFI.
+     * @hide
+     */
+    public static final int CAPABILITY_WIFI = 0x000010000;
+
+    //**********************************************************************************************
+    // Next CAPABILITY value: 0x00020000
+    //**********************************************************************************************
+
+    /**
+     * Indicates that the current device callback number should be shown.
+     *
+     * @hide
+     */
+    public static final int CAPABILITY_SHOW_CALLBACK_NUMBER = 0x00008000;
+
+
+
     // Flag controlling whether PII is emitted into the logs
     private static final boolean PII_DEBUG = Log.isLoggable(android.util.Log.DEBUG);
 
@@ -218,21 +257,36 @@
         if (can(capabilities, CAPABILITY_MANAGE_CONFERENCE)) {
             builder.append(" CAPABILITY_MANAGE_CONFERENCE");
         }
+        if (can(capabilities, CAPABILITY_SUPPORTS_VT_LOCAL_RX)) {
+            builder.append(" CAPABILITY_SUPPORTS_VT_LOCAL_RX");
+        }
+        if (can(capabilities, CAPABILITY_SUPPORTS_VT_LOCAL_TX)) {
+            builder.append(" CAPABILITY_SUPPORTS_VT_LOCAL_TX");
+        }
         if (can(capabilities, CAPABILITY_SUPPORTS_VT_LOCAL)) {
             builder.append(" CAPABILITY_SUPPORTS_VT_LOCAL");
         }
+        if (can(capabilities, CAPABILITY_SUPPORTS_VT_REMOTE_RX)) {
+            builder.append(" CAPABILITY_SUPPORTS_VT_REMOTE_RX");
+        }
+        if (can(capabilities, CAPABILITY_SUPPORTS_VT_REMOTE_TX)) {
+            builder.append(" CAPABILITY_SUPPORTS_VT_REMOTE_TX");
+        }
         if (can(capabilities, CAPABILITY_SUPPORTS_VT_REMOTE)) {
             builder.append(" CAPABILITY_SUPPORTS_VT_REMOTE");
         }
         if (can(capabilities, CAPABILITY_HIGH_DEF_AUDIO)) {
             builder.append(" CAPABILITY_HIGH_DEF_AUDIO");
         }
-        if (can(capabilities, CAPABILITY_VoWIFI)) {
-            builder.append(" CAPABILITY_VoWIFI");
+        if (can(capabilities, CAPABILITY_WIFI)) {
+            builder.append(" CAPABILITY_WIFI");
         }
         if (can(capabilities, CAPABILITY_GENERIC_CONFERENCE)) {
             builder.append(" CAPABILITY_GENERIC_CONFERENCE");
         }
+        if (can(capabilities, CAPABILITY_SHOW_CALLBACK_NUMBER)) {
+            builder.append(" CAPABILITY_SHOW_CALLBACK_NUMBER");
+        }
         builder.append("]");
         return builder.toString();
     }
diff --git a/telecomm/java/android/telecom/PhoneAccount.java b/telecomm/java/android/telecom/PhoneAccount.java
index a94c2f6..9eb2f5d 100644
--- a/telecomm/java/android/telecom/PhoneAccount.java
+++ b/telecomm/java/android/telecom/PhoneAccount.java
@@ -93,7 +93,6 @@
      * Flag indicating that this {@code PhoneAccount} is capable of placing video calls.
      * <p>
      * See {@link #getCapabilities}
-     * @hide
      */
     @SystemApi
     public static final int CAPABILITY_VIDEO_CALLING = 0x8;
diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java
index bcc1ccc4..ab7864b 100644
--- a/telecomm/java/android/telecom/TelecomManager.java
+++ b/telecomm/java/android/telecom/TelecomManager.java
@@ -77,6 +77,12 @@
             "android.telecom.action.CONNECTION_SERVICE_CONFIGURE";
 
     /**
+     * The {@link android.content.Intent} action used to show the call accessibility settings page.
+     */
+    public static final String ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS =
+            "android.telecom.action.SHOW_CALL_ACCESSIBILITY_SETTINGS";
+
+    /**
      * The {@link android.content.Intent} action used to show the call settings page.
      */
     public static final String ACTION_SHOW_CALL_SETTINGS =
@@ -98,6 +104,15 @@
             "android.telecom.action.CHANGE_PHONE_ACCOUNTS";
 
     /**
+     * The {@link android.content.Intent} action used indicate that a new phone account was
+     * just registered.
+     * @hide
+     */
+    @SystemApi
+    public static final String ACTION_PHONE_ACCOUNT_REGISTERED =
+            "android.telecom.action.PHONE_ACCOUNT_REGISTERED";
+
+    /**
      * Optional extra for {@link android.content.Intent#ACTION_CALL} containing a boolean that
      * determines whether the speakerphone should be automatically turned on for an outgoing call.
      */
@@ -504,7 +519,6 @@
      * @see #EXTRA_PHONE_ACCOUNT_HANDLE
      * @return A list of {@code PhoneAccountHandle} objects.
      *
-     * @hide
      */
     public List<PhoneAccountHandle> getCallCapablePhoneAccounts() {
         try {
diff --git a/telecomm/java/android/telecom/Voicemail.java b/telecomm/java/android/telecom/Voicemail.java
new file mode 100644
index 0000000..864c6b1
--- /dev/null
+++ b/telecomm/java/android/telecom/Voicemail.java
@@ -0,0 +1,266 @@
+/*
+ * 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.telecom;
+
+import android.net.Uri;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/**
+ * Represents a single voicemail stored in the voicemail content provider.
+ */
+public class Voicemail implements Parcelable {
+    private final Long mTimestamp;
+    private final String mNumber;
+    private final Long mId;
+    private final Long mDuration;
+    private final String mSource;
+    private final String mProviderData;
+    private final Uri mUri;
+    private final Boolean mIsRead;
+    private final Boolean mHasContent;
+
+    private Voicemail(Long timestamp, String number, Long id, Long duration, String source,
+            String providerData, Uri uri, Boolean isRead, Boolean hasContent) {
+        mTimestamp = timestamp;
+        mNumber = number;
+        mId = id;
+        mDuration = duration;
+        mSource = source;
+        mProviderData = providerData;
+        mUri = uri;
+        mIsRead = isRead;
+        mHasContent = hasContent;
+    }
+
+    /**
+     * Create a {@link Builder} for a new {@link Voicemail} to be inserted.
+     * <p>
+     * The number and the timestamp are mandatory for insertion.
+     */
+    public static Builder createForInsertion(long timestamp, String number) {
+        return new Builder().setNumber(number).setTimestamp(timestamp);
+    }
+
+    /**
+     * Builder pattern for creating a {@link Voicemail}. The builder must be created with the
+     * {@link #createForInsertion(long, String)} method.
+     * <p>
+     * This class is <b>not thread safe</b>
+     */
+    public static class Builder {
+        private Long mBuilderTimestamp;
+        private String mBuilderNumber;
+        private Long mBuilderId;
+        private Long mBuilderDuration;
+        private String mBuilderSourcePackage;
+        private String mBuilderSourceData;
+        private Uri mBuilderUri;
+        private Boolean mBuilderIsRead;
+        private boolean mBuilderHasContent;
+
+        /** You should use the correct factory method to construct a builder. */
+        private Builder() {
+        }
+
+        public Builder setNumber(String number) {
+            mBuilderNumber = number;
+            return this;
+        }
+
+        public Builder setTimestamp(long timestamp) {
+            mBuilderTimestamp = timestamp;
+            return this;
+        }
+
+        public Builder setId(long id) {
+            mBuilderId = id;
+            return this;
+        }
+
+        public Builder setDuration(long duration) {
+            mBuilderDuration = duration;
+            return this;
+        }
+
+        public Builder setSourcePackage(String sourcePackage) {
+            mBuilderSourcePackage = sourcePackage;
+            return this;
+        }
+
+        public Builder setSourceData(String sourceData) {
+            mBuilderSourceData = sourceData;
+            return this;
+        }
+
+        public Builder setUri(Uri uri) {
+            mBuilderUri = uri;
+            return this;
+        }
+
+        public Builder setIsRead(boolean isRead) {
+            mBuilderIsRead = isRead;
+            return this;
+        }
+
+        public Builder setHasContent(boolean hasContent) {
+            mBuilderHasContent = hasContent;
+            return this;
+        }
+
+        public Voicemail build() {
+            mBuilderId = mBuilderId == null ? -1 : mBuilderId;
+            mBuilderTimestamp = mBuilderTimestamp == null ? 0 : mBuilderTimestamp;
+            mBuilderDuration = mBuilderDuration == null ? 0: mBuilderDuration;
+            mBuilderIsRead = mBuilderIsRead == null ? false : mBuilderIsRead;
+            return new Voicemail(mBuilderTimestamp, mBuilderNumber, mBuilderId, mBuilderDuration,
+                    mBuilderSourcePackage, mBuilderSourceData, mBuilderUri, mBuilderIsRead,
+                    mBuilderHasContent);
+        }
+    }
+
+    /**
+     * The identifier of the voicemail in the content provider.
+     * <p>
+     * This may be missing in the case of a new {@link Voicemail} that we plan to insert into the
+     * content provider, since until it has been inserted we don't know what id it should have. If
+     * none is specified, we return -1.
+     */
+    public long getId() {
+        return mId;
+    }
+
+    /** The number of the person leaving the voicemail, empty string if unknown, null if not set. */
+    public String getNumber() {
+        return mNumber;
+    }
+
+    /** The timestamp the voicemail was received, in millis since the epoch, zero if not set. */
+    public long getTimestampMillis() {
+        return mTimestamp;
+    }
+
+    /** Gets the duration of the voicemail in millis, or zero if the field is not set. */
+    public long getDuration() {
+        return mDuration;
+    }
+
+    /**
+     * Returns the package name of the source that added this voicemail, or null if this field is
+     * not set.
+     */
+    public String getSourcePackage() {
+        return mSource;
+    }
+
+    /**
+     * Returns the application-specific data type stored with the voicemail, or null if this field
+     * is not set.
+     * <p>
+     * Source data is typically used as an identifier to uniquely identify the voicemail against
+     * the voicemail server. This is likely to be something like the IMAP UID, or some other
+     * server-generated identifying string.
+     */
+    public String getSourceData() {
+        return mProviderData;
+    }
+
+    /**
+     * Gets the Uri that can be used to refer to this voicemail, and to make it play.
+     * <p>
+     * Returns null if we don't know the Uri.
+     */
+    public Uri getUri() {
+        return mUri;
+    }
+
+    /**
+     * Tells us if the voicemail message has been marked as read.
+     * <p>
+     * Always returns false if this field has not been set, i.e. if hasRead() returns false.
+     */
+    public boolean isRead() {
+        return mIsRead;
+    }
+
+    /**
+     * Tells us if there is content stored at the Uri.
+     */
+    public boolean hasContent() {
+        return mHasContent;
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeLong(mTimestamp);
+        dest.writeCharSequence(mNumber);
+        dest.writeLong(mId);
+        dest.writeLong(mDuration);
+        dest.writeCharSequence(mSource);
+        dest.writeCharSequence(mProviderData);
+        if (mUri == null) {
+            dest.writeInt(0);
+        } else {
+            dest.writeInt(1);
+            mUri.writeToParcel(dest, flags);
+        }
+        if (mIsRead) {
+            dest.writeInt(1);
+        } else {
+            dest.writeInt(0);
+        }
+        if (mHasContent) {
+            dest.writeInt(1);
+        } else {
+            dest.writeInt(0);
+        }
+    }
+
+    public static final Creator<Voicemail> CREATOR
+            = new Creator<Voicemail>() {
+        @Override
+        public Voicemail createFromParcel(Parcel in) {
+            return new Voicemail(in);
+        }
+
+        @Override
+        public Voicemail[] newArray(int size) {
+            return new Voicemail[size];
+        }
+    };
+
+    private Voicemail(Parcel in) {
+        mTimestamp = in.readLong();
+        mNumber = (String) in.readCharSequence();
+        mId = in.readLong();
+        mDuration = in.readLong();
+        mSource = (String) in.readCharSequence();
+        mProviderData = (String) in.readCharSequence();
+        if (in.readInt() > 0) {
+            mUri = Uri.CREATOR.createFromParcel(in);
+        } else {
+            mUri = null;
+        }
+        mIsRead = in.readInt() > 0 ? true : false;
+        mHasContent = in.readInt() > 0 ? true : false;
+    }
+}
\ No newline at end of file
diff --git a/telephony/java/android/telephony/PhoneNumberUtils.java b/telephony/java/android/telephony/PhoneNumberUtils.java
index 69bb4bb..aae3ff6 100644
--- a/telephony/java/android/telephony/PhoneNumberUtils.java
+++ b/telephony/java/android/telephony/PhoneNumberUtils.java
@@ -37,8 +37,6 @@
 import android.text.style.TtsSpan;
 import android.util.SparseIntArray;
 
-import static com.android.internal.telephony.TelephonyProperties.PROPERTY_ICC_OPERATOR_ISO_COUNTRY;
-import static com.android.internal.telephony.TelephonyProperties.PROPERTY_OPERATOR_ISO_COUNTRY;
 import static com.android.internal.telephony.TelephonyProperties.PROPERTY_OPERATOR_IDP_STRING;
 
 import java.util.Locale;
diff --git a/telephony/java/android/telephony/PhoneStateListener.java b/telephony/java/android/telephony/PhoneStateListener.java
index fce4ae7..611dd7bd 100644
--- a/telephony/java/android/telephony/PhoneStateListener.java
+++ b/telephony/java/android/telephony/PhoneStateListener.java
@@ -27,13 +27,10 @@
 import android.telephony.Rlog;
 import android.telephony.ServiceState;
 import android.telephony.SignalStrength;
-import android.telephony.SubscriptionManager;
 import android.telephony.PreciseCallState;
 import android.telephony.PreciseDataConnectionState;
 
 import com.android.internal.telephony.IPhoneStateListener;
-import com.android.internal.telephony.PhoneConstants;
-
 import java.util.List;
 
 /**
diff --git a/telephony/java/android/telephony/PreciseCallState.java b/telephony/java/android/telephony/PreciseCallState.java
index a85df15..f246416 100644
--- a/telephony/java/android/telephony/PreciseCallState.java
+++ b/telephony/java/android/telephony/PreciseCallState.java
@@ -16,10 +16,8 @@
 
 package android.telephony;
 
-import android.os.Bundle;
 import android.os.Parcel;
 import android.os.Parcelable;
-import android.telephony.Rlog;
 import android.telephony.DisconnectCause;
 import android.telephony.PreciseDisconnectCause;
 
diff --git a/telephony/java/android/telephony/PreciseDataConnectionState.java b/telephony/java/android/telephony/PreciseDataConnectionState.java
index 87529fe..31c9a9e 100644
--- a/telephony/java/android/telephony/PreciseDataConnectionState.java
+++ b/telephony/java/android/telephony/PreciseDataConnectionState.java
@@ -16,10 +16,8 @@
 
 package android.telephony;
 
-import android.os.Bundle;
 import android.os.Parcel;
 import android.os.Parcelable;
-import android.telephony.Rlog;
 import android.telephony.TelephonyManager;
 import android.net.LinkProperties;
 
diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java
index 559a58c..cdecb33 100644
--- a/telephony/java/android/telephony/ServiceState.java
+++ b/telephony/java/android/telephony/ServiceState.java
@@ -148,7 +148,11 @@
     public static final int RIL_RADIO_TECHNOLOGY_GSM = 16;
     /** @hide */
     public static final int RIL_RADIO_TECHNOLOGY_TD_SCDMA = 17;
-
+    /**
+     * IWLAN
+     * @hide
+     */
+    public static final int RIL_RADIO_TECHNOLOGY_IWLAN = 18;
     /**
      * Available registration states for GSM, UMTS and CDMA.
      */
@@ -697,6 +701,9 @@
             case RIL_RADIO_TECHNOLOGY_GSM:
                 rtString = "GSM";
                 break;
+            case RIL_RADIO_TECHNOLOGY_IWLAN:
+                rtString = "IWLAN";
+                break;
             default:
                 rtString = "Unexpected";
                 Rlog.w(LOG_TAG, "Unexpected radioTechnology=" + rt);
@@ -1030,6 +1037,8 @@
             return TelephonyManager.NETWORK_TYPE_HSPAP;
         case ServiceState.RIL_RADIO_TECHNOLOGY_GSM:
             return TelephonyManager.NETWORK_TYPE_GSM;
+        case ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN:
+            return TelephonyManager.NETWORK_TYPE_IWLAN;
         default:
             return TelephonyManager.NETWORK_TYPE_UNKNOWN;
         }
@@ -1080,7 +1089,8 @@
                 || radioTechnology == RIL_RADIO_TECHNOLOGY_LTE
                 || radioTechnology == RIL_RADIO_TECHNOLOGY_HSPAP
                 || radioTechnology == RIL_RADIO_TECHNOLOGY_GSM
-                || radioTechnology == RIL_RADIO_TECHNOLOGY_TD_SCDMA;
+                || radioTechnology == RIL_RADIO_TECHNOLOGY_TD_SCDMA
+                || radioTechnology == RIL_RADIO_TECHNOLOGY_IWLAN;
     }
 
     /** @hide */
diff --git a/telephony/java/android/telephony/SubscriptionInfo.java b/telephony/java/android/telephony/SubscriptionInfo.java
index ca3c636..37ffa06 100644
--- a/telephony/java/android/telephony/SubscriptionInfo.java
+++ b/telephony/java/android/telephony/SubscriptionInfo.java
@@ -62,7 +62,8 @@
     private CharSequence mDisplayName;
 
     /**
-     * The string displayed to the user that identifies Subscription Provider Name
+     * String that identifies SPN/PLMN
+     * TODO : Add a new field that identifies only SPN for a sim
      */
     private CharSequence mCarrierName;
 
diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java
index aca94e9..08aec08 100644
--- a/telephony/java/android/telephony/SubscriptionManager.java
+++ b/telephony/java/android/telephony/SubscriptionManager.java
@@ -32,8 +32,6 @@
 import com.android.internal.telephony.IOnSubscriptionsChangedListener;
 import com.android.internal.telephony.ITelephonyRegistry;
 import com.android.internal.telephony.PhoneConstants;
-import com.android.internal.telephony.TelephonyProperties;
-
 import java.util.ArrayList;
 import java.util.List;
 
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index dda9626..eef91e1 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -42,9 +42,7 @@
 
 import java.io.FileInputStream;
 import java.io.IOException;
-import java.util.Arrays;
 import java.util.List;
-import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -1214,6 +1212,10 @@
     public static final int NETWORK_TYPE_HSPAP = 15;
     /** Current network is GSM {@hide} */
     public static final int NETWORK_TYPE_GSM = 16;
+     /** Current network is TD_SCDMA {@hide} */
+    public static final int NETWORK_TYPE_TD_SCDMA = 17;
+   /** Current network is IWLAN {@hide} */
+    public static final int NETWORK_TYPE_IWLAN = 18;
 
     /**
      * @return the NETWORK_TYPE_xxxx for current data connection.
@@ -1384,8 +1386,10 @@
             case NETWORK_TYPE_EVDO_B:
             case NETWORK_TYPE_EHRPD:
             case NETWORK_TYPE_HSPAP:
+            case NETWORK_TYPE_TD_SCDMA:
                 return NETWORK_CLASS_3_G;
             case NETWORK_TYPE_LTE:
+            case NETWORK_TYPE_IWLAN:
                 return NETWORK_CLASS_4_G;
             default:
                 return NETWORK_CLASS_UNKNOWN;
@@ -1445,6 +1449,10 @@
                 return "HSPA+";
             case NETWORK_TYPE_GSM:
                 return "GSM";
+            case NETWORK_TYPE_TD_SCDMA:
+                return "TD_SCDMA";
+            case NETWORK_TYPE_IWLAN:
+                return "IWLAN";
             default:
                 return "UNKNOWN";
         }
@@ -3718,6 +3726,34 @@
     }
 
     /**
+     * Whether the device supports configuring the DTMF tone length.
+     *
+     * @return {@code true} if the DTMF tone length can be changed, and {@code false} otherwise.
+     */
+    public boolean canChangeDtmfToneLength() {
+        try {
+            return getITelephony().canChangeDtmfToneLength();
+        } catch (RemoteException e) {
+            Log.e(TAG, "Error calling ITelephony#canChangeDtmfToneLength", e);
+        }
+        return false;
+    }
+
+    /**
+     * Whether the device is a world phone.
+     *
+     * @return {@code true} if the device is a world phone, and {@code false} otherwise.
+     */
+    public boolean isWorldPhone() {
+        try {
+            return getITelephony().isWorldPhone();
+        } catch (RemoteException e) {
+            Log.e(TAG, "Error calling ITelephony#isWorldPhone", e);
+        }
+        return false;
+    }
+
+    /**
      * This function retrieves value for setting "name+subId", and if that is not found
      * retrieves value for setting "name", and if that is not found uses def as default
      *
diff --git a/telephony/java/com/android/ims/ImsReasonInfo.java b/telephony/java/com/android/ims/ImsReasonInfo.java
index 0b1246b..9628915 100644
--- a/telephony/java/com/android/ims/ImsReasonInfo.java
+++ b/telephony/java/com/android/ims/ImsReasonInfo.java
@@ -25,26 +25,6 @@
  * @hide
  */
 public class ImsReasonInfo implements Parcelable {
-
-    /**
-     * Reason types, defines the error category.
-     *    UNSPECIFIED - unknown error reason
-     *    LOCAL - indicates the local/device error reason
-     *    LOCAL_TIMEOUT - indicates the local error reason when a specific timer is expired
-     *    STATUSCODE - indicates the interworking error reason by SIP status code received
-     *        from the network
-     *    MEDIA - indicates the media error reason (local resource, SDP parameter, etc.)
-     *    USER - indicates the error reason by the local or remote user
-     *    UT - indicates the error reason for the supplementary service configuration
-     */
-    public static final int TYPE_UNSPECIFIED = 0;
-    public static final int TYPE_LOCAL = 1;
-    public static final int TYPE_TIMEOUT = 2;
-    public static final int TYPE_STATUSCODE = 3;
-    public static final int TYPE_MEDIA = 4;
-    public static final int TYPE_USER = 5;
-    public static final int TYPE_UT = 8;
-
     /**
      * Specific code of each types
      */
@@ -229,23 +209,37 @@
     public static final int CODE_ECBM_NOT_SUPPORTED = 901;
 
     /**
+     * Ims Registration error code
+     */
+    public static final int CODE_REGISTRATION_ERROR = 1000;
+
+    /**
+     * CALL DROP error codes (Call could drop because of many reasons like Network not available,
+     *  handover, failed, etc)
+     */
+
+    /**
+     * CALL DROP error code for the case when a device is ePDG capable and when the user is on an
+     * active wifi call and at the edge of coverage and there is no qualified LTE network available
+     * to handover the call to. We get a handover NOT_TRIGERRED message from the modem. This error
+     * code is received as part of the handover message.
+     */
+    public static final int CODE_CALL_DROP_IWLAN_TO_LTE_UNAVAILABLE = 1100;
+
+    /**
      * Network string error messages.
      * mExtraMessage may have these values.
      */
     public static final String EXTRA_MSG_SERVICE_NOT_AUTHORIZED
             = "Forbidden. Not Authorized for Service";
 
-    // For reason type
-    public int mReasonType;
     // For main reason code
     public int mCode;
     // For the extra code value; it depends on the code value.
     public int mExtraCode;
     // For the additional message of the reason info.
     public String mExtraMessage;
-
     public ImsReasonInfo() {
-        mReasonType = TYPE_UNSPECIFIED;
         mCode = CODE_UNSPECIFIED;
         mExtraCode = CODE_UNSPECIFIED;
         mExtraMessage = null;
@@ -256,14 +250,12 @@
     }
 
     public ImsReasonInfo(int code, int extraCode) {
-        mReasonType = (int) (code / 100);
         mCode = code;
         mExtraCode = extraCode;
         mExtraMessage = null;
     }
 
     public ImsReasonInfo(int code, int extraCode, String extraMessage) {
-        mReasonType = (int) (code / 100);
         mCode = code;
         mExtraCode = extraCode;
         mExtraMessage = extraMessage;
@@ -291,20 +283,12 @@
     }
 
     /**
-     *
-     */
-    public int getReasonType() {
-        return mReasonType;
-    }
-
-    /**
      * Returns the string format of {@link ImsReasonInfo}
      *
      * @return the string format of {@link ImsReasonInfo}
      */
     public String toString() {
-        return "ImsReasonInfo :: {" + mReasonType + ", "
-                + mCode + ", " + mExtraCode + ", " + mExtraMessage + "}";
+        return "ImsReasonInfo :: {" + mCode + ", " + mExtraCode + ", " + mExtraMessage + "}";
     }
 
     @Override
@@ -314,14 +298,12 @@
 
     @Override
     public void writeToParcel(Parcel out, int flags) {
-        out.writeInt(mReasonType);
         out.writeInt(mCode);
         out.writeInt(mExtraCode);
         out.writeString(mExtraMessage);
     }
 
     private void readFromParcel(Parcel in) {
-        mReasonType = in.readInt();
         mCode = in.readInt();
         mExtraCode = in.readInt();
         mExtraMessage = in.readString();
diff --git a/telephony/java/com/android/ims/internal/IImsConfig.aidl b/telephony/java/com/android/ims/internal/IImsConfig.aidl
index c17637c..441e03e 100644
--- a/telephony/java/com/android/ims/internal/IImsConfig.aidl
+++ b/telephony/java/com/android/ims/internal/IImsConfig.aidl
@@ -20,31 +20,11 @@
 import com.android.ims.ImsConfigListener;
 
 /**
- * Provides APIs to get/set the IMS service capability/parameters.
- * The parameters can be configured by operator and/or user.
- * We define 4 storage locations for the IMS config items:
- * 1) Default config:For factory out device or device after factory data reset,
- * the default config is used to build the initial state of the master config value.
- * 2) Provisioned value: as the parameters provisioned by operator need to be preserved
- * across FDR(factory data reset)/BOTA(over the air software upgrade), the operator
- * provisioned items should be stored in memory location preserved across FDR/BOTA.
- * 3) Master value: as the provisioned value can override the user setting,
- * and the master config are used by IMS stack. They should be stored in the
- * storage based on IMS vendor implementations.
- * 4) User setting: For items can be changed by both user/operator, the user
- * setting should take effect in some cases. So the user setting should be stored in
- * database like setting.db.
+ * Provides APIs to get/set the IMS service feature/capability/parameters.
+ * The config items include:
+ * 1) Items provisioned by the operator.
+ * 2) Items configured by user. Mainly service feature class.
  *
- * Priority consideration if both operator/user can config the same item:
- * 1)  For feature config items, the master value is obtained from the provisioned value
- * masks with the user setting. Specifically the provisioned values overrides
- * the user setting if feature is provisioned off. Otherwise, user setting takes
- * effect.
- * 2) For non-feature config item: to be implemented based on cases.
- * Special cases considered as below:
- * 1) Factory out device, the master configuration is built from default config.
- * 2) For Factory data reset/SW upgrade device, the master config is built by
- * taking provisioned value overriding default config.
  * {@hide}
  */
 interface IImsConfig {
diff --git a/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl b/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl
index 1413e58..c910600 100644
--- a/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl
+++ b/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl
@@ -16,6 +16,7 @@
 
 package com.android.ims.internal;
 
+import com.android.ims.ImsReasonInfo;
 /**
  * A listener type for receiving notifications about the changes to
  * the IMS connection(registration).
@@ -29,9 +30,14 @@
     void registrationConnected();
 
     /**
+     * Notifies the application when the device is trying to connect the IMS network.
+     */
+    void registrationProgressing();
+
+    /**
      * Notifies the application when the device is disconnected from the IMS network.
      */
-    void registrationDisconnected();
+    void registrationDisconnected(in ImsReasonInfo imsReasonInfo);
 
     /**
      * Notifies the application when its suspended IMS connection is resumed,
diff --git a/telephony/java/com/android/internal/telephony/CallerInfoAsyncQuery.java b/telephony/java/com/android/internal/telephony/CallerInfoAsyncQuery.java
index aae7617..c754068 100644
--- a/telephony/java/com/android/internal/telephony/CallerInfoAsyncQuery.java
+++ b/telephony/java/com/android/internal/telephony/CallerInfoAsyncQuery.java
@@ -34,7 +34,6 @@
 import android.text.TextUtils;
 import android.telephony.Rlog;
 import android.telephony.SubscriptionManager;
-import android.util.Log;
 
 /**
  * Helper class to make it easier to run asynchronous caller-id lookup queries.
diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl
index 62c8746..3769dee 100644
--- a/telephony/java/com/android/internal/telephony/ITelephony.aidl
+++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl
@@ -863,11 +863,25 @@
     /**
      * Whether video calling has been enabled by the user.
      *
-     * @return {@code True} if the user has enabled video calling, {@code false} otherwise.
+     * @return {@code true} if the user has enabled video calling, {@code false} otherwise.
      */
     boolean isVideoCallingEnabled();
 
     /**
+     * Whether the DTMF tone length can be changed.
+     *
+     * @return {@code true} if the DTMF tone length can be changed.
+     */
+    boolean canChangeDtmfToneLength();
+
+    /**
+     * Whether the device is a world phone.
+     *
+     * @return {@code true} if the devices is a world phone.
+     */
+    boolean isWorldPhone();
+
+    /**
      * Get IMS Registration Status
      */
     boolean isImsRegistered();
diff --git a/telephony/java/com/android/internal/telephony/TelephonyIntents.java b/telephony/java/com/android/internal/telephony/TelephonyIntents.java
index 92cd468..85a489b 100644
--- a/telephony/java/com/android/internal/telephony/TelephonyIntents.java
+++ b/telephony/java/com/android/internal/telephony/TelephonyIntents.java
@@ -16,8 +16,6 @@
 
 package com.android.internal.telephony;
 
-import android.content.Intent;
-
 /**
  * The intents that the telephony services broadcast.
  *
diff --git a/telephony/java/com/android/internal/telephony/TelephonyProperties.java b/telephony/java/com/android/internal/telephony/TelephonyProperties.java
index c89208d..0fccfa5 100644
--- a/telephony/java/com/android/internal/telephony/TelephonyProperties.java
+++ b/telephony/java/com/android/internal/telephony/TelephonyProperties.java
@@ -204,9 +204,4 @@
      * Type: string ( default = silent, enable to = prompt )
      */
     static final String PROPERTY_MMS_TRANSACTION = "mms.transaction";
-
-    /**
-     * Set to the sim count.
-     */
-    static final String PROPERTY_SIM_COUNT = "ro.telephony.sim.count";
 }
diff --git a/test-runner/src/android/test/RenamingDelegatingContext.java b/test-runner/src/android/test/RenamingDelegatingContext.java
index 3d763c7..3c4da9e 100644
--- a/test-runner/src/android/test/RenamingDelegatingContext.java
+++ b/test-runner/src/android/test/RenamingDelegatingContext.java
@@ -107,7 +107,7 @@
     }
 
     /**
-     * @param context : the context that will be delagated.
+     * @param context : the context that will be delegated.
      * @param filePrefix : a prefix with which database and file names will be
      * prefixed.
      */
@@ -118,8 +118,8 @@
     }
 
     /**
-     * @param context : the context that will be delagated.
-     * @param fileContext : the context that file and db methods will be delgated to
+     * @param context : the context that will be delegated.
+     * @param fileContext : the context that file and db methods will be delegated to
      * @param filePrefix : a prefix with which database and file names will be
      * prefixed.
      */
diff --git a/tests/UsageStatsTest/src/com/android/tests/usagestats/UsageLogActivity.java b/tests/UsageStatsTest/src/com/android/tests/usagestats/UsageLogActivity.java
index d9a3b61..8e6daea 100644
--- a/tests/UsageStatsTest/src/com/android/tests/usagestats/UsageLogActivity.java
+++ b/tests/UsageStatsTest/src/com/android/tests/usagestats/UsageLogActivity.java
@@ -166,6 +166,9 @@
                 case UsageEvents.Event.CONFIGURATION_CHANGE:
                     return "Config change";
 
+                case UsageEvents.Event.INTERACTION:
+                    return "Interaction";
+
                 default:
                     return "Unknown: " + eventType;
             }
diff --git a/tests/VoiceInteraction/AndroidManifest.xml b/tests/VoiceInteraction/AndroidManifest.xml
index adf572c..36d5d98 100644
--- a/tests/VoiceInteraction/AndroidManifest.xml
+++ b/tests/VoiceInteraction/AndroidManifest.xml
@@ -16,7 +16,8 @@
                 android:label="Test Assist Proxy"
                 android:theme="@android:style/Theme.NoDisplay"
                 android:excludeFromRecents="true"
-                android:noHistory="true">
+                android:noHistory="true"
+                android:taskAffinity="">
             <intent-filter>
                 <action android:name="android.intent.action.ASSIST" />
                 <category android:name="android.intent.category.DEFAULT" />
diff --git a/tests/VoiceInteraction/res/layout/test_interaction.xml b/tests/VoiceInteraction/res/layout/test_interaction.xml
index c4e280e..f4648b57 100644
--- a/tests/VoiceInteraction/res/layout/test_interaction.xml
+++ b/tests/VoiceInteraction/res/layout/test_interaction.xml
@@ -48,4 +48,11 @@
         android:text="@string/abortVoice"
         />
 
+    <Button android:id="@+id/cancel"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="16dp"
+        android:text="@string/cancelVoice"
+    />
+
 </LinearLayout>
diff --git a/tests/VoiceInteraction/res/values/strings.xml b/tests/VoiceInteraction/res/values/strings.xml
index 7eec90c..9f99c97 100644
--- a/tests/VoiceInteraction/res/values/strings.xml
+++ b/tests/VoiceInteraction/res/values/strings.xml
@@ -22,6 +22,7 @@
     <string name="complete">Complete</string>
     <string name="abortVoice">Abort Voice</string>
     <string name="completeVoice">Complete Voice</string>
+    <string name="cancelVoice">Cancel</string>
 
 </resources>
 
diff --git a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/AssistProxyActivity.java b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/AssistProxyActivity.java
index fc04ff5..d0c5e36 100644
--- a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/AssistProxyActivity.java
+++ b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/AssistProxyActivity.java
@@ -28,7 +28,6 @@
         finish();
         Intent intent = new Intent(this, MainInteractionService.class);
         intent.setAction(Intent.ACTION_ASSIST);
-        intent.putExtras(getIntent());
-        startService(new Intent(this, MainInteractionService.class));
+        startService(intent);
     }
 }
diff --git a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/AssistVisualizer.java b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/AssistVisualizer.java
index 5d5ae2f..bae19a6 100644
--- a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/AssistVisualizer.java
+++ b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/AssistVisualizer.java
@@ -17,7 +17,7 @@
 package com.android.test.voiceinteraction;
 
 import android.annotation.Nullable;
-import android.app.AssistData;
+import android.app.AssistStructure;
 import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.Paint;
@@ -31,7 +31,7 @@
 public class AssistVisualizer extends View {
     static final String TAG = "AssistVisualizer";
 
-    AssistData mAssistData;
+    AssistStructure mAssistStructure;
     final Paint mFramePaint = new Paint();
     final ArrayList<Rect> mTextRects = new ArrayList<>();
     final int[] mTmpLocation = new int[2];
@@ -44,20 +44,25 @@
         mFramePaint.setStrokeWidth(0);
     }
 
-    public void setAssistData(AssistData ad) {
-        mAssistData = ad;
+    public void setAssistStructure(AssistStructure as) {
+        mAssistStructure = as;
         mTextRects.clear();
-        final int N = ad.getWindowCount();
+        final int N = as.getWindowCount();
         if (N > 0) {
-            AssistData.ViewNode window = new AssistData.ViewNode();
+            AssistStructure.ViewNode window = new AssistStructure.ViewNode();
             for (int i=0; i<N; i++) {
-                ad.getWindowAt(i, window);
+                as.getWindowAt(i, window);
                 buildTextRects(window, 0, 0);
             }
         }
     }
 
-    void buildTextRects(AssistData.ViewNode root, int parentLeft, int parentTop) {
+    public void clearAssistData() {
+        mAssistStructure = null;
+        mTextRects.clear();
+    }
+
+    void buildTextRects(AssistStructure.ViewNode root, int parentLeft, int parentTop) {
         if (root.getVisibility() != View.VISIBLE) {
             return;
         }
@@ -73,7 +78,7 @@
         if (N > 0) {
             left -= root.getScrollX();
             top -= root.getScrollY();
-            AssistData.ViewNode child = new AssistData.ViewNode();
+            AssistStructure.ViewNode child = new AssistStructure.ViewNode();
             for (int i=0; i<N; i++) {
                 root.getChildAt(i, child);
                 buildTextRects(child, left, top);
diff --git a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionService.java b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionService.java
index 2cab3ea..722b0de 100644
--- a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionService.java
+++ b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionService.java
@@ -79,12 +79,7 @@
             Bundle args = new Bundle();
             args.putParcelable("intent", new Intent(this, TestInteractionActivity.class));
             args.putBundle("assist", intent.getExtras());
-            Bundle assistContext = intent.getBundleExtra(Intent.EXTRA_ASSIST_CONTEXT);
-            int startFlags = 0;
-            if (assistContext == null) {
-                startFlags |= START_WITH_ASSIST;
-            }
-            startSession(args, startFlags);
+            startSession(args, START_WITH_ASSIST);
         } else {
             Log.w(TAG, "Not starting -- not current voice interaction service");
         }
diff --git a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java
index 1aeb98a..bcfc6f4 100644
--- a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java
+++ b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java
@@ -16,7 +16,8 @@
 
 package com.android.test.voiceinteraction;
 
-import android.app.AssistData;
+import android.app.AssistContent;
+import android.app.AssistStructure;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
@@ -41,7 +42,7 @@
     Button mCompleteButton;
     Button mAbortButton;
 
-    AssistData mAssistData;
+    AssistStructure mAssistStructure;
 
     static final int STATE_IDLE = 0;
     static final int STATE_LAUNCHING = 1;
@@ -49,6 +50,7 @@
     static final int STATE_COMMAND = 3;
     static final int STATE_ABORT_VOICE = 4;
     static final int STATE_COMPLETE_VOICE = 5;
+    static final int STATE_DONE=6;
 
     int mState = STATE_IDLE;
     Request mPendingRequest;
@@ -60,20 +62,35 @@
     @Override
     public void onCreate(Bundle args, int startFlags) {
         super.onCreate(args);
-        showWindow();
+    }
+
+    @Override
+    public void onShow(Bundle args, int showFlags) {
+        super.onShow(args, showFlags);
+        mState = STATE_IDLE;
         mStartIntent = args.getParcelable("intent");
-        Bundle assist = args.getBundle("assist");
-        if (assist != null) {
-            parseAssistData(assist);
+        if (mAssistVisualizer != null) {
+            mAssistVisualizer.clearAssistData();
         }
+        updateState();
+    }
+
+    @Override
+    public void onHide() {
+        super.onHide();
+        if (mAssistVisualizer != null) {
+            mAssistVisualizer.clearAssistData();
+        }
+        mState = STATE_DONE;
+        updateState();
     }
 
     @Override
     public View onCreateContentView() {
         mContentView = getLayoutInflater().inflate(R.layout.voice_interaction_session, null);
         mAssistVisualizer = (AssistVisualizer)mContentView.findViewById(R.id.assist_visualizer);
-        if (mAssistData != null) {
-            mAssistVisualizer.setAssistData(mAssistData);
+        if (mAssistStructure != null) {
+            mAssistVisualizer.setAssistStructure(mAssistStructure);
         }
         mTopContent = mContentView.findViewById(R.id.top_content);
         mBottomContent = mContentView.findViewById(R.id.bottom_content);
@@ -86,7 +103,6 @@
         mCompleteButton.setOnClickListener(this);
         mAbortButton = (Button)mContentView.findViewById(R.id.abort);
         mAbortButton.setOnClickListener(this);
-        updateState();
         return mContentView;
     }
 
@@ -100,23 +116,42 @@
     }
 
     void parseAssistData(Bundle assistBundle) {
-        Bundle assistContext = assistBundle.getBundle(Intent.EXTRA_ASSIST_CONTEXT);
-        if (assistContext != null) {
-            mAssistData = AssistData.getAssistData(assistContext);
-            mAssistData.dump();
-            if (mAssistVisualizer != null) {
-                mAssistVisualizer.setAssistData(mAssistData);
+        if (assistBundle != null) {
+            Bundle assistContext = assistBundle.getBundle(Intent.EXTRA_ASSIST_CONTEXT);
+            if (assistContext != null) {
+                mAssistStructure = AssistStructure.getAssistStructure(assistContext);
+                if (mAssistStructure != null) {
+                    mAssistStructure.dump();
+                    if (mAssistVisualizer != null) {
+                        mAssistVisualizer.setAssistStructure(mAssistStructure);
+                    }
+                }
+                AssistContent content = AssistContent.getAssistContent(assistContext);
+                if (content != null) {
+                    Log.i(TAG, "Assist intent: " + content.getIntent());
+                    Log.i(TAG, "Assist clipdata: " + content.getClipData());
+                }
+                return;
             }
         }
+        if (mAssistVisualizer != null) {
+            mAssistVisualizer.clearAssistData();
+        }
     }
 
     void updateState() {
         if (mState == STATE_IDLE) {
             mTopContent.setVisibility(View.VISIBLE);
             mBottomContent.setVisibility(View.GONE);
+            mAssistVisualizer.setVisibility(View.VISIBLE);
+        } else if (mState == STATE_DONE) {
+            mTopContent.setVisibility(View.GONE);
+            mBottomContent.setVisibility(View.GONE);
+            mAssistVisualizer.setVisibility(View.GONE);
         } else {
             mTopContent.setVisibility(View.GONE);
             mBottomContent.setVisibility(View.VISIBLE);
+            mAssistVisualizer.setVisibility(View.GONE);
         }
         mStartButton.setEnabled(mState == STATE_IDLE);
         mConfirmButton.setEnabled(mState == STATE_CONFIRM || mState == STATE_COMMAND);
@@ -136,18 +171,12 @@
                 mPendingRequest.sendCommandResult(true, null);
             }
             mPendingRequest = null;
-            mState = STATE_IDLE;
-            updateState();
         } else if (v == mAbortButton) {
             mPendingRequest.sendAbortVoiceResult(null);
             mPendingRequest = null;
-            mState = STATE_IDLE;
-            updateState();
         } else if (v== mCompleteButton) {
             mPendingRequest.sendCompleteVoiceResult(null);
             mPendingRequest = null;
-            mState = STATE_IDLE;
-            updateState();
         }
     }
 
diff --git a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
index 8522cdc..023e0ec 100644
--- a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
+++ b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
@@ -31,8 +31,10 @@
     static final String TAG = "TestInteractionActivity";
 
     VoiceInteractor mInteractor;
+    VoiceInteractor.Request mCurrentRequest = null;
     Button mAbortButton;
     Button mCompleteButton;
+    Button mCancelButton;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -56,9 +58,11 @@
         mAbortButton.setOnClickListener(this);
         mCompleteButton = (Button)findViewById(R.id.complete);
         mCompleteButton.setOnClickListener(this);
+        mCancelButton = (Button)findViewById(R.id.cancel);
+        mCancelButton.setOnClickListener(this);
 
         mInteractor = getVoiceInteractor();
-        VoiceInteractor.ConfirmationRequest req = new VoiceInteractor.ConfirmationRequest(
+        mCurrentRequest = new VoiceInteractor.ConfirmationRequest(
                 "This is a confirmation", null) {
             @Override
             public void onCancel() {
@@ -72,7 +76,7 @@
                 getActivity().finish();
             }
         };
-        mInteractor.submitRequest(req);
+        mInteractor.submitRequest(mCurrentRequest);
     }
 
     @Override
@@ -112,6 +116,9 @@
                 }
             };
             mInteractor.submitRequest(req);
+        } else if (v == mCancelButton && mCurrentRequest != null) {
+            Log.i(TAG, "Cancel request");
+            mCurrentRequest.cancel();
         }
     }
 
diff --git a/tools/aapt/Images.cpp b/tools/aapt/Images.cpp
index 5ab177b..063b4e6 100644
--- a/tools/aapt/Images.cpp
+++ b/tools/aapt/Images.cpp
@@ -481,8 +481,9 @@
 
     // assuming the image is a round rect, compute the radius by marching
     // diagonally from the top left corner towards the center
-    image->outlineAlpha = max(max_alpha_over_row(image->rows[innerMidY], innerStartX, innerEndX),
-            max_alpha_over_col(image->rows, innerMidX, innerStartY, innerStartY));
+    image->outlineAlpha = std::max(
+        max_alpha_over_row(image->rows[innerMidY], innerStartX, innerEndX),
+        max_alpha_over_col(image->rows, innerMidX, innerStartY, innerStartY));
 
     int diagonalInset = 0;
     find_max_opacity(image->rows, innerStartX, innerStartY, innerMidX, innerMidY, 1, 1,
diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp
index 6fbc17c..941a288 100644
--- a/tools/aapt/ResourceTable.cpp
+++ b/tools/aapt/ResourceTable.cpp
@@ -1807,7 +1807,7 @@
         }
 
         const ResTable& featureTable = featureAssetManager.getResources(false);
-        mTypeIdOffset = max(mTypeIdOffset,
+        mTypeIdOffset = std::max(mTypeIdOffset,
                 findLargestTypeIdForPackage(featureTable, mAssetsPackage)); 
     }
 
@@ -2703,20 +2703,16 @@
     const String8 defaultLocale;
 
     // For all strings...
-    for (map<String16, map<String8, SourcePos> >::iterator nameIter = mLocalizations.begin();
-         nameIter != mLocalizations.end();
-         nameIter++) {
-        const map<String8, SourcePos>& configSrcMap = nameIter->second;
+    for (const auto& nameIter : mLocalizations) {
+        const std::map<String8, SourcePos>& configSrcMap = nameIter.second;
 
         // Look for strings with no default localization
         if (configSrcMap.count(defaultLocale) == 0) {
             SourcePos().warning("string '%s' has no default translation.",
-                    String8(nameIter->first).string());
+                    String8(nameIter.first).string());
             if (mBundle->getVerbose()) {
-                for (map<String8, SourcePos>::const_iterator locales = configSrcMap.begin();
-                    locales != configSrcMap.end();
-                    locales++) {
-                    locales->second.printf("locale %s found", locales->first.string());
+                for (const auto& locale : configSrcMap) {
+                    locale.second.printf("locale %s found", locale.first.string());
                 }
             }
             // !!! TODO: throw an error here in some circumstances
@@ -2727,8 +2723,8 @@
             const char* allConfigs = mBundle->getConfigurations().string();
             const char* start = allConfigs;
             const char* comma;
-            
-            set<String8> missingConfigs;
+
+            std::set<String8> missingConfigs;
             AaptLocaleValue locale;
             do {
                 String8 config;
@@ -2762,13 +2758,11 @@
 
             if (!missingConfigs.empty()) {
                 String8 configStr;
-                for (set<String8>::iterator iter = missingConfigs.begin();
-                     iter != missingConfigs.end();
-                     iter++) {
-                    configStr.appendFormat(" %s", iter->string());
+                for (const auto& iter : missingConfigs) {
+                    configStr.appendFormat(" %s", iter.string());
                 }
                 SourcePos().warning("string '%s' is missing %u required localizations:%s",
-                        String8(nameIter->first).string(),
+                        String8(nameIter.first).string(),
                         (unsigned int)missingConfigs.size(),
                         configStr.string());
             }
diff --git a/tools/aapt/ResourceTable.h b/tools/aapt/ResourceTable.h
index eef0ae1..9644224 100644
--- a/tools/aapt/ResourceTable.h
+++ b/tools/aapt/ResourceTable.h
@@ -17,8 +17,6 @@
 #include "StringPool.h"
 #include "Symbol.h"
 
-using namespace std;
-
 class XMLNode;
 class ResourceTable;
 
@@ -29,7 +27,7 @@
     XML_COMPILE_STRIP_WHITESPACE = 1<<3,
     XML_COMPILE_STRIP_RAW_VALUES = 1<<4,
     XML_COMPILE_UTF8 = 1<<5,
-    
+
     XML_COMPILE_STANDARD_RESOURCE =
             XML_COMPILE_STRIP_COMMENTS | XML_COMPILE_ASSIGN_ATTRIBUTE_IDS
             | XML_COMPILE_STRIP_WHITESPACE | XML_COMPILE_STRIP_RAW_VALUES
@@ -116,7 +114,7 @@
      * and would mess up iteration order for the existing
      * resources.
      */
-    queue<CompileResourceWorkItem>& getWorkQueue() {
+    std::queue<CompileResourceWorkItem>& getWorkQueue() {
         return mWorkQueue;
     }
 
@@ -587,10 +585,10 @@
     size_t mNumLocal;
     SourcePos mCurrentXmlPos;
     Bundle* mBundle;
-    
+
     // key = string resource name, value = set of locales in which that name is defined
-    map<String16, map<String8, SourcePos> > mLocalizations;
-    queue<CompileResourceWorkItem> mWorkQueue;
+    std::map<String16, std::map<String8, SourcePos>> mLocalizations;
+    std::queue<CompileResourceWorkItem> mWorkQueue;
 };
 
 #endif
diff --git a/tools/layoutlib/.idea/codeStyleSettings.xml b/tools/layoutlib/.idea/codeStyleSettings.xml
index 1f08f09..89f7b34 100644
--- a/tools/layoutlib/.idea/codeStyleSettings.xml
+++ b/tools/layoutlib/.idea/codeStyleSettings.xml
@@ -40,7 +40,6 @@
           <option name="XML_LEGACY_SETTINGS_IMPORTED" value="true" />
         </XML>
         <codeStyleSettings language="JAVA">
-          <option name="INDENT_CASE_FROM_SWITCH" value="false" />
           <option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
           <option name="CALL_PARAMETERS_WRAP" value="1" />
           <option name="METHOD_PARAMETERS_WRAP" value="1" />
diff --git a/tools/layoutlib/.idea/libraries/layoutlib_api_prebuilt.xml b/tools/layoutlib/.idea/libraries/layoutlib_api_prebuilt.xml
index 5952002..a873600 100644
--- a/tools/layoutlib/.idea/libraries/layoutlib_api_prebuilt.xml
+++ b/tools/layoutlib/.idea/libraries/layoutlib_api_prebuilt.xml
@@ -5,7 +5,7 @@
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="file://$ANDROID_SRC$/tools/base/layoutlib-api/src/main/java" />
+      <root url="jar://$PROJECT_DIR$/../../../../prebuilts/misc/common/layoutlib_api/layoutlib_api-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
diff --git a/tools/layoutlib/.idea/misc.xml b/tools/layoutlib/.idea/misc.xml
index fa48f70..94bcd36 100644
--- a/tools/layoutlib/.idea/misc.xml
+++ b/tools/layoutlib/.idea/misc.xml
@@ -9,7 +9,33 @@
   <component name="FrameworkDetectionExcludesConfiguration">
     <type id="android" />
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.7" project-jdk-type="JavaSDK">
+  <component name="NullableNotNullManager">
+    <option name="myDefaultNullable" value="com.android.annotations.Nullable" />
+    <option name="myDefaultNotNull" value="com.android.annotations.NonNull" />
+    <option name="myNullables">
+      <value>
+        <list size="5">
+          <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
+          <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
+          <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
+          <item index="3" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
+          <item index="4" class="java.lang.String" itemvalue="com.android.annotations.Nullable" />
+        </list>
+      </value>
+    </option>
+    <option name="myNotNulls">
+      <value>
+        <list size="5">
+          <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
+          <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
+          <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
+          <item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
+          <item index="4" class="java.lang.String" itemvalue="com.android.annotations.NonNull" />
+        </list>
+      </value>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" default="false" assert-keyword="true" jdk-15="true" project-jdk-name="1.6" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/out" />
   </component>
 </project>
\ No newline at end of file
diff --git a/tools/layoutlib/bridge/src/android/content/res/BridgeResources.java b/tools/layoutlib/bridge/src/android/content/res/BridgeResources.java
index 66126af..96ca250 100644
--- a/tools/layoutlib/bridge/src/android/content/res/BridgeResources.java
+++ b/tools/layoutlib/bridge/src/android/content/res/BridgeResources.java
@@ -178,11 +178,21 @@
         Pair<String, ResourceValue> value = getResourceValue(id, mPlatformResourceFlag);
 
         if (value != null) {
+            ResourceValue resourceValue = value.getSecond();
             try {
-                return ResourceHelper.getColor(value.getSecond().getValue());
+                return ResourceHelper.getColor(resourceValue.getValue());
             } catch (NumberFormatException e) {
-                Bridge.getLog().error(LayoutLog.TAG_RESOURCES_FORMAT, e.getMessage(), e,
-                        null /*data*/);
+                // Check if the value passed is a file. If it is, mostly likely, user is referencing
+                // a color state list from a place where they should reference only a pure color.
+                String message;
+                if (new File(resourceValue.getValue()).isFile()) {
+                    String resource = (resourceValue.isFramework() ? "@android:" : "@") + "color/"
+                      + resourceValue.getName();
+                    message = "Hexadecimal color expected, found Color State List for " + resource;
+                } else {
+                    message = e.getMessage();
+                }
+                Bridge.getLog().error(LayoutLog.TAG_RESOURCES_FORMAT, message, e, null);
                 return 0;
             }
         }
diff --git a/tools/layoutlib/bridge/src/android/graphics/Bitmap_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/Bitmap_Delegate.java
index 8d24d38..970b9d0 100644
--- a/tools/layoutlib/bridge/src/android/graphics/Bitmap_Delegate.java
+++ b/tools/layoutlib/bridge/src/android/graphics/Bitmap_Delegate.java
@@ -76,13 +76,6 @@
     // ---- Public Helper methods ----
 
     /**
-     * Returns the native delegate associated to a given {@link Bitmap_Delegate} object.
-     */
-    public static Bitmap_Delegate getDelegate(Bitmap bitmap) {
-        return sManager.getDelegate(bitmap.mNativeBitmap);
-    }
-
-    /**
      * Returns the native delegate associated to a given an int referencing a {@link Bitmap} object.
      */
     public static Bitmap_Delegate getDelegate(long native_bitmap) {
@@ -187,19 +180,6 @@
         return createBitmap(delegate, createFlags, density.getDpiValue());
     }
 
-    /**
-     * Returns the {@link BufferedImage} used by the delegate of the given {@link Bitmap}.
-     */
-    public static BufferedImage getImage(Bitmap bitmap) {
-        // get the delegate from the native int.
-        Bitmap_Delegate delegate = sManager.getDelegate(bitmap.mNativeBitmap);
-        if (delegate == null) {
-            return null;
-        }
-
-        return delegate.mImage;
-    }
-
     public static int getBufferedImageType(int nativeBitmapConfig) {
         switch (Config.nativeToConfig(nativeBitmapConfig)) {
             case ALPHA_8:
diff --git a/tools/layoutlib/bridge/src/android/graphics/BlendComposite.java b/tools/layoutlib/bridge/src/android/graphics/BlendComposite.java
index a3ec2cc..e4fcf1b 100644
--- a/tools/layoutlib/bridge/src/android/graphics/BlendComposite.java
+++ b/tools/layoutlib/bridge/src/android/graphics/BlendComposite.java
@@ -29,75 +29,31 @@
  * The class is adapted from a demo tool for Blending Modes written by
  * Romain Guy (romainguy@android.com). The tool is available at
  * http://www.curious-creature.org/2006/09/20/new-blendings-modes-for-java2d/
+ *
+ * This class has been adapted for applying color filters. When applying color filters, the src
+ * image should not extend beyond the dest image, but in our implementation of the filters, it does.
+ * To compensate for the effect, we recompute the alpha value of the src image before applying
+ * the color filter as it should have been applied.
  */
 public final class BlendComposite implements Composite {
     public enum BlendingMode {
-        NORMAL,
-        AVERAGE,
-        MULTIPLY,
-        SCREEN,
-        DARKEN,
-        LIGHTEN,
-        OVERLAY,
-        HARD_LIGHT,
-        SOFT_LIGHT,
-        DIFFERENCE,
-        NEGATION,
-        EXCLUSION,
-        COLOR_DODGE,
-        INVERSE_COLOR_DODGE,
-        SOFT_DODGE,
-        COLOR_BURN,
-        INVERSE_COLOR_BURN,
-        SOFT_BURN,
-        REFLECT,
-        GLOW,
-        FREEZE,
-        HEAT,
-        ADD,
-        SUBTRACT,
-        STAMP,
-        RED,
-        GREEN,
-        BLUE,
-        HUE,
-        SATURATION,
-        COLOR,
-        LUMINOSITY
-    }
+        MULTIPLY(),
+        SCREEN(),
+        DARKEN(),
+        LIGHTEN(),
+        OVERLAY(),
+        ADD();
 
-    public static final BlendComposite Normal = new BlendComposite(BlendingMode.NORMAL);
-    public static final BlendComposite Average = new BlendComposite(BlendingMode.AVERAGE);
-    public static final BlendComposite Multiply = new BlendComposite(BlendingMode.MULTIPLY);
-    public static final BlendComposite Screen = new BlendComposite(BlendingMode.SCREEN);
-    public static final BlendComposite Darken = new BlendComposite(BlendingMode.DARKEN);
-    public static final BlendComposite Lighten = new BlendComposite(BlendingMode.LIGHTEN);
-    public static final BlendComposite Overlay = new BlendComposite(BlendingMode.OVERLAY);
-    public static final BlendComposite HardLight = new BlendComposite(BlendingMode.HARD_LIGHT);
-    public static final BlendComposite SoftLight = new BlendComposite(BlendingMode.SOFT_LIGHT);
-    public static final BlendComposite Difference = new BlendComposite(BlendingMode.DIFFERENCE);
-    public static final BlendComposite Negation = new BlendComposite(BlendingMode.NEGATION);
-    public static final BlendComposite Exclusion = new BlendComposite(BlendingMode.EXCLUSION);
-    public static final BlendComposite ColorDodge = new BlendComposite(BlendingMode.COLOR_DODGE);
-    public static final BlendComposite InverseColorDodge = new BlendComposite(BlendingMode.INVERSE_COLOR_DODGE);
-    public static final BlendComposite SoftDodge = new BlendComposite(BlendingMode.SOFT_DODGE);
-    public static final BlendComposite ColorBurn = new BlendComposite(BlendingMode.COLOR_BURN);
-    public static final BlendComposite InverseColorBurn = new BlendComposite(BlendingMode.INVERSE_COLOR_BURN);
-    public static final BlendComposite SoftBurn = new BlendComposite(BlendingMode.SOFT_BURN);
-    public static final BlendComposite Reflect = new BlendComposite(BlendingMode.REFLECT);
-    public static final BlendComposite Glow = new BlendComposite(BlendingMode.GLOW);
-    public static final BlendComposite Freeze = new BlendComposite(BlendingMode.FREEZE);
-    public static final BlendComposite Heat = new BlendComposite(BlendingMode.HEAT);
-    public static final BlendComposite Add = new BlendComposite(BlendingMode.ADD);
-    public static final BlendComposite Subtract = new BlendComposite(BlendingMode.SUBTRACT);
-    public static final BlendComposite Stamp = new BlendComposite(BlendingMode.STAMP);
-    public static final BlendComposite Red = new BlendComposite(BlendingMode.RED);
-    public static final BlendComposite Green = new BlendComposite(BlendingMode.GREEN);
-    public static final BlendComposite Blue = new BlendComposite(BlendingMode.BLUE);
-    public static final BlendComposite Hue = new BlendComposite(BlendingMode.HUE);
-    public static final BlendComposite Saturation = new BlendComposite(BlendingMode.SATURATION);
-    public static final BlendComposite Color = new BlendComposite(BlendingMode.COLOR);
-    public static final BlendComposite Luminosity = new BlendComposite(BlendingMode.LUMINOSITY);
+        private final BlendComposite mComposite;
+
+        BlendingMode() {
+            mComposite = new BlendComposite(this);
+        }
+
+        BlendComposite getBlendComposite() {
+            return mComposite;
+        }
+    }
 
     private float alpha;
     private BlendingMode mode;
@@ -112,21 +68,16 @@
     }
 
     public static BlendComposite getInstance(BlendingMode mode) {
-        return new BlendComposite(mode);
+        return mode.getBlendComposite();
     }
 
     public static BlendComposite getInstance(BlendingMode mode, float alpha) {
+        if (alpha > 0.9999f) {
+            return getInstance(mode);
+        }
         return new BlendComposite(mode, alpha);
     }
 
-    public BlendComposite derive(BlendingMode mode) {
-        return this.mode == mode ? this : new BlendComposite(mode, getAlpha());
-    }
-
-    public BlendComposite derive(float alpha) {
-        return this.alpha == alpha ? this : new BlendComposite(getMode(), alpha);
-    }
-
     public float getAlpha() {
         return alpha;
     }
@@ -157,11 +108,7 @@
 
         BlendComposite bc = (BlendComposite) obj;
 
-        if (mode != bc.mode) {
-            return false;
-        }
-
-        return alpha == bc.alpha;
+        return mode == bc.mode && alpha == bc.alpha;
     }
 
     public CompositeContext createContext(ColorModel srcColorModel,
@@ -220,6 +167,11 @@
                         dstPixel[2] = (pixel      ) & 0xFF;
                         dstPixel[3] = (pixel >> 24) & 0xFF;
 
+                        // ---- Modified from original ----
+                        // recompute src pixel for transparency.
+                        srcPixel[3] *= dstPixel[3] / 0xFF;
+                        // ---- Modification ends ----
+
                         result = blender.blend(srcPixel, dstPixel, result);
 
                         // mixes the result with the opacity
@@ -246,123 +198,8 @@
     private static abstract class Blender {
         public abstract int[] blend(int[] src, int[] dst, int[] result);
 
-        private static void RGBtoHSL(int r, int g, int b, float[] hsl) {
-            float var_R = (r / 255f);
-            float var_G = (g / 255f);
-            float var_B = (b / 255f);
-
-            float var_Min;
-            float var_Max;
-            float del_Max;
-
-            if (var_R > var_G) {
-                var_Min = var_G;
-                var_Max = var_R;
-            } else {
-                var_Min = var_R;
-                var_Max = var_G;
-            }
-            if (var_B > var_Max) {
-                var_Max = var_B;
-            }
-            if (var_B < var_Min) {
-                var_Min = var_B;
-            }
-
-            del_Max = var_Max - var_Min;
-
-            float H, S, L;
-            L = (var_Max + var_Min) / 2f;
-
-            if (del_Max - 0.01f <= 0.0f) {
-                H = 0;
-                S = 0;
-            } else {
-                if (L < 0.5f) {
-                    S = del_Max / (var_Max + var_Min);
-                } else {
-                    S = del_Max / (2 - var_Max - var_Min);
-                }
-
-                float del_R = (((var_Max - var_R) / 6f) + (del_Max / 2f)) / del_Max;
-                float del_G = (((var_Max - var_G) / 6f) + (del_Max / 2f)) / del_Max;
-                float del_B = (((var_Max - var_B) / 6f) + (del_Max / 2f)) / del_Max;
-
-                if (var_R == var_Max) {
-                    H = del_B - del_G;
-                } else if (var_G == var_Max) {
-                    H = (1 / 3f) + del_R - del_B;
-                } else {
-                    H = (2 / 3f) + del_G - del_R;
-                }
-                if (H < 0) {
-                    H += 1;
-                }
-                if (H > 1) {
-                    H -= 1;
-                }
-            }
-
-            hsl[0] = H;
-            hsl[1] = S;
-            hsl[2] = L;
-        }
-
-        private static void HSLtoRGB(float h, float s, float l, int[] rgb) {
-            int R, G, B;
-
-            if (s - 0.01f <= 0.0f) {
-                R = (int) (l * 255.0f);
-                G = (int) (l * 255.0f);
-                B = (int) (l * 255.0f);
-            } else {
-                float var_1, var_2;
-                if (l < 0.5f) {
-                    var_2 = l * (1 + s);
-                } else {
-                    var_2 = (l + s) - (s * l);
-                }
-                var_1 = 2 * l - var_2;
-
-                R = (int) (255.0f * hue2RGB(var_1, var_2, h + (1.0f / 3.0f)));
-                G = (int) (255.0f * hue2RGB(var_1, var_2, h));
-                B = (int) (255.0f * hue2RGB(var_1, var_2, h - (1.0f / 3.0f)));
-            }
-
-            rgb[0] = R;
-            rgb[1] = G;
-            rgb[2] = B;
-        }
-
-        private static float hue2RGB(float v1, float v2, float vH) {
-            if (vH < 0.0f) {
-                vH += 1.0f;
-            }
-            if (vH > 1.0f) {
-                vH -= 1.0f;
-            }
-            if ((6.0f * vH) < 1.0f) {
-                return (v1 + (v2 - v1) * 6.0f * vH);
-            }
-            if ((2.0f * vH) < 1.0f) {
-                return (v2);
-            }
-            if ((3.0f * vH) < 2.0f) {
-                return (v1 + (v2 - v1) * ((2.0f / 3.0f) - vH) * 6.0f);
-            }
-            return (v1);
-        }
-
         public static Blender getBlenderFor(BlendComposite composite) {
             switch (composite.getMode()) {
-                case NORMAL:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            System.arraycopy(src, 0, result, 0, 4);
-                            return result;
-                        }
-                    };
                 case ADD:
                     return new Blender() {
                         @Override
@@ -373,65 +210,6 @@
                             return result;
                         }
                     };
-                case AVERAGE:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            for (int i = 0; i < 3; i++) {
-                                result[i] = (src[i] + dst[i]) >> 1;
-                            }
-                            result[3] = Math.min(255, src[3] + dst[3]);
-                            return result;
-                        }
-                    };
-                case BLUE:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            System.arraycopy(dst, 0, result, 0, 3);
-                            result[3] = Math.min(255, src[3] + dst[3]);
-                            return result;
-                        }
-                    };
-                case COLOR:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            float[] srcHSL = new float[3];
-                            RGBtoHSL(src[0], src[1], src[2], srcHSL);
-                            float[] dstHSL = new float[3];
-                            RGBtoHSL(dst[0], dst[1], dst[2], dstHSL);
-
-                            HSLtoRGB(srcHSL[0], srcHSL[1], dstHSL[2], result);
-                            result[3] = Math.min(255, src[3] + dst[3]);
-
-                            return result;
-                        }
-                    };
-                case COLOR_BURN:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            for (int i = 0; i < 3; i++) {
-                                result[i] = src[i] == 0 ? 0 :
-                                    Math.max(0, 255 - (((255 - dst[i]) << 8) / src[i]));
-                            }
-                            result[3] = Math.min(255, src[3] + dst[3]);
-                            return result;
-                        }
-                    };
-                case COLOR_DODGE:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            for (int i = 0; i < 3; i++) {
-                                result[i] = src[i] == 255 ? 255 :
-                                    Math.min((dst[i] << 8) / (255 - src[i]), 255);
-                            }
-                            result[3] = Math.min(255, src[3] + dst[3]);
-                            return result;
-                        }
-                    };
                 case DARKEN:
                     return new Blender() {
                         @Override
@@ -443,136 +221,6 @@
                             return result;
                         }
                     };
-                case DIFFERENCE:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            for (int i = 0; i < 3; i++) {
-                                result[i] = dst[i] + src[i] - (dst[i] * src[i] >> 7);
-                            }
-                            result[3] = Math.min(255, src[3] + dst[3]);
-                            return result;
-                        }
-                    };
-                case EXCLUSION:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            for (int i = 0; i < 3; i++) {
-                                result[i] = dst[i] + src[i] - (dst[i] * src[i] >> 7);
-                            }
-                            result[3] = Math.min(255, src[3] + dst[3]);
-                            return result;
-                        }
-                    };
-                case FREEZE:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            for (int i = 0; i < 3; i++) {
-                                result[i] = src[i] == 0 ? 0 :
-                                    Math.max(0, 255 - (255 - dst[i]) * (255 - dst[i]) / src[i]);
-                            }
-                            result[3] = Math.min(255, src[3] + dst[3]);
-                            return result;
-                        }
-                    };
-                case GLOW:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            for (int i = 0; i < 3; i++) {
-                                result[i] = dst[i] == 255 ? 255 :
-                                    Math.min(255, src[i] * src[i] / (255 - dst[i]));
-                            }
-                            result[3] = Math.min(255, src[3] + dst[3]);
-                            return result;
-                        }
-                    };
-                case GREEN:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            return new int[] {
-                                dst[0],
-                                dst[1],
-                                src[2],
-                                Math.min(255, src[3] + dst[3])
-                            };
-                        }
-                    };
-                case HARD_LIGHT:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            return new int[] {
-                                src[0] < 128 ? dst[0] * src[0] >> 7 :
-                                    255 - ((255 - src[0]) * (255 - dst[0]) >> 7),
-                                src[1] < 128 ? dst[1] * src[1] >> 7 :
-                                    255 - ((255 - src[1]) * (255 - dst[1]) >> 7),
-                                src[2] < 128 ? dst[2] * src[2] >> 7 :
-                                    255 - ((255 - src[2]) * (255 - dst[2]) >> 7),
-                                Math.min(255, src[3] + dst[3])
-                            };
-                        }
-                    };
-                case HEAT:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            return new int[] {
-                                dst[0] == 0 ? 0 : Math.max(0, 255 - (255 - src[0]) * (255 - src[0]) / dst[0]),
-                                dst[1] == 0 ? 0 : Math.max(0, 255 - (255 - src[1]) * (255 - src[1]) / dst[1]),
-                                dst[2] == 0 ? 0 : Math.max(0, 255 - (255 - src[2]) * (255 - src[2]) / dst[2]),
-                                Math.min(255, src[3] + dst[3])
-                            };
-                        }
-                    };
-                case HUE:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            float[] srcHSL = new float[3];
-                            RGBtoHSL(src[0], src[1], src[2], srcHSL);
-                            float[] dstHSL = new float[3];
-                            RGBtoHSL(dst[0], dst[1], dst[2], dstHSL);
-
-                            HSLtoRGB(srcHSL[0], dstHSL[1], dstHSL[2], result);
-                            result[3] = Math.min(255, src[3] + dst[3]);
-
-                            return result;
-                        }
-                    };
-                case INVERSE_COLOR_BURN:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            return new int[] {
-                                dst[0] == 0 ? 0 :
-                                    Math.max(0, 255 - (((255 - src[0]) << 8) / dst[0])),
-                                dst[1] == 0 ? 0 :
-                                    Math.max(0, 255 - (((255 - src[1]) << 8) / dst[1])),
-                                dst[2] == 0 ? 0 :
-                                    Math.max(0, 255 - (((255 - src[2]) << 8) / dst[2])),
-                                Math.min(255, src[3] + dst[3])
-                            };
-                        }
-                    };
-                case INVERSE_COLOR_DODGE:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            return new int[] {
-                                dst[0] == 255 ? 255 :
-                                    Math.min((src[0] << 8) / (255 - dst[0]), 255),
-                                dst[1] == 255 ? 255 :
-                                    Math.min((src[1] << 8) / (255 - dst[1]), 255),
-                                dst[2] == 255 ? 255 :
-                                    Math.min((src[2] << 8) / (255 - dst[2]), 255),
-                                Math.min(255, src[3] + dst[3])
-                            };
-                        }
-                    };
                 case LIGHTEN:
                     return new Blender() {
                         @Override
@@ -584,21 +232,6 @@
                             return result;
                         }
                     };
-                case LUMINOSITY:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            float[] srcHSL = new float[3];
-                            RGBtoHSL(src[0], src[1], src[2], srcHSL);
-                            float[] dstHSL = new float[3];
-                            RGBtoHSL(dst[0], dst[1], dst[2], dstHSL);
-
-                            HSLtoRGB(dstHSL[0], dstHSL[1], srcHSL[2], result);
-                            result[3] = Math.min(255, src[3] + dst[3]);
-
-                            return result;
-                        }
-                    };
                 case MULTIPLY:
                     return new Blender() {
                         @Override
@@ -606,22 +239,10 @@
                             for (int i = 0; i < 3; i++) {
                                 result[i] = (src[i] * dst[i]) >> 8;
                             }
-                            result[3] = Math.min(255, src[3] + dst[3]);
+                            result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255);
                             return result;
                         }
                     };
-                case NEGATION:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            return new int[] {
-                                255 - Math.abs(255 - dst[0] - src[0]),
-                                255 - Math.abs(255 - dst[1] - src[1]),
-                                255 - Math.abs(255 - dst[2] - src[2]),
-                                Math.min(255, src[3] + dst[3])
-                            };
-                        }
-                    };
                 case OVERLAY:
                     return new Blender() {
                         @Override
@@ -634,123 +255,15 @@
                             return result;
                         }
                     };
-                case RED:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            return new int[] {
-                                src[0],
-                                dst[1],
-                                dst[2],
-                                Math.min(255, src[3] + dst[3])
-                            };
-                        }
-                    };
-                case REFLECT:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            return new int[] {
-                                src[0] == 255 ? 255 : Math.min(255, dst[0] * dst[0] / (255 - src[0])),
-                                src[1] == 255 ? 255 : Math.min(255, dst[1] * dst[1] / (255 - src[1])),
-                                src[2] == 255 ? 255 : Math.min(255, dst[2] * dst[2] / (255 - src[2])),
-                                Math.min(255, src[3] + dst[3])
-                            };
-                        }
-                    };
-                case SATURATION:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            float[] srcHSL = new float[3];
-                            RGBtoHSL(src[0], src[1], src[2], srcHSL);
-                            float[] dstHSL = new float[3];
-                            RGBtoHSL(dst[0], dst[1], dst[2], dstHSL);
-
-                            HSLtoRGB(dstHSL[0], srcHSL[1], dstHSL[2], result);
-                            result[3] = Math.min(255, src[3] + dst[3]);
-
-                            return result;
-                        }
-                    };
                 case SCREEN:
                     return new Blender() {
                         @Override
                         public int[] blend(int[] src, int[] dst, int[] result) {
-                            return new int[] {
-                                255 - ((255 - src[0]) * (255 - dst[0]) >> 8),
-                                255 - ((255 - src[1]) * (255 - dst[1]) >> 8),
-                                255 - ((255 - src[2]) * (255 - dst[2]) >> 8),
-                                Math.min(255, src[3] + dst[3])
-                            };
-                        }
-                    };
-                case SOFT_BURN:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            return new int[] {
-                                dst[0] + src[0] < 256 ?
-	                                (dst[0] == 255 ? 255 :
-                                        Math.min(255, (src[0] << 7) / (255 - dst[0]))) :
-                                            Math.max(0, 255 - (((255 - dst[0]) << 7) / src[0])),
-                                dst[1] + src[1] < 256 ?
-	                                (dst[1] == 255 ? 255 :
-                                        Math.min(255, (src[1] << 7) / (255 - dst[1]))) :
-                                            Math.max(0, 255 - (((255 - dst[1]) << 7) / src[1])),
-                                dst[2] + src[2] < 256 ?
-	                                (dst[2] == 255 ? 255 :
-                                        Math.min(255, (src[2] << 7) / (255 - dst[2]))) :
-                                            Math.max(0, 255 - (((255 - dst[2]) << 7) / src[2])),
-                                Math.min(255, src[3] + dst[3])
-                            };
-                        }
-                    };
-                case SOFT_DODGE:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            return new int[] {
-                                dst[0] + src[0] < 256 ?
-                                    (src[0] == 255 ? 255 :
-                                        Math.min(255, (dst[0] << 7) / (255 - src[0]))) :
-                                            Math.max(0, 255 - (((255 - src[0]) << 7) / dst[0])),
-                                dst[1] + src[1] < 256 ?
-                                    (src[1] == 255 ? 255 :
-                                        Math.min(255, (dst[1] << 7) / (255 - src[1]))) :
-                                            Math.max(0, 255 - (((255 - src[1]) << 7) / dst[1])),
-                                dst[2] + src[2] < 256 ?
-                                    (src[2] == 255 ? 255 :
-                                        Math.min(255, (dst[2] << 7) / (255 - src[2]))) :
-                                            Math.max(0, 255 - (((255 - src[2]) << 7) / dst[2])),
-                                Math.min(255, src[3] + dst[3])
-                            };
-                        }
-                    };
-                case SOFT_LIGHT:
-                    break;
-                case STAMP:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            return new int[] {
-                                Math.max(0, Math.min(255, dst[0] + 2 * src[0] - 256)),
-                                Math.max(0, Math.min(255, dst[1] + 2 * src[1] - 256)),
-                                Math.max(0, Math.min(255, dst[2] + 2 * src[2] - 256)),
-                                Math.min(255, src[3] + dst[3])
-                            };
-                        }
-                    };
-                case SUBTRACT:
-                    return new Blender() {
-                        @Override
-                        public int[] blend(int[] src, int[] dst, int[] result) {
-                            return new int[] {
-                                Math.max(0, src[0] + dst[0] - 256),
-                                Math.max(0, src[1] + dst[1] - 256),
-                                Math.max(0, src[2] + dst[2] - 256),
-                                Math.min(255, src[3] + dst[3])
-                            };
+                            result[0] = 255 - ((255 - src[0]) * (255 - dst[0]) >> 8);
+                            result[1] = 255 - ((255 - src[1]) * (255 - dst[1]) >> 8);
+                            result[2] = 255 - ((255 - src[2]) * (255 - dst[2]) >> 8);
+                            result[3] = Math.min(255, src[3] + dst[3]);
+                            return result;
                         }
                     };
             }
diff --git a/tools/layoutlib/bridge/src/android/graphics/PorterDuffColorFilter_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/PorterDuffColorFilter_Delegate.java
index 4ac376c..1ca94dc 100644
--- a/tools/layoutlib/bridge/src/android/graphics/PorterDuffColorFilter_Delegate.java
+++ b/tools/layoutlib/bridge/src/android/graphics/PorterDuffColorFilter_Delegate.java
@@ -103,7 +103,7 @@
     // For filtering the colors, the src image should contain the "color" only for pixel values
     // which are not transparent in the target image. But, we are using a simple rectangular image
     // completely filled with color. Hence some Composite rules do not apply as intended. However,
-    // in such cases, they can usually be mapped to some other mode, which produces an
+    // in such cases, they can usually be mapped to some other mode, which produces an approximately
     // equivalent result.
     private Mode getCompatibleMode(Mode mode) {
         Mode m = mode;
diff --git a/tools/layoutlib/bridge/src/android/text/StaticLayout_Delegate.java b/tools/layoutlib/bridge/src/android/text/StaticLayout_Delegate.java
index 929d625..e24b3d5 100644
--- a/tools/layoutlib/bridge/src/android/text/StaticLayout_Delegate.java
+++ b/tools/layoutlib/bridge/src/android/text/StaticLayout_Delegate.java
@@ -1,6 +1,7 @@
 package android.text;
 
 import com.android.annotations.NonNull;
+import com.android.layoutlib.bridge.impl.DelegateManager;
 import com.android.tools.layoutlib.annotations.LayoutlibDelegate;
 
 import android.text.StaticLayout.LineBreaks;
@@ -27,14 +28,19 @@
     private static final char CHAR_NEWLINE   = 0x0A;
     private static final char CHAR_ZWSP      = 0x200B;  // Zero width space.
 
+    // ---- Builder delegate manager ----
+    private static final DelegateManager<Builder> sBuilderManager =
+        new DelegateManager<Builder>(Builder.class);
+
     @LayoutlibDelegate
-    /*package*/ static int nComputeLineBreaks(String locale, char[] inputText, float[] widths,
+    /*package*/ static int nComputeLineBreaks(long nativeBuilder, char[] inputText, float[] widths,
             int length, float firstWidth, int firstWidthLineCount, float restWidth,
             int[] variableTabStops, int defaultTabStop, boolean optimize, LineBreaks recycle,
             int[] recycleBreaks, float[] recycleWidths, boolean[] recycleFlags, int recycleLength) {
 
+        Builder builder = sBuilderManager.getDelegate(nativeBuilder);
         // compute all possible breakpoints.
-        BreakIterator it = BreakIterator.getLineInstance(new ULocale(locale));
+        BreakIterator it = BreakIterator.getLineInstance(new ULocale(builder.mLocale));
         it.setText(new Segment(inputText, 0, length));
         // average word length in english is 5. So, initialize the possible breaks with a guess.
         List<Integer> breaks = new ArrayList<Integer>((int) Math.ceil(length / 5d));
@@ -97,4 +103,32 @@
                 PrimitiveType.PENALTY.getNewPrimitive(length, 0, -PrimitiveType.PENALTY_INFINITY));
         return primitives;
     }
+
+    @LayoutlibDelegate
+    /*package*/ static long nNewBuilder() {
+        return sBuilderManager.addNewDelegate(new Builder());
+    }
+
+    @LayoutlibDelegate
+    /*package*/ static void nFinishBuilder(long nativeBuilder) {
+    }
+
+    @LayoutlibDelegate
+    /*package*/ static void nFreeBuilder(long nativeBuilder) {
+        sBuilderManager.removeJavaReferenceFor(nativeBuilder);
+    }
+
+    @LayoutlibDelegate
+    /*package*/ static void nBuilderSetLocale(long nativeBuilder, String locale) {
+        Builder builder = sBuilderManager.getDelegate(nativeBuilder);
+        builder.mLocale = locale;
+    }
+
+    /**
+     * Java representation of the native Builder class. It currently only stores the locale
+     * set by nBuilderSetLocale.
+     */
+    static class Builder {
+        String mLocale;
+    }
 }
diff --git a/tools/layoutlib/bridge/src/android/view/BridgeInflater.java b/tools/layoutlib/bridge/src/android/view/BridgeInflater.java
index 7e4ff69..8192b5f 100644
--- a/tools/layoutlib/bridge/src/android/view/BridgeInflater.java
+++ b/tools/layoutlib/bridge/src/android/view/BridgeInflater.java
@@ -22,9 +22,13 @@
 import com.android.ide.common.rendering.api.ResourceReference;
 import com.android.ide.common.rendering.api.ResourceValue;
 import com.android.layoutlib.bridge.Bridge;
+import com.android.layoutlib.bridge.BridgeConstants;
 import com.android.layoutlib.bridge.android.BridgeContext;
 import com.android.layoutlib.bridge.android.BridgeXmlBlockParser;
+import com.android.layoutlib.bridge.android.support.RecyclerViewUtil;
+import com.android.layoutlib.bridge.android.support.RecyclerViewUtil.LayoutManagerType;
 import com.android.layoutlib.bridge.impl.ParserFactory;
+import com.android.layoutlib.bridge.impl.RenderSessionImpl;
 import com.android.resources.ResourceType;
 import com.android.util.Pair;
 
@@ -111,8 +115,7 @@
         } catch (Exception e) {
             // Wrap the real exception in a ClassNotFoundException, so that the calling method
             // can deal with it.
-            ClassNotFoundException exception = new ClassNotFoundException("onCreateView", e);
-            throw exception;
+            throw new ClassNotFoundException("onCreateView", e);
         }
 
         setupViewInContext(view, attrs);
@@ -123,7 +126,7 @@
     @Override
     public View createViewFromTag(View parent, String name, AttributeSet attrs,
             boolean inheritContext) {
-        View view = null;
+        View view;
         try {
             view = super.createViewFromTag(parent, name, attrs, inheritContext);
         } catch (InflateException e) {
@@ -134,7 +137,7 @@
                 // Wrap the real exception in an InflateException so that the calling
                 // method can deal with it.
                 InflateException exception = new InflateException();
-                if (e2.getClass().equals(ClassNotFoundException.class) == false) {
+                if (!e2.getClass().equals(ClassNotFoundException.class)) {
                     exception.initCause(e2);
                 } else {
                     exception.initCause(e);
@@ -184,7 +187,7 @@
                         return inflate(bridgeParser, root);
                     } catch (Exception e) {
                         Bridge.getLog().error(LayoutLog.TAG_RESOURCES_READ,
-                                "Failed to parse file " + f.getAbsolutePath(), e, null /*data*/);
+                                "Failed to parse file " + f.getAbsolutePath(), e, null);
 
                         return null;
                     }
@@ -194,8 +197,7 @@
         return null;
     }
 
-    private View loadCustomView(String name, AttributeSet attrs) throws ClassNotFoundException,
-            Exception{
+    private View loadCustomView(String name, AttributeSet attrs) throws Exception {
         if (mProjectCallback != null) {
             // first get the classname in case it's not the node name
             if (name.equals("view")) {
@@ -227,6 +229,22 @@
             if (viewKey != null) {
                 bc.addViewKey(view, viewKey);
             }
+            if (RenderSessionImpl.isInstanceOf(view, RecyclerViewUtil.CN_RECYCLER_VIEW)) {
+                String type = attrs.getAttributeValue(BridgeConstants.NS_RESOURCES,
+                                BridgeConstants.ATTR_LAYOUT_MANAGER_TYPE);
+                if (type != null) {
+                    LayoutManagerType layoutManagerType = LayoutManagerType.getByLogicalName(type);
+                    if (layoutManagerType == null) {
+                        layoutManagerType = LayoutManagerType.getByClassName(type);
+                    }
+                    if (layoutManagerType == null) {
+                        // add the classname itself.
+                        bc.addCookie(view, type);
+                    } else {
+                        bc.addCookie(view, layoutManagerType);
+                    }
+                }
+            }
         }
     }
 
diff --git a/tools/layoutlib/bridge/src/android/view/ShadowPainter.java b/tools/layoutlib/bridge/src/android/view/ShadowPainter.java
index 38846bd..a0db7bf 100644
--- a/tools/layoutlib/bridge/src/android/view/ShadowPainter.java
+++ b/tools/layoutlib/bridge/src/android/view/ShadowPainter.java
@@ -65,6 +65,9 @@
     @SuppressWarnings({"SuspiciousNameCombination", "UnnecessaryLocalVariable"})  // Imported code
     public static BufferedImage createDropShadow(BufferedImage source, int shadowSize,
             float shadowOpacity, int shadowRgb) {
+        if (shadowSize == 0) {
+            return source;
+        }
 
         // This code is based on
         //      http://www.jroller.com/gfx/entry/non_rectangular_shadow
diff --git a/tools/layoutlib/bridge/src/android/view/WindowCallback.java b/tools/layoutlib/bridge/src/android/view/WindowCallback.java
index 78242a8..823b247 100644
--- a/tools/layoutlib/bridge/src/android/view/WindowCallback.java
+++ b/tools/layoutlib/bridge/src/android/view/WindowCallback.java
@@ -120,6 +120,11 @@
     }
 
     @Override
+    public ActionMode onWindowStartingActionMode(Callback callback, int type) {
+        return null;
+    }
+
+    @Override
     public void onActionModeStarted(ActionMode mode) {
 
     }
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java
index 4d2c2fc..c6d60f8 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java
@@ -181,7 +181,7 @@
      */
     private static LayoutLog sCurrentLog = sDefaultLog;
 
-    private static final int LAST_SUPPORTED_FEATURE = Features.PREFERENCES_RENDERING;
+    private static final int LAST_SUPPORTED_FEATURE = Features.RENDER_ALL_DRAWABLE_STATES;
 
     @Override
     public int getApiLevel() {
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeConstants.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeConstants.java
index eb9e7f1..1af6998 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeConstants.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeConstants.java
@@ -48,4 +48,7 @@
     public final static String MATCH_PARENT = "match_parent";
     public final static String FILL_PARENT = "fill_parent";
     public final static String WRAP_CONTENT = "wrap_content";
+
+    /** Attribute in the tools namespace used to specify layout manager for RecyclerView. */
+    public static final String ATTR_LAYOUT_MANAGER_TYPE = "layoutManager";
 }
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 d88a867..179a8e7 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
@@ -16,8 +16,6 @@
 
 package com.android.layoutlib.bridge.android;
 
-import android.os.IBinder;
-
 import com.android.annotations.Nullable;
 import com.android.ide.common.rendering.api.AssetRepository;
 import com.android.ide.common.rendering.api.ILayoutPullParser;
@@ -65,6 +63,7 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
+import android.os.IBinder;
 import android.os.Looper;
 import android.os.PowerManager;
 import android.os.UserHandle;
@@ -96,6 +95,7 @@
 /**
  * Custom implementation of Context/Activity to handle non compiled resources.
  */
+@SuppressWarnings("deprecation")  // For use of Pair.
 public final class BridgeContext extends Context {
 
     /** The map adds cookies to each view so that IDE can link xml tags to views. */
@@ -599,7 +599,7 @@
 
         // Hint: for XmlPullParser, attach source //DEVICE_SRC/dalvik/libcore/xml/src/java
         if (set instanceof BridgeXmlBlockParser) {
-            BridgeXmlBlockParser parser = null;
+            BridgeXmlBlockParser parser;
             parser = (BridgeXmlBlockParser)set;
 
             isPlatformFile = parser.isPlatformFile();
@@ -620,7 +620,7 @@
         } else if (set != null) { // null parser is ok
             // really this should not be happening since its instantiated in Bridge
             Bridge.getLog().error(LayoutLog.TAG_BROKEN,
-                    "Parser is not a BridgeXmlBlockParser!", null /*data*/);
+                    "Parser is not a BridgeXmlBlockParser!", null);
             return null;
         }
 
@@ -632,7 +632,7 @@
         // look for a custom style.
         String customStyle = null;
         if (set != null) {
-            customStyle = set.getAttributeValue(null /* namespace*/, "style");
+            customStyle = set.getAttributeValue(null, "style");
         }
 
         StyleResourceValue customStyleValues = null;
@@ -655,31 +655,39 @@
             // get the name from the int.
             Pair<String, Boolean> defStyleAttribute = searchAttr(defStyleAttr);
 
-            if (defaultPropMap != null) {
-                String defStyleName = defStyleAttribute.getFirst();
-                if (defStyleAttribute.getSecond()) {
-                    defStyleName = "android:" + defStyleName;
-                }
-                defaultPropMap.put("style", defStyleName);
-            }
-
-            // look for the style in the current theme, and its parent:
-            ResourceValue item = mRenderResources.findItemInTheme(defStyleAttribute.getFirst(),
-                    defStyleAttribute.getSecond());
-
-            if (item != null) {
-                // item is a reference to a style entry. Search for it.
-                item = mRenderResources.findResValue(item.getValue(), item.isFramework());
-
-                if (item instanceof StyleResourceValue) {
-                    defStyleValues = (StyleResourceValue)item;
-                }
+            if (defStyleAttribute == null) {
+                // This should be rare. Happens trying to map R.style.foo to @style/foo fails.
+                // This will happen if the user explicitly used a non existing int value for
+                // defStyleAttr or there's something wrong with the project structure/build.
+                Bridge.getLog().error(LayoutLog.TAG_RESOURCES_RESOLVE,
+                        "Failed to find the style corresponding to the id " + defStyleAttr, null);
             } else {
-                Bridge.getLog().error(LayoutLog.TAG_RESOURCES_RESOLVE_THEME_ATTR,
-                        String.format(
-                                "Failed to find style '%s' in current theme",
-                                defStyleAttribute.getFirst()),
-                        null /*data*/);
+                if (defaultPropMap != null) {
+                    String defStyleName = defStyleAttribute.getFirst();
+                    if (defStyleAttribute.getSecond()) {
+                        defStyleName = "android:" + defStyleName;
+                    }
+                    defaultPropMap.put("style", defStyleName);
+                }
+
+                // look for the style in the current theme, and its parent:
+                ResourceValue item = mRenderResources.findItemInTheme(defStyleAttribute.getFirst(),
+                        defStyleAttribute.getSecond());
+
+                if (item != null) {
+                    // item is a reference to a style entry. Search for it.
+                    item = mRenderResources.findResValue(item.getValue(), item.isFramework());
+
+                    if (item instanceof StyleResourceValue) {
+                        defStyleValues = (StyleResourceValue) item;
+                    }
+                } else {
+                    Bridge.getLog().error(LayoutLog.TAG_RESOURCES_RESOLVE_THEME_ATTR,
+                            String.format(
+                                    "Failed to find style '%s' in current theme",
+                                    defStyleAttribute.getFirst()),
+                            null);
+                }
             }
         } else if (defStyleRes != 0) {
             boolean isFrameworkRes = true;
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/RenderParamsFlags.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/RenderParamsFlags.java
new file mode 100644
index 0000000..2f45473
--- /dev/null
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/RenderParamsFlags.java
@@ -0,0 +1,41 @@
+/*
+ * 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.layoutlib.bridge.android;
+
+import com.android.ide.common.rendering.api.SessionParams.Key;
+
+/**
+ * This contains all known keys for the {@link RenderParams#getFlag(Key)}.
+ * <p/>
+ * The IDE has its own copy of this class which may be newer or older than this one.
+ * <p/>
+ * Constants should never be modified or removed from this class.
+ */
+public final class RenderParamsFlags {
+
+    public static final Key<String> FLAG_KEY_ROOT_TAG =
+            new Key<String>("rootTag", String.class);
+    public static final Key<Boolean> FLAG_KEY_DISABLE_BITMAP_CACHING =
+            new Key<Boolean>("disableBitmapCaching", Boolean.class);
+    public static final Key<Boolean> FLAG_KEY_RECYCLER_VIEW_SUPPORT =
+            new Key<Boolean>("recyclerViewSupport", Boolean.class);
+    public static final Key<Boolean> FLAG_KEY_RENDER_ALL_DRAWABLE_STATES =
+            new Key<Boolean>("renderAllDrawableStates", Boolean.class);
+
+    // Disallow instances.
+    private RenderParamsFlags() {}
+}
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/SessionParamsFlags.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/SessionParamsFlags.java
deleted file mode 100644
index 51a0104..0000000
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/SessionParamsFlags.java
+++ /dev/null
@@ -1,37 +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.layoutlib.bridge.android;
-
-import com.android.ide.common.rendering.api.SessionParams;
-
-/**
- * This contains all known keys for the {@link SessionParams#getFlag(SessionParams.Key)}.
- * <p/>
- * The IDE has its own copy of this class which may be newer or older than this one.
- * <p/>
- * Constants should never be modified or removed from this class.
- */
-public final class SessionParamsFlags {
-
-    public static final SessionParams.Key<String> FLAG_KEY_ROOT_TAG =
-            new SessionParams.Key<String>("rootTag", String.class);
-    public static final SessionParams.Key<Boolean> FLAG_KEY_DISABLE_BITMAP_CACHING =
-            new SessionParams.Key<Boolean>("disableBitmapCaching", Boolean.class);
-
-    // Disallow instances.
-    private SessionParamsFlags() {}
-}
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/support/RecyclerViewUtil.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/support/RecyclerViewUtil.java
new file mode 100644
index 0000000..b72329a
--- /dev/null
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/support/RecyclerViewUtil.java
@@ -0,0 +1,219 @@
+/*
+ * 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 com.android.layoutlib.bridge.android.support;
+
+import com.android.annotations.NonNull;
+import com.android.annotations.Nullable;
+import com.android.ide.common.rendering.api.IProjectCallback;
+import com.android.ide.common.rendering.api.LayoutLog;
+import com.android.ide.common.rendering.api.SessionParams;
+import com.android.layoutlib.bridge.Bridge;
+import com.android.layoutlib.bridge.android.BridgeContext;
+import com.android.layoutlib.bridge.android.RenderParamsFlags;
+
+import android.content.Context;
+import android.view.View;
+import android.widget.LinearLayout;
+
+import java.lang.reflect.Method;
+import java.util.HashMap;
+
+import static com.android.layoutlib.bridge.util.ReflectionUtils.*;
+
+/**
+ * Utility class for working with android.support.v7.widget.RecyclerView
+ */
+@SuppressWarnings("SpellCheckingInspection")  // for "recycler".
+public class RecyclerViewUtil {
+
+    /**
+     * Used by {@link LayoutManagerType}.
+     * <p/>
+     * Not declared inside the enum, since it needs to be accessible in the constructor.
+     */
+    private static final Object CONTEXT = new Object();
+
+    public static final String CN_RECYCLER_VIEW = "android.support.v7.widget.RecyclerView";
+    private static final String CN_LAYOUT_MANAGER = CN_RECYCLER_VIEW + "$LayoutManager";
+    private static final String CN_ADAPTER = CN_RECYCLER_VIEW + "$Adapter";
+
+    /**
+     * Tries to create an Adapter ({@code android.support.v7.widget.RecyclerView.Adapter} and a
+     * LayoutManager {@code RecyclerView.LayoutManager} and assign these to the {@code RecyclerView}
+     * that is passed.
+     * <p/>
+     * Any exceptions thrown during the process are logged in {@link Bridge#getLog()}
+     */
+    public static void setAdapter(@NonNull View recyclerView, @NonNull BridgeContext context,
+            @NonNull SessionParams params) {
+        try {
+            setLayoutManager(recyclerView, context, params.getProjectCallback());
+            Object adapter = createAdapter(params);
+            setProperty(recyclerView, CN_ADAPTER, adapter, "setAdapter");
+        } catch (ReflectionException e) {
+            Bridge.getLog().error(LayoutLog.TAG_BROKEN,
+                    "Error occured while trying to setup RecyclerView.", e, null);
+        }
+    }
+
+    private static void setLayoutManager(@NonNull View recyclerView, @NonNull BridgeContext context,
+            @NonNull IProjectCallback callback) throws ReflectionException {
+        Object cookie = context.getCookie(recyclerView);
+        assert cookie == null || cookie instanceof LayoutManagerType || cookie instanceof String;
+        if (!(cookie instanceof LayoutManagerType)) {
+            if (cookie != null) {
+                // TODO: When layoutlib API is updated, try to load the class with a null
+                // constructor or a constructor taking one argument - the context.
+                Bridge.getLog().warning(LayoutLog.TAG_UNSUPPORTED,
+                        "LayoutManager (" + cookie + ") not found, falling back to " +
+                                "LinearLayoutManager", null);
+            }
+            cookie = LayoutManagerType.getDefault();
+        }
+        Object layoutManager = createLayoutManager((LayoutManagerType) cookie, context, callback);
+        setProperty(recyclerView, CN_LAYOUT_MANAGER, layoutManager, "setLayoutManager");
+    }
+
+    @Nullable
+    private static Object createLayoutManager(@Nullable LayoutManagerType type,
+            @NonNull Context context, @NonNull IProjectCallback callback)
+            throws ReflectionException {
+        if (type == null) {
+            type = LayoutManagerType.getDefault();
+        }
+        try {
+            return callback.loadView(type.getClassName(), type.getSignature(), type.getArgs(context));
+        } catch (Exception e) {
+            throw new ReflectionException(e);
+        }
+    }
+
+    @Nullable
+    private static Object createAdapter(@NonNull SessionParams params) throws ReflectionException {
+        Boolean ideSupport = params.getFlag(RenderParamsFlags.FLAG_KEY_RECYCLER_VIEW_SUPPORT);
+        if (ideSupport != Boolean.TRUE) {
+            return null;
+        }
+        try {
+            return params.getProjectCallback().loadView(CN_ADAPTER, new Class[0], new Object[0]);
+        } catch (Exception e) {
+            throw new ReflectionException(e);
+        }
+    }
+
+    private static void setProperty(@NonNull View recyclerView, @NonNull String propertyClassName,
+            @Nullable Object propertyValue, @NonNull String propertySetter)
+            throws ReflectionException {
+        if (propertyValue != null) {
+            Class<?> layoutManagerClass = getClassInstance(propertyValue, propertyClassName);
+            Method setLayoutManager = getMethod(recyclerView.getClass(),
+                    propertySetter, layoutManagerClass);
+            if (setLayoutManager != null) {
+                invoke(setLayoutManager, recyclerView, propertyValue);
+            }
+        }
+    }
+
+    /**
+     * Looks through the class hierarchy of {@code object} at runtime and returns the class matching
+     * the name {@code className}.
+     * <p/>
+     * This is used when we cannot use Class.forName() since the class we want was loaded from a
+     * different ClassLoader.
+     */
+    @NonNull
+    private static Class<?> getClassInstance(@NonNull Object object, @NonNull String className) {
+        Class<?> superClass = object.getClass();
+        while (superClass != null) {
+            if (className.equals(superClass.getName())) {
+                return superClass;
+            }
+            superClass = superClass.getSuperclass();
+        }
+        throw new RuntimeException("invalid object/classname combination.");
+    }
+
+    /** Supported LayoutManagers. */
+    public enum LayoutManagerType {
+        LINEAR_LAYOUT_MANGER("Linear",
+                "android.support.v7.widget.LinearLayoutManager",
+                new Class[]{Context.class}, new Object[]{CONTEXT}),
+        GRID_LAYOUT_MANAGER("Grid",
+                "android.support.v7.widget.GridLayoutManager",
+                new Class[]{Context.class, int.class}, new Object[]{CONTEXT, 2}),
+        STAGGERED_GRID_LAYOUT_MANAGER("StaggeredGrid",
+                "android.support.v7.widget.StaggeredGridLayoutManager",
+                new Class[]{int.class, int.class}, new Object[]{2, LinearLayout.VERTICAL});
+
+        private String mLogicalName;
+        private String mClassName;
+        private Class[] mSignature;
+        private Object[] mArgs;
+
+        LayoutManagerType(String logicalName, String className, Class[] signature, Object[] args) {
+            mLogicalName = logicalName;
+            mClassName = className;
+            mSignature = signature;
+            mArgs = args;
+        }
+
+        String getClassName() {
+            return mClassName;
+        }
+
+        Class[] getSignature() {
+            return mSignature;
+        }
+
+        @NonNull
+        Object[] getArgs(Context context) {
+            Object[] args = new Object[mArgs.length];
+            System.arraycopy(mArgs, 0, args, 0, mArgs.length);
+            for (int i = 0; i < args.length; i++) {
+                if (args[i] == CONTEXT) {
+                    args[i] = context;
+                }
+            }
+            return args;
+        }
+
+        @NonNull
+        public static LayoutManagerType getDefault() {
+            return LINEAR_LAYOUT_MANGER;
+        }
+
+        @Nullable
+        public static LayoutManagerType getByLogicalName(@NonNull String logicalName) {
+            for (LayoutManagerType type : values()) {
+                if (logicalName.equals(type.mLogicalName)) {
+                    return type;
+                }
+            }
+            return null;
+        }
+
+        @Nullable
+        public static LayoutManagerType getByClassName(@NonNull String className) {
+            for (LayoutManagerType type : values()) {
+                if (className.equals(type.mClassName)) {
+                    return type;
+                }
+            }
+            return null;
+        }
+    }
+}
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/Config.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/Config.java
index 82a5130..dde041b 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/Config.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/Config.java
@@ -73,7 +73,7 @@
 
     public static String getTime(int platformVersion) {
         if (platformVersion == 0) {
-            return "5:00";
+            return "5:10";
         }
         if (platformVersion < GINGERBREAD) {
             return "2:20";
@@ -87,9 +87,12 @@
         if (platformVersion < KITKAT) {
             return "4:30";
         }
-        if (platformVersion <= KITKAT_WATCH) {
+        if (platformVersion < LOLLIPOP) {
             return "4:40";
         }
+        if (platformVersion < LOLLIPOP_MR1) {
+            return "5:00";
+        }
         // Should never happen.
         return "4:04";
     }
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderDrawable.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderDrawable.java
index 669e6b5..3dee1e2 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderDrawable.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderDrawable.java
@@ -16,20 +16,20 @@
 
 package com.android.layoutlib.bridge.impl;
 
-import static com.android.ide.common.rendering.api.Result.Status.ERROR_UNKNOWN;
-
 import com.android.ide.common.rendering.api.DrawableParams;
 import com.android.ide.common.rendering.api.HardwareConfig;
 import com.android.ide.common.rendering.api.ResourceValue;
 import com.android.ide.common.rendering.api.Result;
 import com.android.ide.common.rendering.api.Result.Status;
 import com.android.layoutlib.bridge.android.BridgeContext;
+import com.android.layoutlib.bridge.android.RenderParamsFlags;
 import com.android.resources.ResourceType;
 
 import android.graphics.Bitmap;
 import android.graphics.Bitmap_Delegate;
 import android.graphics.Canvas;
 import android.graphics.drawable.Drawable;
+import android.graphics.drawable.StateListDrawable;
 import android.view.AttachInfo_Accessor;
 import android.view.View.MeasureSpec;
 import android.widget.FrameLayout;
@@ -38,7 +38,9 @@
 import java.awt.Color;
 import java.awt.Graphics2D;
 import java.awt.image.BufferedImage;
-import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 
 /**
  * Action to render a given Drawable provided through {@link DrawableParams#getDrawable()}.
@@ -71,11 +73,37 @@
             return Status.ERROR_NOT_A_DRAWABLE.createResult();
         }
 
+        Drawable d = ResourceHelper.getDrawable(drawableResource, context);
+
+        final Boolean allStates =
+                params.getFlag(RenderParamsFlags.FLAG_KEY_RENDER_ALL_DRAWABLE_STATES);
+        if (allStates == Boolean.TRUE) {
+            final List<BufferedImage> result;
+
+            if (d instanceof StateListDrawable) {
+                result = new ArrayList<BufferedImage>();
+                final StateListDrawable stateList = (StateListDrawable) d;
+                for (int i = 0; i < stateList.getStateCount(); i++) {
+                    final Drawable stateDrawable = stateList.getStateDrawable(i);
+                    result.add(renderImage(hardwareConfig, stateDrawable, context));
+                }
+            } else {
+                result = Collections.singletonList(renderImage(hardwareConfig, d, context));
+            }
+
+            return Status.SUCCESS.createResult(result);
+        } else {
+            BufferedImage image = renderImage(hardwareConfig, d, context);
+            return Status.SUCCESS.createResult(image);
+        }
+    }
+
+    private BufferedImage renderImage(HardwareConfig hardwareConfig, Drawable d,
+            BridgeContext context) {
         // create a simple FrameLayout
         FrameLayout content = new FrameLayout(context);
 
         // get the actual Drawable object to draw
-        Drawable d = ResourceHelper.getDrawable(drawableResource, context);
         content.setBackground(d);
 
         // set the AttachInfo on the root view.
@@ -83,8 +111,27 @@
 
 
         // measure
-        int w = hardwareConfig.getScreenWidth();
-        int h = hardwareConfig.getScreenHeight();
+        int w = d.getIntrinsicWidth();
+        int h = d.getIntrinsicHeight();
+
+        final int screenWidth = hardwareConfig.getScreenWidth();
+        final int screenHeight = hardwareConfig.getScreenHeight();
+
+        if (w == -1 || h == -1) {
+            // Use screen size when either intrinsic width or height isn't available
+            w = screenWidth;
+            h = screenHeight;
+        } else if (w > screenWidth || h > screenHeight) {
+            // If image wouldn't fit to the screen, resize it to avoid cropping.
+
+            // We need to find scale such that scale * w <= screenWidth, scale * h <= screenHeight
+            double scale = Math.min((double) screenWidth / w, (double) screenHeight / h);
+
+            // scale * w / scale * h = w / h, so, proportions are preserved.
+            w = (int) Math.floor(scale * w);
+            h = (int) Math.floor(scale * h);
+        }
+
         int w_spec = MeasureSpec.makeMeasureSpec(w, MeasureSpec.EXACTLY);
         int h_spec = MeasureSpec.makeMeasureSpec(h, MeasureSpec.EXACTLY);
         content.measure(w_spec, h_spec);
@@ -108,8 +155,7 @@
 
         // and draw
         content.draw(canvas);
-
-        return Status.SUCCESS.createResult(image);
+        return image;
     }
 
     protected BufferedImage getImage(int w, int h) {
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java
index 875cc87..c9aa400 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java
@@ -23,6 +23,8 @@
 import static com.android.ide.common.rendering.api.Result.Status.ERROR_VIEWGROUP_NO_CHILDREN;
 import static com.android.ide.common.rendering.api.Result.Status.SUCCESS;
 
+import com.android.annotations.NonNull;
+import com.android.annotations.Nullable;
 import com.android.ide.common.rendering.api.AdapterBinding;
 import com.android.ide.common.rendering.api.HardwareConfig;
 import com.android.ide.common.rendering.api.IAnimationListener;
@@ -50,7 +52,8 @@
 import com.android.layoutlib.bridge.android.BridgeContext;
 import com.android.layoutlib.bridge.android.BridgeLayoutParamsMapAttributes;
 import com.android.layoutlib.bridge.android.BridgeXmlBlockParser;
-import com.android.layoutlib.bridge.android.SessionParamsFlags;
+import com.android.layoutlib.bridge.android.RenderParamsFlags;
+import com.android.layoutlib.bridge.android.support.RecyclerViewUtil;
 import com.android.layoutlib.bridge.bars.BridgeActionBar;
 import com.android.layoutlib.bridge.bars.AppCompatActionBar;
 import com.android.layoutlib.bridge.bars.Config;
@@ -400,7 +403,7 @@
             // it can instantiate the custom Fragment.
             Fragment_Delegate.setProjectCallback(params.getProjectCallback());
 
-            String rootTag = params.getFlag(SessionParamsFlags.FLAG_KEY_ROOT_TAG);
+            String rootTag = params.getFlag(RenderParamsFlags.FLAG_KEY_ROOT_TAG);
             boolean isPreference = "PreferenceScreen".equals(rootTag);
             View view;
             if (isPreference) {
@@ -557,7 +560,7 @@
                 // This is useful when mImage is just a wrapper of Graphics2D so
                 // it doesn't get cached.
                 boolean disableBitmapCaching = Boolean.TRUE.equals(params.getFlag(
-                    SessionParamsFlags.FLAG_KEY_DISABLE_BITMAP_CACHING));
+                    RenderParamsFlags.FLAG_KEY_DISABLE_BITMAP_CACHING));
                 if (newRenderSize || mCanvas == null || disableBitmapCaching) {
                     if (params.getImageFactory() != null) {
                         mImage = params.getImageFactory().getImage(
@@ -1338,6 +1341,8 @@
                     }
                 }
             }
+        } else if (isInstanceOf(view, RecyclerViewUtil.CN_RECYCLER_VIEW)) {
+            RecyclerViewUtil.setAdapter(view, getContext(), getParams());
         } else if (view instanceof ViewGroup) {
             ViewGroup group = (ViewGroup) view;
             final int count = group.getChildCount();
@@ -1349,6 +1354,22 @@
     }
 
     /**
+     * Check if the object is an instance of a class named {@code className}. This doesn't work
+     * for interfaces.
+     */
+    public static boolean isInstanceOf(Object object, String className) {
+        Class superClass = object.getClass();
+        while (superClass != null) {
+            String name = superClass.getName();
+            if (name.equals(className)) {
+                return true;
+            }
+            superClass = superClass.getSuperclass();
+        }
+        return false;
+    }
+
+    /**
      * Sets up a {@link TabHost} object.
      * @param tabHost the TabHost to setup.
      * @param projectCallback The project callback object to access the project R class.
@@ -1505,6 +1526,7 @@
      * @return an array of length two, with ViewInfo at index 0 is without offset and ViewInfo at
      *         index 1 is with the offset.
      */
+    @NonNull
     private ViewInfo[] visitContentRoot(View view, int offset, boolean setExtendedInfo) {
         ViewInfo[] result = new ViewInfo[2];
         if (view == null) {
@@ -1600,6 +1622,7 @@
      * The cookie for menu items are stored in menu item and not in the map from View stored in
      * BridgeContext.
      */
+    @Nullable
     private Object getViewKey(View view) {
         BridgeContext context = getContext();
         if (!(view instanceof MenuView.ItemView)) {
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/util/ReflectionUtils.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/util/ReflectionUtils.java
new file mode 100644
index 0000000..8e61edf
--- /dev/null
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/util/ReflectionUtils.java
@@ -0,0 +1,75 @@
+/*
+ * 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 com.android.layoutlib.bridge.util;
+
+import com.android.annotations.NonNull;
+import com.android.annotations.Nullable;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+/**
+ * Utility to convert checked Reflection exceptions to unchecked exceptions.
+ */
+public class ReflectionUtils {
+
+    @Nullable
+    public static Method getMethod(@NonNull Class<?> clazz, @NonNull String name,
+            @Nullable Class<?>... params) throws ReflectionException {
+        try {
+            return clazz.getMethod(name, params);
+        } catch (NoSuchMethodException e) {
+            throw new ReflectionException(e);
+        }
+    }
+
+    @Nullable
+    public static Object invoke(@NonNull Method method, @Nullable Object object,
+            @Nullable Object... args) throws ReflectionException {
+        Exception ex;
+        try {
+            return method.invoke(object, args);
+        } catch (IllegalAccessException e) {
+            ex = e;
+        } catch (InvocationTargetException e) {
+            ex = e;
+        }
+        throw new ReflectionException(ex);
+    }
+
+    /**
+     * Wraps all reflection related exceptions. Created since ReflectiveOperationException was
+     * introduced in 1.7 and we are still on 1.6
+     */
+    public static class ReflectionException extends Exception {
+        public ReflectionException() {
+            super();
+        }
+
+        public ReflectionException(String message) {
+            super(message);
+        }
+
+        public ReflectionException(String message, Throwable cause) {
+            super(message, cause);
+        }
+
+        public ReflectionException(Throwable cause) {
+            super(cause);
+        }
+    }
+}
diff --git a/wifi/java/android/net/wifi/IWifiManager.aidl b/wifi/java/android/net/wifi/IWifiManager.aidl
index b87a1e9..bc95a36 100644
--- a/wifi/java/android/net/wifi/IWifiManager.aidl
+++ b/wifi/java/android/net/wifi/IWifiManager.aidl
@@ -79,6 +79,8 @@
 
     void setCountryCode(String country, boolean persist);
 
+    String getCountryCode();
+
     void setFrequencyBand(int band, boolean persist);
 
     int getFrequencyBand();
diff --git a/wifi/java/android/net/wifi/ScanResult.java b/wifi/java/android/net/wifi/ScanResult.java
index 994f180..b4f4927 100644
--- a/wifi/java/android/net/wifi/ScanResult.java
+++ b/wifi/java/android/net/wifi/ScanResult.java
@@ -55,11 +55,55 @@
      */
     public int level;
     /**
-     * The frequency in MHz of the channel over which the client is communicating
+     * The primary 20 MHz frequency (in MHz) of the channel over which the client is communicating
      * with the access point.
      */
     public int frequency;
 
+   /**
+    * AP Channel bandwidth is 20 MHZ
+    */
+    public static final int CHANNEL_WIDTH_20MHZ = 0;
+   /**
+    * AP Channel bandwidth is 40 MHZ
+    */
+    public static final int CHANNEL_WIDTH_40MHZ = 1;
+   /**
+    * AP Channel bandwidth is 80 MHZ
+    */
+    public static final int CHANNEL_WIDTH_80MHZ = 2;
+   /**
+    * AP Channel bandwidth is 160 MHZ
+    */
+    public static final int CHANNEL_WIDTH_160MHZ = 3;
+   /**
+    * AP Channel bandwidth is 160 MHZ, but 80MHZ + 80MHZ
+    */
+    public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4;
+
+   /**
+    * AP Channel bandwidth
+    */
+    public int channelWidth;
+
+    /**
+     * Not used if the AP bandwidth is 20 MHz
+     * If the AP use 40, 80 or 160 MHz, this is the center frequency
+     * if the AP use 80 + 80 MHz, this is the center frequency of the first segment
+     */
+    public int centerFreq0;
+
+    /**
+     * Only used if the AP bandwidth is 80 + 80 MHz
+     * if the AP use 80 + 80 MHz, this is the center frequency of the second segment
+     */
+    public int centerFreq1;
+
+    /**
+     * Whether the AP support 802.11mc Responder
+     */
+   public boolean is80211McRTTResponder;
+
     /**
      * timestamp in microseconds (since boot) when
      * this result was last seen.
@@ -244,6 +288,10 @@
         this.timestamp = tsf;
         this.distanceCm = UNSPECIFIED;
         this.distanceSdCm = UNSPECIFIED;
+        this.channelWidth = UNSPECIFIED;
+        this.centerFreq0 = UNSPECIFIED;
+        this.centerFreq1 = UNSPECIFIED;
+        this.is80211McRTTResponder = false;
     }
 
     /** {@hide} */
@@ -258,6 +306,29 @@
         this.timestamp = tsf;
         this.distanceCm = distCm;
         this.distanceSdCm = distSdCm;
+        this.channelWidth = UNSPECIFIED;
+        this.centerFreq0 = UNSPECIFIED;
+        this.centerFreq1 = UNSPECIFIED;
+        this.is80211McRTTResponder = false;
+    }
+
+    /** {@hide} */
+    public ScanResult(WifiSsid wifiSsid, String BSSID, String caps, int level, int frequency,
+            long tsf, int distCm, int distSdCm, int channelWidth, int centerFreq0, int centerFreq1,
+            boolean is80211McRTTResponder) {
+        this.wifiSsid = wifiSsid;
+        this.SSID = (wifiSsid != null) ? wifiSsid.toString() : WifiSsid.NONE;
+        this.BSSID = BSSID;
+        this.capabilities = caps;
+        this.level = level;
+        this.frequency = frequency;
+        this.timestamp = tsf;
+        this.distanceCm = distCm;
+        this.distanceSdCm = distSdCm;
+        this.channelWidth = channelWidth;
+        this.centerFreq0 = centerFreq0;
+        this.centerFreq1 = centerFreq1;
+        this.is80211McRTTResponder = is80211McRTTResponder;
     }
 
     /** copy constructor {@hide} */
@@ -269,6 +340,10 @@
             capabilities = source.capabilities;
             level = source.level;
             frequency = source.frequency;
+            channelWidth = source.channelWidth;
+            centerFreq0 = source.centerFreq0;
+            centerFreq1 = source.centerFreq1;
+            is80211McRTTResponder = source.is80211McRTTResponder;
             timestamp = source.timestamp;
             distanceCm = source.distanceCm;
             distanceSdCm = source.distanceSdCm;
@@ -317,6 +392,11 @@
         if (autoJoinStatus != 0) {
             sb.append(", status: ").append(autoJoinStatus);
         }
+        sb.append(", ChannelBandwidth: ").append(channelWidth);
+        sb.append(", centerFreq0: ").append(centerFreq0);
+        sb.append(", centerFreq1: ").append(centerFreq1);
+        sb.append(", 80211mcResponder: ").append(is80211McRTTResponder?
+                "is supported":"is not supported");
         return sb.toString();
     }
 
@@ -340,6 +420,10 @@
         dest.writeLong(timestamp);
         dest.writeInt(distanceCm);
         dest.writeInt(distanceSdCm);
+        dest.writeInt(channelWidth);
+        dest.writeInt(centerFreq0);
+        dest.writeInt(centerFreq1);
+        dest.writeInt(is80211McRTTResponder ? 1 : 0);
         dest.writeLong(seen);
         dest.writeInt(autoJoinStatus);
         dest.writeInt(untrusted ? 1 : 0);
@@ -381,7 +465,11 @@
                     in.readInt(),
                     in.readLong(),
                     in.readInt(),
-                    in.readInt()
+                    in.readInt(),
+                    in.readInt(),
+                    in.readInt(),
+                    in.readInt(),
+                    in.readInt() == 1
                 );
                 sr.seen = in.readLong();
                 sr.autoJoinStatus = in.readInt();
diff --git a/wifi/java/android/net/wifi/WifiActivityEnergyInfo.java b/wifi/java/android/net/wifi/WifiActivityEnergyInfo.java
index 533b8bc..6263463 100644
--- a/wifi/java/android/net/wifi/WifiActivityEnergyInfo.java
+++ b/wifi/java/android/net/wifi/WifiActivityEnergyInfo.java
@@ -21,37 +21,37 @@
 
 /**
  * Record of energy and activity information from controller and
- * underlying wifi stack state.Timestamp the record with system
- * time
+ * underlying wifi stack state. Timestamp the record with elapsed
+ * real-time.
  * @hide
  */
 public final class WifiActivityEnergyInfo implements Parcelable {
+    private final long mTimestamp;
     private final int mStackState;
     private final int mControllerTxTimeMs;
     private final int mControllerRxTimeMs;
     private final int mControllerIdleTimeMs;
     private final int mControllerEnergyUsed;
-    private final long timestamp;
 
     public static final int STACK_STATE_INVALID = 0;
     public static final int STACK_STATE_STATE_ACTIVE = 1;
     public static final int STACK_STATE_STATE_SCANNING = 2;
     public static final int STACK_STATE_STATE_IDLE = 3;
 
-    public WifiActivityEnergyInfo(int stackState, int txTime, int rxTime,
-                                  int idleTime, int energyUsed) {
+    public WifiActivityEnergyInfo(long timestamp, int stackState,
+                                  int txTime, int rxTime, int idleTime, int energyUsed) {
+        mTimestamp = timestamp;
         mStackState = stackState;
         mControllerTxTimeMs = txTime;
         mControllerRxTimeMs = rxTime;
         mControllerIdleTimeMs = idleTime;
         mControllerEnergyUsed = energyUsed;
-        timestamp = System.currentTimeMillis();
     }
 
     @Override
     public String toString() {
         return "WifiActivityEnergyInfo{"
-            + " timestamp=" + timestamp
+            + " timestamp=" + mTimestamp
             + " mStackState=" + mStackState
             + " mControllerTxTimeMs=" + mControllerTxTimeMs
             + " mControllerRxTimeMs=" + mControllerRxTimeMs
@@ -63,13 +63,14 @@
     public static final Parcelable.Creator<WifiActivityEnergyInfo> CREATOR =
             new Parcelable.Creator<WifiActivityEnergyInfo>() {
         public WifiActivityEnergyInfo createFromParcel(Parcel in) {
+            long timestamp = in.readLong();
             int stackState = in.readInt();
             int txTime = in.readInt();
             int rxTime = in.readInt();
             int idleTime = in.readInt();
             int energyUsed = in.readInt();
-            return new WifiActivityEnergyInfo(stackState, txTime, rxTime,
-                    idleTime, energyUsed);
+            return new WifiActivityEnergyInfo(timestamp, stackState,
+                    txTime, rxTime, idleTime, energyUsed);
         }
         public WifiActivityEnergyInfo[] newArray(int size) {
             return new WifiActivityEnergyInfo[size];
@@ -77,6 +78,7 @@
     };
 
     public void writeToParcel(Parcel out, int flags) {
+        out.writeLong(mTimestamp);
         out.writeInt(mStackState);
         out.writeInt(mControllerTxTimeMs);
         out.writeInt(mControllerRxTimeMs);
@@ -127,7 +129,7 @@
      * @return timestamp(wall clock) of record creation
      */
     public long getTimeStamp() {
-        return timestamp;
+        return mTimestamp;
     }
 
     /**
diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java
index 52f2372..7e04f2b 100644
--- a/wifi/java/android/net/wifi/WifiConfiguration.java
+++ b/wifi/java/android/net/wifi/WifiConfiguration.java
@@ -20,19 +20,18 @@
 import android.content.pm.PackageManager;
 import android.net.IpConfiguration;
 import android.net.IpConfiguration.ProxySettings;
-import android.net.IpConfiguration.IpAssignment;
 import android.net.ProxyInfo;
 import android.net.StaticIpConfiguration;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.TextUtils;
-import android.annotation.SystemApi;
 
 import java.util.HashMap;
 import java.util.BitSet;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
+import java.util.HashSet;
 
 /**
  * A class representing a configured Wi-Fi network, including the
@@ -60,6 +59,7 @@
     public static final String updateIdentiferVarName = "update_identifier";
     /** {@hide} */
     public static final int INVALID_NETWORK_ID = -1;
+
     /**
      * Recognized key management schemes.
      */
@@ -234,17 +234,21 @@
      * <code>XX:XX:XX:XX:XX:XX</code> where each <code>X</code> is a hex digit.
      */
     public String BSSID;
+
     /**
-     * Fully qualified domain name (FQDN) of AAA server or RADIUS server
-     * e.g. {@code "mail.example.com"}.
+     * The band which AP resides on
+     * 0-2G  1-5G
+     * By default, 2G is chosen
      */
-    public String FQDN;
+    public int apBand = 0;
+
     /**
-     * Network access identifier (NAI) realm, for Passpoint credential.
-     * e.g. {@code "myhost.example.com"}.
-     * @hide
+     * The channel which AP resides on,currently, US only
+     * 2G  1-11
+     * 5G  36,40,44,48,149,153,157,161,165
+     * 0 - find a random available channel according to the apBand
      */
-    public String naiRealm;
+    public int apChannel = 0;
 
     /**
      * Pre-shared key for use with WPA-PSK.
@@ -329,6 +333,21 @@
     public WifiEnterpriseConfig enterpriseConfig;
 
     /**
+     * Fully qualified domain name of a passpoint configuration
+     */
+    public String FQDN;
+
+    /**
+     * Service provider name, for Passpoint credential.
+     */
+    public String providerFriendlyName;
+
+    /**
+     * Roaming Consortium Id, for Passpoint credential.
+     */
+    public HashSet<Long> roamingConsortiumIds;
+
+    /**
      * @hide
      */
     private IpConfiguration mIpConfiguration;
@@ -907,7 +926,7 @@
         SSID = null;
         BSSID = null;
         FQDN = null;
-        naiRealm = null;
+        roamingConsortiumIds = new HashSet<Long>();
         priority = 0;
         hiddenSSID = false;
         disableReason = DISABLED_UNKNOWN_REASON;
@@ -954,6 +973,17 @@
             }
         }
 
+        if (FQDN != null) {
+            /* must have a providerFriendlyName */
+            if (providerFriendlyName == null) {
+                return false;
+            }
+            /* this is passpoint configuration; it must have enterprise config */
+            if (enterpriseConfig == null) {
+                return false;
+            }
+        }
+
         // TODO: Add more checks
         return true;
     }
@@ -1098,8 +1128,9 @@
             sbuf.append("- DSBLE ");
         }
         sbuf.append("ID: ").append(this.networkId).append(" SSID: ").append(this.SSID).
+                append(" PROVIDER-NAME: ").append(this.providerFriendlyName).
                 append(" BSSID: ").append(this.BSSID).append(" FQDN: ").append(this.FQDN).
-                append(" REALM: ").append(this.naiRealm).append(" PRIO: ").append(this.priority).
+                append(" PRIO: ").append(this.priority).
                 append('\n');
         if (this.numConnectionFailures > 0) {
             sbuf.append(" numConnectFailures ").append(this.numConnectionFailures).append("\n");
@@ -1458,6 +1489,8 @@
         String key;
         if (allowCached && mCachedConfigKey != null) {
             key = mCachedConfigKey;
+        } else if (providerFriendlyName != null) {
+            key = FQDN + KeyMgmt.strings[KeyMgmt.WPA_EAP];
         } else {
             if (allowedKeyManagement.get(KeyMgmt.WPA_PSK)) {
                 key = SSID + KeyMgmt.strings[KeyMgmt.WPA_PSK];
@@ -1573,9 +1606,17 @@
             SSID = source.SSID;
             BSSID = source.BSSID;
             FQDN = source.FQDN;
-            naiRealm = source.naiRealm;
+            roamingConsortiumIds = new HashSet<Long>();
+            for (Long roamingConsortiumId : source.roamingConsortiumIds) {
+                roamingConsortiumIds.add(roamingConsortiumId);
+            }
+
+            providerFriendlyName = source.providerFriendlyName;
             preSharedKey = source.preSharedKey;
 
+            apBand = source.apBand;
+            apChannel = source.apChannel;
+
             wepKeys = new String[4];
             for (int i = 0; i < wepKeys.length; i++) {
                 wepKeys[i] = source.wepKeys[i];
@@ -1671,9 +1712,15 @@
         dest.writeInt(disableReason);
         dest.writeString(SSID);
         dest.writeString(BSSID);
+        dest.writeInt(apBand);
+        dest.writeInt(apChannel);
         dest.writeString(autoJoinBSSID);
         dest.writeString(FQDN);
-        dest.writeString(naiRealm);
+        dest.writeString(providerFriendlyName);
+        dest.writeInt(roamingConsortiumIds.size());
+        for (Long roamingConsortiumId : roamingConsortiumIds) {
+            dest.writeLong(roamingConsortiumId);
+        }
         dest.writeString(preSharedKey);
         for (String wepKey : wepKeys) {
             dest.writeString(wepKey);
@@ -1739,9 +1786,15 @@
                 config.disableReason = in.readInt();
                 config.SSID = in.readString();
                 config.BSSID = in.readString();
+                config.apBand = in.readInt();
+                config.apChannel = in.readInt();
                 config.autoJoinBSSID = in.readString();
                 config.FQDN = in.readString();
-                config.naiRealm = in.readString();
+                config.providerFriendlyName = in.readString();
+                int numRoamingConsortiumIds = in.readInt();
+                for (int i = 0; i < numRoamingConsortiumIds; i++) {
+                    config.roamingConsortiumIds.add(in.readLong());
+                }
                 config.preSharedKey = in.readString();
                 for (int i = 0; i < config.wepKeys.length; i++) {
                     config.wepKeys[i] = in.readString();
diff --git a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
index cf3cba3..36fc96b 100644
--- a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
+++ b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
@@ -54,6 +54,8 @@
     /** @hide */
     public static final String SUBJECT_MATCH_KEY   = "subject_match";
     /** @hide */
+    public static final String ALTSUBJECT_MATCH_KEY = "altsubject_match";
+    /** @hide */
     public static final String OPP_KEY_CACHING     = "proactive_key_caching";
     /**
      * String representing the keystore OpenSSL ENGINE's ID.
@@ -93,6 +95,11 @@
     public static final String ENGINE_ID_KEY       = "engine_id";
     /** @hide */
     public static final String PRIVATE_KEY_ID_KEY  = "key_id";
+    /** @hide */
+    public static final String REALM_KEY           = "realm";
+    /** @hide */
+    public static final String PLMN_KEY            = "plmn";
+
 
     private HashMap<String, String> mFields = new HashMap<String, String>();
     private X509Certificate mCaCert;
@@ -530,22 +537,74 @@
     }
 
     /**
-     * Set subject match. This is the substring to be matched against the subject of the
-     * authentication server certificate.
+     * Set subject match (deprecated). This is the substring to be matched against the subject of
+     * the authentication server certificate.
      * @param subjectMatch substring to be matched
+     * @deprecated in favor of altSubjectMatch
      */
     public void setSubjectMatch(String subjectMatch) {
         setFieldValue(SUBJECT_MATCH_KEY, subjectMatch, "");
     }
 
     /**
-     * Get subject match
+     * Get subject match (deprecated)
      * @return the subject match string
+     * @deprecated in favor of altSubjectMatch
      */
     public String getSubjectMatch() {
         return getFieldValue(SUBJECT_MATCH_KEY, "");
     }
 
+    /**
+     * Set alternate subject match. This is the substring to be matched against the
+     * alternate subject of the authentication server certificate.
+     * @param altSubjectMatch substring to be matched, for example
+     *                     DNS:server.example.com;EMAIL:server@example.com
+     */
+    public void setAltSubjectMatch(String altSubjectMatch) {
+        setFieldValue(ALTSUBJECT_MATCH_KEY, altSubjectMatch, "");
+    }
+
+    /**
+     * Get alternate subject match
+     * @return the alternate subject match string
+     */
+    public String getAltSubjectMatch() {
+        return getFieldValue(ALTSUBJECT_MATCH_KEY, "");
+    }
+
+    /**
+     * Set realm for passpoint credential
+     * @param realm the realm
+     */
+    public void setRealm(String realm) {
+        setFieldValue(REALM_KEY, realm, "");
+    }
+
+    /**
+     * Get realm for passpoint credential
+     * @return the realm
+     */
+    public String getRealm() {
+        return getFieldValue(REALM_KEY, "");
+    }
+
+    /**
+     * Set plmn for passpoint credential
+     * @param plmn the plmn value derived from mcc & mnc
+     */
+    public void setPlmn(String plmn) {
+        setFieldValue(PLMN_KEY, plmn, "");
+    }
+
+    /**
+     * Set plmn for passpoint credential
+     * @return the plmn
+     */
+    public String getPlmn() {
+        return getFieldValue(PLMN_KEY, "");
+    }
+
     /** See {@link WifiConfiguration#getKeyIdForCredentials} @hide */
     String getKeyId(WifiEnterpriseConfig current) {
         String eap = mFields.get(EAP_KEY);
diff --git a/wifi/java/android/net/wifi/WifiLinkLayerStats.java b/wifi/java/android/net/wifi/WifiLinkLayerStats.java
index 7fac7cf..1de4fd8 100644
--- a/wifi/java/android/net/wifi/WifiLinkLayerStats.java
+++ b/wifi/java/android/net/wifi/WifiLinkLayerStats.java
@@ -18,12 +18,6 @@
 
 import android.os.Parcelable;
 import android.os.Parcel;
-import android.text.TextUtils;
-import java.util.HashMap;
-import java.util.Date;
-import java.util.ArrayList;
-
-import java.util.BitSet;
 
 /**
  * A class representing link layer statistics collected over a Wifi Interface.
diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java
index 24bf115..b292c22 100644
--- a/wifi/java/android/net/wifi/WifiManager.java
+++ b/wifi/java/android/net/wifi/WifiManager.java
@@ -1260,6 +1260,21 @@
     }
 
     /**
+    * get the country code.
+    * @return the country code in ISO 3166 format.
+    *
+    * @hide
+    */
+    public String getCountryCode() {
+       try {
+           String country = mService.getCountryCode();
+           return(country);
+       } catch (RemoteException e) {
+           return null;
+       }
+    }
+
+    /**
      * Set the operational frequency band.
      * @param band  One of
      *     {@link #WIFI_FREQUENCY_BAND_AUTO},
diff --git a/wifi/java/android/net/wifi/WifiNetworkConnectionStatistics.java b/wifi/java/android/net/wifi/WifiNetworkConnectionStatistics.java
index c7d62e5..9b2fdc8 100644
--- a/wifi/java/android/net/wifi/WifiNetworkConnectionStatistics.java
+++ b/wifi/java/android/net/wifi/WifiNetworkConnectionStatistics.java
@@ -21,8 +21,6 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 
-import java.util.HashMap;
-
 /**
  * Connection Statistics For a WiFi Network.
  * @hide
diff --git a/wifi/java/android/net/wifi/WifiScanner.java b/wifi/java/android/net/wifi/WifiScanner.java
index f3cf28b..cecd738 100644
--- a/wifi/java/android/net/wifi/WifiScanner.java
+++ b/wifi/java/android/net/wifi/WifiScanner.java
@@ -251,8 +251,8 @@
             for (int i = 0; i < s.mResults.length; i++) {
                 ScanResult result = s.mResults[i];
                 WifiSsid wifiSsid = WifiSsid.createFromAsciiEncoded(result.SSID);
-                ScanResult newResult = new ScanResult(wifiSsid, result.BSSID, "",
-                        result.level, result.frequency, result.timestamp);
+                ScanResult newResult = new ScanResult(result);
+                newResult.wifiSsid = wifiSsid;
                 mResults[i] = newResult;
             }
         }
diff --git a/wifi/java/android/net/wifi/passpoint/WifiPasspointCredential.java b/wifi/java/android/net/wifi/passpoint/WifiPasspointCredential.java
index 0a7230f..a100aed 100644
--- a/wifi/java/android/net/wifi/passpoint/WifiPasspointCredential.java
+++ b/wifi/java/android/net/wifi/passpoint/WifiPasspointCredential.java
@@ -20,9 +20,7 @@
 import android.os.Parcelable;
 import android.os.Parcel;
 
-import java.util.ArrayList;
 import java.util.Collection;
-import java.util.List;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
diff --git a/wifi/java/android/net/wifi/passpoint/WifiPasspointDmTree.java b/wifi/java/android/net/wifi/passpoint/WifiPasspointDmTree.java
index bbf5fc6..427c84c 100644
--- a/wifi/java/android/net/wifi/passpoint/WifiPasspointDmTree.java
+++ b/wifi/java/android/net/wifi/passpoint/WifiPasspointDmTree.java
@@ -18,8 +18,6 @@
 
 import android.os.Parcelable;
 import android.os.Parcel;
-import android.util.Log;
-
 import java.util.HashMap;
 
 /**
diff --git a/wifi/java/android/net/wifi/passpoint/WifiPasspointPolicy.java b/wifi/java/android/net/wifi/passpoint/WifiPasspointPolicy.java
index f84ac88..c08877e 100644
--- a/wifi/java/android/net/wifi/passpoint/WifiPasspointPolicy.java
+++ b/wifi/java/android/net/wifi/passpoint/WifiPasspointPolicy.java
@@ -17,7 +17,6 @@
 package android.net.wifi.passpoint;
 
 import android.net.wifi.WifiConfiguration;
-import android.net.wifi.ScanResult;
 import android.os.Parcelable;
 import android.os.Parcel;
 import android.security.Credentials;
@@ -25,7 +24,6 @@
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
-import java.util.List;
 
 
 /** @hide */